基于單片機的Zigbee傳感器節點的硬件設計
成員節點主要是采集傳感器數據和接受來自協調器的控制數據。當沒有數據收發時進入休眠狀態,節點功耗降到最低,成員節點的軟件設計流程圖如圖2所示。系統初始化后進行硬件和協議初始化,加載成功后進行協議任務,判斷任務后測量傳感器數據并發到協調器,進入休眠狀態后再執行下一個任務,若超過規定次數,網絡建立失敗。

圖2 成員節點的軟件流程
2.3物理層和MAC層的設計
CC2420芯片提供了物理層的數據服務和管理服務,MAC層點到點通信的服務接口通過程序控制CC2420寄存器完成傳感器數據的收發。IEEE802.15.4定義的MAC幀格式:MAC層頭幀;MAC凈載荷;MAC層幀尾。其中,MHR有固定的順序,并不是所有的幀都包含地址域。
2.4網絡層的設計
可以根據實際情況選擇AODV路由或者樹形路由。
ZigBee的網絡層支持多種網絡拓撲結構,針對結點數量的限制選擇星形網絡。在星型網絡中,節點被配置成1個全功能節點和1個或多個簡化功能節點所有的RFD都只能和FFD通信。節點的網絡層協議采用樹形路由算法與AODV路由算法相結合的路由算法,其中樹形路由算法指的是在做路由選擇策略時利用樹形結構址;AODV算法則是對AdHoc按需距離矢量路由算法的改進。本文設計節點組網測試選擇了星形網絡,一個是協調器,另外兩個是光傳感節點,從可視化后臺軟件SNAMP可以看到節點組成的網絡拓撲圖和接收來的數據包,如圖3所示。

圖3節點硬件實物圖與組網測試
3 結論
通過此次設計,實驗證明了節點的體積小、集成度高、功耗低,通過多層次布線不僅減少了信號的干擾,而且加大了傳輸的距離。軟件設計可以通過節點編程實現協調器、路由器和網絡終端的傳輸。硬件中的模塊設計可以根據具體的需要更改不同的傳感模塊,具有更高的靈活性。
評論