基于單片機的Zigbee傳感器節(jié)點的硬件設(shè)計
摘要:無線傳感網(wǎng)絡(luò)應(yīng)用廣泛,它通過無數(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。
引言
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ù)處理后才能進行通信,還有無線通信模塊和能量供應(yīng)模塊。傳感器節(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ā)送命令,復(fù)位時通過VREG_EN和RESET_N2個引腳實現(xiàn)使能和復(fù)位,產(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)存儲單元不能滿足要求,所以必須進行相應(yīng)的擴展。每個節(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è)計處理器處于省電模式,射頻模塊無任務(wù)時處于睡眠模式,以盡量減少節(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é)議任務(wù),接收節(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é)議任務(wù),判斷任務(wù)后測量傳感器數(shù)據(jù)并發(fā)到協(xié)調(diào)器,進入休眠狀態(tài)后再執(zhí)行下一個任務(wù),若超過規(guī)定次數(shù),網(wǎng)絡(luò)建立失敗。
圖2 成員節(jié)點的軟件流程
2.3物理層和MAC層的設(shè)計
CC2420芯片提供了物理層的數(shù)據(jù)服務(wù)和管理服務(wù),MAC層點到點通信的服務(wù)接口通過程序控制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ù)具體的需要更改不同的傳感模塊,具有更高的靈活性。