基于無線傳感器網(wǎng)絡(luò)的海洋水環(huán)境監(jiān)測系統(tǒng)的設(shè)計
2.2 節(jié)點Zigbee通信模塊CC2420
本系統(tǒng)中無線傳感器網(wǎng)絡(luò)硬件中的Zigbee通信模塊采用低功耗高性能的無線網(wǎng)絡(luò)模塊CC2420來實現(xiàn),它工作在全球通用的2.4GHz頻段。CC2420是一款符合IEEE802.15.4標準的射頻收發(fā)器,性能穩(wěn)定且功耗極低。CC2420的選擇性和靈敏度指數(shù)超過IEEE802.15.4標準的要求,可確保短距離通信的有效性和可靠性,利用此芯片開發(fā)的無線通信設(shè)備支持數(shù)傳速率高達250kb/s,可實現(xiàn)多點對多點的快速組網(wǎng)。 CC2420發(fā)送數(shù)據(jù)時,使用直接正交上變頻?;鶐盘柕耐喾至亢驼环至恐苯颖籇AC轉(zhuǎn)換為模擬信號,通過低頻濾波器,直接變頻到設(shè)定的信道上,再由天線發(fā)射出去。
Zigbee通信模塊CC2420與單片機的連接電路,如圖3所示。本文引用地址:http://m.butianyuan.cn/article/162714.htm
CC2420只需要極少的外圍電路,包括時鐘電路、射頻I/O匹配電路和微控制器接口電路三部分。芯片本振信號既可由外部有源晶體提供,也可以由內(nèi)部電路提供。由內(nèi)部電路提供時需要外加晶體振蕩器和兩個負載電容,電容的大小取決于晶體的頻率及輸入容抗等參數(shù)。例如當采用16MHz晶振時,其電容約為22pF。射頻I/O匹配電路主要用來匹配芯片的輸入/輸出阻抗。CC2420與微處理器的連接非常方便,它使用SFD、FIFO、FIFOP、和CCA四個引腳表示收發(fā)數(shù)據(jù)的狀態(tài);微處理器通過SPI接口與CC2420交換數(shù)據(jù)、發(fā)送命令等。
CC2420收到物理幀的SFD字段后,會在SFD引腳輸出高電平,直到接收完該幀。如果啟動了地址辨識,在地址辨識失敗后,SFD引腳立即轉(zhuǎn)為輸出低電平。FIFO和FIFOP引腳表示接收FIFO的緩存區(qū)狀態(tài),如果接收FIFO緩存區(qū)有數(shù)據(jù),F(xiàn)IFO引腳輸出高電平;當接收FIFO緩存區(qū)為空,F(xiàn)IFO引腳輸出低電平;當FIFO引腳在接收FIFO緩存區(qū)的數(shù)據(jù)超過某個臨界值時,或在CC2420接收到一個完整的幀以后輸出高電平臨界值時,可以通過CC2420的寄存器設(shè)置。CCA引腳在信道上有信號時輸出高電平,它只在接收狀態(tài)下有效,在CC2420進入接收狀態(tài)至少8個符號周期后,才會在CCA引腳上輸出有效的信道狀態(tài)信息。
SPI接口由CSn、SI、SO和SCLK引腳組成,微處理器通過SPI接口訪問CC2420內(nèi)部寄存器和存儲器。在訪問過程中,CC2420是SPI接口的從設(shè)備,接收來自微處理器的時鐘信號和片選信號并在微處理器的控制下執(zhí)行輸入/輸出操作。SPI接口接收或者發(fā)送數(shù)據(jù)時,都與時鐘下降沿對齊,CC2420與MSP430F149是通過SPI連接的,其中MSP430F149處于主模式,CC2420處于從模式。MSP430F149還有4個I/O口與CC2420相連,主要起查詢CC2420狀態(tài)的作用。
電源管理模塊為傳感器單元、處理器單元、無線通信模塊提供能源,并對電源進行管理,以提高能量的利用率。
2.3 系統(tǒng)IEEE802.15.4工作模式
IEEE802.15.4規(guī)范中規(guī)定使用DSSS調(diào)制方式,CC2420中的調(diào)制和擴頻功能框圖如圖4所示。
每個字節(jié)分為兩組符號,4位一組,低位符號首先傳送,對于多字節(jié)域,則是低位字節(jié)首先傳送,但是,與安全有關(guān)的域先傳送高位字節(jié)。每個符號映射為一個超過16位的偽隨機序列,即32位片碼序列。片碼序列以2Mchip/s的速率傳送,對于每個符號,首先傳送低位片碼。
調(diào)制方式為偏移正交相移鍵控,具有半個正弦的形狀,相當于最小頻移鍵控(MFSK)調(diào)制,每片的形狀通過半個正弦波交替在同相和正交相位信道傳送。
2.4 數(shù)據(jù)通信幀格式設(shè)置
同步頭包括前導(dǎo)序列和開始幀分隔符,在CC2420中前導(dǎo)序列長度和開始幀分隔符是能設(shè)置的,默認值4字節(jié)和1字節(jié),是符合IEEE.80 2.15.4協(xié)議的;物理頭位為1字節(jié),幀控制和序列號分別為2字節(jié)和1字節(jié):地址和源地址共6字節(jié),待發(fā)數(shù)據(jù)段長度為幀長度減去地址和幀校驗序列。當MODEMCTRL0.AUTOCRC控制位置位時,這個幀校驗序列自動產(chǎn)生2字節(jié),并由CC2420硬件自動插入。
3 軟件設(shè)計
本設(shè)計中,無線傳感器網(wǎng)絡(luò)是一個多路的自組織無線網(wǎng)絡(luò),可以實現(xiàn)自動組網(wǎng),自動路由查詢,自動數(shù)據(jù)采集與傳輸,軟件設(shè)計上必須能夠?qū)崿F(xiàn)多跳自組織的功能。另外,傳感器節(jié)點必須要求極低的功耗,而低功耗除了硬件設(shè)計上的低功耗外,更重要的是軟件設(shè)計的低功耗。
此無線傳感器網(wǎng)絡(luò)終端在開機后首先進行自檢,如果自檢失敗了,則進行硬件故障提示,而且自動關(guān)機。在自檢通過后,進一步判斷工作模式。傳感器節(jié)點在自檢通過后進入接入狀態(tài),如果接入失敗則進入等待狀態(tài)。處于等待狀態(tài)的節(jié)點關(guān)閉射頻收發(fā)器以節(jié)省功耗,當?shù)却〞r器溢出時,節(jié)點再次回到接入狀態(tài)進行新的介入嘗試。如果節(jié)點接入成功便轉(zhuǎn)入業(yè)務(wù)狀態(tài)。處于業(yè)務(wù)狀態(tài)的節(jié)點,完成數(shù)據(jù)的采集與傳輸,對近節(jié)點數(shù)據(jù)的中繼轉(zhuǎn)發(fā),新節(jié)點入網(wǎng)的介入確認等操作。節(jié)點為了實現(xiàn)低功耗,必須在業(yè)務(wù)狀態(tài)(活動狀態(tài))與休眠狀態(tài)之間輪換。
軟件開發(fā)以IAR Embedded Workbench V2.10為平臺,采用C語言編寫。節(jié)點的MSP430系列單片機支持C語言程序設(shè)計。適用于MSP430系列的C語言與標準C語言兼容程度高,大大提高了軟件開發(fā)的工作效率,增強了程序代碼的可靠性、可讀性和可移植性。軟件編程的基本思想是:先對SPI、CC2420控制端口初始化,使能SPI、UART端口,使能ADC,開機后,就可以運行任務(wù)程序,實現(xiàn)接收或發(fā)送數(shù)據(jù)及命令了。
傳感器節(jié)點、匯聚節(jié)點的工作流程如圖5所示。
評論