《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ARM Cortex-M3的數(shù)據(jù)采集系統(tǒng)的研究與實現(xiàn)
基于ARM Cortex-M3的數(shù)據(jù)采集系統(tǒng)的研究與實現(xiàn)
2016年微型機與應(yīng)用第10期
于鵬
(中國科學(xué)院長春光學(xué)精密機械與物理研究所 空間機器人系統(tǒng)創(chuàng)新研究室,吉林 長春 130033)
摘要: 隨著計算機和互聯(lián)網(wǎng)等信息行業(yè)的快速發(fā)展,數(shù)據(jù)采集系統(tǒng)越來越得到人們的重視和應(yīng)用。以某研究院數(shù)據(jù)采集系統(tǒng)的研究室橫向項目為基礎(chǔ),闡述了數(shù)據(jù)采集系統(tǒng)的軟硬件設(shè)計,并實現(xiàn)了一套基于ARM CortexM3的數(shù)據(jù)采集系統(tǒng)。首先對系統(tǒng)選型及開發(fā)平臺進行了簡要介紹,進而在此基礎(chǔ)上詳細闡述了硬件電路和軟件程序的設(shè)計,最后說明綜合調(diào)試的方法和遇到的關(guān)鍵問題及其解決辦法。
Abstract:
Key words :

  于鵬

  (中國科學(xué)院長春光學(xué)精密機械與物理研究所 空間機器人系統(tǒng)創(chuàng)新研究室,吉林 長春 130033)

  摘要:隨著計算機和互聯(lián)網(wǎng)等信息行業(yè)的快速發(fā)展,數(shù)據(jù)采集系統(tǒng)越來越得到人們的重視和應(yīng)用。以某研究院數(shù)據(jù)采集系統(tǒng)的研究室橫向項目為基礎(chǔ),闡述了數(shù)據(jù)采集系統(tǒng)的軟硬件設(shè)計,并實現(xiàn)了一套基于ARM CortexM3的數(shù)據(jù)采集系統(tǒng)。首先對系統(tǒng)選型及開發(fā)平臺進行了簡要介紹,進而在此基礎(chǔ)上詳細闡述了硬件電路和軟件程序的設(shè)計,最后說明綜合調(diào)試的方法和遇到的關(guān)鍵問題及其解決辦法。

  關(guān)鍵詞:數(shù)據(jù)采集;ARM Cortex-M3;無線傳輸;高精度

0引言

  信息行業(yè)發(fā)展的速度讓人吃驚,在此影響下一些相對傳統(tǒng)的行業(yè)也發(fā)生了巨大的變化。隨著計算機的廣泛應(yīng)用和互聯(lián)網(wǎng)行業(yè)的快速發(fā)展,數(shù)據(jù)采集的重要性也越來越明顯,它是計算機與外部物理世界的連接橋梁,已被廣泛應(yīng)用于各個領(lǐng)域,國內(nèi)外各種數(shù)據(jù)采集系統(tǒng)相繼問世,數(shù)據(jù)采集進入了一個全新的時代[1]。

  本文將結(jié)合橫向項目,針對建筑行業(yè)設(shè)計并實現(xiàn)一套數(shù)據(jù)采集系統(tǒng),來幫助獲得應(yīng)變、震動等專業(yè)數(shù)據(jù),以便進行分析仿真。系統(tǒng)將基于嵌入式技術(shù),針對不同信號的采集設(shè)計動態(tài)和靜態(tài)兩種節(jié)點,靈活設(shè)計傳輸方式,既可以采用以太網(wǎng),又可以采用無線網(wǎng),而且還要將各種傳輸方式都接入上位機所在局域網(wǎng),使系統(tǒng)更好地適應(yīng)具體的工作環(huán)境。

1系統(tǒng)硬件電路設(shè)計

  1.1主控模塊

  主控模塊是整個硬件系統(tǒng)的核心,整個系統(tǒng)的運行都是由這里控制,所以主控芯片的性能直接影響系統(tǒng)的各項指標(biāo)。

  本系統(tǒng)的主控芯片選用TI公司的LM3S9B96,它采用ARM CortexM3內(nèi)核,主流外設(shè)一應(yīng)俱全,而且集成了以太網(wǎng)控制器。主控芯片及其外圍部分電路見圖1,芯片外接16 MHz的晶振作為其頻率源,經(jīng)鎖相環(huán)倍頻后可達到200 MHz,以太網(wǎng)控制器單獨外接一個25 MHz的晶振,用復(fù)位芯片MAX811為芯片提供穩(wěn)定的復(fù)位電平,將芯片的JTAG口引出用于程序的下載和仿真跟蹤調(diào)試,LDO腳接一個線性穩(wěn)壓芯片F(xiàn)AN2558以保證內(nèi)核工作穩(wěn)定,LED1則是一個雙色LED,用于系統(tǒng)工作時的狀態(tài)指示[2]。

001.jpg

  另外主控模塊還設(shè)計有串口電平轉(zhuǎn)換電路,方便系統(tǒng)和計算機直連輔助調(diào)試,電路如圖2所示。

  1.2電源模塊

  電源模塊為整個系統(tǒng)提供電源保障,它的穩(wěn)定直接關(guān)系到系統(tǒng)各模塊的穩(wěn)定工作,而且各電路模塊所需電壓不盡相同,所以電源模塊的設(shè)計相對比較復(fù)雜。

  首先是電源輸入選擇電路,系統(tǒng)有外接DC 12 V和7.4 V鋰電池兩種供電方式,當(dāng)外接直流電源時自動切換到鋰電池充電狀態(tài),切換電路如圖3所示,供電方式的切換通過繼電器實現(xiàn)。圖1主控芯片LM3S9B96及其外圍部分電路 

002.jpg

  而鋰電池的充電控制用電流源芯片MAX1640實現(xiàn),如圖4所示?! ?/p>

003.jpg

  其次是穩(wěn)壓電路,輸入電源經(jīng)過線性穩(wěn)壓得到數(shù)字+5 V,再經(jīng)升壓模塊升至±15 V,而后經(jīng)過LM317和LM337構(gòu)成的組合電路隔離穩(wěn)壓后得到模擬±15 V,用于電壓預(yù)處理電路和電壓型傳感器供電;數(shù)字+5 V通過LT10863.3 V進一步穩(wěn)到+3.3 V,用于主控芯片等部分芯片的供電。圖5給出了部分線性穩(wěn)壓電路。

  

004.jpg

  1.3采樣模塊

  采樣模塊是系統(tǒng)的重要組成部分,其任務(wù)就是對ICP傳感器、應(yīng)變傳感器等進行采樣,并將數(shù)據(jù)傳送至上位機進行處理,所以采樣模塊是實現(xiàn)任務(wù)的第一步,即將微小的傳感器信號放大濾波后送入AD芯片轉(zhuǎn)換成數(shù)字量[3]。

  作為采樣模塊的核心,動態(tài)節(jié)點和靜態(tài)節(jié)點所選用的AD芯片不同。動態(tài)節(jié)點選用AD7716對處理后的信號進行采樣,靜態(tài)節(jié)點選用AD7734,兩款芯片均外接一個6 MHz晶振為其提供采樣時鐘,與主控芯片通過SPI進行通信,兩且AD7716還外接了一個LED作為采樣指示燈,其電路如圖6所示?!?/p>

005.jpg

  1.4通信模塊

  通信模塊是系統(tǒng)的重要組成部分,系統(tǒng)的任務(wù)就是對ICP傳感器、應(yīng)變傳感器等進行采樣,并將數(shù)據(jù)傳送至上位機進行處理,所以采樣是實現(xiàn)系統(tǒng)任務(wù)的第一步,通信是實現(xiàn)系統(tǒng)任務(wù)的第二步,要將AD芯片轉(zhuǎn)換的采樣數(shù)據(jù)傳送至上位機。有線傳輸方式用以太網(wǎng),主控芯片已經(jīng)集成,只需配置外圍電路即可[4]。無線傳輸方式有兩種,動態(tài)節(jié)點采用WiFi無線網(wǎng),用以色列ConnectOne公司的Nano WiReach WiFi聯(lián)網(wǎng)控制器實現(xiàn),通過串口與主控芯片相連;靜態(tài)節(jié)點采用ZigBee無線網(wǎng),用美國Digi公司的XBeePRO 射頻模塊實現(xiàn),同樣通過串口與主控芯片相連。

2系統(tǒng)軟件程序設(shè)計

  2.1主控程序

  主程序負責(zé)系統(tǒng)的宏觀控制,調(diào)用各功能函數(shù)共同實現(xiàn)系統(tǒng)功能。系統(tǒng)的主程序僅有2個函數(shù),初始化函數(shù)init()和主函數(shù)main()。初始化函數(shù)init()負責(zé)系統(tǒng)的初始化;主函數(shù)main()是整個程序的入口函數(shù),對其他文件和函數(shù)依功能需求進行組織和調(diào)用,主程序流程圖如圖7所示。

006.jpg

  2.2采樣程序

  系統(tǒng)的采樣方式設(shè)計有三種,即動作采樣、定時采樣和觸發(fā)采樣。動作采樣是上位機發(fā)送采樣命令后,系統(tǒng)開始采樣相應(yīng)長度數(shù)據(jù);定時采樣是在某一設(shè)定時刻開始采樣相應(yīng)長度數(shù)據(jù);觸發(fā)采樣是一直監(jiān)視某個采樣值,一旦其大于規(guī)定值時開始采樣相應(yīng)長度數(shù)據(jù),并且開始時刻前一段時間內(nèi)的采樣值也要保留,以便分析觸發(fā)時刻前后的變化。雖然有三種采樣方式,但分析后可知,只需編寫兩個函數(shù)便可實現(xiàn)三種采樣方式,即一個只負責(zé)采樣一定長度數(shù)據(jù)的普通采樣函數(shù)和一個監(jiān)視采樣值并進行一定緩存的觸發(fā)采樣函數(shù),這兩個函數(shù)進行適時調(diào)用和組合,即可實現(xiàn)這三種采樣方式。

  動態(tài)節(jié)點的AD7716的采樣采用中斷方式,其數(shù)據(jù)準備好后會觸發(fā)外部中斷,在中斷服務(wù)程序中對其進行采樣并將數(shù)據(jù)緩存。對AD7716進行初始化后其便開始采樣,就會觸發(fā)中斷,所以在系統(tǒng)不進行采樣時將外部中斷口禁能,在進入普通采樣函數(shù)時將其使能。靜態(tài)節(jié)點的采樣程序和動態(tài)節(jié)點相比,只因AD芯片不同而存在一些差異。

  2.3通信程序

  通信程序主要實現(xiàn)數(shù)據(jù)發(fā)送功能,發(fā)送函數(shù)可以發(fā)送采樣數(shù)據(jù)、參數(shù)或狀態(tài)結(jié)構(gòu)體,并且可以根據(jù)網(wǎng)絡(luò)設(shè)置參數(shù)自動選擇發(fā)送方式,其程序流程圖如圖8所示。

007.jpg

  這里需要注意的是WiFi模塊需用串口通過AT指令進行控制。ZigBee模塊同樣通過串口與主控芯片進行通信,采用透明傳輸模式,上電后自動進入此模式,所以只要事先將模塊配置好,對于主控芯片而言就相當(dāng)于一個無線串口,收發(fā)數(shù)據(jù)直接操作所用串口即可[5]。

3系統(tǒng)調(diào)試

  系統(tǒng)調(diào)試中經(jīng)常用到虛擬串口,它是RealView MDK的調(diào)試器提供的一個比較方便的功能[6],將MDK自帶例程中的Retarget.c添加到系統(tǒng)工程中,然后重寫fputc()函數(shù),程序如下:

  int fputc(int ch, FILE *f)

  {

  if(DEMCR & TRCENA)

  {

  while(ITM_Port32(0) == 0);

  ITM_Port8(0) = ch;

  }

  return(ch);

  }

  這樣,在程序中調(diào)用打印函數(shù)printf(),就可以在Debug(printf) Viewer調(diào)試窗口輸出打印信息。

  一臺上位機同時控制多個節(jié)點。動態(tài)節(jié)點可以同時采集最多四路ICP傳感器或應(yīng)變傳感器,具有22位高精度,無線數(shù)據(jù)傳輸通過WiFi無線網(wǎng),速度較快可達400 kb/s,直接通過局域網(wǎng)連接上位機,適合大量高速數(shù)據(jù)的近距采集;靜態(tài)節(jié)點可分時采集八路應(yīng)變傳感器,具有24位高精度,無線傳輸通過ZigBee無線網(wǎng),距離較遠可達1 km,適合小量低速數(shù)據(jù)的遠距采集。

  通過聯(lián)合上位機調(diào)試,單節(jié)點可穩(wěn)定工作,完成系統(tǒng)任務(wù),實現(xiàn)了系統(tǒng)功能。但由于時間及水平有限,多節(jié)點同時連接上位機工作時不穩(wěn)定,有數(shù)據(jù)丟失現(xiàn)象;另外采用以太網(wǎng)傳輸方式時,如果節(jié)點通過DHCP方式獲得IP地址,不能建立TCP連接;功能方面也還不夠人性化,不夠完善。這些問題都有待進一步研究。

4結(jié)論

  本文設(shè)計的數(shù)據(jù)采集系統(tǒng)基于ARM CortexM3嵌入式內(nèi)核,實現(xiàn)了對多路ICP或應(yīng)變傳感器同時進行大量高速近距采集和小量低速遠距采集,并且具有高精度。靈活設(shè)計以太網(wǎng)、WiFi和ZigBee無線網(wǎng)多種傳輸方式,使系統(tǒng)能更好地適應(yīng)工作環(huán)境。

參考文獻

  [1] 劉滿倉,雷衛(wèi)寧,王春成.基于ARM的高精度數(shù)據(jù)采集系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(8):1214.

  [2] 王建輝,李正民,劉偉偉.基于ARM CortexM3的智能數(shù)據(jù)采集終端的設(shè)計[J].計算機與現(xiàn)代化,2011(9):6164.

 ?。?] 紀宗南.高分辨率的數(shù)據(jù)采集系統(tǒng)[J].電子元器件應(yīng)用,2002,4(12):1518.

 ?。?] 劉亮,王擊,楊澤.基于ARM CortexM3和Internet的實時數(shù)據(jù)采集系統(tǒng)設(shè)計[J].工業(yè)控制計算機,2011,24(11):1819.

 ?。?] 嚴正國,黎偉,馬龍,等.一種分布式無線同步數(shù)據(jù)采集系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2014,40(10):4952,56.

  [6] 張奕,余海龍,譚劍美.四通道高速數(shù)據(jù)采集系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(9):1012.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。