版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用:ZigBee版項(xiàng)目1初識(shí)ZigBee無線傳感器網(wǎng)絡(luò)課程標(biāo)準(zhǔn)PPT電子課件參考程序代碼教學(xué)視頻資料教材習(xí)題參考答案項(xiàng)目目標(biāo)知識(shí)目標(biāo)技能目標(biāo)素質(zhì)目標(biāo)(1)理解ZigBee無線傳感器網(wǎng)絡(luò)的定義。(2)掌握ZigBee無線傳感器網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)。(3)了解ZigBee無線傳感器網(wǎng)絡(luò)的特點(diǎn)及應(yīng)用。(4)掌握ZigBee無線傳感器網(wǎng)絡(luò)協(xié)議棧的選型方法。(1)熟悉BasicRF項(xiàng)目的工作機(jī)制。(2)熟悉CC2530建立點(diǎn)對(duì)點(diǎn)無線通信的方法。通過導(dǎo)入案例“智慧中國(guó)、科學(xué)抗疫”,弘揚(yáng)大國(guó)自信、樹立科技興國(guó)意識(shí)。
思維導(dǎo)圖1.1Zigbee無線傳感網(wǎng)絡(luò)概述1.1.1Zigbee無線傳感器網(wǎng)絡(luò)定義典型技術(shù)標(biāo)準(zhǔn)有Wi-Fi(wirelessfidelity)、藍(lán)牙(Bluetooth)、ZigBee、Z-Wave、2G/3G/4G/5G
和NB-loT、eMTC、LoRa、Sigfox
等低功耗廣域網(wǎng)(lowpowerwideareanetwork,LPWAN)技術(shù)標(biāo)準(zhǔn)。不同的技術(shù)標(biāo)準(zhǔn)對(duì)應(yīng)不同的應(yīng)用領(lǐng)域。其中,Z-Wave、ZigBee、藍(lán)牙和Wi-Fi
主要用于短距離無線通信,而2G/3G/4G/5G無線蜂窩通信和各種LPWAN
技術(shù)主要用于長(zhǎng)距離無線通信。1.1Zigbee無線傳感網(wǎng)絡(luò)概述1.1.1Zigbee無線傳感器網(wǎng)絡(luò)定義1.1Zigbee無線傳感網(wǎng)絡(luò)概述1.1.1Zigbee無線傳感器網(wǎng)絡(luò)定義目前廣泛應(yīng)用和推廣的是ZigBee協(xié)議體系。它主要用于自動(dòng)控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入各種設(shè)備。德州儀器公司已經(jīng)推出了完全兼容該協(xié)議的片上系統(tǒng)(systemonchip,SoC)CCxxxx,同時(shí)也開發(fā)了相關(guān)的軟件協(xié)議棧Z-Stack。開發(fā)者可以利用上述硬件和軟件資源,搭建自己的無線傳感器網(wǎng)絡(luò)。1.1Zigbee無線傳感網(wǎng)絡(luò)概述1.1.1Zigbee無線傳感器網(wǎng)絡(luò)定義這些信息通過無線方式被發(fā)送,并以多跳自組網(wǎng)方式傳送到用戶終端,從而實(shí)現(xiàn)物理世界、信息世界和現(xiàn)實(shí)世界的聯(lián)通。與傳統(tǒng)的互聯(lián)網(wǎng)不同,ZigBee無線傳感器網(wǎng)絡(luò)實(shí)現(xiàn)了信息采集、信息處理和信息傳輸?shù)裙δ?,改變了人與物理世界交互的方式。1.1Zigbee無線傳感網(wǎng)絡(luò)概述1.1.1Zigbee無線傳感器網(wǎng)絡(luò)定義1.1Zigbee無線傳感網(wǎng)絡(luò)概述1.1.1Zigbee無線傳感器網(wǎng)絡(luò)定義目前,國(guó)內(nèi)外可提供ZigBee解決方案的公司有美國(guó)德州儀器(TexasInstruments,TI)、荷蘭恩智浦半導(dǎo)體(NXPSemiconductors,NXP)、美國(guó)芯科實(shí)驗(yàn)室(SiliconLabs)等。1.1Zigbee無線傳感網(wǎng)絡(luò)概述1.1.1Zigbee無線傳感器網(wǎng)絡(luò)定義表1.1列出了目前國(guó)內(nèi)外幾大ZigBee芯片廠商的代表產(chǎn)品信息及協(xié)議棧名稱。1.1Zigbee無線傳感網(wǎng)絡(luò)概述1.1.2Zigbee無線傳感器網(wǎng)絡(luò)的特點(diǎn)與其他無線通信協(xié)議相比,ZigBee無線傳感器網(wǎng)絡(luò)具有協(xié)議復(fù)雜度低、資源要求少等特點(diǎn),具體如下:
1.低功耗
2.低成本
3.時(shí)延短
4.?dāng)?shù)據(jù)傳輸速率低
5.網(wǎng)絡(luò)容量大
6.有效范圍小
7.工作頻段靈活
8.兼容性好
9.安全性高
10.協(xié)議套件緊湊而簡(jiǎn)單1.1Zigbee無線傳感網(wǎng)絡(luò)概述1.1.2Zigbee無線傳感器網(wǎng)絡(luò)的特點(diǎn)1.2Zigbee無線傳感網(wǎng)絡(luò)構(gòu)架1.2.1Zigbee無線傳感器網(wǎng)絡(luò)的組成
ZigBee無線傳感器網(wǎng)絡(luò)是由PC、網(wǎng)關(guān)、路由傳感節(jié)點(diǎn)和傳感器節(jié)點(diǎn)部分四部分組成。1.2Zigbee無線傳感網(wǎng)絡(luò)構(gòu)架1.2.1Zigbee無線傳感器網(wǎng)絡(luò)的組成1.PCPC(數(shù)據(jù)管理中心)直接面向用戶,負(fù)責(zé)從網(wǎng)絡(luò)中獲取所需要的信息,同時(shí)也可以對(duì)網(wǎng)絡(luò)做出各種各樣的指示、應(yīng)用操作等。2.網(wǎng)關(guān)網(wǎng)關(guān)被用于連接傳感器網(wǎng)絡(luò)、互聯(lián)網(wǎng)等外部網(wǎng)絡(luò),各方面能力相對(duì)于傳感器節(jié)點(diǎn)來說較強(qiáng),可實(shí)現(xiàn)多種通信協(xié)議之間的轉(zhuǎn)換;網(wǎng)關(guān)還可用于發(fā)布管理節(jié)點(diǎn)的監(jiān)測(cè)任務(wù),并把收集的數(shù)據(jù)轉(zhuǎn)發(fā)到外部網(wǎng)絡(luò)。網(wǎng)關(guān)可以是一個(gè)具有增強(qiáng)功能的傳感器節(jié)點(diǎn)(如協(xié)調(diào)器),有足夠的能量和更多的內(nèi)存與計(jì)算機(jī)資源;也可以是沒有監(jiān)測(cè)功能,僅帶有無線通信接口的特殊網(wǎng)關(guān)設(shè)備。3.路由傳感節(jié)點(diǎn)路由傳感節(jié)點(diǎn)主要實(shí)現(xiàn)路徑選擇和數(shù)據(jù)轉(zhuǎn)發(fā)功能。1.2Zigbee無線傳感網(wǎng)絡(luò)構(gòu)架1.2.1Zigbee無線傳感器網(wǎng)絡(luò)的組成4.傳感器節(jié)點(diǎn)傳感器節(jié)點(diǎn)負(fù)責(zé)監(jiān)測(cè)區(qū)域內(nèi)數(shù)據(jù)的采集和處理。一般的傳感器節(jié)點(diǎn)主要由能量供應(yīng)模塊、傳感器模塊、處理器模塊、無線通信模塊和嵌入式軟件系統(tǒng)五部分組成。(1)傳感器節(jié)點(diǎn)的組成1.2Zigbee無線傳感網(wǎng)絡(luò)構(gòu)架1.2.1Zigbee無線傳感器網(wǎng)絡(luò)的組成
4.傳感器節(jié)點(diǎn)(2)傳感器節(jié)點(diǎn)的設(shè)計(jì)①睡眠狀態(tài):傳感器模塊關(guān)閉,通信模塊關(guān)閉,能量消耗最低。②感知狀態(tài):傳感器模塊開啟,通信模塊關(guān)閉,節(jié)點(diǎn)感知事件發(fā)生。③偵聽狀態(tài):傳感器模塊開啟,通信模塊空閑。④接收狀態(tài):傳感器模塊開啟,通信模塊接收。⑤發(fā)送狀態(tài):傳感器模塊開啟,通信模塊發(fā)送。⑥長(zhǎng)期睡眠狀態(tài):表示該節(jié)點(diǎn)能量處于閥值,不響應(yīng)任何事件。1.2Zigbee無線傳感網(wǎng)絡(luò)構(gòu)架1.2.1Zigbee無線傳感器網(wǎng)絡(luò)的組成4.傳感器節(jié)點(diǎn)(3)傳感器節(jié)點(diǎn)設(shè)計(jì)時(shí)約束條件①電源能量有限。②通信能力有限。③計(jì)算和存儲(chǔ)能力有限。1.2Zigbee無線傳感網(wǎng)絡(luò)構(gòu)架1.2.2Zigbee無線傳感器網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)
ZigBee無線傳感器網(wǎng)絡(luò)根據(jù)不同的情況可以由一個(gè)網(wǎng)關(guān)、一個(gè)或多個(gè)路由器、一個(gè)或多個(gè)傳感器節(jié)點(diǎn)組成。1.2Zigbee無線傳感網(wǎng)絡(luò)構(gòu)架1.2.2Zigbee無線傳感器網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)系統(tǒng)大小只受PC軟件觀測(cè)數(shù)量、路由深度和網(wǎng)絡(luò)最大負(fù)載量限制。ZigBee無線傳感器網(wǎng)絡(luò)在沒有進(jìn)行網(wǎng)絡(luò)拓?fù)湫薷闹爸С?級(jí)路由、31101個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。1.2Zigbee無線傳感網(wǎng)絡(luò)構(gòu)架1.2.3Zigbee無線傳感器網(wǎng)絡(luò)的工作流程ZigBee無線傳感器網(wǎng)絡(luò)基于ZigBee協(xié)議棧的無線網(wǎng)絡(luò),在網(wǎng)絡(luò)設(shè)備安裝、架設(shè)過程中自動(dòng)完成。完成網(wǎng)絡(luò)的架設(shè)后用戶便可以由PC、ARM終端,平板計(jì)算機(jī)或者手持設(shè)備發(fā)出命令讀取網(wǎng)絡(luò)中任何設(shè)備上掛接的傳感器的數(shù)據(jù),并測(cè)試其電壓。1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.1概述ZigBee以IEEE802.15.4協(xié)議為基礎(chǔ),使用全球免費(fèi)頻段進(jìn)行通信。傳輸速率分別為250kbit/s、20kbbit/s和40kbit/s。IEEE802.15.4工作組主要負(fù)責(zé)制定PHY層和MAC層的協(xié)議,其余協(xié)議主要參照和采用現(xiàn)有的標(biāo)準(zhǔn),高層應(yīng)用、測(cè)試和市場(chǎng)推廣等方面的工作將由ZigBee聯(lián)盟負(fù)責(zé)。1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.2Zigbee無線傳感網(wǎng)絡(luò)通信信道分析我國(guó)的無線電管理機(jī)構(gòu)是中國(guó)無線電管理委員會(huì),其主要負(fù)責(zé)無線電頻率的劃分、分配與指配,衛(wèi)星軌道位置的協(xié)調(diào)和管理,無線電監(jiān)測(cè)、檢測(cè)、干擾的查處,協(xié)調(diào)處理電磁干擾事宜和維護(hù)空中電波秩序等。1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.2Zigbee無線傳感網(wǎng)絡(luò)通信信道分析1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.2Zigbee無線傳感網(wǎng)絡(luò)通信信道分析一個(gè)Zigbee網(wǎng)絡(luò)可以根據(jù)ISM頻段、可用性、擁擠狀況和數(shù)據(jù)速率在27個(gè)信道中選擇一個(gè)工作信道。從能量和成本效率來看,不同的數(shù)據(jù)速率能為不同的應(yīng)用提供較好的選擇。1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.2Zigbee無線傳感網(wǎng)絡(luò)通信信道分析ZigBee技術(shù)的抗干擾特性主要是抗同頻干擾,即來自共用相同頻段的其他技術(shù)的干擾。對(duì)于同頻干擾的抵御能力是極為重要的,因?yàn)樗苯佑绊懙皆O(shè)備的性能。ZigBee在2.4GHz頻段內(nèi)具備強(qiáng)抗干擾能力就意味著能夠可靠地與Wi-Fi、藍(lán)牙和Z-Wave共存。1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.2Zigbee無線傳感網(wǎng)絡(luò)通信信道分析ZigBee無線傳感器網(wǎng)絡(luò)的協(xié)調(diào)器首先要掃描所有的信道,然后確認(rèn)并加入一個(gè)合適的PAN,而不是自己去創(chuàng)建一個(gè)新PAN,這樣就減少了同頻段PAN的數(shù)量,降低了潛在的干擾。如果干擾源出現(xiàn)在重疊的信道上,協(xié)調(diào)器上層的軟件要應(yīng)用信道算法選擇一個(gè)新的信道。當(dāng)網(wǎng)絡(luò)初始化或響應(yīng)中斷時(shí),ZigBee設(shè)備會(huì)先掃描一系列被列入信道表參數(shù)中的信道,以便進(jìn)行動(dòng)態(tài)信道選擇。1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.3Zigbee無線傳感網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識(shí)符ZigBee協(xié)議使用一個(gè)16位的個(gè)域網(wǎng)絡(luò)標(biāo)識(shí)符(PersonalAreaNetworkID,PANID)來標(biāo)識(shí)一個(gè)網(wǎng)絡(luò),范圍從0x0000~0xFFFF。在使用ZStack-CC2530-2.5.1a版的協(xié)議中,可通過Tools目錄下f8wConfig.cfg文件里的參數(shù)-DZDAPP_CONFIG_PAN_ID設(shè)置PANID。若-DZDAPP_CONFIG_PAN_ID不為0xFFFF時(shí),設(shè)備建立或加入網(wǎng)絡(luò)的PANID由-DZDAPP_CONFIG_PAN_ID指定;若-
DZDAPP_CONFIG_PAN_ID為0xFFFF,則設(shè)備就將建立或加入一個(gè)“最優(yōu)”的網(wǎng)絡(luò)。1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.3Zigbee無線傳感網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識(shí)符PANID的出現(xiàn)一般是在確定信道以后,主要區(qū)分不同的ZigBee網(wǎng)絡(luò)。一個(gè)傳感器網(wǎng)絡(luò)中所有節(jié)點(diǎn)的PANID唯一,即一個(gè)網(wǎng)絡(luò)只有一個(gè)PANID。PANID是由PAN協(xié)調(diào)器生成的,為可選配置項(xiàng),用來控制ZigBee路由器和終端節(jié)點(diǎn)要加入哪個(gè)網(wǎng)絡(luò)。f8wConfg.cfg文件中-DZDAPP_CONFIG_PAN_ID可以設(shè)置為0x0000~0x3FFF之間的一個(gè)值。1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.4Zigbee無線傳感網(wǎng)絡(luò)的地址在ZigBee無線傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)有兩個(gè)地址。一個(gè)是物理(IEEE或擴(kuò)展)地址,每個(gè)CC2530單片機(jī)的IEEE在出廠時(shí)就已經(jīng)定義好了(當(dāng)然,在用戶學(xué)習(xí)階段可能通過編程軟件SmartRFFlashProgrammer修改設(shè)備的IEEE地址)。另一個(gè)是網(wǎng)絡(luò)地址,是在設(shè)備加入網(wǎng)絡(luò)時(shí),按照一定的算法計(jì)算得到,并分配給加入網(wǎng)絡(luò)的設(shè)備的地址。網(wǎng)絡(luò)地址在某個(gè)網(wǎng)絡(luò)中是唯一的,16位的網(wǎng)絡(luò)地址主要有兩個(gè)功能:在網(wǎng)絡(luò)中標(biāo)識(shí)不同的設(shè)備;在網(wǎng)絡(luò)數(shù)據(jù)傳輸時(shí)指定目的地址。1.3Zigbee無線傳感網(wǎng)絡(luò)的通信協(xié)議架構(gòu)1.3.5Zigbee無線傳感網(wǎng)絡(luò)的設(shè)備類型Zigbee規(guī)范定義了三種類型的設(shè)備。①Zigbee協(xié)調(diào)器是啟動(dòng)和配置網(wǎng)絡(luò)和一種設(shè)備。一個(gè)Zigbee網(wǎng)絡(luò)只允許一個(gè)Zigbee協(xié)調(diào)器。②Zigbee路由器是支持關(guān)聯(lián)的設(shè)備,Zigbee網(wǎng)狀或樹狀網(wǎng)絡(luò)可以有多個(gè)Zigbee路由器;Zigbee星狀網(wǎng)絡(luò)不支持Zigbee路由器。③Zigbee終端設(shè)備可以執(zhí)行相關(guān)功能,并通過Zigbee無線傳感器網(wǎng)絡(luò)與其他設(shè)備通信。1.4Zigbee無線傳感網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)ZigBee支持包含有主從設(shè)備的星型、樹型和網(wǎng)狀等拓?fù)浣Y(jié)構(gòu)。雖然每一個(gè)ZigBee設(shè)備都有一個(gè)唯一的64位的IEEE地址,并可以用這個(gè)地址在PAN中進(jìn)行通信,但在從設(shè)備和網(wǎng)絡(luò)主協(xié)調(diào)器建立連接后會(huì)為它分配一個(gè)16位的短地址,此后就可以用這個(gè)短地址在PAN內(nèi)進(jìn)行通信。64位的物理地址是唯一的絕對(duì)地址,相當(dāng)于計(jì)算機(jī)的MAC地址;而16位的短地址是相對(duì)地址,相當(dāng)于IP地址。1.4Zigbee無線傳感網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)1.4.1星狀拓?fù)湫菭钔負(fù)涫亲詈?jiǎn)單的一種拓?fù)湫问?,包含一個(gè)協(xié)調(diào)器和一系列的終端節(jié)點(diǎn)。每一個(gè)終端節(jié)點(diǎn)只能和協(xié)調(diào)器進(jìn)行通信。如果需要在兩個(gè)終端節(jié)點(diǎn)之間進(jìn)行通信則必須通過協(xié)調(diào)器進(jìn)行信息的轉(zhuǎn)發(fā)。實(shí)現(xiàn)星形網(wǎng)絡(luò)拓?fù)洳恍枰褂肸igBee的網(wǎng)絡(luò)層協(xié)議。1.4Zigbee無線傳感網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)1.4.2樹狀拓?fù)錁錉钔負(fù)浒ㄒ粋€(gè)協(xié)調(diào)器以及一系列的路由器和終端節(jié)點(diǎn)。協(xié)調(diào)器連接一系列的路由器和終端節(jié)點(diǎn),作為其子節(jié)點(diǎn)的路由器也可以連接一系列的路由器和終端節(jié)點(diǎn),并可以重復(fù)多個(gè)層級(jí)。1.4Zigbee無線傳感網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)1.4.2樹狀拓?fù)湫枰⒁庖韵聨c(diǎn)。①協(xié)調(diào)器和路由器可以包含自己的子節(jié)點(diǎn)。②終端節(jié)點(diǎn)不能有自己的子節(jié)點(diǎn)。③有同一個(gè)父節(jié)點(diǎn)的節(jié)點(diǎn)稱為兄弟節(jié)點(diǎn)。④有同一個(gè)祖父節(jié)點(diǎn)的節(jié)點(diǎn)稱為堂兄弟節(jié)點(diǎn)。樹狀拓?fù)渲械耐ㄐ乓?guī)則如下。①每一個(gè)節(jié)點(diǎn)都只能與其父節(jié)點(diǎn)和子節(jié)點(diǎn)進(jìn)行通信。②如果需要從一個(gè)節(jié)點(diǎn)向另一個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù),那么信息將沿著樹的路徑向上傳遞到最近的祖先節(jié)點(diǎn),然后再向下傳遞到目標(biāo)節(jié)點(diǎn)。1.4Zigbee無線傳感網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)1.4.3網(wǎng)狀拓?fù)渚W(wǎng)狀拓?fù)浒粋€(gè)協(xié)調(diào)器和一系列的路由器和終端節(jié)點(diǎn)。這種網(wǎng)絡(luò)拓?fù)湫问胶蜆錉钔負(fù)湎嗤?,可參考上面所提到的樹型網(wǎng)拓?fù)洹5?,網(wǎng)狀拓?fù)渚哂懈屿`活的信息路由規(guī)則,在可能的情況下,路由節(jié)點(diǎn)之間可以直接通信。這種路由機(jī)制使得信息的通信變得更有效率,而且意味著一旦一個(gè)路由路徑出現(xiàn)了問題,信息可以自動(dòng)地沿著其他的路由路徑進(jìn)行傳輸。1.4Zigbee無線傳感網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)1.4.3網(wǎng)狀拓?fù)渫ǔT谥С志W(wǎng)狀網(wǎng)絡(luò)的實(shí)現(xiàn)上,網(wǎng)絡(luò)層會(huì)提供相應(yīng)的路由探索功能,這一特性使得網(wǎng)絡(luò)層可以找到信息傳輸?shù)淖顑?yōu)化路徑。需要注意的是,以上所提到的特性都由網(wǎng)絡(luò)層來實(shí)現(xiàn),應(yīng)用層不需要進(jìn)行任何參與。網(wǎng)狀拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)具有強(qiáng)大的功能,可以通過“多跳”的方式來通信。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)還可以組成極為復(fù)雜的網(wǎng)絡(luò),這種網(wǎng)絡(luò)具備自組織和自愈功能。采用星型和樹型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)適合點(diǎn)對(duì)點(diǎn)、距離相對(duì)較近的應(yīng)用,而采用網(wǎng)狀拓?fù)涞木W(wǎng)絡(luò)主要適用于廣域網(wǎng),它是網(wǎng)絡(luò)協(xié)議中最復(fù)雜且成本最高的一種網(wǎng)絡(luò)結(jié)構(gòu)。1.5Zigbee無線傳感網(wǎng)絡(luò)的應(yīng)用1.5.1環(huán)境監(jiān)測(cè)環(huán)境監(jiān)測(cè)是ZigBee無線傳感器網(wǎng)絡(luò)最基本的應(yīng)用之一。由于人力資源有限,無法時(shí)刻關(guān)注環(huán)境變化。在這種情況下,可以將大量廉價(jià)的傳感器節(jié)點(diǎn)部署于感興趣的環(huán)境中,實(shí)時(shí)收集相關(guān)數(shù)據(jù)信息感知環(huán)境變化。常見的環(huán)境監(jiān)測(cè)場(chǎng)景有水污染監(jiān)測(cè)、空氣質(zhì)量監(jiān)測(cè)、精細(xì)農(nóng)業(yè)操作與動(dòng)物生活習(xí)性監(jiān)測(cè)等。由于環(huán)境監(jiān)測(cè)系統(tǒng)對(duì)信息傳輸?shù)难舆t要求不高,設(shè)計(jì)系統(tǒng)面臨的主要問題是,如何在保證應(yīng)用需求的情況下調(diào)度節(jié)點(diǎn)最大化網(wǎng)絡(luò)壽命。1.5Zigbee無線傳感網(wǎng)絡(luò)的應(yīng)用1.5.2智能家居通過在家電中嵌入傳感器節(jié)點(diǎn),可以將屋內(nèi)所有的設(shè)備聯(lián)系在一起組成傳感器網(wǎng)絡(luò),從而為人們提供更加舒適方便的智能家居環(huán)境。如何實(shí)現(xiàn)多設(shè)備互連是智能家居應(yīng)用中面臨的主要設(shè)計(jì)問題。1.5Zigbee無線傳感網(wǎng)絡(luò)的應(yīng)用1.5.3醫(yī)療護(hù)理將傳感器節(jié)點(diǎn)安裝在老年人或者病人的身體上,實(shí)時(shí)匯報(bào)他們的身體狀態(tài)信息,醫(yī)生便可以遠(yuǎn)程了解病人的實(shí)時(shí)狀況,并采取相應(yīng)的醫(yī)療措施。ZigBee無線傳感器網(wǎng)絡(luò)將有效地解決醫(yī)療資源匱乏的問題,降低醫(yī)療成本,在老齡化日益嚴(yán)重的今天發(fā)揮越來越重要的作用。設(shè)計(jì)適合采集身體狀況數(shù)據(jù)的節(jié)點(diǎn)與建立有效的醫(yī)療系統(tǒng)是醫(yī)療護(hù)理應(yīng)用面臨的主要問題。1.5Zigbee無線傳感網(wǎng)絡(luò)的應(yīng)用1.5.4目標(biāo)跟蹤與定位在傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)的感知范圍有限,只有目標(biāo)附近的節(jié)點(diǎn)能夠感知目標(biāo),遠(yuǎn)離目標(biāo)的節(jié)點(diǎn)無法提供有效的信息。因此,通過喚醒目標(biāo)附近的節(jié)點(diǎn),休眠遠(yuǎn)離目標(biāo)的節(jié)點(diǎn)可以節(jié)省節(jié)點(diǎn)能耗,延長(zhǎng)網(wǎng)絡(luò)壽命。同時(shí),由于節(jié)點(diǎn)資源有限,單個(gè)節(jié)點(diǎn)無法準(zhǔn)確估計(jì)目標(biāo)位置,從而要求多節(jié)點(diǎn)協(xié)作共同跟蹤目標(biāo)。如何能有效地調(diào)度節(jié)點(diǎn)跟蹤目標(biāo)的同時(shí)實(shí)時(shí)匯報(bào)目標(biāo)位置到基站,是目標(biāo)跟蹤與定位應(yīng)用面臨的主要問題。1.6軟件資源1.6.1Zigbee協(xié)議棧選型常見的ZigBee協(xié)議棧分非開源的協(xié)議棧、半開源的協(xié)議棧和開源的協(xié)議棧三種。1.非開源的協(xié)議棧常見的非開源的協(xié)議棧的解決方案包括Freescale解決方案和Microchip解決方案。Freescale解決方案中最簡(jiǎn)單的ZigBee解決方案就是SMAC協(xié)議,是面向簡(jiǎn)單的點(diǎn)對(duì)點(diǎn)應(yīng)用,不涉及網(wǎng)絡(luò)的概念。Microchip解決方案提供的ZigBee協(xié)議棧為ZigBeePRO和ZigBeeRF4CE,均是完整的協(xié)議棧,但收費(fèi)較高。1.6軟件資源1.6.1Zigbee協(xié)議棧選型2.半開源的協(xié)議棧TI公司開發(fā)的是一個(gè)半開源的ZigBee協(xié)議?!猌-Stack。它支持ZigBee和ZigBeePRO棧,并向后兼容ZigBee2006和ZigBee2004。Z-Stack內(nèi)嵌了OSAL操作系統(tǒng),使用標(biāo)準(zhǔn)的C語言代碼和IAR開發(fā)平臺(tái),比較容易學(xué)習(xí),是一款適合工業(yè)級(jí)應(yīng)用的免費(fèi)協(xié)議棧。1.6軟件資源1.6.1Zigbee協(xié)議棧選型1.6軟件資源1.6.1Zigbee協(xié)議棧選型3.開源的協(xié)議棧Freakz是一個(gè)徹底開源的ZigBee協(xié)議棧,配合Contiki操作系統(tǒng),Contiki的代碼全部由C語言編寫,對(duì)于初學(xué)者來說比較容易上手。Freakz適合用于學(xué)習(xí),對(duì)于工業(yè)應(yīng)用,還是Z-Stack比較適用。根據(jù)應(yīng)用需求,本書選用TI公司提供的Z-Stack協(xié)議棧和IAR平臺(tái)作為軟件工具進(jìn)行二次開發(fā)。1.6軟件資源1.6.1Zigbee協(xié)議棧選型開源即單擊該函數(shù)的右鍵,選擇“Gotodefinitionof函數(shù)名稱”,能夠跳轉(zhuǎn)到源函數(shù)定義,查看源程序。1.6軟件資源1.6.2IAR集成環(huán)境的安裝1.ZigBee開發(fā)環(huán)境簡(jiǎn)介本書選用IAREmbeddedWorkbench作為ZigBee的開發(fā)環(huán)境。目前IAREmbeddedWorkbench已經(jīng)支持35種以上的8位/16位/32位的微處理器結(jié)構(gòu)。1.6軟件資源1.6.2IAR集成環(huán)境的安裝2.ZigBee開發(fā)環(huán)境的安裝IAREmbeddedWorkbench的安裝如同Windows操作系統(tǒng)其他軟件一樣,單擊EW8051-EV-Web-8101.exe進(jìn)行安裝。1.6軟件資源1.6.3仿真器驅(qū)動(dòng)程序的安裝1.自動(dòng)安裝仿真器的驅(qū)動(dòng)程序成功安裝IAR軟件后,由于IAR的安裝軟件中含有仿真器的驅(qū)動(dòng),所以連接仿真器與PC后可以自動(dòng)安裝仿真器的驅(qū)動(dòng)程序。1.6軟件資源1.6.3仿真器驅(qū)動(dòng)程序的安裝2.手動(dòng)安裝仿真器的驅(qū)動(dòng)程序如果向?qū)茨茏詣?dòng)搜索到驅(qū)動(dòng)文件,驅(qū)動(dòng)程序可以在IAR的安裝文件中找到。選擇“瀏覽我的計(jì)算機(jī)以查找驅(qū)動(dòng)程序軟件(R)”選項(xiàng)。1.7軟件應(yīng)用1.7.1IAR的使用1.新建一個(gè)工程打開IAREmbeddedWorkbench軟件,選擇“Project”→“CreateNewProject”命令。1.7軟件應(yīng)用1.7.1IAR的使用2.參數(shù)設(shè)置選擇“Project”→“Options”選項(xiàng)。1.7軟件應(yīng)用1.7.1IAR的使用2.參數(shù)設(shè)置(1)GeneralOptions設(shè)置
將“GeneralOptions”→“Target”選項(xiàng)中的“Device”選擇為CC2530F256。1.7軟件應(yīng)用1.7.1IAR的使用2.參數(shù)設(shè)置(2)Debugger設(shè)置。在“Debugger”菜單的“Setup”選項(xiàng)卡中,“Driver”選項(xiàng)選擇“TexasInstruments”。1.7軟件應(yīng)用1.7.1IAR的使用3.第一個(gè)項(xiàng)目新建一個(gè)C文件,選擇New菜單中的“File”選項(xiàng)并保存。1.7軟件應(yīng)用1.7.1IAR的使用3.第一個(gè)項(xiàng)目1.7軟件應(yīng)用1.7.1IAR的使用3.第一個(gè)項(xiàng)目一個(gè)模塊中包含兩個(gè)文件,一個(gè)是h文件,另一個(gè)是c文件。h文件是一個(gè)接口描述文件,其文件內(nèi)部一般不包含任何實(shí)質(zhì)性的函數(shù)代碼,主要對(duì)外提供接口函數(shù)或接口變量。h文件的構(gòu)成原則是:外界不該知道的信息就不應(yīng)該出現(xiàn)在h文件里,而供外界調(diào)用的模塊內(nèi)部接口函數(shù)或接口變量所必需的信息就一定要出現(xiàn)在h文件里。c文件的主要功能是對(duì)h文件中聲明的外部函數(shù)進(jìn)行具體實(shí)現(xiàn),對(duì)具體實(shí)現(xiàn)方式?jīng)]有特殊規(guī)定,只要能實(shí)現(xiàn)其函數(shù)功能即可。1.7軟件應(yīng)用1.7.1IAR的使用4.IAR中標(biāo)記行號(hào)和字體IAR中可以設(shè)置字體大小、關(guān)鍵字的顏色及行號(hào)顯示。選擇“tools”菜單中的“Options”選項(xiàng)進(jìn)入設(shè)置。在“tools”菜單的“Options”選項(xiàng)中,“Editor”勾選“Showlinenumber”便可以顯示行號(hào)。1.7軟件應(yīng)用1.7.1IAR的使用4.IAR中標(biāo)記行號(hào)和字體在“tools”菜單“Options”選項(xiàng)的“EditorColorsandFonts”中便可以設(shè)置字體,1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝從TI官方網(wǎng)站上下載ZStack-CC2530-2.5.1a.exe,進(jìn)行協(xié)議棧的安裝。協(xié)議棧GenericApp實(shí)現(xiàn)設(shè)備互相綁定傳送信息(helloworld);SampleApp主要實(shí)現(xiàn)設(shè)備發(fā)送和接收LED燈信息;SimpleApp主要實(shí)現(xiàn)溫度和燈開關(guān),和智能家居結(jié)合使用的haveProfile。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝打開SampleApp工程文件,其文件布局中有許多文件夾,如App、HAL、MAC等,這些文件夾對(duì)應(yīng)著ZigBee協(xié)議中不同的層。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝1.App文件夾使用ZigBee協(xié)議棧進(jìn)行應(yīng)用程序的開發(fā)時(shí)一般只需要修改App文件夾下的文件。用戶編寫的應(yīng)用程序源代碼一般放在APP文件夾下。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝2.HAL文件夾Commmon目錄下的文件是公用文件,基本上與硬件無關(guān),其中hal_assert.c是測(cè)試文件,用于調(diào)試;hal_drivers.c是驅(qū)動(dòng)文件,抽象出與硬件無關(guān)的驅(qū)動(dòng)函數(shù),包含有與硬件相關(guān)的配置和驅(qū)動(dòng)及操作函數(shù)。Includ目錄下主要包含各個(gè)硬件模塊的頭文件。Target目錄下的文件是跟硬件相關(guān)的,有CC2530DB平臺(tái)和CC2530EB兩個(gè)平臺(tái)。DB和EB表示TI公司開發(fā)板的型號(hào)。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝3.MAC文件夾HighLevel和LowLevel兩個(gè)目錄分別表示MAC層的高層和底層。Include目錄下包含MAC層的參數(shù)配置文件及基MAC的LIB庫(kù)函數(shù)接口文件,這里MAC層的協(xié)議是不開源的,以庫(kù)的形式給出。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝4.MT文件夾MT文件夾下的文件主要用于調(diào)試,即過串口調(diào)試各層,與各層進(jìn)行直接交互。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝5.NWK文件夾NWK文件夾包含網(wǎng)絡(luò)層參數(shù)文件、網(wǎng)絡(luò)層庫(kù)的函數(shù)接口文件,以及APS層庫(kù)的函數(shù)接口。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝6.OSAL文件夾OSAL指操作系統(tǒng)抽象層,主要實(shí)現(xiàn)Z-Stack協(xié)議棧的操作系統(tǒng)對(duì)硬件的管理和封裝。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝7.Profile文件夾Profile文件夾下包含AF(應(yīng)用框架)層處理函數(shù)接口文件,如開發(fā)常用到的數(shù)據(jù)的收、發(fā)及終端管理等函數(shù)。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝8.Security文件夾Security文件夾下包含安全層處理函數(shù)接口文件。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝9.Services文件夾Services文件包括地址模式的定義及地址處理函數(shù)。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝10.Tools文件夾Tools文件包括空間劃分及Z-Stack相關(guān)配置信息。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝10.Tools文件夾注意:灰色表示在當(dāng)前工作空間(workspace)中不參加編譯。其設(shè)置方法是選擇相應(yīng)的文件,然后單擊鼠標(biāo)右鍵,選擇“Options”出現(xiàn)的界面,勾選“Excludeformbuild”。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝11.ZDO文件夾ZDO(ZigBee設(shè)備對(duì)象)是一種公共的功能集,方便用戶用自定義的對(duì)象調(diào)用APS層和NWK層的服務(wù)。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝12.ZMac文件夾ZMac文件夾提供了Z-Stack中關(guān)于MAC操作的接口函數(shù);zmac.c是Z-StackMAC層導(dǎo)出層接口文件,zmac_cb.c是ZMAC需要調(diào)用的網(wǎng)絡(luò)層函數(shù)。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝13.ZMain文件夾ZMain文件夾下,ZMain.c主要包含了整個(gè)項(xiàng)目的入口函數(shù)main(),在OnBoard.c中包含對(duì)硬件開發(fā)平臺(tái)各類外設(shè)進(jìn)行控制的接口函數(shù)。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝14.Output文件夾Output文件是IDE自動(dòng)生成的。協(xié)議棧提供EndDeviceEB(終端設(shè)備)、CoordinatorEB(協(xié)調(diào)器設(shè)備)和RouterEB(路由設(shè)備)等設(shè)備工作空間。1.7軟件應(yīng)用1.7.2協(xié)議棧的安裝協(xié)議棧布局窗口中出現(xiàn)“*”只表示文件沒有保存,文件保存后就不會(huì)出現(xiàn)“*”標(biāo)記。1.7軟件應(yīng)用1.7.3
協(xié)議棧中文件的移除和增加ZigBee協(xié)議棧實(shí)現(xiàn)了ZigBee協(xié)議,該協(xié)議棧為用戶提供了API函數(shù)接口,在開發(fā)過程中用戶不必去關(guān)心ZigBee協(xié)議是怎么實(shí)現(xiàn)的,只需關(guān)心程序的數(shù)據(jù)從哪里來然后到哪里去。1.7軟件應(yīng)用1.7.4
協(xié)議棧的基本操作1.查看函數(shù)或者宏定義Z-Stack是TI公司提供的半開放的ZigBee協(xié)議棧,對(duì)于開發(fā)使用者來說一般只要關(guān)心APP文件夾下的文件即可。用戶自己編寫的驅(qū)動(dòng)等文件也是要放到這個(gè)文件夾下的。關(guān)于App文件夾下的主執(zhí)行文件,需要關(guān)注的就是SampleApp.c或者Enddevice.c文件及ZMain.c文件,ZMain.c主要用于初始化,而SampleApp.c或者Enddevice.c文件里面就包含了用戶要做的事情。1.7軟件應(yīng)用1.7.4
協(xié)議棧的基本操作1.查看函數(shù)或者宏定義打開OSALSampleApp.c文件找到SampleApp_ProcessEvent定義的宏,它規(guī)定了SampleApp事件。我們要查找一個(gè)函數(shù)或者宏定義的出處時(shí),可以先選擇要查找的內(nèi)容,選擇“Gotodefinitionof...”就可以直接找到其定義之處了。1.7軟件應(yīng)用1.7.4
協(xié)議棧的基本操作2.信道選擇和修改網(wǎng)絡(luò)ID號(hào)①f8w2530.cxl:該文件包含了CC2530單片機(jī)的鏈接控制指令,包括堆棧的大小、內(nèi)存分配等,一般情況下我們不需要修改。1.7軟件應(yīng)用1.7.4
協(xié)議棧的基本操作2.信道選擇和修改網(wǎng)絡(luò)ID號(hào)②f8wConfig.cfg:該文件包含了信道選擇、網(wǎng)絡(luò)ID號(hào)等有關(guān)的鏈接命令。例如,我們的信道默認(rèn)為-DDEFAULT_CHANLIST=0x00000800//11-0x0B,建立網(wǎng)絡(luò)ID的默認(rèn)ID為-DZDAPP_CONFIG_PAN_ID=0xFFFF,需要建立不同的網(wǎng)絡(luò)信道及網(wǎng)絡(luò)ID時(shí)就可以在這里修改。③f8wCoord.cfg:配置無線網(wǎng)絡(luò)中的協(xié)調(diào)器設(shè)備類型及CPU的運(yùn)行頻率。例如,下面的代碼就定義了該設(shè)備具有協(xié)調(diào)器和路由器的功能。1.7軟件應(yīng)用1.7.4
協(xié)議棧的基本操作2.信道選擇和修改網(wǎng)絡(luò)ID號(hào)④f8wEndev.cfg:配置無線網(wǎng)絡(luò)中的終端節(jié)點(diǎn)CPU的運(yùn)行頻率及MAC設(shè)定。⑤f8wRouter.cfg:配置無線網(wǎng)絡(luò)中的路由設(shè)備的CPU運(yùn)行頻率、MAC設(shè)定、路由設(shè)定等。1.7軟件應(yīng)用1.7.4
協(xié)議棧的基本操作3.設(shè)置ZigBee網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)在ZigBee協(xié)議棧的NWK目錄中的nwk_globals.h文件中,找到NWK_MODE的設(shè)置模式,將NWK_MODE_MESH改成NWK_MODE_STAR。NWK_MODE_MESH代表網(wǎng)狀網(wǎng),NWK_MODE_STAR代表星狀網(wǎng),NWK_MODE_TREE代表樹狀網(wǎng),這里將網(wǎng)絡(luò)設(shè)置為最簡(jiǎn)單、最穩(wěn)定的星狀網(wǎng)。項(xiàng)目小結(jié)①ZigBee無線傳感器網(wǎng)絡(luò)是大量的傳感器節(jié)點(diǎn)以自組織或者多跳的方式構(gòu)成的無線網(wǎng)絡(luò)。②傳感器負(fù)責(zé)在傳感器網(wǎng)絡(luò)中感知和采集數(shù)據(jù),它處于ZigBee無線傳感器網(wǎng)絡(luò)的感知層,是識(shí)別物體、采集信息的設(shè)備。③ZigBee無線傳感器網(wǎng)絡(luò)由PC、網(wǎng)關(guān)、路由節(jié)點(diǎn)和傳感節(jié)點(diǎn)四部分組成。④ZigBee無線傳感器網(wǎng)絡(luò)的主要軟件協(xié)議棧由物理層(PHY層)、介質(zhì)訪問控制層(MAC層)、網(wǎng)路層(NWK層)和應(yīng)用層(APL層)組成。謝謝聆聽!無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用:ZigBee版項(xiàng)目2ZigBee無線傳感器網(wǎng)絡(luò)入門課程標(biāo)準(zhǔn)PPT電子課件參考程序代碼教學(xué)視頻資料教材習(xí)題參考答案項(xiàng)目目標(biāo)知識(shí)目標(biāo)技能目標(biāo)素質(zhì)目標(biāo)(1)掌握ZigBee無線傳感器模塊的芯片選型。(2)掌握ZigBee無線傳感器模塊的硬件資源。(1)熟悉BasicRF組網(wǎng)實(shí)現(xiàn)數(shù)據(jù)采集的方法。(2)熟悉使用CC2530建立無線串口通信的方法。通過導(dǎo)入案例“傳感器故障引發(fā)空難事件”,培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度。
思維導(dǎo)圖隨著現(xiàn)代微電子、微機(jī)電系統(tǒng)(Micro-Electro-MechanicalSystem,MEMS)、SoC、納米材料、無線通信技術(shù)、信號(hào)處理技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)等的進(jìn)步以及互聯(lián)網(wǎng)的迅速發(fā)展,傳感器信息獲取技術(shù)從獨(dú)立的單一化模式向集成化、微型化,進(jìn)而向智能化、網(wǎng)絡(luò)化方向發(fā)展,成為信息獲取最重要和最基本的技術(shù)之一。2.1需求分析2.1.1各層功能簡(jiǎn)介根據(jù)物聯(lián)網(wǎng)的服務(wù)類型和節(jié)點(diǎn)等情況,物聯(lián)網(wǎng)的體系結(jié)構(gòu)主要由物理層、媒體接入控制層、網(wǎng)絡(luò)/安全層和應(yīng)用層組成。2.1需求分析2.1.1各層功能簡(jiǎn)介1.物理層物理層定義了無線信息和MAC子層之間的接口,提供物理層數(shù)據(jù)服務(wù)和物理層管理服務(wù),主要是在驅(qū)動(dòng)程序的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)傳輸和管理。物理層數(shù)據(jù)服務(wù)從無線信道上收發(fā)數(shù)據(jù),管理服務(wù)包括信道能量監(jiān)測(cè)(EnergyDetection,ED)、鏈接質(zhì)量指示(LinkQualilyIndicator,LQI)、載波檢測(cè)(CarrierSense,CS)和空閑信道評(píng)估(ClearChannelAssessment,CCA)等,維護(hù)一個(gè)由物理層相關(guān)數(shù)據(jù)組成的數(shù)據(jù)庫(kù)。2.1需求分析2.1.1各層功能簡(jiǎn)介2.介質(zhì)訪問控制層介質(zhì)訪問控制層提供了MAC層數(shù)據(jù)服務(wù)和MAC層管理服務(wù)。前者保證MAC層協(xié)議數(shù)據(jù)單元在物理層數(shù)據(jù)服務(wù)中的正確收發(fā),而后者從事MAC層的管理活動(dòng),并維護(hù)一個(gè)信息數(shù)據(jù)庫(kù)。2.1需求分析2.1.1各層功能簡(jiǎn)介3.網(wǎng)絡(luò)/安全層網(wǎng)絡(luò)/安全層負(fù)責(zé)設(shè)備加入和退出網(wǎng)絡(luò),申請(qǐng)安全結(jié)構(gòu)、路由管理,在設(shè)備之間發(fā)現(xiàn)和維護(hù)路由,發(fā)現(xiàn)鄰設(shè)備、存儲(chǔ)鄰設(shè)備信息。2.1需求分析2.1.1各層功能簡(jiǎn)介4.應(yīng)用層應(yīng)用層包括應(yīng)用支持子層(ApplicationSupportLayer,APS)和ZigBee設(shè)備對(duì)象(ZigBeeDeviceObject,ZDO)。其中,APS負(fù)責(zé)維持綁定表,在綁定的設(shè)備之間傳送消息;而ZDO定義設(shè)備在網(wǎng)絡(luò)中的角色,發(fā)起和響應(yīng)綁定請(qǐng)求,在網(wǎng)絡(luò)設(shè)備之間建立安全機(jī)制。2.1需求分析2.1.2最低需求估算①硬件需要8位處理器,如80C51。②軟件需要32KB的ROM,最小軟件需要4KB的ROM,如CC2430芯片具有8051內(nèi)核、內(nèi)存可選擇從32~128KB的ZigBee無線單片機(jī)系統(tǒng)。③網(wǎng)絡(luò)主節(jié)點(diǎn)需要更多的RAM,以容納網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)的設(shè)備信息、數(shù)據(jù)包轉(zhuǎn)發(fā)表、設(shè)備關(guān)聯(lián)表以及與安全有關(guān)的密鑰存儲(chǔ)等。2.2核心板硬件資源2.2.1節(jié)點(diǎn)芯片選型單片機(jī)按照CPU處理數(shù)據(jù)的位寬可分為4位、8位、16位和32位單片機(jī)。其中8位單片機(jī)由于內(nèi)部構(gòu)造簡(jiǎn)單、體格小、成本低等優(yōu)勢(shì),應(yīng)用最為廣泛。4位單片機(jī)主要應(yīng)用于工業(yè)控制領(lǐng)域,隨著工藝的發(fā)展,由于性能較低,逐步退出市場(chǎng)。而16位和32位單片機(jī)雖然性能比8位單片機(jī)強(qiáng)得多,但由于成本和應(yīng)用場(chǎng)合的限制,尤其是近年來ARM嵌入式技術(shù)的發(fā)展,導(dǎo)致它的應(yīng)用不如8位單片機(jī)那么廣泛。而16位和32位單片機(jī)主要應(yīng)用于視頻采集、圖形處理等方面。目前,在物聯(lián)網(wǎng)領(lǐng)域應(yīng)用較為廣泛的有TI公司的MSP430系列,Atmel公司的AVR系列、51系列,Microchip公司的AVR系列、51系列、PIC系列等。除了單片機(jī)含有的外設(shè)和數(shù)量存在一定的差異外,處理器核的差異是體現(xiàn)這些單片機(jī)性能差異的主要原因。本系統(tǒng)采用TI公司的8位單片機(jī)CC2530作為核心芯片進(jìn)行闡述。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介CC2530是用于IEEE802.15.4ZigBee和RF4CE應(yīng)用的一個(gè)真正的SoC解決方案。它能夠以非常低的總材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530結(jié)合了領(lǐng)先的RF收發(fā)器的優(yōu)良性能、業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051CPU、系統(tǒng)內(nèi)可編程閃存及8KBRAM和許多其他強(qiáng)大的功能。CC2530有4種不同的閃存版本即CC2530F32/64/128/256,分別具有32/64/128/256KB的閃存。CC2530具有不同的運(yùn)行模式,尤其適應(yīng)超低功耗要求的系統(tǒng),運(yùn)行模式之間的轉(zhuǎn)換時(shí)間短,進(jìn)一步確保了低能源消耗。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介模塊大致可以分為三類:CPU和內(nèi)存相關(guān)的模塊,外設(shè)、時(shí)鐘和電源管理相關(guān)的模塊,以及無線電相關(guān)的模塊。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介(1)CPU和內(nèi)存CC2530芯片系列中使用的8051CPU內(nèi)核是一個(gè)單周期的8051兼容內(nèi)核。它有三種不同的內(nèi)存訪問總線:特殊功能寄存器(SpecialFunctionRegister,SFR)、數(shù)據(jù)(DATA)和代碼/外部數(shù)據(jù)(CODE/XDATA)。它包括一個(gè)調(diào)試接口和一個(gè)18輸入擴(kuò)展中斷單元。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介(1)CPU和內(nèi)存內(nèi)存仲裁器位于系統(tǒng)中心,因?yàn)樗ㄟ^SFR總線把CPU和DMA控制器和物理存儲(chǔ)器以及所有外設(shè)連接起來。內(nèi)存仲裁器有4個(gè)內(nèi)存訪問點(diǎn),每次訪問可以映射3個(gè)物理存儲(chǔ)器之一:8-KBSRAM、閃存存儲(chǔ)器和XREG/SFR寄存器。它負(fù)責(zé)執(zhí)行仲裁,并確定同時(shí)訪問同一個(gè)物理存儲(chǔ)器之間的順序。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介(2)時(shí)鐘和電源管理數(shù)字內(nèi)核和外設(shè)由一個(gè)1.8V低差穩(wěn)壓器供電。它提供了電源管理功能,可以實(shí)現(xiàn)使用不同供電模式的長(zhǎng)電池壽命的低功耗運(yùn)行。CC2530有5種不同的復(fù)位源來復(fù)位設(shè)備。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介(3)外設(shè)CC2530包括許多不同的外設(shè),允許應(yīng)用程序設(shè)計(jì)者開發(fā)先進(jìn)的應(yīng)用。調(diào)試接口執(zhí)行1個(gè)專有的兩線串行接口,用于內(nèi)電路調(diào)試。通過這個(gè)調(diào)試接口,可以執(zhí)行整個(gè)閃存存儲(chǔ)器的擦除、控制哪個(gè)振蕩器、停止和開始執(zhí)行用戶程序、執(zhí)行8051內(nèi)核提供的指令、設(shè)置代碼斷點(diǎn),以及內(nèi)核中全部指令的單步調(diào)試。使用這些技術(shù),可以很好地執(zhí)行內(nèi)電路的調(diào)試和外部閃存的編程。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介(3)外設(shè)定時(shí)器1是一個(gè)16位定時(shí)器,具有定時(shí)器/PWM功能。MAC定時(shí)器(定時(shí)器2)是專門為支持IEEE802.15.4MAC或軟件中其他時(shí)槽的協(xié)議設(shè)計(jì)。定時(shí)器3和定時(shí)器4是8位定時(shí)器,具有定時(shí)器/計(jì)數(shù)器/PWM功能。睡眠定時(shí)器在除了供電模式3的所有工作模式下不斷運(yùn)行。這一定時(shí)器的典型應(yīng)用是作為實(shí)時(shí)計(jì)數(shù)器,或作為一個(gè)喚醒定時(shí)器跳出供電模式1或2。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介(3)外設(shè)ADC支持7~12位的分辨率,帶寬頻率為30kHz或4kHz。DC和音頻轉(zhuǎn)換可以使用高達(dá)8個(gè)輸入通道(端口0),輸入可以選擇作為單端或差分。參考電壓可以是內(nèi)部電壓、AVDD或是一個(gè)單端或差分外部信號(hào)。ADC還有一個(gè)溫度傳感輸入通道。ADC可以自動(dòng)執(zhí)行定期抽樣或轉(zhuǎn)換通道序列的程序。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介(3)外設(shè)串口1(USART0)和串口2(USART1)每個(gè)被配置為一個(gè)SPI主/從或一個(gè)UART。它們?yōu)镽X和TX提供了雙緩沖,以及硬件流控制,因此非常適合于高吞吐量的全雙工應(yīng)用,每個(gè)都有自己的高精度波特率發(fā)生器,可以將普通定時(shí)器空閑出來用作其他用途。2.2核心板硬件資源2.2.2核心板硬件資源1.CC2530簡(jiǎn)介(4)無線電CC2530具有一個(gè)IEEE802.15.4兼容無線收發(fā)器。RF內(nèi)核控制模擬無線模塊。另外,它提供了MCU和無線設(shè)備之間的一個(gè)接口,從而可以發(fā)出命令、讀取狀態(tài),自動(dòng)操作和確定無線設(shè)備事件的順序。無線設(shè)備還包括一個(gè)數(shù)據(jù)包過濾和地址識(shí)別模塊。2.2核心板硬件資源2.2.2核心板硬件資源2.選型參考功能配置CC2530CC2531CC25332.4GHzIEEE802.15.4標(biāo)準(zhǔn)射頻收發(fā)器有有有射頻調(diào)制模式DSSSDSSS
最大可編程輸出功率+4.5dBmW+4.5dBmW+4.5dBmW內(nèi)置FLASH空間(Byte)32k/64k/128k/256128k/256k32k/64k/96k內(nèi)置RAM空間8k4k/6kUSB接口(FULLSPEED)無有無ADC有無電池低電壓監(jiān)控不支持支持I2C不支持支持待機(jī)消耗電流(UA)1<1封裝QFN40QFN40QFN40IEEE802.15.4支持支持支持標(biāo)準(zhǔn)RF4CE協(xié)議棧支持支持支持標(biāo)準(zhǔn)TIMAC協(xié)議棧支持支持支持標(biāo)準(zhǔn)SimpliciTI協(xié)議棧支持支持支持標(biāo)準(zhǔn)Z-Stack協(xié)議棧支持支持不支持2.2核心板硬件資源2.2.3底板硬件資源1.底板電源電路設(shè)計(jì)GECCC2530F256節(jié)點(diǎn)考慮兩種供電方式:AA電池供電和USB供電。兩節(jié)AA電池電壓為3V,因而節(jié)點(diǎn)不需要專門的升壓/降壓芯片為IC供電。USB供電方式的電壓為4.5~5V,節(jié)點(diǎn)采用TI公司的TPS60211升壓為其他IC提供3.3V電壓。TPS60211輸出電流可達(dá)400mA,輸出100mA時(shí)所需最低壓降為120mV。2.2核心板硬件資源2.2.3底板硬件資源2.LED電路設(shè)計(jì)LED主要用于指示電路的工作狀態(tài),如加入網(wǎng)絡(luò)、網(wǎng)絡(luò)信號(hào)良好、正在傳輸數(shù)據(jù)等信息。2.2核心板硬件資源2.2.3底板硬件資源3.傳感電路設(shè)計(jì)GECCC2530F256節(jié)點(diǎn)的傳感器包括溫濕度傳感器和光敏電阻、溫敏電阻。溫濕度傳感器采用AOSONG公司的DHT11。DHT11將溫度檢測(cè)、濕度檢測(cè)、信號(hào)轉(zhuǎn)換、A/D轉(zhuǎn)換和加熱等功能集成到一個(gè)芯片上。2.2核心板硬件資源2.2.3底板硬件資源4.按鍵電路設(shè)計(jì)按鍵應(yīng)用人機(jī)交互方法,主要用于復(fù)位功能、燈的開關(guān)等功能的實(shí)現(xiàn)。項(xiàng)目小結(jié)①ZigBee是一種短距離的無線通信技術(shù),其應(yīng)用系統(tǒng)由硬件和軟件組成。②單片機(jī)按照CPU處理數(shù)據(jù)的位寬可分為4位、8位、16位和32位機(jī)。其中,8位單片機(jī)由于內(nèi)部構(gòu)造簡(jiǎn)單、體格小、成本低等優(yōu)勢(shì),應(yīng)用最為廣泛;4位單片機(jī)主要應(yīng)用于工業(yè)控制領(lǐng)域,隨著工藝的發(fā)展,由于性能較低,逐步退出市場(chǎng);而16位和32位單片機(jī)主要應(yīng)用于視頻采集、圖形處理等方面。
③CC2530芯片系列中使用的8051CPU內(nèi)核是一個(gè)單周期的8051兼容內(nèi)核。它有3種不同的內(nèi)存訪問總線:特殊功能寄存器(SFR)、數(shù)據(jù)(DATA)和代碼/外部數(shù)據(jù)(CODE/XDATA)。謝謝聆聽!無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用:ZigBee版項(xiàng)目三
了解ZigBee無線傳感器網(wǎng)絡(luò)協(xié)議棧課程標(biāo)準(zhǔn)PPT電子課件參考程序代碼教學(xué)視頻資料教材習(xí)題參考答案項(xiàng)目目標(biāo)知識(shí)目標(biāo)技能目標(biāo)素質(zhì)目標(biāo)(1)掌握ZigBee無線傳感器協(xié)議棧和協(xié)議的區(qū)別等知識(shí)。(2)掌握Z-Stack協(xié)議棧的OSAL分配機(jī)制。(3)了解Z-Stack協(xié)議棧的OSAL運(yùn)行機(jī)制。(4)掌握Z-Stack協(xié)議棧的OSAL常用函數(shù)。(1)掌握Z-Stack協(xié)議棧的添加新任務(wù)的方法。(2)掌握Z-Stack協(xié)議棧的添加新事件的方法。通過導(dǎo)入案例“突破‘卡脖子’勢(shì)在必行”,培養(yǎng)創(chuàng)新精神。
思維導(dǎo)圖在ZigBee無線傳感器網(wǎng)絡(luò)工程的實(shí)際開發(fā)過程中,應(yīng)借助TI提供的協(xié)議棧中例程SampleApp,根據(jù)需要完成的功能,通過查看支持Z-Stack協(xié)議棧的硬件電路圖,以及查閱各種文件,如CC2530的數(shù)據(jù)手冊(cè)、Z-Stack協(xié)議棧說明、Z-Stack協(xié)議棧API函數(shù)使用說明等,進(jìn)行協(xié)議棧的修改。最后使用燒錄器下載到相應(yīng)的硬件中,實(shí)現(xiàn)ZigBee無線傳感器網(wǎng)絡(luò)的組建。3.1Z-Stack協(xié)議棧3.1.1協(xié)議與協(xié)議棧協(xié)議定義的是一系列的通信標(biāo)準(zhǔn),通信雙方需要共同按照這一標(biāo)準(zhǔn)進(jìn)行正常的數(shù)據(jù)收發(fā)。協(xié)議棧是協(xié)議的具體實(shí)現(xiàn)形式,可通俗地理解為代碼實(shí)現(xiàn)的函數(shù)庫(kù),以便于開發(fā)人員調(diào)用。3.1Z-Stack協(xié)議棧3.1.1協(xié)議與協(xié)議棧ZigBee的協(xié)議分為兩部分,IEEE802.15.4定義了物理層和數(shù)據(jù)鏈路層技術(shù)規(guī)范,ZigBee聯(lián)盟定義了網(wǎng)絡(luò)層、安全層和應(yīng)用層技術(shù)規(guī)范,ZigBee協(xié)議棧就是將各層定義的協(xié)議都集合在一起,以函數(shù)的形式實(shí)現(xiàn),并提供一些應(yīng)用層API供用戶調(diào)用。3.1Z-Stack協(xié)議棧3.1.2使用Z-Stack協(xié)議棧傳輸SampleApp.c中定義了發(fā)送函數(shù)staticvoidampleApp_SendTheMessage(void)。該函數(shù)通過調(diào)用AF_DataRequest函數(shù)來發(fā)送數(shù)據(jù)。AF_DataRequest函數(shù)定義在Profile目錄下的AF.c文件中。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.1物理層物理層(PHY)定義了無線信道和MAC子層之間的接口,提供物理層數(shù)據(jù)服務(wù)和物理層管理服務(wù),主要是在驅(qū)動(dòng)程序的基礎(chǔ)上,實(shí)現(xiàn)數(shù)據(jù)傳輸和管理。物理層數(shù)據(jù)服務(wù)從無線物理信道上收發(fā)數(shù)據(jù),管理服務(wù)包括信道能量監(jiān)測(cè)(ED)、鏈接質(zhì)量指示(LQI)、載波檢測(cè)(CS)和空閑信道評(píng)估(CCA)等,維護(hù)一個(gè)由物理層相關(guān)數(shù)據(jù)組成的數(shù)據(jù)庫(kù)。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.2質(zhì)訪問控制層介質(zhì)訪問控制層(MAC)提供點(diǎn)對(duì)點(diǎn)通信的數(shù)據(jù)確認(rèn)以及一些用于網(wǎng)絡(luò)發(fā)現(xiàn)和網(wǎng)絡(luò)形成的命令,但是介質(zhì)訪問控制層不支持多跳、網(wǎng)型網(wǎng)絡(luò)等概念。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.3網(wǎng)絡(luò)層網(wǎng)絡(luò)層(NWK)主要負(fù)責(zé)設(shè)備加入和退出網(wǎng)絡(luò)、路由管理,在設(shè)備之間發(fā)現(xiàn)和維護(hù)路由,發(fā)現(xiàn)鄰設(shè)備,存儲(chǔ)鄰設(shè)備信息等。
1.地址類型每一個(gè)ZigBee設(shè)備有一個(gè)64位IEEE地址,即MAC地址,跟網(wǎng)卡MAC一樣,是全球唯一的。但在實(shí)際網(wǎng)絡(luò)中,為了方便,通常用16位的短地址來標(biāo)識(shí)自身和識(shí)別對(duì)方,也稱為網(wǎng)絡(luò)地址。對(duì)于協(xié)調(diào)器來說,短地址為0000H;對(duì)于路由器和終端設(shè)備來說,短地址是由它們所在網(wǎng)絡(luò)中的協(xié)調(diào)器分配的。
2.網(wǎng)絡(luò)地址分配網(wǎng)絡(luò)地址分配由網(wǎng)絡(luò)中的協(xié)調(diào)器來完成,為了讓網(wǎng)絡(luò)中的每一個(gè)設(shè)備都有唯一的網(wǎng)絡(luò)地址(短地址),它要按照事先配置的參數(shù),并遵循一定的算法來分配。這些參數(shù)是MAX_DEPTH、MAX_ROUTERS和MAX_CHILDREN。MAX_DEPTH決定了網(wǎng)絡(luò)的最大深度。MAX_CHILDREN決定了一個(gè)路由器或者一個(gè)協(xié)調(diào)器節(jié)點(diǎn)可以連接的子節(jié)點(diǎn)的最大個(gè)數(shù)。MAX_ROUTERS決定了一個(gè)路由器或者一個(gè)協(xié)調(diào)器可以處理的具有路由功能的子節(jié)點(diǎn)的最大個(gè)數(shù)。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.3網(wǎng)絡(luò)層
3.Z-Stack尋址
向ZigBee節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),通常使用AF_DataRequest()函數(shù)。該函數(shù)需要一個(gè)afAssr-Type_t類型的目標(biāo)地址作為參數(shù)。
typedefstruct{union{uint16shortAddr;}addr;afAddrMode_taddrMode;byteendpoint;}afAddrType_t;這里,除了網(wǎng)絡(luò)地址(短地址)和端點(diǎn)外,還要指定地址模式參數(shù)。地址模式參數(shù)可以設(shè)置為以下幾個(gè)值。typedefenum{afAddrNotPresent=AddrNotPresent;afAddr16Bit=Addr16Bit;afAddrGroup=AddrGroup;afAddrBroadcast=AddrBroadcast}afAddrMode_t;3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.3網(wǎng)絡(luò)層
3.Z-Stack尋址在ZigBee協(xié)議棧中,數(shù)據(jù)包可以單點(diǎn)傳送(unicast)、多點(diǎn)傳送(multicast)或者廣播傳送,所以必須有地址模式參數(shù)。一個(gè)單點(diǎn)傳送數(shù)據(jù)包只發(fā)送給一個(gè)設(shè)備,多點(diǎn)傳送數(shù)據(jù)包則要傳送給一組設(shè)備,而廣播數(shù)據(jù)包則要發(fā)送給整個(gè)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.3網(wǎng)絡(luò)層
3.Z-Stack尋址(1)單點(diǎn)傳送單點(diǎn)傳送是標(biāo)準(zhǔn)尋址模式,它將數(shù)據(jù)包發(fā)送給一個(gè)已經(jīng)知道網(wǎng)絡(luò)地址的網(wǎng)絡(luò)設(shè)備。此時(shí)應(yīng)將地址模式設(shè)置為Addr16Bit,并且在數(shù)據(jù)包中攜帶目標(biāo)設(shè)備地址。(2)多點(diǎn)傳送當(dāng)應(yīng)用程序不知道數(shù)據(jù)包的目標(biāo)設(shè)備在哪里時(shí),將地址模式設(shè)置為AddrNotPresent。Z-Stack底層將自動(dòng)從棧的綁定表中查找目標(biāo)設(shè)備的具體網(wǎng)絡(luò)地址,這種特點(diǎn)稱為源綁定。如果在綁定表中找到多個(gè)設(shè)備,則向每個(gè)設(shè)備都發(fā)送一個(gè)數(shù)據(jù)包的復(fù)本。(3)廣播傳送當(dāng)應(yīng)用程序需要將數(shù)據(jù)包發(fā)送給網(wǎng)絡(luò)的每一個(gè)設(shè)備時(shí),將使用廣播模式,此時(shí)將地址模式設(shè)置為AddrBroadcast。目標(biāo)地址shortAddr可以設(shè)置為下面廣播地址中的一種。①NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF):數(shù)據(jù)包將被傳送到網(wǎng)絡(luò)上的所有設(shè)備,包括睡眠中的設(shè)備。對(duì)于睡眠中的設(shè)備,數(shù)據(jù)包將被保留在其父節(jié)點(diǎn),直到蘇醒后主動(dòng)到父節(jié)點(diǎn)查詢,或者直到消息超時(shí)。②NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD):數(shù)據(jù)包將被傳送到網(wǎng)絡(luò)上的所有空閑時(shí)打開接收的設(shè)備(RXONWHENIDELE),即除了睡眠中的所有設(shè)備。③NWK_BROADCAST_SHORTADDR_DEVZCZR(0xFFFC):數(shù)據(jù)發(fā)送給所有的路由器(包括協(xié)調(diào)器,它是一種特殊的路由器)。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.3網(wǎng)絡(luò)層
4.路由路由器的工作是為經(jīng)過路由器的每個(gè)數(shù)據(jù)幀尋找一條最佳傳輸路徑,并將該數(shù)據(jù)有效地傳送到目的節(jié)點(diǎn)。選擇通暢快捷的近路,能大大提高通信速度、減輕網(wǎng)絡(luò)系統(tǒng)通信負(fù)荷、節(jié)約網(wǎng)絡(luò)系統(tǒng)資源、提高網(wǎng)絡(luò)系統(tǒng)暢通率,從而讓網(wǎng)絡(luò)系統(tǒng)發(fā)揮出更大的效益。而在ZigBee無線網(wǎng)絡(luò)中,路由器是非常重要的節(jié)點(diǎn)設(shè)備,它不僅完成路由的功能,更重要的是,它在數(shù)據(jù)傳輸過程中起到了“接力棒”的作用,大大拓展了數(shù)據(jù)傳輸?shù)木嚯x,是ZigBee網(wǎng)絡(luò)中的“交通樞紐”。選擇最佳的策略即路由算法是路由器的關(guān)鍵所在。Z-Stack提供了比較完善、高效的路由算法。路由對(duì)于應(yīng)用層來說是完全透明的。應(yīng)用程序只需將數(shù)據(jù)下發(fā)到協(xié)議棧中,協(xié)議棧會(huì)負(fù)責(zé)尋找路徑,通過多跳的方式將數(shù)據(jù)傳送到目的地址。ZigBee網(wǎng)絡(luò)路由故障能夠自愈,如果某個(gè)無線連接斷開了,路由功能又能自動(dòng)尋找一條新的路徑避開那個(gè)斷開的網(wǎng)絡(luò)連接。這就極大地提高了網(wǎng)絡(luò)的可靠性,這也是ZigBee網(wǎng)絡(luò)的一個(gè)關(guān)鍵特性。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.3網(wǎng)絡(luò)層
4.路由(1)路由協(xié)議ZigBee路由協(xié)議是基于AODV專用網(wǎng)絡(luò)路由協(xié)議來實(shí)現(xiàn)的。ZigBee將AODV路由協(xié)議優(yōu)化,使其能夠適應(yīng)于各種環(huán)境,支持移動(dòng)節(jié)點(diǎn)、連接失敗和數(shù)據(jù)包丟失等復(fù)雜環(huán)境。①路徑的尋找與選擇。②路徑保持與維護(hù)。③路徑期滿處理。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.3網(wǎng)絡(luò)層
4.路由(2)表存儲(chǔ)要實(shí)現(xiàn)路由功能,需要路由器建立一些表格去保持和維護(hù)路由信息。①路由表。②路徑尋找表。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.3網(wǎng)絡(luò)層
5.安全為了保證一個(gè)ZigBee網(wǎng)絡(luò)通信的保密性,防止重要數(shù)據(jù)被竊取,ZigBee協(xié)議還可以采用AEC/CCM安全算法,提供可選的安全功能。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.4應(yīng)用層應(yīng)用層主要包括應(yīng)用支持子層(APS層)和ZigBee設(shè)備對(duì)象(ZDO)。其中,APS負(fù)責(zé)維護(hù)和綁定表、在綁定設(shè)備之間傳送消息;而ZDO定義設(shè)備在網(wǎng)絡(luò)中的角色,發(fā)起和響應(yīng)綁定請(qǐng)求,在網(wǎng)絡(luò)設(shè)備之間建立安全機(jī)制。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.4應(yīng)用層1.綁定在綁定表的條目中,有時(shí)會(huì)有多個(gè)目標(biāo)端點(diǎn),這使得協(xié)議棧自動(dòng)地重復(fù)發(fā)送數(shù)據(jù)包到綁定表指定的各個(gè)目標(biāo)地址。同時(shí),如果在編譯目標(biāo)文件時(shí),編譯選項(xiàng)NV_RESTORE被打開,協(xié)議棧將會(huì)把綁定條目保存在非易失性存儲(chǔ)器里。因此,當(dāng)意外重啟(或者節(jié)點(diǎn)電池耗盡需要更換)等突發(fā)情況發(fā)生時(shí),節(jié)點(diǎn)能自動(dòng)恢復(fù)到掉電前的工作狀態(tài),而不需要用戶重新設(shè)置綁定服務(wù)。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.4應(yīng)用層2.配置文件配置文件(Profile)就是應(yīng)用程序框架,它是由ZigBee技術(shù)開發(fā)商提供的,應(yīng)用于特定的應(yīng)用場(chǎng)合,是用戶進(jìn)行ZigBee技術(shù)開發(fā)的基礎(chǔ)。當(dāng)然,用戶也可以使用專用工具建立自己的配置文件。配置文件是這樣一種規(guī)范,它規(guī)定不同設(shè)備對(duì)消息幀的處理行為,使不同的設(shè)備之間可以通過發(fā)送命令、數(shù)據(jù)請(qǐng)求來實(shí)現(xiàn)互操作。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.2.4應(yīng)用層3.端點(diǎn)端點(diǎn)(EndPoint)是一種網(wǎng)絡(luò)通信中的數(shù)據(jù)通信,它是無線通信節(jié)點(diǎn)的一個(gè)通信部件,如果選擇“綁定”方式實(shí)現(xiàn)節(jié)點(diǎn)間的通信,那么可以直接面對(duì)端點(diǎn)操作,而不需要知道綁定的兩個(gè)節(jié)點(diǎn)的地址信息。每個(gè)ZigBee設(shè)備支持240個(gè)這樣的端點(diǎn)。端點(diǎn)的值和IEEE長(zhǎng)地址、16位短地址一樣,是唯一確定的網(wǎng)絡(luò)地址,通常結(jié)合綁定功能一起使用。它是ZigBee無線通信的一個(gè)重要參數(shù)。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.3.1常用術(shù)語1.資源任何任務(wù)所占用的實(shí)體都可以稱為資源(Resource),如一個(gè)變量、數(shù)組、結(jié)構(gòu)體等。2.共享資源至少可以被兩個(gè)任務(wù)使用的資源稱為共享資源(SharedResource)。為了防止共享資源被破壞,每個(gè)任務(wù)在操作共享資源時(shí),必須保證是獨(dú)占該資源。3.任務(wù)一個(gè)任務(wù)(Task)又稱為一個(gè)線程,是一個(gè)簡(jiǎn)單程序的執(zhí)行過程。單個(gè)任務(wù)中CPU完全是被該任務(wù)獨(dú)占的。在任務(wù)設(shè)計(jì)時(shí),需要將問題盡可能地分為多個(gè)任務(wù),每個(gè)任務(wù)獨(dú)立完成某種功能,同時(shí)被賦予一定的優(yōu)先級(jí),擁有自己的CPU寄存器和堆??臻g。一般將任務(wù)設(shè)計(jì)為一個(gè)無限循環(huán)。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.3.1常用術(shù)語4.多任務(wù)運(yùn)行多任務(wù)運(yùn)行就是一個(gè)線程組,其實(shí)質(zhì)只有一個(gè)任務(wù)在運(yùn)行,但是CPU可以使用任務(wù)調(diào)度策略將多個(gè)任務(wù)進(jìn)行調(diào)度,每個(gè)任務(wù)執(zhí)行特定的時(shí)間,時(shí)間片到了以后,就進(jìn)行任務(wù)切換,由于每個(gè)任務(wù)執(zhí)行時(shí)間都很短,因此,任務(wù)切換比較頻繁,這就造成了多任務(wù)同時(shí)運(yùn)行“假象”。5.內(nèi)核在多任務(wù)系統(tǒng)中,內(nèi)核(Kernel)負(fù)責(zé)管理各個(gè)任務(wù),主要包括為每個(gè)任務(wù)分配CPU時(shí)間,任務(wù)調(diào)度,負(fù)責(zé)任務(wù)間的通信。內(nèi)核提供的基本的內(nèi)核服務(wù)就是任務(wù)切換。使用內(nèi)核可以大大簡(jiǎn)化應(yīng)用系統(tǒng)的程序設(shè)計(jì)方法。借助內(nèi)核提供的任務(wù)切換功能,可以將應(yīng)用程序分為不同的任務(wù)來實(shí)現(xiàn)。6.互斥多任務(wù)通信最簡(jiǎn)單、最常用的方法是使用共享數(shù)據(jù)結(jié)構(gòu)。對(duì)于嵌入式系統(tǒng)而言,所有任務(wù)都在單一的地址空間下,使用共享的數(shù)據(jù)結(jié)構(gòu)包括全局變量、指針、緩沖區(qū)等。雖然共享數(shù)據(jù)結(jié)構(gòu)的方法簡(jiǎn)單,但是必須保證對(duì)共享數(shù)據(jù)結(jié)構(gòu)的寫操作具有唯一性,以避免晶振和數(shù)據(jù)不同步。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.3.1常用術(shù)語7.消息隊(duì)列(MessageQueue)消息隊(duì)列(MessageQueue)用于任務(wù)間傳遞消息,通常包含任務(wù)間同步的信息。通過內(nèi)核提供的服務(wù)、任務(wù)或者中斷服務(wù)程序?qū)⒁粭l消息放入消息隊(duì)列,然后,其他任務(wù)可以使用內(nèi)核提供的服務(wù)從消息隊(duì)列中獲取屬于自己的消息。為了降低傳遞消息的開支,通常傳遞指向消息的指針。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.3.2OSAL簡(jiǎn)介TI的Z-Stack協(xié)議棧就是基于一個(gè)最基本的輪轉(zhuǎn)查詢式操作系統(tǒng),這個(gè)操作系統(tǒng)就是OSAL。一般情況下,用戶只需額外添加三個(gè)文件就可以完成一個(gè)項(xiàng)目,一個(gè)是主控文件,存放具體的任務(wù)事件處理函數(shù)(如SampleApp_ProcessEvent或GenericApp_ProcessEvent);第二個(gè)是這個(gè)主控文件的頭文件(如SampleApp.h);第三個(gè)是操作系統(tǒng)接口文件(如OSAL_SampleApp.c),主要存放任務(wù)數(shù)組tasksArr[],任務(wù)數(shù)組的具體內(nèi)容為每個(gè)任務(wù)的相應(yīng)的處理函數(shù)指針。通過這種方式,Z-Stack就實(shí)現(xiàn)了絕大部分代碼公用,用戶只需要添加這幾個(gè)文件,編寫自己的任務(wù)處理函數(shù)就可以了,無需改動(dòng)Z-Stack核心代碼,大大增加了項(xiàng)目的通用性和易移植性。3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.3.2OSAL簡(jiǎn)介3.2ZigBee無線傳感器網(wǎng)絡(luò)功能層簡(jiǎn)介3.3.2OSAL簡(jiǎn)介應(yīng)用程序框架中包含了最多240個(gè)應(yīng)用程序?qū)ο?,每個(gè)應(yīng)用程序?qū)ο筮\(yùn)行在不同的端口上。因此,端口的作用就是區(qū)分不同的應(yīng)用對(duì)象??梢园岩粋€(gè)應(yīng)用程序?qū)ο罂闯梢粋€(gè)任務(wù)。因此,需要一個(gè)機(jī)制來實(shí)現(xiàn)任務(wù)的切換、同步和互斥,這就是OSAL產(chǎn)生的根源。3.3OSAL多任務(wù)分配機(jī)制SAP是某一特定層提供的服務(wù)與上層之間的接口。大多數(shù)層有數(shù)據(jù)實(shí)體接口和管理實(shí)體接口兩個(gè)接口。其中數(shù)據(jù)實(shí)體接口的目標(biāo)是向上層提供所需的常規(guī)數(shù)據(jù)服務(wù);管理實(shí)體接口的目標(biāo)是向上層提供訪問內(nèi)部層的參數(shù)、配置和管理數(shù)據(jù)服務(wù)。物理層和媒體接入控制子層均屬于IEEE802.15.4標(biāo)準(zhǔn),而IEEE802.15.4標(biāo)準(zhǔn)與網(wǎng)絡(luò)/安全層、應(yīng)用層一起,構(gòu)成了ZigBee協(xié)議棧。3.3.2OSAL簡(jiǎn)介3.3OSAL多任務(wù)分配機(jī)制Z-Stack采用事件輪詢機(jī)制來設(shè)計(jì)操作系統(tǒng),當(dāng)各層初始化之后,系統(tǒng)進(jìn)入低功耗模式,當(dāng)事件發(fā)生時(shí),喚醒系統(tǒng),開始進(jìn)入中斷處理事件,處理結(jié)束后繼續(xù)進(jìn)入低功耗模式。如果同時(shí)有幾個(gè)事件發(fā)生,則判斷優(yōu)先級(jí),逐次處理事件。這種軟件構(gòu)架可以極大地降級(jí)系統(tǒng)的功耗。3.3.3Z-Stack初始化3.3OSAL多任務(wù)分配機(jī)制3.3.3Z-Stack初始化3.4OSAL的運(yùn)行機(jī)制Z-Stack初始化完成后,執(zhí)行osal_start_system()函數(shù)開始運(yùn)行OSAL系統(tǒng)。該任務(wù)調(diào)度函數(shù)按照優(yōu)先級(jí)檢測(cè)各個(gè)任務(wù)是否就緒。如果存在就緒的任務(wù)則調(diào)用tasksArr[]中相對(duì)應(yīng)的任務(wù)處理函數(shù)去處理該事件,直到執(zhí)行完所有就緒的任務(wù)。如果任務(wù)列表中沒有就緒的任務(wù),則可以使處理器進(jìn)入睡眠狀態(tài)實(shí)現(xiàn)低功耗。osal_start_system()一旦執(zhí)行,則不再返回main()函數(shù)。3.4OSAL的運(yùn)行機(jī)制ZigBee協(xié)議棧采用的方法是,建立一個(gè)事件表,保存各個(gè)任務(wù)對(duì)應(yīng)的事件,建立另一個(gè)函數(shù)表,保存各個(gè)任務(wù)事件處理函數(shù)的地址,然后將這兩張表建立某種對(duì)應(yīng)關(guān)系,當(dāng)某一事件發(fā)生時(shí)則查找函數(shù)表即可。OSAL通過tasksEvents指針訪問事件表的每一項(xiàng),如果有事件發(fā)生,則查找函數(shù)表找到事件處理函數(shù)進(jìn)行處理,處理完后,繼續(xù)訪問事件表,查看是否有事件發(fā)生,無限循環(huán)。3.4OSAL的運(yùn)行機(jī)制在ZigBee協(xié)議棧中,三個(gè)關(guān)鍵變量其數(shù)據(jù)結(jié)構(gòu)具體如下。①tasksCnt。該變量保存了任務(wù)數(shù),其聲明為constuint8tasksCnt,其中uint8的定義為typedefunsignedcharuint8。tasksCnt變量的定義在OSALSampleApp.c文件中。②tasksEvents。該變量是一個(gè)指針,指向了事件表的首地址,其聲明為uint16*tasksEvents,其中uint16的定義為typedefunsignedshortuint16。tasksEvents[]是一個(gè)指針數(shù)組,只是在OSAL_SampleApp.c文件中進(jìn)行定義。③tasksArr。該變量是一個(gè)數(shù)組,該數(shù)組的每一項(xiàng)都是一個(gè)函數(shù)指針,指向了事件的處理函數(shù),其聲明為pTaskEventHandlerFntasksArr[],其中pTaskEventHandlerFn的定義為typedefunsignedshort(*pTaskEventHandlerFn)(unsignedchartask_id,unsignedshortevent)。變量pTaskEventHandlerFn的定義在OSAL_Tasks.h文件中。3.4OSAL的運(yùn)行機(jī)制OSAL調(diào)度機(jī)制如下。①入口程序?yàn)閆main.c。②執(zhí)行main()主程序。③任務(wù)調(diào)度初始化osal_init_system()。④默認(rèn)啟動(dòng)了osa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聲樂教師聘用合同模板
- 植物園勤雜工錄用合同
- 方木跳板租賃合同范例
- 光電板安裝合同范例
- 攝影器材購(gòu)銷合同范例
- 企業(yè)電纜出售合同模板
- 小區(qū)臨時(shí)道路合同模板
- 房屋贈(zèng)矛合同范例
- 擔(dān)保合同范例法院
- 收取學(xué)員學(xué)費(fèi)合同模板
- 《剪映專業(yè)版:短視頻創(chuàng)作案例教程(全彩慕課版)》 課件 第6章 創(chuàng)作生活Vlog
- 《心理健康教育主題班會(huì)》主題
- GB 30254-2024高壓三相籠型異步電動(dòng)機(jī)能效限定值及能效等級(jí)
- 重大事故隱患判定標(biāo)準(zhǔn)與相關(guān)事故案例培訓(xùn)課件
- 公安行政執(zhí)法綜合實(shí)訓(xùn)智慧樹知到期末考試答案章節(jié)答案2024年南京警察學(xué)院
- 年度成本費(fèi)用預(yù)算表模板
- 火龍罐綜合灸療法
- 深圳市中小學(xué)生流感疫苗接種知情同意書
- BIM大賽題庫(kù)含答案
- 應(yīng)對(duì)動(dòng)物福利壁壘的對(duì)策和建議
- 科學(xué)小實(shí)驗(yàn)ppt課件[共15頁]
評(píng)論
0/150
提交評(píng)論