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