于 鵬(中國科學院長春光學精密機械與物理研究所空間機器人系統創新研究室,吉林長春130033)
?
基于ARM Cortex-M3的數據采集系統的研究與實現
于鵬
(中國科學院長春光學精密機械與物理研究所空間機器人系統創新研究室,吉林長春130033)
摘 要:隨著計算機和互聯網等信息行業的快速發展,數據采集系統越來越得到人們的重視和應用。以某研究院數據采集系統的研究室橫向項目為基礎,闡述了數據采集系統的軟硬件設計,并實現了一套基于ARM Cortex-M3的數據采集系統。首先對系統選型及開發平臺進行了簡要介紹,進而在此基礎上詳細闡述了硬件電路和軟件程序的設計,最后說明綜合調試的方法和遇到的關鍵問題及其解決辦法。
關鍵詞:數據采集;ARM Cortex-M3;無線傳輸;高精度
信息行業發展的速度讓人吃驚,在此影響下一些相對傳統的行業也發生了巨大的變化。隨著計算機的廣泛應用和互聯網行業的快速發展,數據采集的重要性也越來越明顯,它是計算機與外部物理世界的連接橋梁,已被廣泛應用于各個領域,國內外各種數據采集系統相繼問世,數據采集進入了一個全新的時代[1]。
本文將結合橫向項目,針對建筑行業設計并實現一套數據采集系統,來幫助獲得應變、震動等專業數據,以便進行分析仿真。系統將基于嵌入式技術,針對不同信號的采集設計動態和靜態兩種節點,靈活設計傳輸方式,既可以采用以太網,又可以采用無線網,而且還要將各種傳輸方式都接入上位機所在局域網,使系統更好地適應具體的工作環境。
1.1主控模塊
主控模塊是整個硬件系統的核心,整個系統的運行都是由這里控制,所以主控芯片的性能直接影響系統的各項指標。
本系統的主控芯片選用TI公司的LM3S9B96,它采用ARM Cortex-M3內核,主流外設一應俱全,而且集成了以太網控制器。主控芯片及其外圍部分電路見圖1,芯片外接16 MHz的晶振作為其頻率源,經鎖相環倍頻后可達到200 MHz,以太網控制器單獨外接一個25 MHz的晶振,用復位芯片MAX811為芯片提供穩定的復位電平,將芯片的JTAG口引出用于程序的下載和仿真跟蹤調試,LDO腳接一個線性穩壓芯片FAN2558以保證內核工作穩定,LED1則是一個雙色LED,用于系統工作時的狀態指示[2]。
另外主控模塊還設計有串口電平轉換電路,方便系統和計算機直連輔助調試,電路如圖2所示。
1.2電源模塊
電源模塊為整個系統提供電源保障,它的穩定直接關系到系統各模塊的穩定工作,而且各電路模塊所需電壓不盡相同,所以電源模塊的設計相對比較復雜。
首先是電源輸入選擇電路,系統有外接DC 12 V和7.4 V鋰電池兩種供電方式,當外接直流電源時自動切換到鋰電池充電狀態,切換電路如圖3所示,供電方式的切換通過繼電器實現。

圖1 主控芯片LM3S9B96及其外圍部分電路

圖2 串口電平轉換電路

圖3 供電方式切換電路

圖4 鋰電池充電電路
而鋰電池的充電控制用電流源芯片MAX1640實現,如圖4所示。
其次是穩壓電路,輸入電源經過線性穩壓得到數字+5 V,再經升壓模塊升至±15 V,而后經過LM317和LM337構成的組合電路隔離穩壓后得到模擬±15 V,用于電壓預處理電路和電壓型傳感器供電;數字+5 V通過LT1086-3.3 V進一步穩到+3.3 V,用于主控芯片等部分芯片的供電。圖5給出了部分線性穩壓電路。
1.3采樣模塊
采樣模塊是系統的重要組成部分,其任務就是對ICP傳感器、應變傳感器等進行采樣,并將數據傳送至上位機進行處理,所以采樣模塊是實現任務的第一步,即將微小的傳感器信號放大濾波后送入AD芯片轉換成數字量[3]。
作為采樣模塊的核心,動態節點和靜態節點所選用的AD芯片不同。動態節點選用AD7716對處理后的信號進行采樣,靜態節點選用AD7734,兩款芯片均外接一個6 MHz晶振為其提供采樣時鐘,與主控芯片通過SPI進行通信,兩且AD7716還外接了一個LED作為采樣指示燈,其電路如圖6所示。
1.4通信模塊
通信模塊是系統的重要組成部分,系統的任務就是對ICP傳感器、應變傳感器等進行采樣,并將數據傳送至上位機進行處理,所以采樣是實現系統任務的第一步,通信是實現系統任務的第二步,要將AD芯片轉換的采樣數據傳送至上位機。有線傳輸方式用以太網,主控芯片已經集成,只需配置外圍電路即可[4]。無線傳輸方式有兩種,動態節點采用WiFi無線網,用以色列ConnectOne公司的Nano WiReach WiFi聯網控制器實現,通過串口與主控芯片相連;靜態節點采用ZigBee無線網,用美國Digi公司的XBee-PRO射頻模塊實現,同樣通過串口與主控芯片相連。

圖5 線性穩壓電路

圖6 AD7716采樣電路
2.1主控程序
主程序負責系統的宏觀控制,調用各功能函數共同實現系統功能。系統的主程序僅有2個函數,初始化函數init()和主函數main()。初始化函數init()負責系統的初始化;主函數main()是整個程序的入口函數,對其他文件和函數依功能需求進行組織和調用,主程序流程圖如圖7所示。
2.2采樣程序
系統的采樣方式設計有三種,即動作采樣、定時采樣和觸發采樣。動作采樣是上位機發送采樣命令后,系統開始采樣相應長度數據;定時采樣是在某一設定時刻開始采樣相應長度數據;觸發采樣是一直監視某個采樣值,一旦其大于規定值時開始采樣相應長度數據,并且開始時刻前一段時間內的采樣值也要保留,以便分析觸發時刻前后的變化。雖然有三種采樣方式,但分析后可知,只需編寫兩個函數便可實現三種采樣方式,即一個只負責采樣一定長度數據的普通采樣函數和一個監視采樣值并進行一定緩存的觸發采樣函數,這兩個函數進行適時調用和組合,即可實現這三種采樣方式。
動態節點的AD7716的采樣采用中斷方式,其數據準備好后會觸發外部中斷,在中斷服務程序中對其進行采樣并將數據緩存。對AD7716進行初始化后其便開始采樣,就會觸發中斷,所以在系統不進行采樣時將外部中斷口禁能,在進入普通采樣函數時將其使能。靜態節點的采樣程序和動態節點相比,只因AD芯片不同而存在一些差異。
2.3通信程序
通信程序主要實現數據發送功能,發送函數可以發送采樣數據、參數或狀態結構體,并且可以根據網絡設置參數自動選擇發送方式,其程序流程圖如圖8所示。

圖7 主控程序流程圖

圖8 通信程序流程圖
這里需要注意的是W iFi模塊需用串口通過AT指令進行控制。ZigBee模塊同樣通過串口與主控芯片進行通信,采用透明傳輸模式,上電后自動進入此模式,所以只要事先將模塊配置好,對于主控芯片而言就相當于一個無線串口,收發數據直接操作所用串口即可[5]。
系統調試中經常用到虛擬串口,它是RealView MDK的調試器提供的一個比較方便的功能[6],將MDK自帶例程中的Retarget.c添加到系統工程中,然后重寫fputc()函數,程序如下:
int fputc(int ch,FILE*f)
{
if(DEMCR&TRCENA)
{
while(ITM-Port32(0)==0);
ITM-Port8(0)=ch;
}
return(ch);
}
這樣,在程序中調用打印函數printf(),就可以在Debug(printf)Viewer調試窗口輸出打印信息。
一臺上位機同時控制多個節點。動態節點可以同時采集最多四路ICP傳感器或應變傳感器,具有22位高精度,無線數據傳輸通過W iFi無線網,速度較快可達400 kb/s,直接通過局域網連接上位機,適合大量高速數據的近距采集;靜態節點可分時采集八路應變傳感器,具有24位高精度,無線傳輸通過ZigBee無線網,距離較遠可達1 km,適合小量低速數據的遠距采集。
通過聯合上位機調試,單節點可穩定工作,完成系統任務,實現了系統功能。但由于時間及水平有限,多節點同時連接上位機工作時不穩定,有數據丟失現象;另外采用以太網傳輸方式時,如果節點通過DHCP方式獲得IP地址,不能建立TCP連接;功能方面也還不夠人性化,不夠完善。這些問題都有待進一步研究。
本文設計的數據采集系統基于ARM Cortex-M3嵌入式內核,實現了對多路ICP或應變傳感器同時進行大量高速近距采集和小量低速遠距采集,并且具有高精度。靈活設計以太網、WiFi和ZigBee無線網多種傳輸方式,使系統能更好地適應工作環境。
參考文獻
[1]劉滿倉,雷衛寧,王春成.基于ARM的高精度數據采集系統設計[J].現代電子技術,2012,35(8):12-14.
[2]王建輝,李正民,劉偉偉.基于ARM Cortex-M3的智能數據采集終端的設計[J].計算機與現代化,2011(9):61-64.
[3]紀宗南.高分辨率的數據采集系統[J].電子元器件應用,2002,4(12):15-18.
[4]劉亮,王擊,楊澤.基于ARM Cortex-M3和Internet的實時數據采集系統設計[J].工業控制計算機,2011,24(11):18-19.
[5]嚴正國,黎偉,馬龍,等.一種分布式無線同步數據采集系統設計[J].電子技術應用,2014,40(10):49-52,56.
[6]張奕,余海龍,譚劍美.四通道高速數據采集系統設計[J].現代電子技術,2012,35(9):10-12.
于鵬(1987 -),通信作者,男,碩士,研究實習員,主要研究方向:嵌入式系統、機器人控制。E-mail:sshjunzi@163.com。
引用格式:于鵬.基于ARM Cortex-M3的數據采集系統的研究與實現[J].微型機與應用,2016,35(10):24-27.
Research and realization of the data acquisition system based on ARM Cortex-M3
Yu Peng
(Innovation Lab of Space Robot System,Changchun Institute of Optics Fine Mechanics and Physics,Chinese Academy of Science,Changchun 130033,China)
Abstract:W ith the rapid development of the information industry,such as the computer and Internet,the data acquisition system has gotmore attention and app lication.Based on the horizontal project of laboratory of the data acquisition system of a research institute,this article elaborated the hardware and software design of the data acquisition system,and achieved a set of data acquisition system based on ARM Cortex-M 3. Firstly this paper gave a brief introduction of system selection and development platform,then elaborated the design of the hardware circuit and software program,and finally explained the method of integrated debugging and the key issues encountered and their solutions.
Key w ords:data acquisition;ARM Cortex-M3;wireless transmission;high precision
作者簡介:
收稿日期:(2016-02-18)
中圖分類號:TP274.2
文獻標識碼:A
DOI:10.19358 /j.issn.1674-7720.2016.09.009