引言
ZigBee聯(lián)盟定義了2種物理設(shè)備類型:一種是全功能設(shè)備FFD(fullfunctiondevice);另一種叫精簡功能設(shè)備RFD(reducedfunctiondevice),。網(wǎng)絡的構(gòu)建需要有協(xié)調(diào)器參與工作(FFD)。整個網(wǎng)絡的形成過程:首先進行初始化,,之后協(xié)調(diào)器開始參與后建立網(wǎng)絡,,網(wǎng)絡建立以后再通過路由器(FFD)和終端設(shè)備(RFD)發(fā)現(xiàn)網(wǎng)絡,最后在建立起的網(wǎng)絡開始數(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)絡的路由功能,作為網(wǎng)絡終端傳送和接收數(shù)據(jù),,是構(gòu)成5項網(wǎng)絡的基礎(chǔ),,網(wǎng)線網(wǎng)絡的基本元素是傳感器節(jié)點,,節(jié)點是構(gòu)成無線傳感網(wǎng)絡的基本平臺,。
由于傳統(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)絡傳感節(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)絡路由設(shè)計等。
2.1協(xié)調(diào)器的軟件設(shè)計
協(xié)調(diào)器的軟件流程圖如圖1所示,。系統(tǒng)剛開始初始化,,硬件協(xié)議初始化后開始建立網(wǎng)絡,判斷節(jié)點是否接入網(wǎng)絡,,接入網(wǎng)絡成功后運行協(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)絡建立失敗,。

圖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)絡層的設(shè)計
可以根據(jù)實際情況選擇AODV路由或者樹形路由,。
ZigBee的網(wǎng)絡層支持多種網(wǎng)絡拓撲結(jié)構(gòu),針對結(jié)點數(shù)量的限制選擇星形網(wǎng)絡,。在星型網(wǎng)絡中,,節(jié)點被配置成1個全功能節(jié)點和1個或多個簡化功能節(jié)點所有的RFD都只能和FFD通信。節(jié)點的網(wǎng)絡層協(xié)議采用樹形路由算法與AODV路由算法相結(jié)合的路由算法,,其中樹形路由算法指的是在做路由選擇策略時利用樹形結(jié)構(gòu)址;AODV算法則是對AdHoc按需距離矢量路由算法的改進,。本文設(shè)計節(jié)點組網(wǎng)測試選擇了星形網(wǎng)絡,,一個是協(xié)調(diào)器,另外兩個是光傳感節(jié)點,,從可視化后臺軟件SNAMP可以看到節(jié)點組成的網(wǎng)絡拓撲圖和接收來的數(shù)據(jù)包,,如圖3所示。

圖3節(jié)點硬件實物圖與組網(wǎng)測試
3 結(jié)論
通過此次設(shè)計,,實驗證明了節(jié)點的體積小,、集成度高、功耗低,,通過多層次布線不僅減少了信號的干擾,,而且加大了傳輸?shù)木嚯x。軟件設(shè)計可以通過節(jié)點編程實現(xiàn)協(xié)調(diào)器,、路由器和網(wǎng)絡終端的傳輸,。硬件中的模塊設(shè)計可以根據(jù)具體的需要更改不同的傳感模塊,具有更高的靈活性,。