摘要:無線傳感網(wǎng)絡(luò)應(yīng)用廣泛,它通過無數(shù)千個(gè)微小的節(jié)點(diǎn)之間互相通信實(shí)現(xiàn)大范圍監(jiān)控的模式。采用IEEE802.15.4/Zigbee低成本、低功耗的技術(shù),實(shí)現(xiàn)多個(gè)節(jié)點(diǎn)間無線通信。首先從節(jié)點(diǎn)機(jī)的硬件設(shè)計(jì)描述硬件各個(gè)部分的模塊設(shè)計(jì),再分析節(jié)點(diǎn)機(jī)的軟件設(shè)計(jì)。闡述傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的基本體系結(jié)構(gòu),重點(diǎn)介紹基于單片機(jī)ATmega128L和CC2420的Zigbee傳感器節(jié)點(diǎn)的硬件設(shè)計(jì),并對硬件進(jìn)行組網(wǎng),并對其測試,測試結(jié)果表明該節(jié)點(diǎn)的體積小,集成度高,功耗低,通過多層次布線不僅減少了信號(hào)的干擾,而且加大了傳輸?shù)木嚯x。
0 引言
無線傳感器網(wǎng)絡(luò)集成了多種技術(shù),包括傳感器技術(shù)、計(jì)算機(jī)技術(shù)和通信技術(shù),在軍事、環(huán)境、健康、家庭、商業(yè)等許多方面有著巨大的潛在應(yīng)用前景,它通過無數(shù)千個(gè)微小的節(jié)點(diǎn)之間互相通信,通過接力的方法實(shí)現(xiàn)大范圍監(jiān)控的模式不僅提高了工作效率,更有利于技術(shù)的監(jiān)控和管理。通信網(wǎng)絡(luò)是通過網(wǎng)絡(luò)協(xié)議,使得節(jié)點(diǎn)之間通過協(xié)議進(jìn)行協(xié)調(diào)和傳送數(shù)據(jù),形成一個(gè)無線傳感器網(wǎng)絡(luò)。這種網(wǎng)絡(luò)的特點(diǎn)是節(jié)點(diǎn)密集度高,能夠自主控制和構(gòu)建,并且自主管理,所以無線傳感器網(wǎng)絡(luò)的應(yīng)用是技術(shù)發(fā)展的趨勢。
ZigBee聯(lián)盟定義了2種物理設(shè)備類型:一種是全功能設(shè)備FFD(fullfunctiondevice);另一種叫精簡功能設(shè)備RFD(reducedfunctiondevice)。網(wǎng)絡(luò)的構(gòu)建需要有協(xié)調(diào)器參與工作(FFD)。整個(gè)網(wǎng)絡(luò)的形成過程:首先進(jìn)行初始化,之后協(xié)調(diào)器開始參與后建立網(wǎng)絡(luò),網(wǎng)絡(luò)建立以后再通過路由器(FFD)和終端設(shè)備(RFD)發(fā)現(xiàn)網(wǎng)絡(luò),最后在建立起的網(wǎng)絡(luò)開始數(shù)據(jù)管理和傳送。
1 節(jié)點(diǎn)硬件設(shè)計(jì)
傳感器節(jié)點(diǎn)是由幾個(gè)不同的模塊組成,這些模塊處理著不同的功能,有傳感器模塊,傳感器模塊是傳感的硬件基礎(chǔ),接著通過處理器模塊,這個(gè)模塊執(zhí)行著重要的功能,數(shù)據(jù)處理后才能進(jìn)行通信,還有無線通信模塊和能量供應(yīng)模塊。傳感器節(jié)點(diǎn)主要的功能是:首先進(jìn)行數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)采集,采集后的數(shù)據(jù)再進(jìn)行處理,經(jīng)過處理后的數(shù)據(jù)再通過節(jié)點(diǎn)轉(zhuǎn)發(fā)進(jìn)行融合,同時(shí)還有其他節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)過來,這樣再對所有節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行管理和融合,數(shù)據(jù)處理后再進(jìn)行存儲(chǔ)。所有傳感器的工作原理和結(jié)構(gòu)大致相同,雖然每一種傳感器設(shè)計(jì)不同,但是基本的架構(gòu)是相同的。傳感器節(jié)點(diǎn)的這種功能等同于兼并傳統(tǒng)網(wǎng)絡(luò)的路由功能,作為網(wǎng)絡(luò)終端傳送和接收數(shù)據(jù),是構(gòu)成5項(xiàng)網(wǎng)絡(luò)的基礎(chǔ),網(wǎng)線網(wǎng)絡(luò)的基本元素是傳感器節(jié)點(diǎn),節(jié)點(diǎn)是構(gòu)成無線傳感網(wǎng)絡(luò)的基本平臺(tái)。
由于傳統(tǒng)的節(jié)點(diǎn)用來采集數(shù)據(jù),不僅節(jié)點(diǎn)個(gè)數(shù)多,而且工作時(shí)間長、效率低等,此次設(shè)計(jì)做了些改進(jìn)。此次采用的硬件設(shè)計(jì)綜合不同硬件的特點(diǎn),處理器是采用AVR單片機(jī)ATmega128L處理器,它的特點(diǎn)是性能高、速度快、功耗較低,比普通的8位機(jī)相比,實(shí)用性高、硬件資源豐富。具有高性能、高速度、低功耗和硬件資源豐富的特點(diǎn)。
CPU主要具有幾種省電模式:IDLE、POWERSAVE、POWERDOWM、STANDYBY。在不同的省電模式下可以高效率工作。時(shí)鐘控制由8MHz的晶振提供,時(shí)鐘頻率可以通過軟件進(jìn)行更改和選擇。其內(nèi)部集成的程序存儲(chǔ)器大小為128KB,還有4KB靜態(tài)RAM,同時(shí)帶有4KB的E2PROM。
1.1通信模塊
CC2420是Chipcon公司開發(fā)的一款低功耗通信芯片。它的特點(diǎn)是延遲時(shí)間短,使得有更多的充足的睡眠時(shí)間,保持這個(gè)狀態(tài)不僅可以提高效率,節(jié)約了能耗,節(jié)點(diǎn)的使用壽命也比較可觀。CC2420與處理器的連接方便,通過4個(gè)管腳表示數(shù)據(jù)的狀態(tài),分別為它使用SFD、FIFO、FIFOP和CCA。接口是采用SPI接口,它與CC2420交換數(shù)據(jù)、發(fā)送命令,復(fù)位時(shí)通過VREG_EN和RESET_N2個(gè)引腳實(shí)現(xiàn)使能和復(fù)位,產(chǎn)生和CC2420匹配的工作電壓,一般大小為1.8V,保證處理器進(jìn)入正常工作狀態(tài)。由于和天線相接的引腳具有高阻抗特點(diǎn),引腳為RF_P和RF_N。高阻抗匹配需要高阻抗天線,一般要求匹配的負(fù)載阻抗為115+j×180。
1.2存儲(chǔ)器部分
此次設(shè)計(jì)采用串行接口的Flash存儲(chǔ)芯片AT45DB041,它的存儲(chǔ)空間為4Mbit,可以方便地和串口相接。由于1個(gè)網(wǎng)絡(luò)傳感節(jié)點(diǎn)具備路由器和主機(jī)2種功能,處理器ATmega128L的片內(nèi)存儲(chǔ)單元不能滿足要求,所以必須進(jìn)行相應(yīng)的擴(kuò)展。每個(gè)節(jié)點(diǎn)必須有獨(dú)立的序列號(hào),此次設(shè)計(jì)選擇DS2410Z序列號(hào)存儲(chǔ)器。它有64位ROM,內(nèi)含是48位唯一的序列碼、8位CRC校驗(yàn)碼和8位家族碼。數(shù)據(jù)采用1-Wire協(xié)議,無需外部供電,僅通過1個(gè)信號(hào)引線和1個(gè)地回路串行傳輸。路由功能采用串行接口的Flash存儲(chǔ)芯片AT45DB041,它擁有4Mbit的存儲(chǔ)空間,可方便地連接在ATmega128L的串口上。
1.3其他模塊
設(shè)計(jì)采用光敏傳感器,電源模塊由2節(jié)1.5V干電池供電。傳感器模塊的選擇相對比較靈活,可以根據(jù)實(shí)際情況選擇不同的傳感器。節(jié)點(diǎn)設(shè)計(jì)處理器處于省電模式,射頻模塊無任務(wù)時(shí)處于睡眠模式,以盡量減少節(jié)點(diǎn)的耗電。
1.4設(shè)計(jì)要點(diǎn)
為了減少外圍信號(hào)的干擾,必須把信號(hào)線、地線分開,分成幾個(gè)層次,并且是采用獨(dú)立的模塊設(shè)計(jì),考慮到設(shè)計(jì)的幾點(diǎn)體積更精簡,更需要減小信號(hào)的干擾,可以用多層板,在高電頻的工作狀態(tài),在該層沒有用做布線的面積均需用銅填充并接到地。
2 節(jié)點(diǎn)機(jī)的軟件設(shè)計(jì)
本文采用的開發(fā)軟件是WinAVR20050214版本的集成開發(fā)環(huán)境和AVRStudio4下載程序。軟件模塊主要包括:CC2420驅(qū)動(dòng)程序、網(wǎng)絡(luò)路由設(shè)計(jì)等。
2.1協(xié)調(diào)器的軟件設(shè)計(jì)
協(xié)調(diào)器的軟件流程圖如圖1所示。系統(tǒng)剛開始初始化,硬件協(xié)議初始化后開始建立網(wǎng)絡(luò),判斷節(jié)點(diǎn)是否接入網(wǎng)絡(luò),接入網(wǎng)絡(luò)成功后運(yùn)行協(xié)議任務(wù),接收節(jié)點(diǎn)數(shù)據(jù)并發(fā)送到PC上。
建立過程中若超過次數(shù)則接收失敗,繼續(xù)下一次接收。
圖1 協(xié)調(diào)器的軟件流程
2.2成員節(jié)點(diǎn)的軟件設(shè)計(jì)
成員節(jié)點(diǎn)主要是采集傳感器數(shù)據(jù)和接受來自協(xié)調(diào)器的控制數(shù)據(jù)。當(dāng)沒有數(shù)據(jù)收發(fā)時(shí)進(jìn)入休眠狀態(tài),節(jié)點(diǎn)功耗降到最低,成員節(jié)點(diǎn)的軟件設(shè)計(jì)流程圖如圖2所示。系統(tǒng)初始化后進(jìn)行硬件和協(xié)議初始化,加載成功后進(jìn)行協(xié)議任務(wù),判斷任務(wù)后測量傳感器數(shù)據(jù)并發(fā)到協(xié)調(diào)器,進(jìn)入休眠狀態(tài)后再執(zhí)行下一個(gè)任務(wù),若超過規(guī)定次數(shù),網(wǎng)絡(luò)建立失敗。
圖2 成員節(jié)點(diǎn)的軟件流程
2.3物理層和MAC層的設(shè)計(jì)
CC2420芯片提供了物理層的數(shù)據(jù)服務(wù)和管理服務(wù),MAC層點(diǎn)到點(diǎn)通信的服務(wù)接口通過程序控制CC2420寄存器完成傳感器數(shù)據(jù)的收發(fā)。IEEE802.15.4定義的MAC幀格式:MAC層頭幀;MAC凈載荷;MAC層幀尾。其中,MHR有固定的順序,并不是所有的幀都包含地址域。
2.4網(wǎng)絡(luò)層的設(shè)計(jì)
可以根據(jù)實(shí)際情況選擇AODV路由或者樹形路由。
Zigbee的網(wǎng)絡(luò)層支持多種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),針對結(jié)點(diǎn)數(shù)量的限制選擇星形網(wǎng)絡(luò)。在星型網(wǎng)絡(luò)中,節(jié)點(diǎn)被配置成1個(gè)全功能節(jié)點(diǎn)和1個(gè)或多個(gè)簡化功能節(jié)點(diǎn)所有的RFD都只能和FFD通信。節(jié)點(diǎn)的網(wǎng)絡(luò)層協(xié)議采用樹形路由算法與AODV路由算法相結(jié)合的路由算法,其中樹形路由算法指的是在做路由選擇策略時(shí)利用樹形結(jié)構(gòu)址;AODV算法則是對AdHoc按需距離矢量路由算法的改進(jìn)。本文設(shè)計(jì)節(jié)點(diǎn)組網(wǎng)測試選擇了星形網(wǎng)絡(luò),一個(gè)是協(xié)調(diào)器,另外兩個(gè)是光傳感節(jié)點(diǎn),從可視化后臺(tái)軟件SNAMP可以看到節(jié)點(diǎn)組成的網(wǎng)絡(luò)拓?fù)鋱D和接收來的數(shù)據(jù)包,如圖3所示。
圖3節(jié)點(diǎn)硬件實(shí)物圖與組網(wǎng)測試
3 結(jié)論
通過此次設(shè)計(jì),實(shí)驗(yàn)證明了節(jié)點(diǎn)的體積小、集成度高、功耗低,通過多層次布線不僅減少了信號(hào)的干擾,而且加大了傳輸?shù)木嚯x。軟件設(shè)計(jì)可以通過節(jié)點(diǎn)編程實(shí)現(xiàn)協(xié)調(diào)器、路由器和網(wǎng)絡(luò)終端的傳輸。硬件中的模塊設(shè)計(jì)可以根據(jù)具體的需要更改不同的傳感模塊,具有更高的靈活性。
無線傳感網(wǎng)絡(luò)是未來發(fā)展的趨勢。