基于CC2430的ZigBee無線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
ZigBee這個(gè)名字來源于蜂群的通信方式,蜜蜂之間通過跳Zigzag形狀的舞蹈來交互消息,以便共享食物源的方向、位置和距離等信息。ZigBee是-種新興的短距離、低速率無線網(wǎng)絡(luò)技術(shù),主要用于近距離無線連接。它有自己的無線電標(biāo)準(zhǔn),在數(shù)千個(gè)微小的傳感器之間相互協(xié)調(diào)實(shí)現(xiàn)通信。這些傳感器只需要很少的能量,以接力的方式通過無線電波將信息從一個(gè)傳感器傳到另一個(gè)傳感器,因此有著非常高的通信效率。
1 ZigBee無線傳感器網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)
1.1 ZigBee的技術(shù)特點(diǎn)
ZigBee的技術(shù)特點(diǎn)如下:
(1) 設(shè)備工作周期很短并且ZigBee采用了多種節(jié)能模式,其功耗極低,2節(jié)五號(hào)電池可以支持長(zhǎng)達(dá)6個(gè)月到2年的使用時(shí)間。
(2) ZigBee協(xié)議免專利費(fèi),簡(jiǎn)單協(xié)議、低數(shù)據(jù)傳輸速率和小的存儲(chǔ)空間大大降低了ZigBee的成本。另外,ZigBee的工作頻段均為免執(zhí)照頻段。
(3) 接入網(wǎng)絡(luò)快,時(shí)延短,設(shè)備搜索時(shí)延典型值為30ms,設(shè)備接入時(shí)延為15ms,休眠啟動(dòng)時(shí)延為15ms,接入網(wǎng)絡(luò)和傳送數(shù)據(jù)時(shí)延短,適合監(jiān)控應(yīng)用。
(4) ZigBee加密算法采用AES-128,同時(shí)提供了數(shù)據(jù)完整性檢査和鑒權(quán)功能,可以靈活確定各個(gè)應(yīng)用的安全屬性。
(5) ZigBee網(wǎng)絡(luò)的形成和自動(dòng)修復(fù)無需人工干預(yù),設(shè)備節(jié)點(diǎn)可以通過信息交互知道其他設(shè)備節(jié)點(diǎn)的存在,確定相互之間的關(guān)系。
1.2 ZigBee的無線傳輸優(yōu)勢(shì)
1.2.1 Wi-Fi
Wi-Fi(WirelessFidelity)是目前WLAN的主要技術(shù)標(biāo)準(zhǔn),可實(shí)現(xiàn)幾Mbps到幾十Mbps的無線局域網(wǎng)接入。Wi-Fi依賴TCP/IP作為網(wǎng)絡(luò)層,規(guī)定了協(xié)議的物理層和媒體接入控制層,便攜性良好但卻耗能高,大多Wi-Fi裝置都需要較高的電能儲(chǔ)備和常規(guī)充電,限制了其在工業(yè)場(chǎng)合的推廣和應(yīng)用。
1.2.2 藍(lán)牙
藍(lán)牙是以IEEE802.15.1為基礎(chǔ),工作頻率為2.4GHz,傳輸距離較短,有效范圍一般在10m之內(nèi),信道帶寬為1MHz,異步非對(duì)稱連接最高數(shù)據(jù)速率為723.2Kb/s。系統(tǒng)的抗干擾能力不強(qiáng),成本和集成復(fù)雜性高。
1.2.3 紅外線數(shù)據(jù)通信
IrDA是一種利用紅外線進(jìn)行點(diǎn)對(duì)點(diǎn)通信的技術(shù),IrDA標(biāo)準(zhǔn)的無線設(shè)備傳輸速率已發(fā)展到4Mb/s,16Mb/s。目前,其軟硬件技術(shù)成熟,已經(jīng)廣泛應(yīng)用在小型移動(dòng)設(shè)備上(如PDA、手機(jī))。但問題在于IrDA只能在2臺(tái)設(shè)備之間連接,連接設(shè)備必須對(duì)準(zhǔn)且中間不能有障礙物遮擋,一般不應(yīng)用于工業(yè)網(wǎng)絡(luò)。
通過對(duì)以上無線傳輸技術(shù)的比較,可以看出:ZigBee技術(shù)適合用于幾點(diǎn)數(shù)密集、對(duì)能量要求低的網(wǎng)絡(luò);可以在其有效物理范圍100m內(nèi)實(shí)現(xiàn)通信,目前一些產(chǎn)品的加強(qiáng)型,可以將有效范圍擴(kuò)大至1km以上;工作射頻2.4GHz的工業(yè)頻段,免除申請(qǐng)的麻煩;2.4GHz時(shí)傳輸速率為250Kb/s,對(duì)于工業(yè)中傳輸量低的場(chǎng)合,滿足其應(yīng)用要求。
1.3 ZigBee網(wǎng)絡(luò)協(xié)議棧
隨著通信技術(shù)的迅速發(fā)展,人們提出了在自身附近幾米范圍內(nèi)通信的要求,因此就出現(xiàn)了個(gè)人區(qū)域網(wǎng)絡(luò)和無線個(gè)人區(qū)域網(wǎng)絡(luò)的概念。IEEE802.15.4是IEEE針對(duì)低速率無線個(gè)人區(qū)域(LR-WPAN)指定的無線通信標(biāo)準(zhǔn),該標(biāo)準(zhǔn)把低能量消耗、低速率傳輸、低成本作為重點(diǎn)目標(biāo)。在IEEE802.15.4中定義了13個(gè)物理層服務(wù)原語和35個(gè)MAC層服務(wù)原語。
ZigBee技術(shù)具有統(tǒng)一的技術(shù)標(biāo)準(zhǔn),主要由IEEE802.15,4I作組與ZigBee聯(lián)盟分別制定。IEEE802.15.4工作組制定了這項(xiàng)技術(shù)的核心,物理層(PHY)和媒體接入控制(MAC)層;ZigBee聯(lián)盟在IEEE802.15.4的基礎(chǔ)上定義了網(wǎng)絡(luò)層(NWK)和應(yīng)用層(APL)和安全服務(wù)規(guī)范。
ZigBee可由多達(dá)65000個(gè)無線數(shù)傳模塊組成的一個(gè)無線數(shù)傳網(wǎng)絡(luò)平臺(tái),在整個(gè)網(wǎng)絡(luò)范圍內(nèi),每個(gè)ZigBee網(wǎng)絡(luò)數(shù)傳模塊之間可以相互通信,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間的距離可以從標(biāo)準(zhǔn)的75m到幾百米甚至幾千米。ZigBee協(xié)議棧結(jié)構(gòu)如圖1所示。
PHY層主要負(fù)責(zé)數(shù)據(jù)的調(diào)制與解調(diào)、發(fā)送和接收,向下直接操作物理傳輸介質(zhì)(無線射頻),向上為MAC層提供服務(wù)。MAC層負(fù)責(zé)為一個(gè)節(jié)點(diǎn)和它的直接鄰居之間提供可靠的通信鏈路,提供沖突避免以提高通信效率,負(fù)責(zé)組裝和分解MAC層幀。NWK層決定設(shè)備連接和斷開網(wǎng)絡(luò)時(shí)所采用的機(jī)制;執(zhí)行設(shè)備間的路由發(fā)現(xiàn)和路由維護(hù);完成一跳(one-hop)范圍內(nèi)的鄰居設(shè)備的發(fā)現(xiàn)和相關(guān)信息的存儲(chǔ);創(chuàng)建新網(wǎng)絡(luò);為新入網(wǎng)設(shè)備分配網(wǎng)絡(luò)地址等。
圖1 ZigBee協(xié)議棧結(jié)構(gòu)
2 ZigBee無線傳感器網(wǎng)絡(luò)設(shè)計(jì)
2.1 硬件部分(主控CC2430片上系統(tǒng)(SoC))
早期的ZigBee硬件都是微控制器(MCU)和IEEE802.15.4射頻芯片分離的。隨著計(jì)算機(jī)硬件技術(shù)的不斷發(fā)展,出現(xiàn)了系統(tǒng)級(jí)芯片(SoC)和系統(tǒng)級(jí)封裝(SiP),即把多個(gè)硬件模塊集成到一個(gè)單芯片中去。目前,ZigBee硬件也發(fā)展到了這個(gè)階段,在一個(gè)芯片內(nèi)部集成了MCU和射頻芯片。這樣不但降低了ZigBee開發(fā)者對(duì)硬件射頻電路的要求,加速了ZigBee系統(tǒng)的開發(fā),同時(shí)也對(duì)ZigBee系統(tǒng)的穩(wěn)定性、可靠性、芯片體積等方面帶來了積極影響。
CC2430是TI的第二代ZigBee平臺(tái)和真正的SoC解決方案。它兼容IEEE802.15.4標(biāo)準(zhǔn),在單個(gè)芯片上整合了ZigBee射頻(RF)前端、內(nèi)存和微控制器。它使用1個(gè)8位MCU(8051),具有128KB可編程閃存和8KBRAM,還包含模擬數(shù)字轉(zhuǎn)換器(ADC)、幾個(gè)定時(shí)器(Timer)、AES128協(xié)同處理器、看門狗定時(shí)器(Watchdogtimer).32kHz晶振的休眠模式定時(shí)器、上電復(fù)位電路(PowerOnResel)、掉電檢測(cè)電路(Brownoutdetection),以及21個(gè)可編程I/O引腳。CC2430芯片采用0.18gmCMOS工藝生產(chǎn);在接收和發(fā)射模式下,電流損耗分別低于27mA和25mA。CC2430的休眠模式和轉(zhuǎn)換到主動(dòng)模式的超短時(shí)問的特性,特別適合那些要求電池壽命非常長(zhǎng)的應(yīng)用,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)框架框圖如圖2所示。
2.2 軟件部分(ZigBee組網(wǎng)設(shè)計(jì))
ZigBee定義了三種設(shè)備:協(xié)調(diào)器、路由器、終端設(shè)備。規(guī)定了一個(gè)ZigBee網(wǎng)絡(luò)中只能有一個(gè)協(xié)調(diào)器,若干路由器和終端設(shè)備。協(xié)調(diào)器的主要功能是啟動(dòng)網(wǎng)絡(luò)的建立,包括選擇一個(gè)信道,確定惟一的PAN地址并廣播建立網(wǎng)絡(luò)信息。路由器主要功能是在多跳網(wǎng)絡(luò)中作為中繼節(jié)點(diǎn)協(xié)助數(shù)據(jù)向上一級(jí)路由器傳遞,給子節(jié)點(diǎn)分配地址,終端設(shè)備主要功能是采集數(shù)據(jù)并向上級(jí)路由器發(fā)送。協(xié)調(diào)器通過NIME-NETWORK.FORMATION,request原語來啟動(dòng)一個(gè)新網(wǎng)絡(luò)。
ZigBee主節(jié)點(diǎn)工作流程如圖3所示。
首先,ZigBee網(wǎng)絡(luò)中主節(jié)點(diǎn)MCU發(fā)起信道掃描,經(jīng)通道能量掃描檢測(cè)APL選擇可用通道并建立WAN,創(chuàng)建一個(gè)從機(jī)相關(guān)信息的注冊(cè)表。注冊(cè)表內(nèi)容有從機(jī)的ID號(hào)、連接狀態(tài)、是否喚醒等信息。主控節(jié)點(diǎn)接入后,先對(duì)注冊(cè)表進(jìn)行檢查,若發(fā)現(xiàn)網(wǎng)絡(luò)中有未分配的ID,則主機(jī)發(fā)搜索命令,如果有從機(jī)回應(yīng),則為其分配此ID號(hào),然后由主機(jī)切換到工作信道,等待從機(jī)發(fā)回應(yīng)答包,若ID號(hào)匹配,則分配成功,主機(jī)更新注冊(cè)信息列表。主機(jī)分別對(duì)注冊(cè)信息列表中的有效ID發(fā)送數(shù)據(jù)請(qǐng)求,以獲取傳感器(如溫度、濕度、煙霧含量)相關(guān)數(shù)據(jù)信息。若某ID在最大允許通信時(shí)間內(nèi)沒有發(fā)送應(yīng)答信息,主機(jī)將再次更新該ID的注冊(cè)信息列表,如果確認(rèn)與從機(jī)失去聯(lián)系,則將該1D號(hào)予以注銷。從機(jī)節(jié)點(diǎn)上電后首先監(jiān)聽默認(rèn)信道,如果收到主機(jī)發(fā)送的搜索命令,則回應(yīng)主機(jī),并附上自己的隨機(jī)碼。在收到主機(jī)的注冊(cè)命令后,先對(duì)比隨機(jī)碼,進(jìn)行匹配時(shí)則切換到工作信道,并使用注冊(cè)命令中分配的ID號(hào)發(fā)送應(yīng)答包,以完成注冊(cè)。隨后傳感器采集相關(guān)數(shù)據(jù),等待主機(jī)呼叫傳感器的命令,數(shù)據(jù)發(fā)送完成后進(jìn)入休眠,一定時(shí)間后喚醒再次進(jìn)行數(shù)據(jù)釆集,如此循環(huán),中間釆集到的數(shù)據(jù)量可以通過液晶等方式進(jìn)行直觀的顯示,并可以設(shè)定刷新時(shí)間頻率,達(dá)到一定精確及時(shí)的控制。直到主節(jié)點(diǎn)發(fā)出完成命令,整個(gè)過程完成。
3結(jié)語
主要介紹由CC2430片上系統(tǒng)為主控的ZigBee無線傳感器網(wǎng)絡(luò)設(shè)計(jì),以及主節(jié)點(diǎn)組網(wǎng)軟件設(shè)計(jì)流程,實(shí)驗(yàn)測(cè)試中驗(yàn)證了ZigBee無線網(wǎng)絡(luò)具備的低功耗,易擴(kuò)展,較穩(wěn)定等優(yōu)點(diǎn),可靠實(shí)現(xiàn)了數(shù)據(jù)的傳輸,有效通信距離達(dá)到100m。