基于ZigBee的無線監(jiān)控系統(tǒng)傳感器節(jié)點(diǎn)設(shè)計(jì)
近年來,隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展和軍隊(duì)裝備信息化的推進(jìn),指控系統(tǒng)不斷向大規(guī)模、復(fù)雜化、集成化的方向發(fā)展,同時(shí)由于戰(zhàn)場(chǎng)條件的日趨復(fù)雜,其發(fā)生故障的可能性也隨之增加。面對(duì)有大量過程變量的復(fù)雜系統(tǒng),操作和作戰(zhàn)人員很難及時(shí)有效地監(jiān)控過程數(shù)據(jù),分析當(dāng)前狀態(tài)和診斷過程異常,并采取適當(dāng)?shù)膽?yīng)對(duì)措施。因此,如何提高指控系統(tǒng)的可維護(hù)性和安全性逐漸受到了廣泛的關(guān)注。隨著射頻技術(shù)和傳感器產(chǎn)品的進(jìn)一步發(fā)展, 利用無線傳感器網(wǎng)絡(luò)建立的各種監(jiān)控系統(tǒng)可以很好地解決由環(huán)境中不確定因素變化所引起的問題, 從而減少生產(chǎn)產(chǎn)品的成本, 提高工作效率。
ZigBee技術(shù)是近年發(fā)展起來的一種無線通信技術(shù),它具有低功耗、低成本、組網(wǎng)靈活和抗干擾能力強(qiáng)等優(yōu)點(diǎn)[1]。因此,將基于ZigBee技術(shù)的無線傳感器網(wǎng)絡(luò)應(yīng)用于指控系統(tǒng)的監(jiān)控方面,能夠降低監(jiān)控系統(tǒng)成本,并且無需布線,根據(jù)無線技術(shù)的特點(diǎn)將傳感器節(jié)點(diǎn)布置于指控設(shè)備的待測(cè)空間內(nèi),還可以采集監(jiān)控到傳統(tǒng)方法無法監(jiān)測(cè)到的信號(hào)?;?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/ZigBee">ZigBee的傳感器網(wǎng)絡(luò)技術(shù)如果配合有線網(wǎng)絡(luò)(如以太網(wǎng))或無線通信技術(shù),可以實(shí)現(xiàn)對(duì)整個(gè)指控系統(tǒng)中各個(gè)設(shè)備的實(shí)時(shí)監(jiān)控,配合無線蜂窩網(wǎng)絡(luò)技術(shù)還可以實(shí)現(xiàn)手持式通信終端對(duì)指控設(shè)備的實(shí)時(shí)監(jiān)測(cè)。因此對(duì)無線傳感器網(wǎng)絡(luò)的研究具有重要的應(yīng)用價(jià)值。
1 ZigBee技術(shù)概述
由于ZigBee無線通信協(xié)議不僅具有低成本、低功耗、低速率、低復(fù)雜度的特點(diǎn),而且具有可靠性高,組網(wǎng)簡(jiǎn)單、靈活的優(yōu)勢(shì),所以結(jié)合實(shí)際需要,并與同類無線技術(shù)進(jìn)行比較后,最終選用了ZigBee這項(xiàng)技術(shù)。
ZigBee技術(shù)是一種具有統(tǒng)一技術(shù)標(biāo)準(zhǔn)的短距離無線通信技術(shù),其兼容的產(chǎn)品工作在IEEE 802.15.4的PHY上頻段是免費(fèi)開放的,分別為2.4 GHz(全球)、915 MHz(美國(guó))和868 MHz(歐洲)。采用ZigBee技術(shù)的產(chǎn)品可以在2.4 GHz頻段上提供250 Kb/s(16個(gè)信道)、在915 MHz頻段上提供40 Kb/s(10個(gè)信道)和在868 MHz頻段上提供20 Kb/s(1個(gè)信道)的傳輸速率[1]。
ZigBee協(xié)議棧的體系結(jié)構(gòu)如圖1所示。它雖然是基于標(biāo)準(zhǔn)的7層開放式系統(tǒng)互聯(lián)(OSI)模型,但僅對(duì)涉及ZigBee的層予以定義。IEEE 802.15.4-2003標(biāo)準(zhǔn)定義了最下面的2層:物理層(PHY)和介質(zhì)接入控制子層(MAC)。ZigBee聯(lián)盟提供了網(wǎng)絡(luò)層和應(yīng)用層(APL)框架的設(shè)計(jì)。其中,應(yīng)用層的框架包括了應(yīng)用支持子層(APS)、ZigBee設(shè)備對(duì)象(ZDO)及由制造商制定的應(yīng)用對(duì)象[2]。
ZigBee設(shè)備為低功耗設(shè)備,其發(fā)射功率為0~3.6 dBm,具有能量檢測(cè)和鏈路質(zhì)量指示能力,根據(jù)這些檢測(cè)結(jié)果,設(shè)備可自動(dòng)調(diào)整其發(fā)射功率,在保證通信鏈路質(zhì)量的條件下,最小地消耗設(shè)備能量[3]。
2 網(wǎng)絡(luò)結(jié)構(gòu)
根據(jù)某型指控系統(tǒng)裝備地域分布和工作時(shí)序所具有的特點(diǎn),狀態(tài)監(jiān)控系統(tǒng)通常分為系統(tǒng)層和節(jié)點(diǎn)層2個(gè)應(yīng)用層次。節(jié)點(diǎn)層主要針對(duì)車載式指揮控制系統(tǒng)單車分系統(tǒng)或集中在小地域環(huán)境中的系統(tǒng)進(jìn)行設(shè)計(jì),更大范圍內(nèi)的系統(tǒng)層測(cè)試采用上述分系統(tǒng)的無線互連方式作為解決方案,本文主要論述的是節(jié)點(diǎn)層的設(shè)計(jì)方案。
在分布測(cè)試中,無線監(jiān)控網(wǎng)絡(luò)是由在待測(cè)目標(biāo)附近按一定方式布置的多個(gè)數(shù)據(jù)采集節(jié)點(diǎn)和1個(gè)控制基站組成。每個(gè)節(jié)點(diǎn)都連接1個(gè)或多個(gè)功能模塊,從而具有1種或多種感知能力。本文設(shè)計(jì)的傳感器網(wǎng)絡(luò)采用分簇結(jié)構(gòu),該網(wǎng)絡(luò)由若干個(gè)傳感器單元和1個(gè)基站構(gòu)成?;咀鳛榫W(wǎng)絡(luò)中的協(xié)調(diào)器,負(fù)責(zé)建網(wǎng)以及設(shè)備注冊(cè)和訪問控制等基本的網(wǎng)絡(luò)管理功能,同時(shí)搜集傳感器網(wǎng)絡(luò)發(fā)送的所有數(shù)據(jù),建立本地?cái)?shù)據(jù)庫(kù),完成數(shù)據(jù)融合和數(shù)據(jù)包向控制中心的轉(zhuǎn)發(fā)。傳感器節(jié)點(diǎn)則根據(jù)在網(wǎng)絡(luò)中扮演的角色分為終端設(shè)備節(jié)點(diǎn)和路由器節(jié)點(diǎn)。這兩者的區(qū)別是:終端節(jié)點(diǎn)只負(fù)責(zé)采集信號(hào),發(fā)送至路由器或協(xié)調(diào)器;路由器則不僅要采集設(shè)備信號(hào),而且要收集它的終端子節(jié)點(diǎn)采集到的信號(hào),并將收集的各路信號(hào)轉(zhuǎn)發(fā)給基站。圖2給出了監(jiān)控網(wǎng)絡(luò)節(jié)點(diǎn)層的結(jié)構(gòu)圖。
實(shí)際應(yīng)用時(shí),在不改變和破壞原設(shè)備連接關(guān)系的基礎(chǔ)上將傳感器節(jié)點(diǎn)置于指控設(shè)備的通信鏈路上,使監(jiān)控模塊的兩端分別連接至待監(jiān)控的設(shè)備A、B,如圖3所示。
數(shù)據(jù)采集方式根據(jù)指控裝備中數(shù)據(jù)流的大小可分為3種。第1種是基站以廣播形式向各數(shù)據(jù)采集節(jié)點(diǎn)發(fā)送控制指令,要求節(jié)點(diǎn)將測(cè)試數(shù)據(jù)以無線的方式回傳至基站。采集節(jié)點(diǎn)接收到命令后,由控制模塊對(duì)命令進(jìn)行解析,若節(jié)點(diǎn)地址與本節(jié)點(diǎn)編號(hào)一致,則通過SPI總線讀取由功能模塊采集到的符合基站要求的數(shù)據(jù),并通過射頻模塊發(fā)送給基站。第2種是定時(shí)采集的方式。每隔一段時(shí)間,各數(shù)據(jù)采集模塊按照基站的要求,向基站發(fā)送1次實(shí)時(shí)采集到的數(shù)據(jù)。這2種方式適用于信息流較大的情況。當(dāng)信息流較小時(shí),可采用中斷查詢的方式。指控裝備中每次傳送的數(shù)據(jù)都會(huì)觸發(fā)數(shù)據(jù)采集節(jié)點(diǎn)的中斷,并發(fā)送至基站。
3 傳感器節(jié)點(diǎn)的設(shè)計(jì)及其在平臺(tái)上的實(shí)現(xiàn)
3.1 硬件設(shè)計(jì)
3.1.1 傳感器節(jié)點(diǎn)總體設(shè)計(jì)
傳感器節(jié)點(diǎn)的控制和無線通信部分使用Jennic公司的集成化解決方案JN5139芯片。JN5139是IEEE 802.15.4和ZigBee低成本低功耗微控制器,集成了32位RISC處理器、完全兼容的2.4 GHz IEEE 802.15.4收發(fā)器、192 KB ROM、96 KB RAM以及豐富的模擬和數(shù)字外設(shè)。它在單芯片內(nèi)集成了用于無線傳感器網(wǎng)絡(luò)的收發(fā)器和微控制器,具有成本敏感的ROM/RAM架構(gòu),能夠滿足批量應(yīng)用的需要[4]。
各傳感器單元之間及其與基站之間通過無線通信的方式傳輸,傳感器節(jié)點(diǎn)采用2.4 GHz的免費(fèi)頻段。無線傳感器網(wǎng)絡(luò)由許多功能相同或不同的無線傳感器節(jié)點(diǎn)組成。傳感器節(jié)點(diǎn)由功能模塊(傳感器、A/D轉(zhuǎn)換器)、控制模塊(微處理器、存儲(chǔ)器)、通信模塊(無線收發(fā)器)和供電模塊(電池、DC/DC能量轉(zhuǎn)換器)組成。功能模塊負(fù)責(zé)監(jiān)測(cè)區(qū)域內(nèi)信息的采集和數(shù)據(jù)轉(zhuǎn)換;控制模塊負(fù)責(zé)控制整個(gè)傳感器節(jié)點(diǎn)的操作,存儲(chǔ)和處理本身采集的數(shù)據(jù)以及其他節(jié)點(diǎn)發(fā)來的數(shù)據(jù);通信模塊負(fù)責(zé)與協(xié)調(diào)器或路由器進(jìn)行通信,交換控制信息和發(fā)送采集數(shù)據(jù);供電模塊為傳感器節(jié)點(diǎn)提供運(yùn)行所需的能量。由于數(shù)據(jù)采集節(jié)點(diǎn)的布置方式、定位方法、通信手段往往是相同的,僅僅是節(jié)點(diǎn)由于連接了不同類型的傳感器或數(shù)據(jù)采集設(shè)備而導(dǎo)致節(jié)點(diǎn)感知能力的差異。因此,將測(cè)試單元設(shè)計(jì)成功能模塊,并與控制和通信模塊相連接就可以根據(jù)測(cè)試任務(wù)的需要對(duì)其方便地添加和刪除。傳感器節(jié)點(diǎn)總體設(shè)計(jì)圖如圖4所示。
3.1.2 SPI總線設(shè)計(jì)
節(jié)點(diǎn)中控制模塊和各功能模塊的控制器件都集成了SPI接口,他們的數(shù)據(jù)交互是通過SPI總線完成的。當(dāng)基站發(fā)出命令時(shí),節(jié)點(diǎn)中的控制模塊進(jìn)行判斷并轉(zhuǎn)發(fā)給功能模塊,功能模塊上報(bào)給基站的數(shù)據(jù)也需要通過控制模塊進(jìn)行仲裁并打包發(fā)送。
SPI可以作為主器件或從器件,并支持在同一總線上連接多個(gè)從器件和主器件。SPI接口包含1個(gè)從選擇信號(hào)(SS),用于選擇SPI為從器件;當(dāng)SPI作為主器件時(shí),可以用額外的通用I/O端口作為從選擇輸出。
只有SPI主器件能啟動(dòng)數(shù)據(jù)傳輸。當(dāng)處于主方式時(shí),向SPI數(shù)據(jù)寄存器寫入1個(gè)字節(jié)將啟動(dòng)1次數(shù)據(jù)傳輸。SPI主器件立即在SPIMOSI線上串行移出數(shù)據(jù),同時(shí)在SPISCK上提供串行時(shí)鐘。在全雙工操作中,SPI主器件在SPIMOSI線上向從器件發(fā)送數(shù)據(jù),被尋址的從器件可以同時(shí)在SPIMOSI線上向主器件發(fā)送其移位寄存器中的內(nèi)容。所接收到的來自從器件的數(shù)據(jù)替換主器件數(shù)據(jù)寄存器中的數(shù)據(jù)。2個(gè)方向上的數(shù)據(jù)傳輸由主器件產(chǎn)生的串行時(shí)鐘同步。當(dāng)SPI被使能而未被配置為主器件時(shí),它將作為從器件工作。另1個(gè)SPI主器件通過將其SS信號(hào)驅(qū)動(dòng)為低電平啟動(dòng)1次數(shù)據(jù)傳輸。主器件用其串行時(shí)鐘將移位寄存器中的數(shù)據(jù)移出到SPIMOSI引腳。從器件可以通過寫SPI數(shù)據(jù)寄存器為下一次數(shù)據(jù)傳輸裝載它的移位寄存器。從器件必須在主器件開始下一次數(shù)據(jù)傳輸之前至少1個(gè)SPI串行時(shí)鐘寫數(shù)據(jù)寄存器;否則,已經(jīng)位于從器件移位寄存器中數(shù)據(jù)字節(jié)將被發(fā)送。傳感器節(jié)點(diǎn)中JN5139與外圍功能模塊基于SPI總線的連接關(guān)系如圖5所示。
3.2 軟件設(shè)計(jì)
傳感器節(jié)點(diǎn)程序主要實(shí)現(xiàn)接收并轉(zhuǎn)發(fā)基站的命令、與功能模塊進(jìn)行交互、上報(bào)功能模塊采集到的數(shù)據(jù)等功能。在網(wǎng)絡(luò)中,每個(gè)傳感器節(jié)點(diǎn)都分配有地址,基站以廣播的形式發(fā)送指令后,各個(gè)節(jié)點(diǎn)上的主控制器都對(duì)其進(jìn)行解析,若地址與本節(jié)點(diǎn)相同,則進(jìn)一步分析出功能模塊的編號(hào)并通過SPI總線進(jìn)行轉(zhuǎn)發(fā),功能模塊在收到命令后,由協(xié)處理器進(jìn)行再次解析,將指定數(shù)據(jù)上報(bào)。
3.2.1 建立ZigBee網(wǎng)絡(luò)
建立1個(gè)網(wǎng)絡(luò)首先需要對(duì)每1個(gè)設(shè)備IEEE 802.15.4協(xié)議棧的PHY和MAC層進(jìn)行初始化,然后創(chuàng)建本網(wǎng)絡(luò)的PAN Co-ordinator,每1個(gè)網(wǎng)絡(luò)有且只能有1個(gè)PAN Co-ordinator,建立網(wǎng)絡(luò)的第1個(gè)步驟就是選擇并且初始化這個(gè)Co-ordinator。PAN Co-ordinator一旦初始化完成就必須為它的網(wǎng)絡(luò)選定1個(gè)PAN ID作為網(wǎng)絡(luò)的標(biāo)識(shí),PAN ID可以被人為地預(yù)定義,也可以通過偵聽其他網(wǎng)絡(luò)的ID然后選擇1個(gè)不會(huì)沖突的ID的方式來獲取。每1個(gè)PAN Co-ordinator設(shè)備都已經(jīng)具有了1個(gè)唯一的、固定的64 bit IEEE MAC地址,通常稱為擴(kuò)展地址。但是作為組網(wǎng)的標(biāo)識(shí)它還必須分配給自己1個(gè)16 bit的網(wǎng)絡(luò)地址,通常稱之為短地址。使用短地址進(jìn)行通訊可以使網(wǎng)絡(luò)通訊更輕量級(jí)且更高。這一短地址是預(yù)先定義好的,PAN Co-ordinator的短地址通常被定義為0x0000。
PAN Co-ordinator必須選擇1個(gè)網(wǎng)絡(luò)所建立的射頻頻率通道。它可以通過進(jìn)行1次能量掃描檢測(cè)來找到1個(gè)相對(duì)安靜的通道。通過通道能量掃描檢測(cè),API將返回每一個(gè)通道的能量水平,能量水平高就標(biāo)志著這個(gè)通道的無線信號(hào)比較活躍。接下來PAN Co-ordinator就可以根據(jù)這些信息選擇1個(gè)可以利用的通道來建立自己的無線網(wǎng)絡(luò)。
完成上述工作后,PAN Co-ordinator就將開放對(duì)于加入網(wǎng)絡(luò)的請(qǐng)求應(yīng)答。一旦網(wǎng)絡(luò)中出現(xiàn)了可以利用的Co-ordinator,其他的網(wǎng)絡(luò)設(shè)備就可以加入網(wǎng)絡(luò)了。1個(gè)準(zhǔn)備加入網(wǎng)絡(luò)的設(shè)備在完成初始化之后,需要通過頻道掃描找到PAN Co-ordinator,并在特定的頻率通道中發(fā)送信標(biāo)請(qǐng)求。當(dāng)PAN Co-ordinator檢測(cè)到信標(biāo)請(qǐng)求后,Co-ordinator將回應(yīng)相應(yīng)的信標(biāo)來向設(shè)備標(biāo)識(shí)自己,既而判斷是否有足夠的資源接受新的設(shè)備,并且決定是否接受和拒絕設(shè)備加入網(wǎng)絡(luò)。如果PAN Co-ordinator接收了設(shè)備,它將發(fā)送1個(gè)16 bit的短地址給設(shè)備,作為設(shè)備在網(wǎng)絡(luò)中的標(biāo)識(shí)[5-6]。ZigBee網(wǎng)絡(luò)的建立過程如圖6所示。
3.2.2 ZigBee網(wǎng)絡(luò)內(nèi)設(shè)備之間的傳輸數(shù)據(jù)
當(dāng)網(wǎng)絡(luò)中出現(xiàn)了PAN Co-ordinator和至少1個(gè)端節(jié)點(diǎn)設(shè)備后,網(wǎng)絡(luò)就可以進(jìn)行數(shù)據(jù)傳輸了。Co-ordinator向端節(jié)點(diǎn)設(shè)備傳輸數(shù)據(jù)時(shí),有直接傳輸和間接傳輸2種方法可以實(shí)現(xiàn)數(shù)據(jù)傳輸:
(1)直接傳輸:PAN Co-ordinator可以將數(shù)據(jù)直接發(fā)送給端節(jié)點(diǎn)設(shè)備,當(dāng)端節(jié)點(diǎn)設(shè)備接收到數(shù)據(jù)后就可以發(fā)送確認(rèn)消息給Co-ordinator。這種數(shù)據(jù)傳輸方式要求端節(jié)點(diǎn)設(shè)備隨時(shí)都處于數(shù)據(jù)接收的狀態(tài),也就是要求其隨時(shí)都要處于喚醒的狀態(tài)。
(2)間接傳輸:這種傳輸方式就是Co-ordinator可以將數(shù)據(jù)保存起來等待端節(jié)點(diǎn)設(shè)備請(qǐng)求讀取數(shù)據(jù)。采用這種方式時(shí),端節(jié)點(diǎn)設(shè)備為了獲得數(shù)據(jù)必須先要發(fā)送數(shù)據(jù)請(qǐng)求。發(fā)送數(shù)據(jù)請(qǐng)求后,Co-ordinator就會(huì)判斷是否有需要發(fā)送給這個(gè)設(shè)備的數(shù)據(jù),如果有就發(fā)送相應(yīng)的數(shù)據(jù)給端節(jié)點(diǎn)設(shè)備。接到數(shù)據(jù)的設(shè)備將發(fā)送確認(rèn)信息。這一方式適用于端節(jié)點(diǎn)設(shè)備需要較低功耗的情況,其大部分的工作狀態(tài)都處于休眠狀態(tài)以節(jié)省能量。上述數(shù)據(jù)傳輸方式如圖7所示。
端節(jié)點(diǎn)設(shè)備向Co-ordinator傳輸數(shù)據(jù)時(shí),通常采用直接發(fā)送的方式,Co-ordinator接到數(shù)據(jù)后可以發(fā)送確認(rèn)信息[5-6]。
3.2.3 SPI總線數(shù)據(jù)傳輸[7-10]
JN5139支持從16 MHz到250 kHz的數(shù)據(jù)傳輸速率,SPICLK時(shí)鐘的相位和極性都是可配置的。時(shí)鐘極性控制SCLK在空閑時(shí)置高還是置低(也就決定了傳輸中第1個(gè)時(shí)鐘邊沿的極性),時(shí)鐘的相位決定了JN5139在時(shí)鐘周期SPICLK的哪個(gè)邊沿采樣SPIMOSI線上的數(shù)據(jù)。
基于SPI總線的數(shù)據(jù)傳輸由vAHI_SpiConfigure()函數(shù)進(jìn)行配置,從設(shè)備的選擇由vAHI_SpiSelect()函數(shù)完成。當(dāng)處于主方式時(shí),向SPI數(shù)據(jù)寄存器寫入1個(gè)字節(jié)將啟動(dòng)1次數(shù)據(jù)傳輸。調(diào)用vAHI_SpiStartTransferxx(xx代表8、16或32 bit)開始1次傳輸過程,數(shù)據(jù)被放入數(shù)據(jù)寄存器并立即在SPIMOSI上串行移出,同時(shí)產(chǎn)生時(shí)鐘信號(hào)SPICLK。在全雙工操作中,SPI主器件在MOSI線上向從器件發(fā)送數(shù)據(jù),被尋址的從器件可以同時(shí)在MISO線上向主器件發(fā)送其移位寄存器中的內(nèi)容,所接收到的來自從器件的數(shù)據(jù)替換主器件數(shù)據(jù)寄存器中的數(shù)據(jù)。在這一傳輸過程中,用u32AHI_SpiReadTransferxx(xx代表8、16或32 bit)進(jìn)行數(shù)據(jù)的讀取。由于從處理器作為從機(jī)不會(huì)產(chǎn)生移位時(shí)鐘脈沖,主機(jī)接收從機(jī)發(fā)送的數(shù)據(jù)時(shí),協(xié)處理器的數(shù)據(jù)傳輸必須依靠主控制器的配合。從處理器有數(shù)據(jù)需要傳輸時(shí),會(huì)產(chǎn)生1個(gè)低電平的呼叫信號(hào),準(zhǔn)備啟動(dòng)1次通信過程。主控制器響應(yīng)后,會(huì)拉低SS引腳,并在SPIMOSI引腳上輸出1個(gè)字節(jié)無效數(shù)據(jù),從而在SPICLK線上產(chǎn)生時(shí)鐘脈沖,將1個(gè)字節(jié)數(shù)據(jù)通過SPIMISO引腳送入主控制器[4,7]。數(shù)據(jù)傳輸流程如圖8所示。
無線傳感器網(wǎng)絡(luò)是一項(xiàng)新興的信息技術(shù),傳感器節(jié)點(diǎn)和網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)對(duì)無線傳感器網(wǎng)絡(luò)有著至關(guān)重要的作用。本文提出的基于ZigBee無線傳感器網(wǎng)絡(luò)的指控裝備狀態(tài)監(jiān)控系統(tǒng),用較為先進(jìn)的ZigBee無線通信技術(shù)代替了傳統(tǒng)的有線通信。它采用ZigBee分簇式拓?fù)浣Y(jié)構(gòu)實(shí)現(xiàn)對(duì)指控系統(tǒng)中各指控裝備狀態(tài)信息的實(shí)時(shí)采集、處理和分析,大大提高了系統(tǒng)的可擴(kuò)展性和移動(dòng)性,達(dá)到了低功耗、自組網(wǎng),監(jiān)控靈活方便的技術(shù)要求,具有較為重要的應(yīng)用價(jià)值。
評(píng)論