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