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