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