基于ZigBee協議的無線傳感器網絡設計
數據采集電路[4]:
節點的數據采集部分可根據實際需要選定合適的傳感器,如振動、聲響、溫度、光線等,因為整個模塊由電池供電,這就要求傳感器體積小、低功耗、外圍電路簡單,最好采用不需要信號調理電路的數字式傳感器。本設計采用AD公司的兩維數字加速度計ADXL202和Maxim公司的一線式數字溫度計DS18B20是很好的選擇。
3 底層軟件和協議棧層軟件設計
3.1 底層軟件設計
底層軟件[6]設計:
數據采集部分程序:
ADC12Init:初始化CPU的AD采集通道數,采集時間,位數,等基本信息,并開定時器中斷;
ADC12_ISR: 中斷子程序,定時器中斷到時后將AD緩存中的數字量存儲到堆棧數組中去,等待發送。
MCU操作CC2420中的寄存器的時序參見[4]。SPI操作設置CC2420程序設計分為基本的異步串行口發送接收程序,設置控制狀態寄存器的函數;讀取、更新射頻芯片狀態寄存器。具體的API函數可以參考文中表一的設計。
表一 射頻控制API函數本文引用地址:http://www.104case.com/article/157895.htm
3.2 通信協議程序設計
IEEE802.15.4/ZigBee傳輸的幀格式及其作用:
在IEEE802. 15. 4標準中,定義了一套新的安全協議和數據傳輸協議,本方案中,采用的無線模塊根據IEEE802. 15.
4標準,定義了一套幀格式來傳輸各種數據。如圖所示是本論文設計中的符合標準的在物理層和數據鏈路層中各種幀的一般格式。
命令幀主要功能是在全功能設備和對精簡功能設備在網絡中的行為和狀態進行控制和監視;數據型數據幀結構的作用是把指定的數據傳送到網絡中指定節點上的外部設備中,具體的接收目標也由這兩種幀結構中的“目標地址”給定。返回幀是返回型數據幀結構的作用是無線模塊將發送數據接收情況反饋給自身的幀。
圖6: 符合IEEE 802.15.4/ZigBee通信協議幀
程序中定義發送數據結構體和接收數據結構體包括下列信息:發送幀序列號、發送設備源地址、PAN網絡的地址、幀長度、接收數據指針等信息。
評論