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