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