




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. . . . 科技大學(xué)本科畢業(yè)論文zigbee通信模塊的設(shè)計(jì)The design of zigbee communication module39 / 48科技大學(xué)畢業(yè)論文(設(shè)計(jì))任務(wù)書(shū)學(xué) 院: 電子信息學(xué)院 專(zhuān) 業(yè):電子信息工程 學(xué) 號(hào): 姓 名:指導(dǎo)教師: 職 稱(chēng):副教授2010年 3 月 1 日畢業(yè)設(shè)計(jì)(論文)題目:ZigBee通信模塊的設(shè)計(jì)一、畢業(yè)設(shè)計(jì)(論文)容與要求(包括原始數(shù)據(jù)、技術(shù)要求、達(dá)到的指標(biāo)和應(yīng)做的實(shí)驗(yàn)等)1 提供條件:DSP開(kāi)發(fā)板,CCS開(kāi)發(fā)環(huán)境、MATLAB、PROTEL99軟件等; 2 設(shè)計(jì)容與
2、要求:(1) 調(diào)研收集分析有關(guān)資料,總結(jié)ZigBee通信模塊的結(jié)構(gòu)特點(diǎn);(2) 確定ZigBee通信模塊的結(jié)構(gòu)設(shè)計(jì)總體原則; (3) 進(jìn)行ZigBee通信模塊的統(tǒng)結(jié)構(gòu)規(guī)計(jì)算;(4) 繪制ZigBee通信模塊的電路框圖、程序流程圖等;(5) 設(shè)計(jì)ZigBee通信模塊的電路圖和C原程序。二、完成后應(yīng)交的作業(yè)(包括各種說(shuō)明書(shū)、圖紙等)1. 畢業(yè)設(shè)計(jì)論文一份(不少于1.5萬(wàn)字);2. 外文譯文一篇(不少于5000英文單詞);3ZigBee通信模塊的電路圖和C原程序。三、完成日期與進(jìn)度自2010年3月1日起至2010年6月27日止進(jìn)度安排:第一三周(3月1日-3月21日):1、 熟悉課題;2、查閱資料;
3、3、翻譯外文文獻(xiàn);4、完成開(kāi)題報(bào)告。第四八周(3月22日-4月25日):1、熟悉DSP單片機(jī)硬件結(jié)構(gòu),掌握常用模塊的設(shè)計(jì)原理;2、硬件、軟件設(shè)計(jì)。第九十一周(4月26日-5月16日):1、硬件、軟件調(diào)試(若有條件)。2、完成中期檢查報(bào)告。第十二十五周(5月17日-6月13日):撰寫(xiě)畢業(yè)設(shè)計(jì)論文。第十六周(6月14日-6月20日):1、交論文; 2、完成畢業(yè)設(shè)計(jì)驗(yàn)收。第十七周(6月21日-6月27日):畢業(yè)答辯。五、主要參考資料(包括書(shū)刊名稱(chēng)、出版年月等):1電子技術(shù)基礎(chǔ) 高等教育 1998。72模擬電子線(xiàn)路2 電子科技大學(xué) 2004.73SP430系列16位超低功耗單片機(jī)原理與實(shí)踐 建華 編著
4、 航空航天大學(xué) 2008.74MSP430單片機(jī)基礎(chǔ)與實(shí)踐 興紅 編著 航空航天大學(xué) 2008.15DSP集成開(kāi)發(fā)環(huán)境 啟琮 編著 電子工業(yè) 2004.76TMS320X28XXX原理與開(kāi)發(fā) 奎峰 編著 電子工業(yè) 2009.37.TMS320X281XDSP應(yīng)用系統(tǒng)設(shè)計(jì) 編著 航空航天大學(xué) 2008.58.MATLAB R2006a基礎(chǔ)篇 巖 編著 化學(xué)工業(yè) 2008.29精通MABLAB接口與編程 王世香 編著 電子工業(yè) 2007.110.Simulink動(dòng)態(tài)系統(tǒng)建模與仿真基礎(chǔ) 穎 編著 電子科技大學(xué) 2004.711.MATLAB仿真應(yīng)用詳解 影樂(lè) 編著 人民郵電 2001.712.從Ma
5、tlab/Simulink模型到代碼實(shí)現(xiàn) 永春 清華大學(xué) 2002.10 系(教研室)主任:(簽章) 年 月 日 學(xué)院主管領(lǐng)導(dǎo): (簽章) 年 月 日摘 要Zigbee是一種新興的短距離,低速率無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)。它是一種介于無(wú)線(xiàn)標(biāo)記與藍(lán)牙之間的技術(shù)提案,此前被稱(chēng)作HomeRF Lite或firefly無(wú)線(xiàn)技術(shù),主要用于近距離無(wú)線(xiàn)連接。它有自己的無(wú)線(xiàn)標(biāo)準(zhǔn),是通過(guò)數(shù)千個(gè)微小的傳感器之間相互協(xié)調(diào)來(lái)實(shí)現(xiàn)通信的。這些傳感器只需要很少的能量,以接力的方式通過(guò)無(wú)線(xiàn)電波將數(shù)從一傳感器傳到另一個(gè)傳感器,所以通信效率非常高。Zigbee技術(shù)應(yīng)用廣泛,包括智能家居,建筑自動(dòng)化,自動(dòng)儀表讀取,工業(yè)自動(dòng)化,冷凍管理和貨柜防
6、護(hù)。這些應(yīng)用讓企業(yè)節(jié)省能源,帶來(lái)經(jīng)濟(jì)和環(huán)保效益;智能家居提升家居安全,舒適度和娛樂(lè)享受;監(jiān)測(cè)如道路與橋梁等公用基建的損耗,避免設(shè)施損壞甚至人員傷亡。Zigbee協(xié)議棧由一組特定的服務(wù);一個(gè)數(shù)據(jù)實(shí)體提供數(shù)據(jù)傳輸服務(wù);一個(gè)管理實(shí)體提供全部其他服務(wù)。每個(gè)服務(wù)實(shí)體通過(guò)一個(gè)服務(wù)接入點(diǎn)為上層提供服務(wù)接口,并且每個(gè)SAP提供一系列的基本服務(wù)指令完成相應(yīng)的功能。關(guān)鍵字:短距離; 智能家居; 協(xié)議棧;AbstractZigbee is a new short-range, low-rate wireless network technology. It is a cross between tag and Bl
7、uetooth wireless technology between the proposals, had been called HomeRF Lite or firefly wireless technology, mainly used for short-range wireless connection. It has its own wireless standard, through thousands oftiny sensors to achieve coordination between the communications. The sensor requires v
8、ery little energy to relay the number through radio waves transmitted from one sensor to another sensor, so the communication efficiency is very high. Zigbee technology is widely used, including smart home, building automation, automatic meter reading, industrial automation, refrigeration management
9、 and container protection. These applications allow enterprises to save energy, bring economic and environmental benefits; smart home improve home safety, comfort and entertainment; monitoring. such as roads and bridges and other public infrastructure losses, to avoid equipment damage and even casua
10、lties. Zigbee protocol stack by a specific set of services; a data entity to provide data transmission services; a management entity to provide all other services. Each service entity through a service aCCess point to provide services for the upper interface, and each SAP order to provide a range of
11、 basic services to complete the functions of the corresponding.Key words:short-range; smart home; Zigbee protocol stack;目錄第一章 緒論11.1 zigbee無(wú)線(xiàn)網(wǎng)絡(luò)的研究背景11.2 zigbee無(wú)線(xiàn)網(wǎng)絡(luò)的研究現(xiàn)狀11.3 zigbee無(wú)線(xiàn)網(wǎng)絡(luò)的研究前景2第二章 zigbee協(xié)議棧42.1 認(rèn)識(shí)zigbee協(xié)議棧42.2設(shè)備類(lèi)型52.2.1 協(xié)調(diào)器62.2.2路由器72.2.3終端設(shè)備72.2.4 棧配置72.3 尋址72.3.1 地址類(lèi)型82.3.2 網(wǎng)絡(luò)地址分配82.3
12、.3 Z-Stack尋址92.3.4 單點(diǎn)傳送102.3.5 間接傳送102.3.6廣播傳送112.3.7組尋址112.3.8重要設(shè)備地址122.4 綁定122.4.1 建立綁定表122.4.2 ZigBee Device Object Binding Request132.4.3 啟動(dòng)申請(qǐng)132.4.4Zigbee設(shè)備對(duì)象終端綁定請(qǐng)求132.4.5 設(shè)備應(yīng)用層綁定管理142.4.6 配置源綁定152.5 路由162.5.1概述162.5.2 路由協(xié)議162.5.3 路徑的發(fā)現(xiàn)和選擇172.5.4 路徑保持維護(hù)182.5.5路徑期滿(mǎn)182.5.6 表存儲(chǔ)182.5.7 路由表182.5.8路徑
13、發(fā)現(xiàn)表182.5.9路徑設(shè)置快速參考192.6安全192.6.1概述192.6.2配置202.6.3網(wǎng)絡(luò)訪(fǎng)問(wèn)控制202.6.4更新密碼202.6.5快速參考212.7本章小結(jié)21第三章 zigbee 開(kāi)發(fā)平臺(tái)233.1 zigbee軟件開(kāi)發(fā)平臺(tái)233.2 zigbee硬件開(kāi)發(fā)平臺(tái)233.2.1 CC2530芯片介紹233.2.2開(kāi)發(fā)板原理253.3小結(jié)26第四章 家庭自動(dòng)化應(yīng)用294.1 軟件設(shè)計(jì)原理294.2 管理器(燈)設(shè)備354.3終端(開(kāi)關(guān))設(shè)備364.4小結(jié)36結(jié) 論39致 40參 考 文 獻(xiàn)41第一章 緒論1.1 zigbee無(wú)線(xiàn)網(wǎng)絡(luò)的研究背景無(wú)線(xiàn)傳感網(wǎng)絡(luò)技術(shù)是典型的具有交叉學(xué)科性
14、質(zhì)的軍民兩用的高科技技術(shù),可以廣應(yīng)用于軍事,國(guó)家安全,交通管理,災(zāi)害預(yù)測(cè),醫(yī)療衛(wèi)生,制造業(yè)和城市信息化建設(shè)等領(lǐng)域。無(wú)線(xiàn)傳感網(wǎng)絡(luò)由許許多多功能一樣或不同的的無(wú)線(xiàn)傳感節(jié)點(diǎn)組成,每一個(gè)傳感節(jié)點(diǎn)又由數(shù)據(jù)采集模塊(傳感器,A/D轉(zhuǎn)換器),數(shù)據(jù)處理和控制模塊(微處理器,存儲(chǔ)器),通信模塊(無(wú)線(xiàn)收發(fā)器)和供電模塊(電池,DC/AC能量轉(zhuǎn)換器)等組成,近期微機(jī)電系統(tǒng)(MEMS)技術(shù)的發(fā)展為傳感器的微型化提供可能,微處理技術(shù)的發(fā)展促進(jìn)了傳感器的智能化,通過(guò)MEMS技術(shù)和射頻(RF)通信技術(shù)的融合促進(jìn)了無(wú)線(xiàn)傳感器與其網(wǎng)絡(luò)的誕生。傳統(tǒng)的傳感器正逐步實(shí)現(xiàn)微型化,智能化,信息化,網(wǎng)絡(luò)化,正經(jīng)歷著一個(gè)從傳統(tǒng)傳感器到智能傳
15、感器再到嵌入式web的涵不斷豐富的發(fā)展過(guò)程。1.2 zigbee無(wú)線(xiàn)網(wǎng)絡(luò)的研究現(xiàn)狀無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是新一代的傳感網(wǎng)絡(luò),具有非常廣泛的應(yīng)用前景,其發(fā)展和應(yīng)用。將會(huì)給人們的生活和生產(chǎn)的各個(gè)領(lǐng)域帶來(lái)深遠(yuǎn)的影響。各國(guó)都非常重視無(wú)線(xiàn)傳感網(wǎng)絡(luò)的發(fā)展,IEEE正在努力推進(jìn)無(wú)線(xiàn)傳感網(wǎng)絡(luò)的應(yīng)用和發(fā)展,波士頓大學(xué)還于最近創(chuàng)辦了傳感器網(wǎng)絡(luò)協(xié)會(huì),期望能促進(jìn)傳感器聯(lián)網(wǎng)技術(shù)開(kāi)發(fā)。美國(guó)技術(shù)評(píng)論雜志在論述未來(lái)新興十大技術(shù)時(shí),更是將無(wú)線(xiàn)傳感器網(wǎng)絡(luò)也加入其中。在“中國(guó)未來(lái)20年技術(shù)遇見(jiàn)研究”中總共157個(gè)技術(shù)課題,其中有7項(xiàng)是直接論述傳感網(wǎng)絡(luò)的。2006年初發(fā)布的國(guó)家長(zhǎng)期科學(xué)與技術(shù)發(fā)展規(guī)劃綱要為信息技術(shù)確定了三個(gè)前沿方向,其中兩個(gè)
16、與無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的研究直接相關(guān),即智能感知技術(shù)和自組織網(wǎng)絡(luò)技術(shù)??梢灶A(yù)計(jì)。無(wú)線(xiàn)傳感網(wǎng)絡(luò)的廣泛應(yīng)用是一種趨勢(shì),它的出現(xiàn)將會(huì)給人類(lèi)社會(huì)帶來(lái)極大的變革。 國(guó)際上比較有代表性和影響力的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)使用和研發(fā)項(xiàng)目有遙控戰(zhàn)場(chǎng)傳感器系統(tǒng),網(wǎng)絡(luò)中心戰(zhàn)與靈巧傳感器網(wǎng)絡(luò),智能塵埃,行為習(xí)性監(jiān)控項(xiàng)目和美國(guó)皇家網(wǎng)絡(luò)等,尤其是最新試驗(yàn)成功的低成本美軍“狼群”地面無(wú)線(xiàn)傳感器網(wǎng)絡(luò)標(biāo)識(shí)著電子戰(zhàn)領(lǐng)域技術(shù)的最新突破。俄亥俄州正在開(kāi)發(fā)“沙地直線(xiàn)”無(wú)線(xiàn)傳感網(wǎng)絡(luò)系統(tǒng)。這個(gè)系統(tǒng)能夠散射電子絆網(wǎng)到任何地方,以偵測(cè)運(yùn)動(dòng)的高金屬含量目標(biāo)。民用方面,美國(guó),日本等國(guó)家在對(duì)該技術(shù)不斷研發(fā)的基礎(chǔ)上在多領(lǐng)域也進(jìn)行了應(yīng)用。英特爾公司與加利福尼亞州大學(xué)伯
17、克利分校正領(lǐng)導(dǎo)“微塵”技術(shù)的研究工作。他們成功創(chuàng)建了瓶蓋大小的全能傳感器,可以執(zhí)行基數(shù)按,檢測(cè)與通信等功能。2002年,英特爾研究實(shí)驗(yàn)室人員將處方藥瓶大小的32個(gè)傳感器連進(jìn)互聯(lián)網(wǎng),以讀出緬因州“大鴨島”上的氣候,評(píng)價(jià)一種海燕巢的條件。而2003年第二季度,他們換用150個(gè)安有D型微型電池的第二代傳感器來(lái)評(píng)估這些鳥(niǎo)巢的條件。他們的目的是讓全世界各國(guó)研究員實(shí)現(xiàn)無(wú)人侵入式與無(wú)破壞的,對(duì)敏感野生物與其棲息地的監(jiān)測(cè)。目前,已有公司開(kāi)發(fā)出了用于家庭福利的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)系統(tǒng),根據(jù)演示,該系統(tǒng)通過(guò)在鞋,家具,以與家用電器中嵌入半導(dǎo)體傳感器,幫助老人,阿爾茨海默病患者以與殘障人士的家庭生活,該系統(tǒng)利用無(wú)線(xiàn)通信將
18、各傳感器聯(lián)網(wǎng)。 在日本,日立制作所與Yrp泛在網(wǎng)絡(luò)化研究所于2004年11月24日宣布開(kāi)發(fā)出全球體積最小的無(wú)線(xiàn)傳感網(wǎng)絡(luò)終端,該終端為安裝電池的有源無(wú)線(xiàn)終端,可以搭建溫度,亮度,紅外線(xiàn),加速度等各種傳感器。設(shè)想應(yīng)用與大樓與家庭的無(wú)線(xiàn)傳感網(wǎng)絡(luò)以與安全管理方面。 在舊金山,200個(gè)聯(lián)網(wǎng)“微塵”,已被部署在金門(mén)大橋上,這些微塵用于確定大橋從一邊到另一邊的擺動(dòng)距離(在強(qiáng)風(fēng)中可以精確幾ft,1ft=0.3048m)。當(dāng)微塵檢測(cè)出移動(dòng)距離時(shí),它將把信息通過(guò)微型計(jì)算機(jī)網(wǎng)絡(luò)傳遞出去。信息最后到達(dá)一臺(tái)強(qiáng)大的計(jì)算機(jī)進(jìn)行數(shù)據(jù)分析。任何 當(dāng)前天氣情況不吻合的異常讀數(shù)都可能預(yù)示著大橋存在隱患。1.3 zigbee無(wú)線(xiàn)網(wǎng)絡(luò)
19、的研究前景微電子技術(shù),計(jì)算機(jī)技術(shù)和無(wú)線(xiàn)通信技術(shù)的進(jìn)步,推動(dòng)了低功耗多功能傳感器的快速發(fā)展,使其在微笑體積能夠集成信息采集,數(shù)據(jù)處理,和無(wú)線(xiàn)通信等多種功能。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)就是由部署在監(jiān)測(cè)區(qū)域大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線(xiàn)通信等多種方式組成的一個(gè)多跳的自組織的網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作和感知,采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對(duì)象的信息,并發(fā)送給觀(guān)察者。傳感器,感知對(duì)象和觀(guān)察者構(gòu)成了傳感網(wǎng)絡(luò)的三個(gè)要素,。如果說(shuō)Internet構(gòu)成了邏輯上的信息世界,改變了人與人之間的溝通方式,那么,無(wú)線(xiàn)傳感網(wǎng)絡(luò)就是將邏輯上的信息世界與客觀(guān)上的物理世界融合在一起,改變?nèi)祟?lèi)與自然界的交互方式。人們可以通過(guò)傳感器網(wǎng)絡(luò)世界
20、直接感知客觀(guān)世界,從而極擴(kuò)展現(xiàn)有網(wǎng)絡(luò)的功能和人類(lèi)認(rèn)識(shí)世界的能力。未來(lái)移動(dòng)通信網(wǎng)絡(luò)除了以低成本實(shí)現(xiàn)數(shù)據(jù)的傳輸外,還要求在無(wú)專(zhuān)用通信基礎(chǔ)設(shè)施的場(chǎng)景下,網(wǎng)絡(luò)具有適應(yīng)性和生存能力,因此無(wú)線(xiàn)傳感器網(wǎng)絡(luò)和自組織網(wǎng)絡(luò)將因器靈活性而在未來(lái)移動(dòng)通信網(wǎng)絡(luò)中起重要作用。 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)是由分布在給定局部區(qū)域足夠多的無(wú)線(xiàn)傳感器節(jié)點(diǎn)構(gòu)成的一種新型信息獲取系統(tǒng)。并且具有一定的計(jì)算能力,。各節(jié)點(diǎn)之間通過(guò)專(zhuān)用的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)信息的交流,匯集和處理,從而實(shí)現(xiàn)給定局部區(qū)域目標(biāo)的探測(cè),識(shí)別,定位和跟蹤,隨著通信技術(shù),嵌入式計(jì)算技術(shù)和傳感器技術(shù)的飛速發(fā)展和日益成熟,具有感知能力,計(jì)算能力和通信能力的微型傳感器開(kāi)始在世界圍出現(xiàn),由這些微
21、型傳感器構(gòu)成的傳感器網(wǎng)絡(luò)引起了人們的極大關(guān)注。 無(wú)線(xiàn)自組織網(wǎng)絡(luò)是一種沒(méi)有預(yù)定技術(shù)設(shè)施支撐的自組織可重構(gòu)的多級(jí)無(wú)線(xiàn)網(wǎng)絡(luò)。在該網(wǎng)絡(luò)中,網(wǎng)絡(luò)拓?fù)?,信道的環(huán)境,業(yè)務(wù)的模式隨節(jié)點(diǎn)的移動(dòng)而動(dòng)態(tài)改變。無(wú)線(xiàn)自組織網(wǎng)絡(luò)可以快速地為名用和軍事應(yīng)用建立通信平臺(tái)。第二章zigbee協(xié)議棧2.1 認(rèn)識(shí)zigbee協(xié)議棧Zigbee協(xié)議棧由一組子層構(gòu)成。每層為其上層提供一組特定的服務(wù):一個(gè)數(shù)據(jù)實(shí)體提供數(shù)據(jù)傳輸服務(wù);一個(gè)管理實(shí)體提供全部其他服務(wù)。每個(gè)服務(wù)實(shí)體通過(guò)一個(gè)服務(wù)接入點(diǎn)(SAP)為其上層提供服務(wù)接口,并且每個(gè)SAP提供一系列電額基本服務(wù)指令來(lái)完成相應(yīng)的功能。Zigbee協(xié)議棧的體系結(jié)構(gòu)包括zigbee應(yīng)用層,IEEE
22、802.15.4MAC層和IEEE802.15.4 PHY層。它雖然是基于標(biāo)準(zhǔn)的7層開(kāi)放式系統(tǒng)互聯(lián)(OSI)模型,但僅對(duì)那些涉與zigbee層予以定義。IEEE802.15.4 2003標(biāo)準(zhǔn)定義了最下面的兩層:物理層(PHY)和戒指介入控制子層。Zigbee聯(lián)盟提供了網(wǎng)絡(luò)層和應(yīng)用層(APL)框架的設(shè)計(jì)。其中應(yīng)用層的框架包括了應(yīng)用支持子層(APS),zigbee設(shè)備對(duì)象(ZDO)和由制造商制定的應(yīng)用對(duì)象。 相對(duì)于常見(jiàn)的無(wú)線(xiàn)通信標(biāo)準(zhǔn),zigbee協(xié)議套件緊湊而簡(jiǎn)單,具體實(shí)現(xiàn)要求很低,zigbee協(xié)議套件的最低需求估計(jì):硬件需要8為處理器,如80C51;軟件需要32kb的rom,最小軟件需要4kb的
23、rom,如CC2530芯片是具有8051核的,存為32-128kb的zigbee無(wú)線(xiàn)單片機(jī);網(wǎng)絡(luò)主節(jié)點(diǎn)需要更多sdram,以容納網(wǎng)絡(luò)中所有節(jié)點(diǎn)的設(shè)備信息,數(shù)據(jù)包轉(zhuǎn)發(fā)表,設(shè)備關(guān)聯(lián)表,與安全有關(guān)的密鑰存儲(chǔ)等。Zigbee聯(lián)盟希望建立一種可連接每個(gè)電子設(shè)備的無(wú)線(xiàn)網(wǎng)。它預(yù)言zigbee將很快成為全球高端的無(wú)線(xiàn)技術(shù),到2007年zigbee節(jié)點(diǎn)可達(dá)到30億個(gè)。具有幾十億個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)將很快耗盡已不足的IPV4的地址空間,因此IPV6與IEEE802.15.4 結(jié)合是傳感器網(wǎng)絡(luò)的發(fā)展趨勢(shì)。IPV6采用128位地址長(zhǎng)度,幾乎可以不受限制地提供地址。使用IAR for c8051 7.5 在工程中打開(kāi)zigbe
24、e協(xié)議棧,可以看到如圖2.1 的整個(gè)協(xié)議棧的框架。App :應(yīng)用層目錄,這是用戶(hù)創(chuàng)建各種不同工程的區(qū)域,在這個(gè)目錄中包含了應(yīng)用層的容和這個(gè)項(xiàng)目的主要容,在協(xié)議棧中一般是以操作系統(tǒng)的任務(wù)實(shí)現(xiàn)的。HAL:硬件抽象層,包含有與硬件相關(guān)的配置和驅(qū)動(dòng)與操作函數(shù)。MAC:MAC層目錄,包含了mac層的參數(shù)配置文件與其mac的LIB 庫(kù)的函數(shù)接口文件。MT:實(shí)現(xiàn)通過(guò)串口可控制各層,并與各層進(jìn)行直接交付。NWK:網(wǎng)絡(luò)層目錄,包含網(wǎng)絡(luò)層配置參數(shù)文件和網(wǎng)絡(luò)層庫(kù)的函數(shù)接口文件與aps層庫(kù)的函數(shù)接口。OSAL:協(xié)議棧的操作系統(tǒng)。PROFILE:AF層的目錄,包含af層處理函數(shù)文件。Security:安全層目錄,包含安
25、全層處理函數(shù),比如加密函數(shù)等。Tools:工程配置目錄,包含空間劃分,與z-stack相關(guān)配置與信息。Zdo:zdo目錄。Zmac:mac目錄,包括mac層參數(shù)配置與mac層lib庫(kù)函數(shù)回調(diào)處理函數(shù)。Zmain:主函數(shù)目錄,包含入口函數(shù)與硬件配置文件。Output:輸出文件目錄,這是IAR ew8051 IDE自動(dòng)生成的。綜上所示,真?zhèn)€協(xié)議棧中對(duì)于zigbee功能已經(jīng)全部體現(xiàn),在此基礎(chǔ)上建立一個(gè)項(xiàng)目的方法主要是改動(dòng)應(yīng)用層。2.2設(shè)備類(lèi)型在ZigBee網(wǎng)絡(luò)中存在三種邏輯設(shè)備類(lèi)型:Coordinator(協(xié)調(diào)器),Router(路由器)和End-Device(終端設(shè)備)。ZigBee網(wǎng)絡(luò)由一個(gè)Co
26、ordinator以與多個(gè)Router和多個(gè)End_Device組成,如圖2.2,zigbee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。 圖2.1 zigbee協(xié)議棧圖2.2 zigbee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)2.2.1協(xié)調(diào)器協(xié)調(diào)器負(fù)責(zé)啟動(dòng)整個(gè)網(wǎng)絡(luò)。它也是網(wǎng)絡(luò)的第一個(gè)設(shè)備。協(xié)調(diào)器選擇一個(gè)信道和一個(gè)網(wǎng)絡(luò)ID(也稱(chēng)之為PAN ID,即Personal Area Network ID),隨后啟動(dòng)整個(gè)網(wǎng)絡(luò)。協(xié)調(diào)器也可以用來(lái)協(xié)助建立網(wǎng)絡(luò)中安全層和應(yīng)用層的綁定(bindings)。注意,協(xié)調(diào)器的角色主要涉與網(wǎng)絡(luò)的啟動(dòng)和配置。一旦這些都完成后,協(xié)調(diào)器的工作就像一個(gè)路由器(或者消失)。由于ZigBee網(wǎng)絡(luò)本身的分布特性,因此接下來(lái)整個(gè)網(wǎng)絡(luò)的操作就
27、不在依賴(lài)協(xié)調(diào)器是否存在。2.2.2路由器路由器的功能主要是:允許其他設(shè)備加入網(wǎng)絡(luò),多跳路由和協(xié)助它自己的由電池供電的兒子終端設(shè)備的通訊。通常,路由器希望是一直處于活動(dòng)狀態(tài),因此它必須使用主電源供電。但是當(dāng)使用樹(shù)群這種網(wǎng)絡(luò)模式時(shí),允許路由間隔一定的周期操作一次,這樣就可以使用電池給其供電1。2.2.3終端設(shè)備終端設(shè)備沒(méi)有特定的維持網(wǎng)絡(luò)結(jié)構(gòu)的責(zé)任,它可以睡眠或者喚醒,因此可以可以是一個(gè)電池供電設(shè)備。通常,終端設(shè)備對(duì)存儲(chǔ)空間(特別是RAM的需要)比較小。注意:在Z-Stack 1.4.1中一個(gè)設(shè)備的類(lèi)型通常在編譯的時(shí)候通過(guò)編譯選項(xiàng)(ZDO_COORDINATOR 和RTR_NWK)確定。所有的應(yīng)用例
28、子都提供獨(dú)立的項(xiàng)目文件來(lái)編譯每一種設(shè)備類(lèi)型。2.2.4 棧配置棧參數(shù)的集合需要被配置為一定的值,連同這些值在一起被稱(chēng)之為棧配置。ZigBee聯(lián)盟定義了這些由棧配置組成的棧參數(shù)。網(wǎng)絡(luò)中的所有設(shè)備必須遵循同樣的棧配置。為了促進(jìn)互用性這個(gè)目標(biāo),ZigBee聯(lián)盟為ZigBee2006規(guī)定義了棧配置。所有遵循此棧配置的設(shè)備可以在其他開(kāi)發(fā)商開(kāi)發(fā)的遵循同樣棧配置的網(wǎng)絡(luò)中。2.3 尋址2.3.1 地址類(lèi)型ZigBee設(shè)備有兩種類(lèi)型的地址。一種是64位IEEE地址,即MAC地址,另一種是16位網(wǎng)絡(luò)地址。64位地址使全球唯一的地址,設(shè)備將在它的生命周期中一直擁有它。它通常由制造商或者被安裝時(shí)設(shè)置。這些地址由IEE
29、E來(lái)維護(hù)和分配。16為網(wǎng)絡(luò)地址是當(dāng)設(shè)備加入網(wǎng)絡(luò)后分配的。它在網(wǎng)絡(luò)中是唯一的,用來(lái)在網(wǎng)絡(luò)中鑒別設(shè)備和發(fā)送數(shù)據(jù)。2.3.2 網(wǎng)絡(luò)地址分配ZigBee使用分布式尋址方案來(lái)分配網(wǎng)絡(luò)地址。這個(gè)方案保證在整個(gè)網(wǎng)絡(luò)中所有分配的地址是唯一的。這一點(diǎn)是必須的,因?yàn)檫@樣才能保證一個(gè)特定的數(shù)據(jù)包能夠發(fā)給它指定的設(shè)備,而不出現(xiàn)混亂。同時(shí),這個(gè)尋址算法本身的分布特性保證設(shè)備只能與他的父輩設(shè)備通訊來(lái)接受一個(gè)網(wǎng)絡(luò)地址。不需要整個(gè)網(wǎng)絡(luò)圍通訊的地址分配,這有助于網(wǎng)絡(luò)的可測(cè)量性。在每個(gè)路由加入網(wǎng)絡(luò)之前,尋址方案需要知道和配置一些參數(shù)。這些參數(shù)是MAX_DEPTH,MAX_ROUTERS和MAX_CHILDREN。這些參數(shù)是棧配置
30、的一部分,ZigBee2006協(xié)議棧已經(jīng)規(guī)定了這些參數(shù)的值:MAX_DEPTH= 5,MAX_ROUTERS = 6和MAX_CHILDREN = 20。MAX_DEPTH決定了網(wǎng)絡(luò)的最大深度。協(xié)調(diào)器(Coordinator)位于深度0,它的兒子位于深度1,他的兒子的的兒子位于深度2,以此類(lèi)推。MAX_DEPTH參數(shù)限制了網(wǎng)絡(luò)在物理上的長(zhǎng)度。MAX_CHILDREN決定了一個(gè)路由(Router)或者一個(gè)協(xié)調(diào)器節(jié)點(diǎn)可以處理的兒子節(jié)點(diǎn)的最大個(gè)數(shù)。MAX_ROUTER決定了一個(gè)路由(Router)或者一個(gè)協(xié)調(diào)器(Coordinator)節(jié)點(diǎn)可以處理的具有路由功能的兒子節(jié)點(diǎn)的最大個(gè)數(shù)。這個(gè)參數(shù)是MAX
31、_CHILDREN的一個(gè)子集,終端節(jié)點(diǎn)使用(MAX_CHILDREN MAX_ROUTER)剩下的地址空間。 如果開(kāi)發(fā)人員想改變這些值,則需要完成以下幾個(gè)步驟: 首先,你要保證這些參數(shù)新的賦值要合法。即,整個(gè)地址空間不能超過(guò)216,這就限制了參數(shù)能夠設(shè)置的最大值??梢允褂胮rojectsZStacktools文件夾下的CSkip.xls文件來(lái)確認(rèn)這些值是否合法。當(dāng)在表格中輸入了這些數(shù)據(jù)后,如果你的數(shù)據(jù)不合法的話(huà)就會(huì)出現(xiàn)錯(cuò)誤信息。當(dāng)選擇了合法的數(shù)據(jù)后,開(kāi)發(fā)人員還要保證不再使用標(biāo)準(zhǔn)的棧配置,取而代之的是網(wǎng)絡(luò)自定義棧配置(例如:在nwk_globals.h文件中將STACK_PROFILE_ID改為
32、NETWORK_SPECIFIC。然后nwk_globals.h文件中的MAX_DEPTH參數(shù)將被設(shè)置為合適的值。 此外,還必須設(shè)置nwk_globals.c文件中的Cskipchldrn數(shù)組和CskipRtrs數(shù)組。這些數(shù)組的值由MAX_CHILDREN和MAX_ROUTER構(gòu)成1。2.3.3 Z-Stack尋址為了向一個(gè)在ZigBee網(wǎng)絡(luò)中的設(shè)備發(fā)送數(shù)據(jù),應(yīng)用程序通常使用AF_DataRequest()函數(shù)。數(shù)據(jù)包將要發(fā)送給一個(gè)afAddrType_t(在ZComDef.h中定義)類(lèi)型的目標(biāo)設(shè)備。typedef structunionuint16 shortAddr; addr;afAdd
33、rMode_t addrMode;byte endPoint; afAddrType_t;注意,除了網(wǎng)路地址之外,還要指定地址模式參數(shù)。目的地址模式可以設(shè)置為以下幾個(gè)值:typedef enumafAddrNotPresent = AddrNotPresent,afAddr16Bit = Addr16Bit,afAddrGroup = AddrGroup,afAddrBroadcast = AddrBroadcast afAddrMode_t;因?yàn)樵赯igbee中,數(shù)據(jù)包可以單點(diǎn)傳送(unicast),多點(diǎn)傳送(multicast)或者廣播傳送,所以必須有地址模式參數(shù)。一個(gè)單點(diǎn)傳送數(shù)據(jù)包只發(fā)送
34、給一個(gè)設(shè)備,多點(diǎn)傳送數(shù)據(jù)包則要傳送給一組設(shè)備,而廣播數(shù)據(jù)包則要發(fā)送給整個(gè)網(wǎng)絡(luò)的所有節(jié)點(diǎn)。這個(gè)將在下面詳細(xì)解釋。2.3.4 單點(diǎn)傳送Uicast是標(biāo)準(zhǔn)尋址模式,它將數(shù)據(jù)包發(fā)送給一個(gè)已經(jīng)知道網(wǎng)絡(luò)地址的網(wǎng)絡(luò)設(shè)備。將afAddrMode設(shè)置為Addr16Bit并且在數(shù)據(jù)包中攜帶目標(biāo)設(shè)備地址。2.3.5 間接傳送當(dāng)應(yīng)用程序不知道數(shù)據(jù)包的目標(biāo)設(shè)備在哪里的時(shí)候使用的模式。將模式設(shè)置為AddrNotPresent并且目標(biāo)地址沒(méi)有指定。取代它的是從發(fā)送設(shè)備的棧的綁定表中查找目標(biāo)設(shè)備。這種特點(diǎn)稱(chēng)之為源綁定。當(dāng)數(shù)據(jù)向下發(fā)送到達(dá)棧中,從綁定表中查找并且使用該目標(biāo)地址。這樣,數(shù)據(jù)包將被處理成為一個(gè)標(biāo)準(zhǔn)的單點(diǎn)傳送數(shù)據(jù)包。
35、如果在綁定表中找到多個(gè)設(shè)備,則向每個(gè)設(shè)備都發(fā)送一個(gè)數(shù)據(jù)包的拷貝。上一個(gè)版本的ZigBee(ZigBee04),有一個(gè)選項(xiàng)可以講綁定表保存在協(xié)調(diào)器(Coordinator)當(dāng)中。發(fā)送設(shè)備將數(shù)據(jù)包發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器查找它棧中的綁定表,然后將數(shù)據(jù)發(fā)送給最終的目標(biāo)設(shè)備。這個(gè)附加的特性叫做協(xié)調(diào)器綁定(Coordinator Binding)。2.3.6廣播傳送當(dāng)應(yīng)用程序需要將數(shù)據(jù)包發(fā)送給網(wǎng)絡(luò)的每一個(gè)設(shè)備時(shí),使用這種模式。地址模式設(shè)置為AddrBroadcast。目標(biāo)地址可以設(shè)置為下面廣播地址的一種:NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)數(shù)據(jù)包將被傳送到網(wǎng)絡(luò)上的所有
36、設(shè)備,包括睡眠中的設(shè)備。對(duì)于睡眠中的設(shè)備,數(shù)據(jù)包將被保留在其父親節(jié)點(diǎn)直到查詢(xún)到它,或者消息超時(shí)(NWK_INDIRECT_MSG_TIMEOUT在f8wConifg.cfg中)。NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD)數(shù)據(jù)包將被傳送到網(wǎng)絡(luò)上的所有在空閑時(shí)打開(kāi)接收的設(shè)備(RXONWHENIDLE),也就是說(shuō),除了睡眠中的所有設(shè)備。NWK_BROADCAST_SHORTADDR_DEVZCZR(0xFFFC)數(shù)據(jù)包發(fā)送給所有的路由器,包括協(xié)調(diào)器。2.3.7組尋址當(dāng)應(yīng)用程序需要將數(shù)據(jù)包發(fā)送給網(wǎng)絡(luò)上的一組設(shè)備時(shí),使用該模式。地址模式設(shè)置為afAddrGroup并且
37、addr.shortAddr設(shè)置為組ID。在使用這個(gè)功能呢之前,必須在網(wǎng)絡(luò)中定義組。(參見(jiàn)Z-stack API文檔中的aps_AddGroup()函數(shù))。注意組可以用來(lái)關(guān)聯(lián)間接尋址。再綁定表中找到的目標(biāo)地址可能是是單點(diǎn)傳送或者是一個(gè)組地址。另外,廣播發(fā)送可以看做是一個(gè)組尋址的特例。下面的代碼是一個(gè)設(shè)備怎樣加入到一個(gè)ID為1的組當(dāng)中:aps_Group_t group;group.ID = 0x0001;0 = 0;aps_AddGroup( SAMPLEAPP_ENDPOINT, &group );2.3.8重要設(shè)備地址應(yīng)用程序可能需要知道它的設(shè)備地址和父親地址。
38、使用下面的函數(shù)獲取設(shè)備地址(在ZStack API中定義):l NLME_GetShortAddr()返回本設(shè)備的16位網(wǎng)絡(luò)地址l NLME_GetExtAddr()返回本設(shè)備的64位擴(kuò)展地址使用下面的函數(shù)獲取該設(shè)備的父設(shè)備的地址:l NLME_GetCoordShortAddr()返回本設(shè)備的父設(shè)備的16位網(wǎng)絡(luò)地址l NLME_GetCoordExtAddr()返回本設(shè)備的父設(shè)備的64位擴(kuò)展地址2.4 綁定綁定是一種兩個(gè)(或者多個(gè))應(yīng)用設(shè)備之間信息流的控制機(jī)制。在ZigBee2006發(fā)布版本中,它被稱(chēng)為資源綁定,所有的設(shè)備都必須執(zhí)行綁定機(jī)制。綁定允許應(yīng)用程序發(fā)送一個(gè)數(shù)據(jù)包而不需要知道目標(biāo)地址
39、。APS層從它的綁定表中確定目標(biāo)地址,然后將數(shù)據(jù)繼續(xù)向目標(biāo)應(yīng)用或者目標(biāo)組發(fā)送。注意:在ZigBee的1.0版本中,綁定表是保存在協(xié)調(diào)器(Coordinator當(dāng)中)?,F(xiàn)在所有的綁定記錄都保存在發(fā)送信息的設(shè)備當(dāng)中2。2.4.1 建立綁定表有三種方法可以建立一個(gè)綁定表:l Zigbee Device Object Bind Request一個(gè)啟動(dòng)工具可以告訴設(shè)備創(chuàng)建一個(gè)綁定記錄l Zigbee Device Object End Device Bind Request兩個(gè)設(shè)備可以告訴協(xié)調(diào)器它們想要建立一個(gè)綁定表記錄。協(xié)調(diào)器來(lái)協(xié)調(diào)并在兩個(gè)設(shè)備中創(chuàng)建綁定表記錄。l Device Application
40、一個(gè)設(shè)備上的應(yīng)用程序建立或者管理一個(gè)綁定表2.4.2 ZigBee Device Object Binding Request任何一個(gè)設(shè)備都可以發(fā)送一個(gè)ZDO信息給網(wǎng)絡(luò)中的另一個(gè)設(shè)備,用來(lái)建立綁定表。稱(chēng)之為援助綁定,它可以為一個(gè)發(fā)送設(shè)備創(chuàng)建一個(gè)綁定記錄。2.4.3 啟動(dòng)申請(qǐng)一個(gè)應(yīng)用程序可以通過(guò)ZDP_BindReq()函數(shù)(在ZDProfile.h),并在綁定表中包含兩個(gè)請(qǐng)求(地址和終點(diǎn))以與想要的群ID。第一個(gè)參數(shù)(目標(biāo)dstAddr)是綁定源的短地址即,16位網(wǎng)絡(luò)地址2。確定你已經(jīng)在ZDConfig.h允許了這個(gè)功能(ZDO_BIND_UNBIND_REQUEST)。你也可以使用ZDP_U
41、nbindReq()用同樣的參數(shù)取消綁定記錄。目標(biāo)設(shè)備發(fā)回ZigBee Device Object Bind 或者Unbind Response信息,該信息是ZDO代碼根據(jù)動(dòng)作的狀態(tài),通過(guò)調(diào)用ZDApp_BindRsq()或者ZDApp_UnbindRsq()函數(shù)來(lái)分析和通知ZDApp.c的。對(duì)于綁定響應(yīng),從協(xié)調(diào)器返回的狀態(tài)將是ZDP_SUCCESS,ZDP_TABLE_FULL或者ZDP_NOT_SUPPORTED。對(duì)于解除綁定響應(yīng),從協(xié)調(diào)器返回的狀態(tài)將是ZDP_SUCCESS,ZDP_NO_ENTRY或者ZDP_NOT_SUPPORTED。2.4.4 Zigbee設(shè)備對(duì)象終端綁定請(qǐng)求這個(gè)機(jī)
42、制是在指定的時(shí)間周期(timeout period),通過(guò)按下選定設(shè)備上的按鈕或者類(lèi)似的動(dòng)作來(lái)綁定。協(xié)調(diào)器在指定的時(shí)間周期,搜集終端設(shè)備的綁定請(qǐng)求信息,然后以配置ID(Profile ID)和群ID(Cluster ID)協(xié)議為基礎(chǔ),創(chuàng)建一個(gè)綁定表記錄作為結(jié)果。默認(rèn)的設(shè)備綁定時(shí)間周期(APS_DEFAULT_MAXBINDING_TIME)是16秒鐘(在nwk_globals.h中定義)。但是將它添加到f8wConfig.cfg中,則可以更改。你應(yīng)該注意到,所有的例程都有處理關(guān)鍵事件的函數(shù)(例如:在TransmitApp.c中的TransmitApp_HandleKeys()函數(shù))。這個(gè)函數(shù)調(diào)
43、用ZDApp_SendEndDeviceBindReq()。這個(gè)函數(shù)搜集所有終端節(jié)點(diǎn)的請(qǐng)求信息,然后調(diào)用ZDP_EndDeviceBindReq()函數(shù)將這些信息發(fā)送給協(xié)調(diào)器。協(xié)調(diào)器調(diào)用函數(shù)ZDP_IncomingData()ZDProfile.c中函數(shù)接收這些信息,然后再調(diào)用ZDApp_ProcessEndDeviceBindReq ()ZDObject.c中函數(shù)分析這些信息,最后調(diào)用ZDApp_EndDeviceBindReqCBZDApp.c中函數(shù),這個(gè)函數(shù)再調(diào)用ZDO_MatchEndDeviceBind()ZDObject.c中函數(shù)來(lái)處理這個(gè)請(qǐng)求。當(dāng)收到兩個(gè)匹配的終端設(shè)備綁定請(qǐng)求,協(xié)
44、調(diào)器在請(qǐng)求設(shè)備中啟動(dòng)創(chuàng)建源綁定記錄的進(jìn)程。假設(shè)在ZDO終端設(shè)備中發(fā)現(xiàn)了匹配的請(qǐng)求,協(xié)調(diào)器將執(zhí)行下面的步驟:l 發(fā)送一個(gè)解除綁定請(qǐng)求給第一個(gè)設(shè)備。這個(gè)終端設(shè)備鎖定進(jìn)程,這樣解除綁定被首先發(fā)送來(lái)去掉一個(gè)已經(jīng)存在的綁定記錄。l 等待ZDO解除綁定的響應(yīng),如果響應(yīng)的狀態(tài)是ZDP_NO_ENTRY,則發(fā)送一個(gè)ZDO綁定請(qǐng)求在源設(shè)備中創(chuàng)建一個(gè)綁定記錄。如果狀態(tài)是ZDP_SUCCESS,則繼續(xù)前進(jìn)到第一個(gè)設(shè)備的群ID。l 等待ZDO綁定響應(yīng),如果收到了,則繼續(xù)前進(jìn)到第一個(gè)設(shè)備的下一個(gè)群ID。l 當(dāng)?shù)匾粋€(gè)設(shè)備完成后,用同樣的方法處理第二個(gè)設(shè)備。l 當(dāng)?shù)诙€(gè)設(shè)備也完成之后,發(fā)送ZDO 終端設(shè)備綁定請(qǐng)求消息給兩個(gè)
45、設(shè)備。2.4.5 設(shè)備應(yīng)用層綁定管理另一種進(jìn)入設(shè)備綁定記錄的方式是應(yīng)用自己管理綁定表。這就意味著應(yīng)用程序需要通過(guò)調(diào)用下面的綁定管理函數(shù)在本地進(jìn)入并且刪除綁定記錄:l bindAddEntry()在綁定表中增加一個(gè)記錄l bindRemoveEntry()從綁定表中刪除一個(gè)記錄l bindRomoveClusterIdFromList()從一個(gè)存在的綁定表記錄中刪除一個(gè)群IDl bindAddClusterIdToList()向一個(gè)已經(jīng)存在的綁定記錄中增加一個(gè)群IDl bindRemoveDev()刪除所有地址引用的記錄l bindRemoveSrcDev()刪除所有源地址引用的記錄l bind
46、UpdateAddr()將記錄更新為另一個(gè)地址l bindFindExisting()查找一個(gè)綁定表記錄l bindIsClusterIdInList()在表記錄中檢查一個(gè)已經(jīng)存在的群IDl bindNumBoundTo()擁有一樣地址(源或者目的)的記錄的個(gè)數(shù)l bindNumEntries()表中記錄的個(gè)數(shù)l bindCapacity()最多允許的記錄個(gè)數(shù)l bindWriteNV()在NV中更新表2.4.6 配置源綁定為了在你的設(shè)備中使能源綁定在f8wConfig.cfg文件中包含REFLECTOR編譯標(biāo)志。同時(shí)在f8wConfig.cfg文件中查看配置項(xiàng)目NWK_MAX_BINDING
47、_ENTRIES和MAX_BINDING_CLUSTER_IDS。NWK_MAX_BINDING_ENTRIES是限制綁定表中的記錄的最大個(gè)數(shù),MAX_BINDING_CLUSTER_IDS是每個(gè)綁定記錄的群ID的最大個(gè)數(shù)。 綁定表在靜態(tài)RAM中(未分配),因此綁定表中記錄的個(gè)數(shù),每條記錄中群ID的個(gè)數(shù)都實(shí)際影響著使用RAM的數(shù)量。每一條綁定記錄是8字節(jié)多(MAX_BINDING_CLUSTER_IDS * 2字節(jié))。除了綁定表使用的靜態(tài)RAM的數(shù)量,綁定配置項(xiàng)目也影響地址管理器中的記錄的個(gè)數(shù)。2.5 路由2.5.1概述路由對(duì)與應(yīng)用層來(lái)說(shuō)是完全透明的。應(yīng)用程序只需簡(jiǎn)單的向下發(fā)送去往任何設(shè)備的數(shù)
48、據(jù)到棧中,棧會(huì)負(fù)責(zé)尋找路徑。這種方法,應(yīng)用程序不知道操作是在一個(gè)多跳的網(wǎng)絡(luò)當(dāng)中的。路由還能夠自愈ZigBee網(wǎng)絡(luò),如果某個(gè)無(wú)線(xiàn)連接斷開(kāi)了,路由功能又能自動(dòng)尋找一條新的路徑避開(kāi)那個(gè)斷開(kāi)的網(wǎng)絡(luò)連接。這就極大的提高了網(wǎng)絡(luò)的可靠性,同時(shí)也是ZigBee網(wǎng)絡(luò)的一個(gè)關(guān)鍵特性3。2.5.2 路由協(xié)議ZigBee執(zhí)行基于用于AODV專(zhuān)用網(wǎng)絡(luò)的路由協(xié)議。簡(jiǎn)化后用于傳感器網(wǎng)絡(luò)。ZigBee路由協(xié)議有助于網(wǎng)絡(luò)環(huán)境有能力支持移動(dòng)節(jié)點(diǎn),連接失敗和數(shù)據(jù)包丟失。當(dāng)路由器從他自身的應(yīng)用程序或者別的設(shè)備那里收到一個(gè)單點(diǎn)發(fā)送的數(shù)據(jù)包,則網(wǎng)絡(luò)層根據(jù)一下程序?qū)⑺^續(xù)傳遞下去。如果目標(biāo)節(jié)點(diǎn)是它相鄰路由器中的一個(gè),則數(shù)據(jù)包直接被傳送給目
49、標(biāo)設(shè)備。否則,路由器將要檢索它的路由表中與所要傳送的數(shù)據(jù)包的目標(biāo)地址相符合的記錄。如果存在與目標(biāo)地址相符合的活動(dòng)路由記錄,則數(shù)據(jù)包將被發(fā)送到存儲(chǔ)在記錄中的下一級(jí)地址中去。如果沒(méi)有發(fā)現(xiàn)任何相關(guān)的路由記錄,則路由器發(fā)起路徑尋找,數(shù)據(jù)包存儲(chǔ)在緩沖區(qū)中知道路徑尋找結(jié)束。ZigBee終端節(jié)點(diǎn)不執(zhí)行任何路由功能。終端節(jié)點(diǎn)要向任何一個(gè)設(shè)備傳送數(shù)據(jù)包,它只需簡(jiǎn)單的將數(shù)據(jù)向上發(fā)送給它的父親設(shè)備,由它的父親設(shè)備以它自己的名義執(zhí)行路由。同樣的,任何一個(gè)設(shè)備要給終端節(jié)點(diǎn)發(fā)送數(shù)據(jù),發(fā)起路由尋找,終端節(jié)的的父親節(jié)點(diǎn)都已它的名義來(lái)回應(yīng)。注意ZigBee地址分配方案使得對(duì)于任何一個(gè)目標(biāo)設(shè)備,根據(jù)它的地址都可以得到一條路徑。在
50、Z-Stack中,如果萬(wàn)一正常的路徑尋找過(guò)程不能啟動(dòng)的話(huà)(通常由于缺少路由表空間),那么Z-Stack擁有自動(dòng)回退機(jī)制。此外,在Z-Stack中,執(zhí)行的路由已經(jīng)優(yōu)化了路由表記錄。通常,每一個(gè)目標(biāo)設(shè)備都需要一條路由表記錄。但是,通過(guò)把一定父親節(jié)點(diǎn)記錄與其子所有子結(jié)點(diǎn)的記錄合并,這樣既可以?xún)?yōu)化路徑也可以不喪失任何功能。ZigBee路由器,包括協(xié)調(diào)器執(zhí)行下面的路由函數(shù):(i)路徑發(fā)現(xiàn)和選擇;(ii)路徑保持維護(hù);(iii)路徑期滿(mǎn)4。2.5.3 路徑的發(fā)現(xiàn)和選擇路徑發(fā)現(xiàn)是網(wǎng)絡(luò)設(shè)備憑借網(wǎng)絡(luò)相互協(xié)作發(fā)現(xiàn)和建立路徑的一個(gè)過(guò)程。路由發(fā)現(xiàn)可以由任意一個(gè)路由設(shè)備發(fā)起,并且對(duì)于某個(gè)特定的目標(biāo)設(shè)備一直執(zhí)行。路徑發(fā)現(xiàn)
51、機(jī)制尋找源地址和目標(biāo)地址之間的所有路徑,并且試圖選擇可能的最好的路徑。路徑選擇就是選擇出可能的最小成本的路徑。每一個(gè)結(jié)點(diǎn)通常持有跟它所有鄰接點(diǎn)的“連接成本(link costs)”。通常,連接成本的典型函數(shù)是接收到的信號(hào)的強(qiáng)度。沿著路徑,求出所有連接的連接成本總和,便可以得到整個(gè)路徑的“路徑成本”。路由算法試圖尋找到擁有最小路徑成本的路徑。路徑通過(guò)一系列的請(qǐng)求和回復(fù)數(shù)據(jù)包被發(fā)現(xiàn)。源設(shè)備通過(guò)向它的所有鄰接節(jié)點(diǎn)廣播一個(gè)路由請(qǐng)求數(shù)據(jù)包,來(lái)請(qǐng)求一個(gè)目標(biāo)地址的路徑。當(dāng)一個(gè)節(jié)點(diǎn)接收到RREQ數(shù)據(jù)包,它依次轉(zhuǎn)發(fā)RREQ數(shù)據(jù)包。但是在轉(zhuǎn)發(fā)之前,它要加上最新的連接成本,然后更新RREQ數(shù)據(jù)包中的成本值。這樣,沿
52、著所有它通過(guò)的連接,RREQ數(shù)據(jù)包攜帶著連接成本的總和。這個(gè)過(guò)程一直持續(xù)到RREQ數(shù)據(jù)包到達(dá)目標(biāo)設(shè)備。通過(guò)不同的路由器,許多RREQ副本都將到達(dá)目標(biāo)設(shè)備。目標(biāo)設(shè)備選擇最好的RREQ數(shù)據(jù)包,然后發(fā)回一個(gè)路徑答復(fù)數(shù)據(jù)包(a Route Reply)RREP給源設(shè)備。RREP數(shù)據(jù)包是一個(gè)單點(diǎn)發(fā)送數(shù)據(jù)包,它沿著中間節(jié)點(diǎn)的相反路徑傳送直到它到達(dá)原來(lái)發(fā)送請(qǐng)求的節(jié)點(diǎn)為止。一旦一條路徑被創(chuàng)建,數(shù)據(jù)包就可以發(fā)送了。當(dāng)一個(gè)結(jié)點(diǎn)與它的下一級(jí)相鄰節(jié)點(diǎn)失去了連接(當(dāng)它發(fā)送數(shù)據(jù)時(shí),沒(méi)有收到MAC ACK),該節(jié)點(diǎn)向所有等待接收它的RREQ數(shù)據(jù)包的節(jié)點(diǎn)發(fā)送一個(gè)RERR數(shù)據(jù)包,將它的路徑設(shè)為無(wú)效。各個(gè)結(jié)點(diǎn)根據(jù)收到的數(shù)據(jù)包RR
53、EQ、RREP或者RERR來(lái)更新它的路由表。2.5.4 路徑保持維護(hù)網(wǎng)狀網(wǎng)提供路徑維護(hù)和網(wǎng)絡(luò)自愈功能。中間節(jié)點(diǎn)沿著連接跟蹤傳送失敗,如果一個(gè)連接被認(rèn)定是壞鏈,那么上游節(jié)點(diǎn)將針對(duì)所有使用這條連接的路徑啟動(dòng)路徑修復(fù)節(jié)點(diǎn)發(fā)起重新發(fā)現(xiàn)直到下一次數(shù)據(jù)包到達(dá)該節(jié)點(diǎn),標(biāo)志路徑修復(fù)完成。如果不能夠啟動(dòng)路徑發(fā)現(xiàn)或者由于某種原因失敗了,節(jié)點(diǎn)則向數(shù)據(jù)包的源節(jié)點(diǎn)發(fā)送一個(gè)路徑錯(cuò)誤包(RERR),它將負(fù)責(zé)啟動(dòng)新路徑的發(fā)現(xiàn)。這兩種方法,路徑都自動(dòng)重建。2.5.5路徑期滿(mǎn)路由表為已經(jīng)建立連接路徑的節(jié)點(diǎn)維護(hù)路徑記錄。如果在一定的時(shí)間周期,沒(méi)有數(shù)據(jù)通過(guò)沿著這條路徑發(fā)送,這條路徑將被表示為期滿(mǎn)。期滿(mǎn)的路徑一直保留到它所占用的空間要
54、被使用為止。這樣,路徑在絕對(duì)不使用之前不會(huì)被刪除掉的。在配置文件f8wConfig.cfg文件中配置自動(dòng)路徑期滿(mǎn)時(shí)間。設(shè)置ROUTE_EXPIRY_TIME為期滿(mǎn)時(shí)間,單位為秒。如果設(shè)置為0,則表示關(guān)閉自動(dòng)期滿(mǎn)功能。2.5.6 表存儲(chǔ)路由功能需要路由器保持維護(hù)一些表格。2.5.7 路由表每一個(gè)路由器包括協(xié)調(diào)器都包含一個(gè)路由表。設(shè)備在路由表中保存數(shù)據(jù)包參與路由所需的信息。每一條路由表記錄都包含有目的地址,下一級(jí)節(jié)點(diǎn)和連接狀態(tài)。所有的數(shù)據(jù)包都通過(guò)相鄰的一級(jí)節(jié)點(diǎn)發(fā)送到目的地址。同樣,為了回收路由表空間,可以終止路由表中的那些已經(jīng)無(wú)用的路徑記錄。路由表的容量表明一個(gè)設(shè)備路由表?yè)碛幸粋€(gè)自由路由表記錄或者
55、說(shuō)它已經(jīng)有一個(gè)與目標(biāo)地址相關(guān)的路由表記錄。在文件“f8wConfig.cfg”文件中配置路由表的大小。將MAX_RTG_ENTRIES設(shè)置為表的大小(不能小于4)。2.5.8路徑發(fā)現(xiàn)表路由器設(shè)備致力于路徑發(fā)現(xiàn),保持維護(hù)路徑發(fā)現(xiàn)表。這個(gè)表用來(lái)保存路徑發(fā)現(xiàn)過(guò)程中的臨時(shí)信息。這些記錄只在路徑發(fā)現(xiàn)操作期間存在。一旦某個(gè)記錄到期,則它可以被另一個(gè)路徑發(fā)現(xiàn)使用。這個(gè)值決定了在一個(gè)網(wǎng)絡(luò)中,可以同時(shí)并發(fā)執(zhí)行的路徑發(fā)現(xiàn)的最大個(gè)數(shù)。這個(gè)可以在f8wConfig.cfg文件中配置MAX_ RREQ_ENTRIES。2.5.9路徑設(shè)置快速參考如表2-1。表2-1 路由表設(shè)置參考設(shè)置路由表大小MAX_RTG_ENTRI
56、ES,這個(gè)值不能小于4 (f8wConfig.cfg文件)設(shè)置路徑期滿(mǎn)時(shí)間ROUTE_EXPIRY_TIME,單位秒。設(shè)置為零則關(guān)閉路徑期滿(mǎn)(f8wConfig.cfg文件)設(shè)置路徑發(fā)現(xiàn)表大小MAX_RREQ_ENTRIES,網(wǎng)絡(luò)中可以同時(shí)執(zhí)行的路徑發(fā)現(xiàn)操作的個(gè)數(shù)2.6安全2.6.1概述AES/CCM安全算法是ZigBee聯(lián)盟以外的研究人員發(fā)明的,并且廣泛應(yīng)用于其他通訊協(xié)議之中。ZigBee提供如下的安全特性:l 構(gòu)造安全 (Infrastructure security)l 網(wǎng)絡(luò)訪(fǎng)問(wèn)控制(Network aCCess control)l 應(yīng)用數(shù)據(jù)安全2.6.2配置為了擁有一個(gè)安全的網(wǎng)絡(luò),首先
57、所有的設(shè)備鏡像的創(chuàng)建,必須將預(yù)處理標(biāo)志位SECURE都置為1。在文件“f8wConfig.cfg”文件中可以找到。接下來(lái),必須選擇一個(gè)默認(rèn)的密碼。這個(gè)可以通過(guò)“f8wConfig.cfg”文件中的DEFAULT_KEY來(lái)設(shè)置。理論上,這個(gè)值設(shè)置為一個(gè)隨機(jī)的128位數(shù)據(jù)。這個(gè)默認(rèn)的密碼可以預(yù)先配置到網(wǎng)絡(luò)上的每個(gè)設(shè)備或者只配置到協(xié)調(diào)器上,然后分發(fā)給假如網(wǎng)絡(luò)的所有設(shè)備。這個(gè)可以通過(guò)文件“nwk_globals.c”文件的gPreConfigKeys選項(xiàng)來(lái)配置。如果這個(gè)值為真,那么默認(rèn)的密碼將被預(yù)先配置到每一個(gè)網(wǎng)絡(luò)設(shè)備上。如果這個(gè)值為假,那么默認(rèn)的密碼只需配置到協(xié)調(diào)器設(shè)備當(dāng)中。注意,在以后的場(chǎng)合,這個(gè)密碼將被分發(fā)到每一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房東租賃合同協(xié)議書(shū)
- 魷魚(yú)傳媒投資協(xié)議書(shū)
- 道路路燈拆除協(xié)議書(shū)
- 道路衛(wèi)生管理協(xié)議書(shū)
- 魚(yú)塘果園流轉(zhuǎn)協(xié)議書(shū)
- 退休經(jīng)濟(jì)補(bǔ)償協(xié)議書(shū)
- 數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)練習(xí)題及答案
- 計(jì)算機(jī)算法在解決問(wèn)題中的作用試題及答案
- 合理備考計(jì)算機(jī)二級(jí)Python試題及答案
- 護(hù)士夜班考試試題及答案
- 2023年安全生產(chǎn)月電力安全生產(chǎn)培訓(xùn)PPT鑄安全文化之魂守安全發(fā)展之基PPT課件(帶內(nèi)容)
- SQL必知必會(huì)(第5版)
- 湘版(2017秋)4年級(jí)下冊(cè)實(shí)驗(yàn)報(bào)告單
- 暖通空調(diào)文獻(xiàn)翻譯
- 水利水電工程施工質(zhì)量檢驗(yàn)與評(píng)定規(guī)程SL176-
- 前滾翻分腿起教案
- SB/T 11118-2015移動(dòng)通訊終端售后服務(wù)規(guī)范
- JJG 905-2010刮板細(xì)度計(jì)
- GB/T 3741.1-1983卡套式端三通管接頭
- 醫(yī)院醫(yī)療費(fèi)用價(jià)格公示制度
- 致敬最美逆行者抗擊疫情主題班會(huì)課件
評(píng)論
0/150
提交評(píng)論