基于ZigBee技術(shù)的分布式溫室監(jiān)控系統(tǒng)的設(shè)計
微處理器單元采用TI 公司MSP430 系列單片機, 是一種具有集成度高、功能豐富、功耗極低等技術(shù)特點的16 位單片機。超低功耗的混合信號控制器、豐富的片內(nèi)外設(shè)、節(jié)能考慮的多種工作模式和對C 語言程序設(shè)計的支持, 使得MSP430 系列單片機非常適合于應(yīng)用在嵌入式系統(tǒng)中。設(shè)計中選用帶有Flash 存儲器可進行在線編程的MSP430F149 單片機; 外圍模塊有看門狗、定時器A/B、同步/異步串行通信接口、10 /12 位A/D 以及6個8 位并行端口等多種組合形式。其實現(xiàn)功能主要有: 操作無線收發(fā)芯片, 通過SPI 口與GPIO 對CC2420 工作狀態(tài)控制和傳輸數(shù)據(jù); 本地數(shù)據(jù)處理, 剔除冗余數(shù)據(jù), 以減少網(wǎng)絡(luò)傳輸?shù)呢撦d和對無線傳輸數(shù)據(jù)的封裝與驗證; 應(yīng)答控制中心查詢, 完成數(shù)據(jù)的轉(zhuǎn)發(fā)與存儲; 節(jié)點電源管理, 合理地設(shè)置待機狀態(tài), 以節(jié)省能量消耗, 延長節(jié)點使用壽命。
無線通信單元中, 選用了Chipcon 公司的CC2420 射頻收發(fā)器, 它實現(xiàn)ZigBee 協(xié)議的物理層( PHY) 及媒體訪問控制器(MAC) 層, 低耗電、250kbps 傳輸速率、快速喚醒時間(30ms ) 、CSMA- CA 通道狀態(tài)偵測等特性。其外圍電路包括晶振時鐘電路、射頻輸入輸出匹配電路以及微控制器接口電路, MCU 通過SPI 以及幾個GPIO 對C2420 進行設(shè)置與讀寫數(shù)據(jù)。射頻信號輸出設(shè)計采用PCB 上的引線作為天線。
ZigBee 網(wǎng)絡(luò)節(jié)點采用兩節(jié)5 號電池, 經(jīng)過升壓DC /DC 芯片CP1402 轉(zhuǎn)換到3.3V和5V, 電池使用效率可達85%。整體根據(jù)需要切換高低頻率、單片機的低功耗模式, 同時采用模擬開關(guān)來控制各個傳感器的供電, 在不需要采集數(shù)據(jù)時關(guān)斷電源以進一步降低功耗。
2.2 控制器的硬件設(shè)計
在該系統(tǒng)中控制器是無線傳感器網(wǎng)絡(luò)與監(jiān)控中心的中轉(zhuǎn)站, 負責(zé)發(fā)送命令( 查詢、分配地址等) , 接收下層節(jié)點的請求與數(shù)據(jù), 承擔(dān)著ZigBee 網(wǎng)絡(luò)中各節(jié)點與RS485 總線的數(shù)據(jù)交換任務(wù)。其硬件設(shè)計框圖如圖3 所示。無線通信單元與網(wǎng)絡(luò)節(jié)點部分的相同, 電平轉(zhuǎn)換單元采用MAX485 實現(xiàn)TTL 與RS485 之間的轉(zhuǎn)換。
圖3 控制器原理框圖
3 系統(tǒng)軟件設(shè)計
在系統(tǒng)的軟件設(shè)計中, 協(xié)議棧的設(shè)計直接關(guān)系到整個網(wǎng)絡(luò)系統(tǒng)的運行。根據(jù)ZigBee 星型網(wǎng)絡(luò), 協(xié)調(diào)器與終端設(shè)備在網(wǎng)絡(luò)中的功能、地位不同, 網(wǎng)絡(luò)節(jié)點與控制器的軟件設(shè)計上也有所區(qū)別。下面主要對協(xié)議棧、網(wǎng)絡(luò)節(jié)點與控制器的軟件設(shè)計作主要介紹。
3.1 協(xié)議棧
在本設(shè)計中, 協(xié)議棧是使用C 語言編寫的, 協(xié)議棧使用閃存程序存儲器來存儲可配置的MAC 地址、網(wǎng)絡(luò)表和綁定表。整個協(xié)議棧構(gòu)架如圖4 所示。
圖4 協(xié)議棧構(gòu)架
協(xié)議棧根據(jù)ZigBee 規(guī)范的定義將其邏輯分為多個層。實現(xiàn)每個層的代碼位于一個獨立的源文件中, 而服務(wù)和應(yīng)用程序接口(API) 則在頭文件中定義。要實現(xiàn)抽象性和模塊性, 頂層總是通過定義完善的API 和緊接著的下一層進行交互, 該層的C頭文件定義該層所支持的所有API。
應(yīng)用程序總是與應(yīng)用層(APL) 和應(yīng)用支持子層(APS) 接口,APL 模塊提供高級協(xié)議棧管理功能, 用戶應(yīng)用程序使用此模塊來管理協(xié)議棧功能。APS 層主要提供ZigBee 端點接口。應(yīng)用程序?qū)⑹褂迷搶哟蜷_或關(guān)閉一個或多個端點并且獲取或發(fā)送數(shù)據(jù)。它還為鍵值對(KVP) 和報文(MSG) 數(shù)據(jù)傳輸提供了原語。當首次對協(xié)調(diào)器編程時綁定表為空, 主應(yīng)用程序必須調(diào)用正確的綁定API來創(chuàng)建新的綁定項。APS 還有一個間接發(fā)送緩沖器RAM, 用來存儲間接幀, 直到目標接收者請求這些幀為止。MAC_MAX_DATA_REQ_PERIOD 編譯時間選項定義了確切的請求時間。節(jié)點請求數(shù)據(jù)時間越長, 數(shù)據(jù)包需要保存在間接發(fā)送緩沖器里的時間也越長, 數(shù)據(jù)請求時間越長需要的間接緩沖空間越大。
網(wǎng)絡(luò)層(NWK) 負責(zé)建立和維護網(wǎng)絡(luò)連接, 它獨立處理傳入數(shù)據(jù)請求、關(guān)聯(lián)、解除關(guān)聯(lián)和孤立通知請求。ZigBee 設(shè)備對象(ZDO) 負責(zé)接收和處理遠程設(shè)備的不同請求。介質(zhì)訪問控制(MAC)層實現(xiàn)了IEEE 802.15.4 規(guī)范所要求的功能, 并負責(zé)同物理( PHY) 層進行交互。
3.2 網(wǎng)絡(luò)節(jié)點的軟件設(shè)計
網(wǎng)絡(luò)節(jié)點主要負責(zé)采集傳感器數(shù)據(jù)并將這些數(shù)據(jù)傳送給協(xié)調(diào)器( 控制器) , 同時接收來自協(xié)調(diào)器( 控制器) 的數(shù)據(jù)并根據(jù)這些數(shù)據(jù)進行相關(guān)操作。網(wǎng)絡(luò)節(jié)點上電后掃描所有可用信道來找到臨近協(xié)調(diào)器, 申請加入此網(wǎng)絡(luò)。由于采用電池供電方式, 必須要保證終端節(jié)點的低功耗, 設(shè)計中采用定時喚醒的方式連接協(xié)調(diào)器, 接收或發(fā)送數(shù)據(jù)。其它時間則轉(zhuǎn)入休眠模式, 節(jié)點功耗降到最低。網(wǎng)絡(luò)節(jié)點的軟件流程圖如圖5 所示。
圖5 網(wǎng)絡(luò)節(jié)點軟件流程圖
評論