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