O 引言
數(shù)據(jù)采集是獲取信息的基本手段,作為信息科學(xué)的一個(gè)重要分支,,數(shù)據(jù)采集技術(shù)是包括了傳感器技術(shù),、信號(hào)處理、數(shù)據(jù)通信,、微型計(jì)算機(jī)等技術(shù)的一門綜合應(yīng)用技術(shù),。在實(shí)際應(yīng)用中,很多數(shù)據(jù)采集系統(tǒng)往往很難實(shí)現(xiàn)對(duì)動(dòng)態(tài)目標(biāo)進(jìn)行實(shí)時(shí)采集和監(jiān)控,。對(duì)動(dòng)態(tài)數(shù)據(jù)采集" title="動(dòng)態(tài)數(shù)據(jù)采集">動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)來(lái)說(shuō),,有著采集范圍大、采集點(diǎn)眾多,、布線空間有限,、體積小、自動(dòng)作業(yè)等特點(diǎn),,傳統(tǒng)的以總線方式組成網(wǎng)絡(luò)的采集系統(tǒng)很難滿足這種應(yīng)用要求,。
在此探討的動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)由動(dòng)態(tài)數(shù)據(jù)采集節(jié)點(diǎn)組成,以自組織方式構(gòu)成的無(wú)線網(wǎng)絡(luò),。節(jié)點(diǎn)軟硬件設(shè)計(jì)借鑒無(wú)線傳感器的節(jié)點(diǎn)設(shè)計(jì)思想,,采用MSP430系列微處理器芯片和FLASH芯片分別作為處理和存儲(chǔ)單元;采用USB轉(zhuǎn)串口芯片F(xiàn)T232BM完成MSP430的BSL下載電路和MSP430與PC的串行通信接口,;采用CC2420模塊完成了支持802.15.4/ZigBee" title="ZigBee">ZigBee協(xié)議的無(wú)線通信模塊設(shè)計(jì),。開(kāi)發(fā)出的硬件平臺(tái)既可以作為終端采集節(jié)點(diǎn),又可以作為通信網(wǎng)關(guān)進(jìn)行數(shù)據(jù)的收發(fā),。軟件系統(tǒng)設(shè)計(jì)上,,移植無(wú)線傳感器專門的嵌入式操作系統(tǒng)TinyOS到MSP430微處理器,使用nesC語(yǔ)言編寫應(yīng)用程序,。系統(tǒng)以溫度作為采集變量,,建立了一個(gè)具有采集溫度數(shù)據(jù)、預(yù)處理,、打包無(wú)線傳輸功能的動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)終端節(jié)點(diǎn)的設(shè)計(jì),。并利用終端節(jié)點(diǎn)的PC接口實(shí)現(xiàn)網(wǎng)關(guān)的功能,完成網(wǎng)關(guān)應(yīng)用程序設(shè)計(jì)。
1 節(jié)點(diǎn)設(shè)計(jì)
1.1 節(jié)點(diǎn)的一般結(jié)構(gòu)
一個(gè)典型的無(wú)線傳感器網(wǎng)絡(luò)" title="無(wú)線傳感器網(wǎng)絡(luò)">無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)包括了傳感器單元,、數(shù)據(jù)處理單元,、無(wú)線通信單元和電源管理單元,以及用戶接口等一些擴(kuò)展設(shè)計(jì)單元,,如圖1所示,。
1.2 節(jié)點(diǎn)設(shè)計(jì)的要求
節(jié)點(diǎn)設(shè)計(jì)主要有3點(diǎn)要求。第一,,動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)的采集對(duì)象往往是目標(biāo)的溫度、濕度,、速度等參數(shù),,整個(gè)系統(tǒng)需要在無(wú)人環(huán)境下長(zhǎng)期正常工作,因此低功耗設(shè)計(jì)是動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)的首要要素,;第二,,動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)處理數(shù)率較低、數(shù)據(jù)傳輸量少,、主要采用無(wú)線傳輸?shù)男问?,因此選擇無(wú)須許可的、合適,、低價(jià)的通信方式是保證動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)正常工作的關(guān)鍵,。第三,本系統(tǒng)采集的對(duì)象主要是針對(duì)飛禽走獸等野生動(dòng)物,,為了實(shí)現(xiàn)監(jiān)控的方便,,采集節(jié)點(diǎn)還必須要滿足體積小、靈活性強(qiáng)等特點(diǎn),。
1.3 節(jié)點(diǎn)硬件設(shè)計(jì)
目前,,2種典型的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)研究平臺(tái)是mica系列和telos系列節(jié)點(diǎn),它們采用目前應(yīng)用最廣泛的TinyOS嵌入式網(wǎng)絡(luò)操作系統(tǒng),。
本系統(tǒng)的節(jié)點(diǎn)硬件是設(shè)計(jì)參考telos平臺(tái),,是telos平臺(tái)一次再設(shè)計(jì)過(guò)程。系統(tǒng)設(shè)計(jì)弱化傳感器部分的設(shè)計(jì),,對(duì)無(wú)線通信模塊選用射頻模塊電路,,設(shè)計(jì)重點(diǎn)在微處理器模塊地電路實(shí)現(xiàn)上。同時(shí),,為了增加動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)應(yīng)用性,,添加了PC接口電路,使得本設(shè)計(jì)可以作為動(dòng)態(tài)終端節(jié)點(diǎn),,亦可以作為服務(wù)器的網(wǎng)關(guān),。在電源管理上,當(dāng)設(shè)計(jì)作為網(wǎng)關(guān)時(shí)選擇USB供電,當(dāng)作為終端可用干電池供電,。
(1)通信模塊采用TI公司的支持IEEE802.15.4協(xié)議的CC2420芯片,,250 kb/s的數(shù)據(jù)收發(fā)速率可以使節(jié)點(diǎn)更快的完成事件的處理,快速休眠,,節(jié)省系統(tǒng)能量,。
(2)采用TI公司的超低功耗微處理器芯片MSP430。
(3)telos本身就有SHTll溫濕度一體化器件,,能夠作為獨(dú)立的傳感器節(jié)點(diǎn)使用,。
(4)telos只有1個(gè)10腳的接口,可以簡(jiǎn)化連接傳感器板,。
(5)使用USB-COM的橋連接,,可以直接通過(guò)USB接口供電、編程和控制,,進(jìn)一步簡(jiǎn)化外部接口,。
本系統(tǒng)設(shè)計(jì)的節(jié)點(diǎn)硬件原理框圖如圖2所示,與無(wú)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)相比,,結(jié)構(gòu)上具有一致性,,同樣具有采集單元、處理和控制單元,、無(wú)線通信單元和電源管理單元,。
節(jié)點(diǎn)硬件實(shí)現(xiàn)電路如圖3所示。
1.4 節(jié)點(diǎn)軟件
在此節(jié)點(diǎn)采用目前應(yīng)用最廣泛的TinyOs嵌入式網(wǎng)絡(luò)操作系統(tǒng),。TinyOS的程序采用模塊化設(shè)計(jì),,程序核心都很小,一般來(lái)說(shuō)核心代碼和數(shù)據(jù)在400 B左右,。TinyOS的組件有4個(gè)相互關(guān)聯(lián)的部分:1組命令處理程序句柄,、1組事件處理程序句柄、1個(gè)經(jīng)過(guò)封裝的私有數(shù)據(jù)幀和一組簡(jiǎn)單任務(wù),。任務(wù),、命令和事件處理程序在幀的上下文中執(zhí)行并切換幀的狀態(tài)。為了易于實(shí)現(xiàn)模塊化,,每個(gè)組件還聲明了自己使用的接口及其要用信號(hào)通知的事件,,這些聲明將用于組件的相互連接。如圖4所示為一個(gè)支持多跳無(wú)線通信的組件集合與這些組件之間的關(guān)系,,上層組件對(duì)下層組件發(fā)命令,,下層組件對(duì)上層組件發(fā)信號(hào)通知事件的發(fā)生,最低層的組件直接和硬件打交道,。
2 系統(tǒng)軟件測(cè)試
在軟件系統(tǒng)設(shè)計(jì)上,,移植無(wú)線傳感器專門的嵌入式操作系統(tǒng)TinyOS到MSP430微處理器,,使用nesC語(yǔ)言編寫應(yīng)用程序。系統(tǒng)以溫度作為采集變量,,建立了一個(gè)具有采集溫度數(shù)據(jù),、預(yù)處理、打包無(wú)線傳輸功能的動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)終端節(jié)點(diǎn)的設(shè)計(jì),。
在驗(yàn)證應(yīng)用程序代碼時(shí),,因使用熱敏電阻調(diào)試麻煩,選用精密可調(diào)電阻代替熱敏電阻,,如圖5所示,,電阻值容易控制和調(diào)整,使結(jié)果具有更大可觀察性,。
如上圖所示,,采集的模擬信號(hào)量是電阻R110兩端的電壓值,為了觀察的方便,,在測(cè)試程序中對(duì)數(shù)據(jù)進(jìn)行標(biāo)度變換等初步處理,使得在PC上顯示的數(shù)據(jù)信息直觀地表示為R110兩端的電壓值,。由于精密電阻值最大為10 kΩ,,R110=10 kΩ。Vcc=3.1 V,,AD參考電平為2.5 V,,使得R110兩端電壓只能在1.5~2.5 V之間測(cè)量,選擇的測(cè)量范圍為1.6~2.4 V,。
只要知道當(dāng)前可調(diào)電阻R_adj的電阻值,,如下公式所示就可以得到ADC5的電壓值:
VADC5=Vccin[10 kΩ/(10 kΩ+R_adj)] (1)
由于終端設(shè)計(jì)是采用無(wú)線模塊發(fā)送的,PC必須通過(guò)網(wǎng)關(guān)才能得到PC顯示結(jié)果(PC上可以觀察范圍為1.5~2.5 V),。在終端機(jī)上,,同樣用3個(gè)LED來(lái)表示電壓量的變化,選擇參考電平為1.6 V為參考零點(diǎn),,變化時(shí)LED顯示變化一次,。如表1所示,需要注意的是只有測(cè)量值在1.6~2.4V之間LED指示值才正確,。
在無(wú)線模塊數(shù)據(jù)信息的發(fā)送中,,設(shè)定每隔1 000 ms發(fā)送一次。因此每過(guò)1 000 ms,,串口收發(fā)指示燈將指示一次,,同時(shí)在PC上更新一次數(shù)據(jù)信息。
PC監(jiān)聽(tīng)的結(jié)果如圖6所示,。圖中“7D 04”之后的4個(gè)數(shù)字為電壓值,,例如FF FF 04 7D 04 16 47 01 OO中的16 47表示當(dāng)前R110兩端電壓值為1.647 V。
為了對(duì)比測(cè)量結(jié)果的正確性,同時(shí)用萬(wàn)用表測(cè)量R110兩端電壓值,。如表2所示,,PC監(jiān)聽(tīng)值與萬(wàn)用表測(cè)量值很接近。
3 結(jié)語(yǔ)
動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)充分借鑒無(wú)線傳感器網(wǎng)絡(luò)的設(shè)計(jì)思想,,著重探討數(shù)據(jù)采集節(jié)點(diǎn)硬件的設(shè)計(jì),,完成了硬件模塊的劃分、芯片的選型,、軟件系統(tǒng),,并實(shí)現(xiàn)了ZigBee協(xié)議的無(wú)線傳輸,實(shí)現(xiàn)的動(dòng)態(tài)數(shù)據(jù)采集系統(tǒng)具有低功耗,、擴(kuò)展性好,、靈活性強(qiáng)、成本低等傳統(tǒng)數(shù)據(jù)采集系統(tǒng)難以達(dá)到的特性,。