文獻標識碼: A
文章編號: 0258-7998(2011)03-0022-04
數(shù)據(jù)采集技術(shù)是獲取信息的主要手段和方法,它是以傳感器技術(shù)、測試技術(shù)、電子技術(shù)和計算機技術(shù)等為基礎(chǔ)的一門綜合應(yīng)用技術(shù)。常用的數(shù)據(jù)采集多采用傳感器,經(jīng)過一定的數(shù)據(jù)變換與計算機通過串口或USB接口相連,由計算機讀取傳感器數(shù)值。隨著相關(guān)基礎(chǔ)技術(shù)的發(fā)展,以嵌入式計算機為核心的數(shù)據(jù)采集系統(tǒng)逐步形成,并占據(jù)了測控領(lǐng)域的統(tǒng)治地位[1]。振動量是測控應(yīng)用中常要采集的一類數(shù)據(jù),如機器的運行狀態(tài)、動物的運動量等,都可以通過振動量反應(yīng)出來。在實際應(yīng)用中,有線檢測往往出現(xiàn)布線困難、擴展性移植性差等問題,因此,無線檢測系統(tǒng)逐漸進入了工程人員視野,最值得期待的便是ZigBee無線網(wǎng)絡(luò)的應(yīng)用。ZigBee技術(shù)主要應(yīng)用在短距離小范圍內(nèi)以及數(shù)據(jù)傳輸速率不高(20~250 kb/s)的各種電子設(shè)備之間,其典型的傳輸數(shù)據(jù)類型有周期性數(shù)據(jù)(如傳感器)、間歇性數(shù)據(jù)(如照明控制)和重復低反應(yīng)時間數(shù)據(jù)(如鼠標)[2]??梢钥闯觯琙igBee無線網(wǎng)絡(luò)應(yīng)用于數(shù)據(jù)采集具有其先天優(yōu)勢。
1 系統(tǒng)基本構(gòu)架
無線振動數(shù)據(jù)采集系統(tǒng)如圖1所示,左邊為無線傳感器網(wǎng)絡(luò),右邊為數(shù)據(jù)采集終端。采集終端為一臺嵌入式計算機,負責接收傳感器數(shù)據(jù)并進行相關(guān)處理;外接一個ZigBee網(wǎng)絡(luò)的協(xié)調(diào)器節(jié)點,完成對無線網(wǎng)絡(luò)的管理。在傳感器網(wǎng)絡(luò)一端,各個傳感器均接有一個ZigBee節(jié)點,其中大部分功能屬于終端節(jié)點,在網(wǎng)絡(luò)需要的情況下,可將部分終端節(jié)點配置為路由節(jié)點使用,以支持不同的網(wǎng)絡(luò)拓撲結(jié)構(gòu)。
2 硬件設(shè)計
系統(tǒng)硬件設(shè)計包括三種模塊:ARM9處理器及其外圍支持電路為一塊完整的工業(yè)控制核心板;ZigBee網(wǎng)絡(luò)節(jié)點的各功能節(jié)點采用獨立的模塊,模塊上集成了射頻收發(fā)器及控制單片機;傳感器電路需自行設(shè)計,將制作成的電路板加接到ZigBee節(jié)點即可。
2.1 ARM9處理器及其外圍電路
為了縮短系統(tǒng)的開發(fā)周期,設(shè)計中采用了成都某公司EM916x工業(yè)控制核心模塊。該核心模塊使用了一片AT91SAM9260的32位CPU,內(nèi)存有32 MB和64 MB可選,板載有32 MB的Flash,用戶可使用其中的一半,并且還集成了標準的MiniSD卡插槽,即插即用,為終端數(shù)據(jù)的存儲提供了便利。在通信接口方面,EM9160配置了一路以太網(wǎng)接口,可用至多6路的標準UART串口,兩路USB主控接口等[3]。
EM916x模塊緊湊的集成設(shè)計,豐富的接口資源大大減少了設(shè)計數(shù)據(jù)采集終端的工作量,用戶幾乎不用做更多的外圍電路設(shè)計,只需將要使用的接口按要求引出到標準接頭即可。
2.2 ZigBee無線開發(fā)套件
本設(shè)計選擇了成都某公司的C51RF系列ZigBee無線開發(fā)系統(tǒng)套件。該套件提供ZigBee開發(fā)所需的全套軟硬件,包括ZigBee2006協(xié)議棧,完全滿足IEEE802.15.4標準和ZigBee技術(shù)標準。套件使用無線單片機CC2430,是一個真正的SoC解決方案,它內(nèi)部結(jié)合了一個高性能2.4 GHz直接序列擴頻(DSSS)射頻收發(fā)器核心和一個工業(yè)級小巧高效的增強型8051控制器。CC2430具有性能高、功耗低、收發(fā)靈敏度高和抗干擾性強等特點,尤其是在休眠模式下,器件的功耗尚不到1 μA,以之構(gòu)建無線傳感器網(wǎng)絡(luò)能夠在電池供電的情況下大大延長傳感器的使用時限[4]。
2.3 傳感器電路
常用的振動傳感器分為壓電/駐極體/電磁型、彈簧型、機械接觸型等。CLA-3微型傳感器是一種采用新型高靈敏度傳感膜設(shè)計的全向振動傳感器。CLA-3的靈敏度可調(diào),抗干擾性好,輸出為準數(shù)字信號,對于信號的后期處理相對比較簡單。使用時必須采用剛性連接,如使用粘結(jié)膠固定,以減小振源與傳感器之間的衰減[5]。圖2為本設(shè)計中使用的檢測電路,經(jīng)過調(diào)理的振動傳感器信號輸出為方波,對方波進行計數(shù)即可獲得振動數(shù)據(jù)。
2.4 硬件集成
集成后得到無線采集系統(tǒng)的硬件框圖如圖3所示。EM916x核心板與CC2430通過RS232串口相連,在核心板一端,除DEBUG串口外均可使用,而CC2430自帶兩個USART口,可使用其中任何一個;CAL-3傳感器與CC2430的連接相對簡單,只需將CAL-3應(yīng)用電路的信號輸出端接入CC2430的一個數(shù)字I/O口,在程序中以中斷的方式讀取該I/O口的計數(shù)即可。
ZigBee以獨立的工作節(jié)點為依托,通過無線通信組成星狀、樹狀或網(wǎng)狀網(wǎng)絡(luò),每個節(jié)點都擁有一個唯一的64 bit IEEE地址,而其功能并不完全相同。從組網(wǎng)通信上來說,半功能設(shè)備RFD(Reduced Function Device)只是其功能的一個子集;全功能設(shè)備FFD(Full Function Device)則與所控制的子節(jié)點通信、匯集數(shù)據(jù)和發(fā)布控制,或起到通信路由的作用。無論采用哪種拓撲網(wǎng)絡(luò),每個網(wǎng)絡(luò)都只能有唯一的協(xié)調(diào)器,它由全功能設(shè)備構(gòu)成,相當于一臺服務(wù)器,負責對整個網(wǎng)絡(luò)的管理。FFD可作協(xié)調(diào)器、路由器以及終端節(jié)點使用,RFD只能用作終端節(jié)點。
本設(shè)計中無線傳感網(wǎng)絡(luò)采用圖3所示的樹狀拓撲結(jié)構(gòu),與EM916x工控板相連的屬于FFD設(shè)備,作為網(wǎng)絡(luò)的協(xié)調(diào)器。而振動傳感器端既可以接RFD設(shè)備作為終端節(jié)點,也可以接FFD設(shè)備。與FFD設(shè)備相接的傳感器作為終端節(jié)點使用的同時,還具備路由功能,并能接收終端節(jié)點的入網(wǎng)請求,它類似于一臺有線網(wǎng)絡(luò)的路由器,通過中繼轉(zhuǎn)發(fā)及路由選擇,可大大擴展無線網(wǎng)絡(luò)的覆蓋范圍,提高通信穩(wěn)定性以及網(wǎng)絡(luò)容量。
3 軟件設(shè)計
EM916x核心板預(yù)裝了Win CE實時多任務(wù)操作系統(tǒng),支持包括MFC在內(nèi)的各種典型的Windows應(yīng)用程序框架,可以方便地使用Embedded Visual C++開發(fā)各種應(yīng)用程序。CC2430開發(fā)套件自帶了完整的ZigBee協(xié)議棧,使用IAR集成開發(fā)環(huán)境對協(xié)議棧工程文件進行管理,可以查看并修改整個協(xié)議棧的任意層源代碼。因此,軟件設(shè)計分為兩部分:Win CE下的應(yīng)用程序設(shè)計和ZigBee協(xié)議棧的添加與修改。
3.1 Win CE應(yīng)用程序設(shè)計
應(yīng)用程序駐留在EM916x核心板中,主要功能是負責打開連接協(xié)調(diào)器的串口,設(shè)置串口通信參數(shù);初始化ZigBee無線網(wǎng)絡(luò),查詢并返回網(wǎng)絡(luò)狀況,如是否建立成功、各種節(jié)點的狀態(tài)及數(shù)目等;監(jiān)視串口接收協(xié)調(diào)器發(fā)來的數(shù)據(jù)幀;解碼數(shù)據(jù)幀讀取傳感器數(shù)值,并由EM916x核心板的調(diào)試串口打印出來。應(yīng)用程序流程如圖4(a)所示。
3.2 ZigBee協(xié)議棧修改
ZigBee協(xié)議棧完成了無線網(wǎng)絡(luò)初始化的絕大部分功能,代碼修改應(yīng)謹慎對待。使用IAR集成開發(fā)工具打開ZigBee2006協(xié)議棧工程,找到ZMain工程目錄。打開后可以看到這是協(xié)議棧的主函數(shù)目錄,包括入口函數(shù)和硬件配置文件,在這里便可以添加自定的應(yīng)用函數(shù)。
無線網(wǎng)絡(luò)中三種節(jié)點的功能各不相同。協(xié)調(diào)器負責初始化無線網(wǎng)絡(luò),等待子節(jié)點的入網(wǎng),并接收子節(jié)點的數(shù)據(jù)幀,通過串口發(fā)送到主機,程序流程如圖4(b)所示。路由器與終端節(jié)點添加的應(yīng)用函數(shù)功能相同,首先搜尋ZigBee網(wǎng)絡(luò),并向網(wǎng)絡(luò)中的協(xié)調(diào)器或路由器申請加入網(wǎng)絡(luò);初始化定時計數(shù)器,允許中斷,對振動傳感器的輸入方波進行計數(shù),定時向父節(jié)點(即允許其入網(wǎng)的節(jié)點)發(fā)送計數(shù)值,圖4(c)為路由節(jié)點和終端節(jié)點的程序流程圖。路由器與終端節(jié)點只要在下載前選擇編譯即可。
4 系統(tǒng)仿真
仿真軟件使用Lab View編寫,仿真界面如圖5所示。左側(cè)用于選擇ZigBee網(wǎng)絡(luò)協(xié)調(diào)器與核心板相連接的串口號、波特率及控制按鈕;右上部顯示的是終端節(jié)點采集到的振動數(shù)值,包括節(jié)點發(fā)送數(shù)值時間、節(jié)點編號、當前發(fā)送振動計數(shù)值及上一次發(fā)送的計數(shù)值。右下方為某個終端節(jié)點在一定時段內(nèi)振動計數(shù)的波形圖,節(jié)點選擇在左下方的“奶牛編號”(原項目名稱)。圖5所顯示的是將傳感器套掛在奶牛脖子上實地采集到的振動數(shù)據(jù)。
通過現(xiàn)場實驗證明,利用ZigBee無線網(wǎng)絡(luò)構(gòu)建的數(shù)據(jù)采集系統(tǒng)具有非常好的準確性與實時性,而在擁有多個路由節(jié)點的網(wǎng)絡(luò)中,ZigBee網(wǎng)絡(luò)能夠得到非常大的延伸。通過實驗也發(fā)現(xiàn)了一個問題:當終端節(jié)點與地面的距離太近,大約小于30 cm時,節(jié)點與協(xié)調(diào)器之間的通信可靠性及通信距離大為降低,越接近地面,可靠通信距離就越短。后期采用的解決辦法是增大無線信號的發(fā)射功率,此時通信距離有所改觀,但這并不是一個好辦法,發(fā)射功率的增大意味著節(jié)點的電池壽命將縮短。
ZigBee是一種新興的短距離、低速率、低功耗無線網(wǎng)絡(luò)技術(shù),其應(yīng)用領(lǐng)域愈來愈廣泛,如數(shù)字家庭中的自動抄表系統(tǒng)、室內(nèi)無線定位及動物遠程監(jiān)控等。本文中無線振動數(shù)據(jù)采集系統(tǒng)的傳感器如果設(shè)計成諸如自動抄表器、無線定位引擎等,便可應(yīng)用于各種不同的場合。
參考文獻
[1] 李念強,魏長智,潘建軍,等.數(shù)據(jù)采集技術(shù)與系統(tǒng)設(shè)計[M].北京:機械工業(yè)出版社,2009.
[2] 李文仲,段朝玉.ZigBee2006無線網(wǎng)絡(luò)與無線定位實戰(zhàn)[M].北京:北京航空航天大學出版社,2008.
[3] EM916x工控主板數(shù)據(jù)手冊.http://www.emtronix.com/.
[4] ZigBee無線片上系統(tǒng)CC2430/CC2431中文使用說明手冊. http://www.c51rf.com.
[5] CLA-3全向振動傳感器簡介與應(yīng)用.http://wenku.baidu. com/.
[6] 范逸之,廖錦棋.Visual Basic硬件設(shè)計與開發(fā)——數(shù)據(jù)采集卡控制[M].北京:清華大學出版社,2004.
[7] 周林,殷俠.數(shù)據(jù)采集與分析技術(shù)[M].西安:西安電子科技大學出版社,2005.
[8] [美]Edgar H.Callaway,Jr.無線傳感器網(wǎng)絡(luò):體系結(jié)構(gòu)與協(xié)議[M].王永斌,屈曉旭譯.北京:電子工業(yè)出版社,2007.