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