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