呂偉
【摘要】 本文首先分析了以ZigBee技術(shù)為核心的無(wú)線傳感器網(wǎng)絡(luò)的相關(guān)技術(shù),然后設(shè)計(jì)并實(shí)現(xiàn)了無(wú)線傳感器網(wǎng)絡(luò)選擇性組網(wǎng)系統(tǒng),最后在選擇性組網(wǎng)和系統(tǒng)性能方面做了相關(guān)測(cè)試,測(cè)試表明本系統(tǒng)可以實(shí)現(xiàn)選擇性組網(wǎng)功能。
【關(guān)鍵詞】 無(wú)線傳感器網(wǎng)絡(luò) ZigBee 選擇性組網(wǎng)
一、背景
無(wú)線傳感器網(wǎng)絡(luò)是目前IT行業(yè)研究的熱門(mén)課題,以無(wú)線傳感器網(wǎng)絡(luò)技術(shù)為核心的物聯(lián)網(wǎng),市場(chǎng)規(guī)模巨大,應(yīng)用環(huán)境多種多樣。在實(shí)際生活中無(wú)線傳感器網(wǎng)絡(luò)的廣泛應(yīng)用,尤其是其在智能家居、環(huán)境監(jiān)測(cè)、智能交通和城市數(shù)字化建設(shè)等領(lǐng)域的實(shí)際的和潛在的應(yīng)用價(jià)值,使得許多科研機(jī)構(gòu)投入了大量的物力和人力,促進(jìn)了這種技術(shù)的快速發(fā)展。采用ZigBee 技術(shù)來(lái)組建無(wú)線傳感器網(wǎng)絡(luò),具有功耗低、自愈能力和自我組織功能,實(shí)時(shí)采集監(jiān)測(cè)所需的各種數(shù)據(jù)信息,為獲取監(jiān)測(cè)對(duì)象信息提供很好的平臺(tái)。當(dāng)無(wú)線傳感器網(wǎng)絡(luò)在同一區(qū)域內(nèi)若存在多個(gè)網(wǎng)絡(luò)時(shí),協(xié)調(diào)器無(wú)法建立有特定標(biāo)志的網(wǎng)絡(luò),終端節(jié)點(diǎn)也無(wú)法有選擇性的加入特定網(wǎng)絡(luò),很可能造成組網(wǎng)混亂,為此有必要研究并設(shè)計(jì)一套有選擇性的組網(wǎng)系統(tǒng),實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)的選擇性組網(wǎng)功能。
二、ZigBee關(guān)鍵技術(shù)分析
2.1 無(wú)線通信技術(shù)分析
目前常用的近距離無(wú)線通信技術(shù)有藍(lán)牙、Wi-Fi、UWB以及 ZigBee等。ZigBee技術(shù)的傳輸數(shù)據(jù)速率通常在20kbps-250kbps之間,傳輸距離通常在10米-100米之間,具有低功耗、低成本、網(wǎng)絡(luò)容量大等優(yōu)點(diǎn),主要用于實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)中通信功能。
(1)ZigBee 技術(shù)簡(jiǎn)介
ZigBee通信頻段和信道分析。IEEE 802.15.4規(guī)定了物理層的868MHz 、915MHz、2.4GHz 3個(gè)頻段,規(guī)定了27個(gè)信道,各頻段都免執(zhí)照使用,三個(gè)頻段的數(shù)據(jù)傳輸速率、信道個(gè)數(shù)、使用區(qū)域和調(diào)制解調(diào)方式各不相同。其中2.4GHz頻段是全球通用頻段,傳輸速率250 kbps,有信道16個(gè),調(diào)制解調(diào)方式采用直接序列擴(kuò)頻和偏移正交相移鍵控,其信道的標(biāo)準(zhǔn)頻率是通過(guò)公式Fc=2045NHz+5(k-11)MHz,(k= 11,12,13 26)進(jìn)行計(jì)算。
ZigBee協(xié)議棧分析。ZigBee 協(xié)議棧分主要分為四層:物理層、媒體訪問(wèn)控制子層、網(wǎng)絡(luò)層和應(yīng)用層。每一層的除了負(fù)責(zé)完成本層協(xié)議的任務(wù),同時(shí)為上一層提供服務(wù)。
(2)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分析
網(wǎng)絡(luò)設(shè)備。在無(wú)線傳感器網(wǎng)絡(luò)中網(wǎng)絡(luò)設(shè)備主要包括:協(xié)調(diào)器、路由器和終端三種設(shè)備。協(xié)調(diào)器主要功能是建立一個(gè)網(wǎng)絡(luò)號(hào)唯一的網(wǎng)絡(luò)。路由器主要功能是對(duì)數(shù)據(jù)和命令進(jìn)行路由的選擇。終端節(jié)點(diǎn)主要功能是接收命令或?qū)⒉杉臄?shù)據(jù)信息上傳,只需要加入已建成的網(wǎng)絡(luò)即可,它本身不具有路由和網(wǎng)絡(luò)維護(hù)功能。
拓?fù)浣Y(jié)構(gòu)。無(wú)線傳感器網(wǎng)絡(luò)中常用的拓?fù)浣Y(jié)構(gòu)有三種:星型網(wǎng)、樹(shù)型網(wǎng)和網(wǎng)狀網(wǎng)。星型網(wǎng)絡(luò)呈現(xiàn)出一個(gè)輻射狀系統(tǒng),協(xié)調(diào)器處于網(wǎng)絡(luò)中心。星型網(wǎng)的優(yōu)點(diǎn)是:結(jié)構(gòu)簡(jiǎn)單,組網(wǎng)方便。樹(shù)型網(wǎng)的拓?fù)鋸?fù)雜度介于網(wǎng)狀網(wǎng)和星型網(wǎng)之間。網(wǎng)狀網(wǎng)實(shí)現(xiàn)了網(wǎng)絡(luò)的自愈、多跳和自組織的功能,但其協(xié)議復(fù)雜,對(duì)硬件要求高。本系統(tǒng)選擇采用星型網(wǎng)絡(luò)拓?fù)鋪?lái)搭建網(wǎng)絡(luò)。
2.2無(wú)線通信芯片選型
目前世界上有很多生產(chǎn)ZigBee無(wú)線芯片的制造公司,通過(guò)對(duì)市場(chǎng)上比較主流的四家公司的芯片在接收靈敏度、最大發(fā)射功率等方面進(jìn)行對(duì)比分析,可以看出CC2530芯片能夠滿足實(shí)驗(yàn)環(huán)境的需要,并且芯片功耗較小,它的這些性能與其他制造公司的芯片相比,具有很大的優(yōu)勢(shì)。因此本系統(tǒng)選擇TI 公司的CC2530芯片。
2.3 CC2530常用功能
電源管理。終端節(jié)點(diǎn)在數(shù)據(jù)發(fā)送和數(shù)據(jù)接收,以及空閑狀態(tài)時(shí)的能耗較高,而在休眠時(shí)的能耗較低。由于數(shù)據(jù)發(fā)送和數(shù)據(jù)接收是不可避免的,所以在空閑時(shí)若終端節(jié)點(diǎn)能進(jìn)入睡眠狀態(tài)就可以很好的降低功耗。
時(shí)鐘管理。CC2530芯片內(nèi)部有一個(gè)主時(shí)鐘源,主時(shí)鐘源既可以采用片內(nèi)的16MHz RC振蕩器,也可采用外部的32MHz晶體振蕩器。由于本系統(tǒng)主要涉及RF收發(fā)功能,而內(nèi)部6MHz RC振蕩器雖然耗電量小,但是不能用于RF收發(fā)功能,所以本系統(tǒng)采用外部32MHz晶體振蕩器作為主時(shí)鐘源。
定時(shí)器。由CC2530使用手冊(cè)可知,它有4個(gè)通用定時(shí)器、1個(gè)睡眠定時(shí)器和1個(gè)看門(mén)狗定時(shí)器。通用定時(shí)器T1/T2/T3/T4。其中T2定時(shí)器被系統(tǒng)使用,用戶(hù)不能使用,可供用戶(hù)的定時(shí)器是T1/T3/T4,定時(shí)器的定時(shí)功能都基于計(jì)數(shù)器建立。
中斷處理。CC2530有18個(gè)中斷源,常用的有Timer1中斷T1、睡眠定時(shí)器(Sleep Timer)中斷ST、看門(mén)狗定時(shí)器(Watchdog Timer)中斷WDT、RF通用中斷RF和串口接收中斷USART0。
存儲(chǔ)器管理。CC2530芯片里有兩種類(lèi)型的物理存儲(chǔ)設(shè)備:SRAM和FLASH,映射為四種不同的存儲(chǔ)空間,CODE存儲(chǔ)空間、DATA存儲(chǔ)空間、 XDATA 存儲(chǔ)空間、SFR存儲(chǔ)空間。本系統(tǒng)使用的CC2530芯片型號(hào)是F256,它共分為8個(gè)bank。
三、選擇性組網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)
在本文中,選擇性組網(wǎng)是指定的節(jié)點(diǎn)只能加入指定的協(xié)調(diào)器網(wǎng)絡(luò)。選擇性通信協(xié)議是指為實(shí)現(xiàn)選擇性組網(wǎng)而定義的一套含有標(biāo)志字段的通信協(xié)議。在選擇性通信協(xié)議中有網(wǎng)絡(luò)標(biāo)志字段,它是網(wǎng)絡(luò)的標(biāo)志屬性,能夠區(qū)別不同類(lèi)型的網(wǎng)絡(luò)類(lèi)別。當(dāng)傳感器節(jié)點(diǎn)在尋找網(wǎng)絡(luò)的時(shí)候,依據(jù)網(wǎng)絡(luò)標(biāo)志段有選擇的加入網(wǎng)絡(luò),從而實(shí)現(xiàn)有選擇性的組網(wǎng)。
3.1 協(xié)調(diào)器建立網(wǎng)絡(luò)
協(xié)調(diào)器建立網(wǎng)絡(luò)過(guò)程是:(1)硬件初始化。(2)協(xié)調(diào)器確定網(wǎng)絡(luò)號(hào)。(3)廣播網(wǎng)絡(luò)標(biāo)志幀。(4)等待終端節(jié)點(diǎn)加入。協(xié)調(diào)器上電初始化設(shè)備后,搜索信道n 秒,若是周?chē)淮嬖诰W(wǎng)絡(luò),則取出本協(xié)調(diào)器的物理地址后四位作為本網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào);若周?chē)嬖诰W(wǎng)絡(luò),且是不同類(lèi)型網(wǎng)絡(luò),則用本協(xié)調(diào)器的物理地址后四位作為本網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào),若是同類(lèi)型的網(wǎng)絡(luò),并且網(wǎng)絡(luò)號(hào)和本協(xié)調(diào)器物理地址后四位不相同時(shí),用本協(xié)調(diào)器的物理地址后四位作為本網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào),若相同,則取最大網(wǎng)絡(luò)號(hào)加1作為本網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào)。協(xié)調(diào)器不間斷的向外廣播網(wǎng)絡(luò)標(biāo)志幀,同時(shí)監(jiān)聽(tīng)是否有終端節(jié)點(diǎn)入網(wǎng)申請(qǐng),若有則判斷幀的標(biāo)志段,若是同類(lèi)型網(wǎng)絡(luò),則允許入網(wǎng),分配網(wǎng)絡(luò)地址,回送確認(rèn)幀,保存節(jié)點(diǎn)信息至上位機(jī),若不是,則不予處理。協(xié)調(diào)器建立網(wǎng)絡(luò)流程如下圖所示。
其中,F(xiàn)CF為幀控制域字段,長(zhǎng)度為2字節(jié)。PANID為網(wǎng)絡(luò)號(hào)字段,長(zhǎng)度為1字節(jié);Broad_addr為廣播地址,長(zhǎng)度為2字節(jié),值為十六進(jìn)制FFFF;Sour_addr為源地址,即協(xié)調(diào)器的網(wǎng)絡(luò)地址,長(zhǎng)度為2字節(jié),值為十六進(jìn)制0000;Flag為標(biāo)志字段,長(zhǎng)度為10字節(jié),是網(wǎng)絡(luò)的特定標(biāo)志。
3.2 協(xié)調(diào)器工作階段
協(xié)調(diào)器在工作階段有三種功能,一是接收網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)據(jù),二是處理新節(jié)點(diǎn)的加入,三是不間斷廣播網(wǎng)絡(luò)標(biāo)志幀。(1)協(xié)調(diào)器接收數(shù)據(jù)。協(xié)調(diào)器收到數(shù)據(jù)幀后,判斷幀中網(wǎng)絡(luò)號(hào)是否與自己網(wǎng)絡(luò)號(hào)相同,若相同,回送數(shù)據(jù)確認(rèn)幀,并取出幀中數(shù)據(jù)字段,及節(jié)點(diǎn)短地址,組織數(shù)據(jù)包,傳送給上位機(jī)。否則,不予處理。(2)協(xié)調(diào)器處理新節(jié)點(diǎn)加入。協(xié)調(diào)器在接收網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)的同時(shí),可能有新的節(jié)點(diǎn)申請(qǐng)加入網(wǎng)絡(luò)。收到節(jié)點(diǎn)入網(wǎng)申請(qǐng)幀后,判斷幀中是否是同類(lèi)型網(wǎng)絡(luò),若是同類(lèi)型網(wǎng)絡(luò),則分配網(wǎng)絡(luò)地址,回送確認(rèn)幀,保存節(jié)點(diǎn)信息至上位機(jī)。若不是,則不予處理。(3)廣播網(wǎng)絡(luò)標(biāo)志幀。協(xié)調(diào)器在接收網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)、處理新節(jié)點(diǎn)加入的同時(shí),還不間斷的廣播網(wǎng)絡(luò)標(biāo)志幀。
3.3 終端節(jié)點(diǎn)加入網(wǎng)絡(luò)
終端節(jié)點(diǎn)加入網(wǎng)絡(luò)過(guò)程是:(1)硬件初始化。(2)搜索信道找出最近同類(lèi)型網(wǎng)絡(luò)。初始化后,在定長(zhǎng)時(shí)間段內(nèi)(搜索信道時(shí)間),終端節(jié)點(diǎn)搜索信道,接收分析數(shù)據(jù)包,判斷是否為同類(lèi)型網(wǎng)絡(luò),若是計(jì)算出網(wǎng)絡(luò)信號(hào)強(qiáng)度,若不是則不予處理,搜索信道時(shí)間結(jié)束,取出網(wǎng)絡(luò)信號(hào)強(qiáng)度最大的網(wǎng)絡(luò)號(hào),設(shè)置為自己的網(wǎng)絡(luò)號(hào),并申請(qǐng)加入。(3)申請(qǐng)加入網(wǎng)絡(luò)。確定了要加入的網(wǎng)絡(luò)后,向該網(wǎng)絡(luò)的協(xié)調(diào)器發(fā)送入網(wǎng)申請(qǐng)。(4)等待確認(rèn)。終端節(jié)點(diǎn)發(fā)出入網(wǎng)申請(qǐng)后,等待協(xié)調(diào)器的響應(yīng)幀,收到響應(yīng)后,則判斷幀中的特定域值是否是自己的MAC地址,若是則取出幀中特定字段值作為本節(jié)點(diǎn)的網(wǎng)絡(luò)短地址;若不是,則重發(fā)入網(wǎng)申請(qǐng),直至入網(wǎng)成功。終端節(jié)點(diǎn)入網(wǎng)流程圖如下圖所示。
3.4 終端節(jié)點(diǎn)工作階段
當(dāng)終端節(jié)點(diǎn)加入網(wǎng)絡(luò)成功后,即進(jìn)入工作階段。當(dāng)終端節(jié)點(diǎn)進(jìn)入工作階段后,首先進(jìn)行數(shù)據(jù)的采集發(fā)送任務(wù),完成后,進(jìn)入低功耗休眠模式,當(dāng)休眠預(yù)設(shè)時(shí)間間隔到時(shí),睡眠定時(shí)器喚醒終端節(jié)點(diǎn),進(jìn)行相應(yīng)的數(shù)據(jù)采集發(fā)送任務(wù),當(dāng)收到協(xié)調(diào)器回應(yīng)的數(shù)據(jù)確認(rèn)幀后,則說(shuō)明此次任務(wù)完成,進(jìn)入到低功耗休眠模式;若收不協(xié)調(diào)器回應(yīng)的數(shù)據(jù)確認(rèn)幀,需繼續(xù)數(shù)據(jù)的采集發(fā)送任務(wù),當(dāng)重發(fā)次數(shù)大于預(yù)設(shè)的閾值時(shí),則節(jié)點(diǎn)重啟系統(tǒng),重新加入網(wǎng)絡(luò);若沒(méi)有大于預(yù)設(shè)閾值時(shí),需重新采集發(fā)送數(shù)據(jù),至到收到協(xié)調(diào)器的數(shù)據(jù)確認(rèn)幀為止。
四、系統(tǒng)測(cè)試分析
為了驗(yàn)證本系統(tǒng)的無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)的標(biāo)志性信息的有效性和系統(tǒng)傳輸性能,對(duì)本網(wǎng)絡(luò)系統(tǒng)進(jìn)行一些性能測(cè)試,主要是對(duì)選擇性組網(wǎng)性能和系統(tǒng)傳輸性能進(jìn)行測(cè)試,其中選擇性組網(wǎng)性能測(cè)試包括同類(lèi)型網(wǎng)絡(luò)組網(wǎng)測(cè)試、不同類(lèi)型網(wǎng)絡(luò)組網(wǎng)測(cè)試、混合類(lèi)型網(wǎng)絡(luò)組網(wǎng)測(cè)試等,測(cè)試表明同一區(qū)域內(nèi)特定節(jié)點(diǎn)可以正確加入特定網(wǎng)絡(luò)。在系統(tǒng)傳輸性能上,主要包括丟包率測(cè)試、入網(wǎng)延遲測(cè)試、節(jié)點(diǎn)能耗測(cè)試、網(wǎng)絡(luò)穩(wěn)定性等測(cè)試,測(cè)試表明,在丟包率、入網(wǎng)延遲、節(jié)點(diǎn)能耗上,本系統(tǒng)的選擇性組網(wǎng)能夠順利實(shí)現(xiàn),但在網(wǎng)絡(luò)穩(wěn)定性上有待改進(jìn)。
五、小結(jié)
通過(guò)研究分析ZigBee協(xié)議棧和無(wú)線傳感器網(wǎng)絡(luò)技術(shù),翻閱參考相應(yīng)的CC2530芯片使用手冊(cè),利用IAR 開(kāi)發(fā)環(huán)境,本文研究設(shè)計(jì)了一種選擇性組網(wǎng)無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)。此系統(tǒng)是基于 ZigBee 技術(shù),選用CC2530 芯片設(shè)計(jì)軟硬件的星型網(wǎng)絡(luò)。在系統(tǒng)運(yùn)行中,終端節(jié)點(diǎn)負(fù)責(zé)定時(shí)采集和發(fā)送數(shù)據(jù),并通過(guò)無(wú)線網(wǎng)絡(luò)把采集的數(shù)據(jù)傳送給協(xié)調(diào)器,協(xié)調(diào)器負(fù)責(zé)把各終端節(jié)點(diǎn)傳送來(lái)的數(shù)據(jù)處理后通過(guò)串口傳送給上位機(jī)。通過(guò)測(cè)試,明本系統(tǒng)能夠?qū)崿F(xiàn)可靠的選擇性網(wǎng),達(dá)到了研究和設(shè)計(jì)的目標(biāo)。
參 考 文 獻(xiàn)
[1]翟雷,劉盛德,胡咸斌.ZigBee技術(shù)及應(yīng)用[M].北京航空航天大學(xué)出版社,2007.
[2]王小強(qiáng),歐陽(yáng)駿,黃寧淋.ZigBee無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[M].化學(xué)工業(yè)出版社,2012.
[3] Texas Instruments. CC253x User Guide[Z]. http://www.ti.com.cn/product/cn/cc2530.