基于ZigBee技術(shù)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)系統(tǒng)研究學(xué)士學(xué)位論文_第1頁(yè)
基于ZigBee技術(shù)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)系統(tǒng)研究學(xué)士學(xué)位論文_第2頁(yè)
基于ZigBee技術(shù)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)系統(tǒng)研究學(xué)士學(xué)位論文_第3頁(yè)
基于ZigBee技術(shù)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)系統(tǒng)研究學(xué)士學(xué)位論文_第4頁(yè)
基于ZigBee技術(shù)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)系統(tǒng)研究學(xué)士學(xué)位論文_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué) 士 學(xué) 位 論 文基于zigbee技術(shù)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)系統(tǒng)研究 摘 要隨著信息技術(shù)的發(fā)展,人們對(duì)無(wú)線(xiàn)通信技術(shù)的要求日益提高。傳統(tǒng)的無(wú)線(xiàn)通信技術(shù)wi-fi、超寬帶通信uwb、近場(chǎng)通信nfc、藍(lán)牙、紅外無(wú)線(xiàn)數(shù)據(jù)通信(irda)等技術(shù),已經(jīng)不能滿(mǎn)足當(dāng)今對(duì)無(wú)線(xiàn)應(yīng)用的需求。尤其是物聯(lián)網(wǎng)技術(shù)的提出,需要傳感器網(wǎng)絡(luò)具有低速率、低功耗、低成本、自組網(wǎng)能力強(qiáng)等特點(diǎn),并且在惡劣的自然環(huán)境下也能正常工作。zigbee技術(shù)就是在這樣的歷史背景下應(yīng)運(yùn)而生。zigbee技術(shù)是一種新興的短距離、低速率無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù),是一種介于無(wú)線(xiàn)標(biāo)識(shí)技術(shù)和藍(lán)牙之間的技術(shù)提案,主要用于近距離無(wú)線(xiàn)連接,其優(yōu)良的自組網(wǎng)性能和網(wǎng)絡(luò)的健壯性整體的

2、網(wǎng)絡(luò)協(xié)調(diào)性等都是其它無(wú)線(xiàn)技術(shù)無(wú)法比擬的。本設(shè)計(jì)是基于zigbee技術(shù)開(kāi)發(fā)的一套無(wú)線(xiàn)傳感網(wǎng)絡(luò)模擬裝置。該裝置采用射頻性能優(yōu)良的ti (texas instruments)公司cc2430芯片作為核心的控制模塊,使用高效的iar集成開(kāi)發(fā)環(huán)境作為軟件平臺(tái),顯示模塊采用hs12232-9 lcd液晶屏顯示模塊,上位機(jī)可通過(guò)pc串口管理全網(wǎng)的數(shù)據(jù)和命令的收發(fā)。串口通信軟件采用vc6.0開(kāi)發(fā),界面友好,使用方便。當(dāng)數(shù)據(jù)的在zigbee網(wǎng)絡(luò)中傳播時(shí),可以在pc機(jī)上使用packed sniffer等抓包軟件捕獲網(wǎng)絡(luò)中的數(shù)據(jù),進(jìn)行研究和分析。本模擬裝置的功能實(shí)現(xiàn)比較完善,網(wǎng)絡(luò)協(xié)調(diào)性較好??梢园凑战M網(wǎng)要求發(fā)送和接

3、收數(shù)據(jù),并將數(shù)據(jù)和命令清楚的顯示在lcd液晶屏上,且數(shù)據(jù)也能夠及時(shí)的上傳給上位機(jī),供管理和使用人員參考和調(diào)試?!娟P(guān)鍵詞】zigbee;無(wú)線(xiàn)傳感器網(wǎng)絡(luò);z-stack;cc2430 abstractwith the development of information technology, the increasing demand for wireless communications technology. the wireless communications technology wi-fi, ultra-wideband communications uwb, near field

4、communication the nfc, bluetooth, infrared wireless data communications (irda) technology, can no longer meet todays demand for wireless applications. especially the internet of things technology, the need to sensor networks with low-rate, low power, low cost, since the networking ability and other

5、characteristics, and in the harsh natural environment can work properly. zigbee technology is against this historical background, came into being. zigbee technology is an emerging short-range, low-rate wireless network technology is a cross between a wireless identification technology and bluetooth

6、technology proposals, mainly for short-range wireless connections, good network performance and network the robustness of the overall network coordination are other wireless technologies can not match. the design is based on zigbee technology developed by a wireless sensor network simulator. the dev

7、ice uses the excellent rf performance of ti (texas instruments) company cc2430 chip as the core of the control module, the use of efficient iar integrated development environment software platform, the display module hs12232-9 lcd lcd screen display module, the host computer through the pc serial po

8、rt manage the whole network to send and receive data and commands. the host computer using vc6.0 development-friendly interface, easy to use. when the spread of data in the zigbee network, you can use on a pc packed the sniffer capture software to capture network data, conduct research and analysis.

9、 simulator functions to achieve a relatively complete network coordination. accordance with the requirements of the network to send and receive data, and data and commands to display on the lcd screen and the data can also be timely upload to the host computer for management and use of personal refe

10、rence and debugging.【key words】 zigbee wireless sensor network;z-stack;the cc2430目 錄第1章 緒論41.1研究背景41.2研究?jī)?nèi)容41.3研究意義5第2章 zigbee技術(shù)62.1 zigbee技術(shù)概述62.2 zigbee技術(shù)的主要特征72.3 zigbee技術(shù)的應(yīng)用72.4分層協(xié)議的概念82.5 物理層(phy)規(guī)范82.5.1 物理層服務(wù)規(guī)范92.5.2 物理層協(xié)議數(shù)據(jù)單元(ppdu)格式92.6 媒體介質(zhì)訪(fǎng)問(wèn)層(mac)層概述92.6.1 mac層數(shù)據(jù)服務(wù)信息流程102.6.2 安全機(jī)制102.6.3 m

11、ac層幀格式112.7 zigbee網(wǎng)絡(luò)層服務(wù)112.7.1 網(wǎng)絡(luò)層服務(wù)介紹112.7.2 zigbee的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)122.7.3 網(wǎng)絡(luò)層路由算法的分析132.8 zigbee應(yīng)用支持子層(aps層)協(xié)議152.8.1 應(yīng)用層概述152.8.2 幀格式152.8.3 zigbee協(xié)議棧各層幀結(jié)構(gòu)之間的關(guān)系16第3章 zigbee開(kāi)發(fā)平臺(tái)173.1 zigbee開(kāi)發(fā)平臺(tái)介紹173.1.1 iar ew8051集成開(kāi)發(fā)環(huán)境及其使用說(shuō)明173.1.2 cc2430芯片概述173.2 ti z-stack軟件架構(gòu)173.2.1系統(tǒng)初始化173.2.2初始化的具體流程183.2.3 操作系統(tǒng)的執(zhí)行20

12、3.2.4 zstack-1.4.3-1.2.1協(xié)議棧項(xiàng)目文件的組織架構(gòu)21第4章 系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)234.1設(shè)備類(lèi)型234.2 信道234.3 panid234.4 方案的整體設(shè)計(jì)244.5 cc2430的串口機(jī)制244.5.1 回調(diào)函數(shù)254.5.2 處理事件uart_rx_cb_evt254.6 工程任務(wù)的初始化操作264.6.1工程選項(xiàng)設(shè)置264.7 zigbee自動(dòng)建網(wǎng)過(guò)程284.8 協(xié)調(diào)器對(duì)節(jié)點(diǎn)的感知304.9 上位機(jī)軟件334.10 運(yùn)行時(shí)數(shù)據(jù)報(bào)解析34第五章 總 結(jié)36附錄1:cc2430芯片架構(gòu)37附錄2:硬件連接圖38附錄3: 協(xié)議設(shè)計(jì)40參考文獻(xiàn)42致 謝44第1章

13、緒論1.1研究背景近年來(lái),隨著社會(huì)的發(fā)展,無(wú)線(xiàn)通信技術(shù)的不斷進(jìn)步,新的無(wú)線(xiàn)技術(shù)正發(fā)揮著新的重要的作用,給人們的生活帶來(lái)新的享受1。物物聯(lián)網(wǎng)的物聯(lián)網(wǎng)世界的提出,被很多國(guó)家政府和企業(yè)提上日程,人們對(duì)無(wú)線(xiàn)技術(shù)也提出了更新的要求?;仡檪鹘y(tǒng)的無(wú)線(xiàn)網(wǎng)絡(luò)例如,藍(lán)牙(bluetooth)、wifi、紅外等技術(shù)已經(jīng)無(wú)法適應(yīng)當(dāng)前的實(shí)際需要2。于是人們致力開(kāi)發(fā)出一種新比較適合人們需要的,近距離,低速率,組網(wǎng)方便的新的無(wú)線(xiàn)技術(shù),其中zigbee技術(shù)是最具有代表性,最能夠由能力適應(yīng)現(xiàn)代無(wú)線(xiàn)網(wǎng)絡(luò)要求的技術(shù)3。zigbee協(xié)議是基于ieee 802.15.4協(xié)議制定的物理層(physical layer,phy)和介質(zhì)訪(fǎng)問(wèn)

14、層(medium access control layer,mac)的基礎(chǔ)上,由zigbee聯(lián)盟制定網(wǎng)絡(luò)層和應(yīng)用支持層組成的。zigbee技術(shù)具有很多其他網(wǎng)絡(luò)無(wú)法比擬的優(yōu)點(diǎn)。一節(jié)zigbee的終端節(jié)點(diǎn)模塊,可以連續(xù)使用長(zhǎng)達(dá)2年。其整體的zigbee組網(wǎng)能力,快速的反應(yīng)能力,已經(jīng)模塊的低成本能經(jīng)受?chē)?yán)酷的自然條件等,都是現(xiàn)代無(wú)線(xiàn)傳感網(wǎng)絡(luò)十分需要的特點(diǎn)。然而作為一種新興的無(wú)線(xiàn)技術(shù),和一切新鮮事物一樣,并不能馬上的被適用于人們的生活、生產(chǎn)中。zigbee技術(shù)在中國(guó)正處于這樣一種狀態(tài),政府和很多的企業(yè)都在致力于研發(fā)各種zigbee產(chǎn)品以便盡快將zigbee技術(shù)應(yīng)用于市場(chǎng)。很多高校也正在加緊對(duì)zigbee

15、技術(shù)方面的人才的培養(yǎng),以及技術(shù)的創(chuàng)新等。本文正是從這一背景出發(fā),調(diào)查當(dāng)前社會(huì)對(duì)無(wú)線(xiàn)技術(shù)的需求,結(jié)合無(wú)線(xiàn)技術(shù)的發(fā)展趨勢(shì)和zigbee的技術(shù)特點(diǎn),利用zigbee無(wú)線(xiàn)技術(shù)實(shí)現(xiàn)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)模擬裝置。1.2研究?jī)?nèi)容使用zigbee技術(shù)來(lái)實(shí)現(xiàn)無(wú)線(xiàn)傳感器網(wǎng)絡(luò),主要需要考慮通信節(jié)點(diǎn)的硬件設(shè)計(jì),以及實(shí)現(xiàn)相應(yīng)功能所必須的軟件開(kāi)發(fā)。本設(shè)計(jì)從實(shí)際出發(fā),采用先進(jìn)的ti公司的cc2430芯片,利用性能較高的iar embedded workbench 開(kāi)發(fā)工具對(duì)一個(gè)完整的zigbee網(wǎng)絡(luò)的組網(wǎng)過(guò)程進(jìn)行實(shí)驗(yàn),然后在無(wú)線(xiàn)傳感網(wǎng) zigbee 套件上實(shí)現(xiàn)了一個(gè)網(wǎng)狀拓?fù)浣Y(jié)構(gòu)的通信實(shí)驗(yàn)。在無(wú)線(xiàn)網(wǎng)絡(luò)組網(wǎng)完成后,通過(guò)設(shè)定的協(xié)議命令

16、在pc機(jī)端使用串口將數(shù)據(jù)發(fā)至zigbee的協(xié)調(diào)器模塊。zigbee模塊即可完成全網(wǎng)的數(shù)據(jù)監(jiān)控。同時(shí)在無(wú)線(xiàn)網(wǎng)絡(luò)的傳輸中,加入自己網(wǎng)絡(luò)控制命令,使得全網(wǎng)能按照預(yù)定的要求進(jìn)行數(shù)據(jù)的傳輸,同時(shí)結(jié)合上位機(jī)軟件將網(wǎng)絡(luò)數(shù)據(jù)通過(guò)協(xié)調(diào)器傳至pc機(jī)的人機(jī)交互界面,友好的展示了數(shù)據(jù)的傳輸方式和傳輸過(guò)程。此模擬裝置充分的展示了zigbee的功能特性,解析了zigbee各層協(xié)議的數(shù)據(jù)封裝,使開(kāi)發(fā)者能快速的掌握zigbee的技術(shù)要領(lǐng),給需要使用zigbee的項(xiàng)目提供借鑒。同時(shí)具有移植方便,稍微加以修改即可應(yīng)用在實(shí)際的項(xiàng)目中。1.3研究意義zigbee技術(shù)的諸多特性,必然使得其在未來(lái)的無(wú)線(xiàn)領(lǐng)域中占有很大的優(yōu)勢(shì)。zigbee

17、技術(shù)的普及也將為企業(yè)在無(wú)線(xiàn)器材的選擇方面多了很大的信心。但是目前,國(guó)內(nèi)zigbee技術(shù)尚處在萌芽階段,市場(chǎng)是可行的zigbee解決方案屈指可數(shù)。一方面對(duì)于準(zhǔn)備進(jìn)入zigbee領(lǐng)域的人來(lái)說(shuō),苦于找不好很好的教材,和很合適的模塊。另一方面,中小型企業(yè)也無(wú)精力和財(cái)力去從零開(kāi)始研發(fā)zigbee的設(shè)備。本設(shè)計(jì)從選擇芯片和搭建軟件平臺(tái),到完成整體的設(shè)計(jì)架構(gòu)和測(cè)試流程。本身就是一次zigbee技術(shù)的實(shí)際應(yīng)用,演示了如何將zigbee技術(shù)應(yīng)用于實(shí)際的生活生產(chǎn)中。根據(jù)具體的需要,降低產(chǎn)品成本,定制出屬于特定環(huán)境和特定任務(wù)的無(wú)線(xiàn)傳感器模塊,增加協(xié)議命令控制傳感器的特定動(dòng)作。以及選擇zigbee無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的使用

18、條件和范圍等。目前大多數(shù)用戶(hù)只能借鑒于zigbee廠(chǎng)商提供的開(kāi)發(fā)平臺(tái)進(jìn)行應(yīng)用層程序的開(kāi)發(fā),但是運(yùn)用廠(chǎng)商提供的開(kāi)發(fā)平臺(tái)和開(kāi)發(fā)工具,用戶(hù)再選芯片型等方面會(huì)受到很大限制,極大的束縛了zigbee產(chǎn)業(yè)的發(fā)展。所以搭建一個(gè)可以很快就應(yīng)用于商業(yè)用途的zigbee使用模型就顯得非常重要,本課題正是在此思想上設(shè)計(jì)了一套非常實(shí)用的模擬裝置,實(shí)現(xiàn)了zigbee的重要的功能特性。無(wú)論從zigbee的理論上,還是從實(shí)際的應(yīng)用中都很有價(jià)值。第2章 zigbee技術(shù)2.1 zigbee技術(shù)概述zigbee技術(shù)有很多的優(yōu)點(diǎn),無(wú)線(xiàn)收發(fā)距離短、協(xié)議復(fù)雜度較低、整體耗能低、成本低廉、網(wǎng)絡(luò)反應(yīng)快等。這使zigbee技術(shù)非常適合對(duì)距

19、離和傳輸速率不高的場(chǎng)合,可以有效的降低使用成本,長(zhǎng)時(shí)間的持續(xù)工作也很方便去管理zigbee的無(wú)線(xiàn)網(wǎng)絡(luò)4。2000年12月美國(guó)電氣和電子工程師協(xié)會(huì)(ieee) 成立了ieee802.15.4工作組,目的在于研究一種低速率、低成本、低功耗、低時(shí)延的無(wú)線(xiàn)網(wǎng)絡(luò)協(xié)議。zigbee技術(shù)正是這一網(wǎng)絡(luò)協(xié)議的代名詞5。zigbee棧體系結(jié)構(gòu)是一種分層結(jié)構(gòu)。每一個(gè)層的主要任務(wù)是向上層提供兩種服務(wù):數(shù)據(jù)實(shí)體服務(wù)和管理實(shí)體服務(wù)。服務(wù)實(shí)體是通過(guò)服務(wù)接入點(diǎn)(sap)為上層提供所需的服務(wù)。其中sap的功能是通過(guò)一些服務(wù)原語(yǔ)來(lái)實(shí)現(xiàn)。zigbee協(xié)議棧結(jié)構(gòu),基于開(kāi)放網(wǎng)絡(luò)互連(osi)七層協(xié)議模型。ieee802.15.4-20

20、03標(biāo)準(zhǔn)定義了zigbee協(xié)議的低兩層,物理層(phy)和數(shù)據(jù)鏈路層(mac)。zigbee聯(lián)盟在物理層和mac層的基礎(chǔ)上制定了網(wǎng)絡(luò)層和應(yīng)用支持子層。如圖2-1為zigbee體系堆棧的框架圖。圖2-1 zigbee堆??蚣?.2 zigbee技術(shù)的主要特征與藍(lán)牙、wifi等無(wú)線(xiàn)通信技術(shù)相比,zigbee協(xié)議相對(duì)簡(jiǎn)單、所需要的硬件資源較少,所以硬件平臺(tái)相對(duì)十分簡(jiǎn)單,主要有以下特點(diǎn): 低功耗:省電是zigbee一個(gè)非常重要的特點(diǎn),zigbee節(jié)點(diǎn)的工作周期短、信息收發(fā)功耗低、zigbee終端節(jié)點(diǎn)采用了休眠機(jī)制,兩節(jié)普通的5號(hào)干電池可以支持6個(gè)月到2年的工作時(shí)間。 低成本:由于zigbee協(xié)議棧需要

21、想對(duì)較少的資源,極大降低了zigbee的開(kāi)發(fā)成本,據(jù)官方稱(chēng),最少可以達(dá)到兩美元,而且zigbee協(xié)議是免專(zhuān)利費(fèi)的。 短時(shí)延:網(wǎng)絡(luò)通信時(shí)延短,zigbee節(jié)點(diǎn)從休眠狀態(tài)轉(zhuǎn)到工作狀態(tài)很迅速。搜索一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)時(shí)延僅為30ms,休眠激活時(shí)延和信道接入時(shí)延均為為15ms。 短距離:一個(gè)zigbee節(jié)點(diǎn)的有效傳播距離為30-200m??梢愿采w家庭等空間較小的應(yīng)用場(chǎng)所。 低速率:2.4 ghz頻段為250 kb/s,915mhz頻段為40kb/s,868mhz頻段只有20kb/s。 數(shù)據(jù)可靠傳輸:zigbee采用了csma/ca碰撞避免機(jī)制(carrier sense multiple access wit

22、h collision avoidance),提高了無(wú)線(xiàn)的傳輸效率。媒體接入層采用完全確認(rèn)的數(shù)據(jù)傳輸機(jī)制,每個(gè)數(shù)據(jù)包的發(fā)送,都需要接收方的給出確認(rèn)操作,保證了數(shù)據(jù)包可靠地傳輸。2.3 zigbee技術(shù)的應(yīng)用基于zigbee技術(shù)的無(wú)線(xiàn)傳感網(wǎng)絡(luò)在現(xiàn)實(shí)生活中具有重大的應(yīng)用前景,目前已存在的傳感器廣泛的應(yīng)用于各個(gè)領(lǐng)域:煤炭、醫(yī)療、航天、國(guó)防、建筑物的測(cè)量、生態(tài)系統(tǒng)的觀(guān)察等等6。礦井下人員的定位,隨時(shí)了解井下作業(yè)人員的工作位置;瓦斯的偵測(cè),防止意外的瓦斯泄露等。緊急情況發(fā)生時(shí)還可以指導(dǎo)作業(yè)人員安全撤離。1 醫(yī)院護(hù)理人員可以通過(guò)zigbee定位設(shè)備設(shè)備隨時(shí)了解病人的活動(dòng)或貴重醫(yī)療器械的放置等。結(jié)合相關(guān)傳感

23、器還可以偵測(cè)病人的身體和生理狀態(tài)。保證病人的24小時(shí)看護(hù)狀態(tài)。2 士兵身上攜帶zigbee設(shè)備,在條件復(fù)雜的環(huán)境下,可便于統(tǒng)一的指揮和管理,同時(shí)單兵的身體狀態(tài)等也能及時(shí)反饋給后勤人員,以便及時(shí)的求助。3 生態(tài)系統(tǒng)的觀(guān)察,在一些人類(lèi)無(wú)法輕易進(jìn)入的地方,可以利用zigbee節(jié)點(diǎn),將設(shè)備分布在監(jiān)護(hù)地區(qū)的各個(gè)地方。結(jié)合溫濕度、光度、風(fēng)度等傳感器可將數(shù)據(jù)上匯聚至協(xié)調(diào)器后通過(guò)有線(xiàn)或者其他無(wú)線(xiàn)網(wǎng)絡(luò)傳至千里之外的控制中心,極大的方便了研究人員的工作。4 隨著我國(guó)政府大力倡導(dǎo)無(wú)線(xiàn)網(wǎng)絡(luò)射頻技術(shù)的發(fā)展,構(gòu)建物物聯(lián)網(wǎng)的未來(lái)世界相信也在不久的將來(lái)。而zigbee技術(shù)無(wú)疑是這一領(lǐng)域的先力軍,其優(yōu)越的性能必將給即將到來(lái)的物

24、聯(lián)網(wǎng)的時(shí)代創(chuàng)造一個(gè)很好的條件。zigbee技術(shù)必將廣泛的應(yīng)用到生活的各個(gè)層面。2.4分層協(xié)議的概念分層是zigbee協(xié)議的重要概念,每一層是通過(guò)建立服務(wù)接入點(diǎn)完成對(duì)上層提供服務(wù)。層與層間通過(guò)服務(wù)原語(yǔ)進(jìn)行數(shù)據(jù)與管理的交互服務(wù)。原語(yǔ)只是一種抽象的概念,用來(lái)指定所提供的服務(wù),但不指定具體的服務(wù)角色。下圖說(shuō)明了原語(yǔ)的概念。 服務(wù)提供層(本層)()服務(wù)使用者(上層)服務(wù)使用者(上層)requestindicationconfirmresponse圖2-2 原語(yǔ)的概念原語(yǔ)通常分為四種基本類(lèi)型7: request:請(qǐng)求原語(yǔ)用于上層向本層請(qǐng)求指定的服務(wù)。 confirm:確認(rèn)原語(yǔ)本層用于相應(yīng)上層發(fā)來(lái)的請(qǐng)求原語(yǔ)

25、。 indication:指示原語(yǔ)用本層發(fā)給上層指示本層的某一內(nèi)部事件。 response:響應(yīng)原語(yǔ)用于上層響應(yīng)本層發(fā)出的指示原語(yǔ)。2.5 物理層(phy)規(guī)范ieee 802.15.4定義了兩個(gè)物理層標(biāo)準(zhǔn),它操作于兩個(gè)分離的頻率范圍:868/915mhz(美國(guó)、歐洲和澳大利亞)和2.4ghz供全世界使用。zigbee的物理層主要的任務(wù) 是以下幾點(diǎn)8: 無(wú)線(xiàn)收發(fā)機(jī)的開(kāi)啟和關(guān)閉 檢測(cè)信道上的能量 查看分組的鏈路質(zhì)量 基于csma-ca的空閑信道評(píng)估(cca) 發(fā)送和接受數(shù)據(jù)2.5.1 物理層服務(wù)規(guī)范物理層定義了物理無(wú)線(xiàn)信道和與mac層之間的接口,提供物理層數(shù)據(jù)服務(wù)和物理層管理服務(wù)。物理層數(shù)據(jù)服務(wù)

26、是從無(wú)線(xiàn)物理信道上收發(fā)數(shù)據(jù),物理層管理服務(wù)維護(hù)一個(gè)由物理層相關(guān)數(shù)據(jù)組成的數(shù)據(jù)庫(kù)。2.5.2 物理層協(xié)議數(shù)據(jù)單元(ppdu)格式 物理層協(xié)議數(shù)據(jù)單元(ppdu)由三部分組成:同步頭(shr)允許接收設(shè)備同步并鎖定比特流;物理層幀頭(phr)包含的是幀長(zhǎng)信息;有效載荷部分psdu。表 2-1 ppdu的格式字節(jié)數(shù):411可變長(zhǎng)度引導(dǎo)序列幀開(kāi)始符幀長(zhǎng)(7位)預(yù)留(1位)物理層服務(wù)數(shù)據(jù)單元同步頭(shr)物理層幀頭(phr)物理層有效載荷同步碼域用來(lái)為后續(xù)數(shù)據(jù)的收發(fā)提供碼片或者數(shù)據(jù)符號(hào)的同步;幀定界符用來(lái)表示同步域的結(jié)束及報(bào)文數(shù)據(jù)的開(kāi)始;幀長(zhǎng)度域用7bit定義物理層凈荷的字節(jié)數(shù);物理層數(shù)據(jù)域長(zhǎng)度根據(jù)情

27、況可變(長(zhǎng)度為5字節(jié)或大于7字節(jié))、承載了物理層報(bào)文數(shù)據(jù),包含有mac層數(shù)據(jù)幀。2.6 媒體介質(zhì)訪(fǎng)問(wèn)層(mac)層概述 ieee 802.15.4定義的媒體介入控制層的使用了傳統(tǒng)無(wú)線(xiàn)局域網(wǎng)中的帶沖突避免的載波多路偵聽(tīng)訪(fǎng)問(wèn)技術(shù)csma/ca方式,mac層主要提供了數(shù)據(jù)傳輸服務(wù)(mcps)和管理服務(wù)(mlme),其功能主要入下:(1) 網(wǎng)絡(luò)協(xié)調(diào)器產(chǎn)生并發(fā)送信標(biāo)幀(2) 設(shè)備與信標(biāo)同步(3) 支持ran網(wǎng)絡(luò)的關(guān)聯(lián)和取消關(guān)聯(lián)操作。(4) 為設(shè)備的安全性提供支持。(5) 信道接入方式采用免沖突載波檢測(cè)多路訪(fǎng)問(wèn)(csma-ca)機(jī)制;(6) 處理和維護(hù)保護(hù)時(shí)隙機(jī)制(7) 在對(duì)等的mac實(shí)體之間提供一個(gè)可靠

28、地通信鏈路。圖2-3 物理層參考模型2.6.1 mac層數(shù)據(jù)服務(wù)信息流程 請(qǐng)求由發(fā)送方上層發(fā)起,調(diào)用原語(yǔ)mcps-data-request將數(shù)據(jù)傳至mac層。mac層將數(shù)據(jù)再次封裝形成ppdu通過(guò)物理層發(fā)送。數(shù)據(jù)傳至對(duì)方的物理直到mac層,對(duì)方會(huì)對(duì)數(shù)據(jù)進(jìn)行確認(rèn),這是數(shù)據(jù)鏈路層上的確認(rèn)協(xié)議。隨后對(duì)方的接收的數(shù)據(jù)通過(guò)發(fā)起mcps-data-indicate將數(shù)據(jù)傳至上層。確認(rèn)幀被發(fā)送方接收后一次完整的數(shù)據(jù)傳輸才結(jié)束。如圖2-4為數(shù)據(jù)的在協(xié)議層之間的傳送。圖2-4協(xié)議層之間數(shù)據(jù)的傳送數(shù)據(jù)在協(xié)調(diào)器中的傳輸模式分為數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器和數(shù)據(jù)從協(xié)調(diào)器傳出。2.6.2 安全機(jī)制zigbee使用mac層的安全機(jī)制

29、來(lái)加密mac命令、信標(biāo)和確認(rèn)幀。mac層使用aes(advanced encryption standard)作為其核心加密算法,通過(guò)該算法來(lái)保證mac幀的機(jī)密性、完整性和真實(shí)性。mac層使用加密方式來(lái)發(fā)送(或接收)幀時(shí),首先查看幀的目的地址(或源地址),取得與目的(或源)地址相關(guān)的密鑰,并使用為該密鑰指定的安全組合來(lái)處理該幀。每個(gè)密鑰都與單獨(dú)的安全組合相關(guān)。mac幀的頭部有一個(gè)比特來(lái)指示該幀是否加密9。2.6.3 mac層幀格式介質(zhì)訪(fǎng)問(wèn)控制層(mac)幀被稱(chēng)為mac協(xié)議數(shù)據(jù)單元(mpdu),其長(zhǎng)度不超過(guò)127個(gè)字節(jié)。表 2-2 mac幀的通用格式幀控制序列號(hào)地址字段負(fù)載校驗(yàn)(fcs)mac

30、header(mhr)mac載荷mac footer(mfr)mac層定義了4種不同的幀格式,分別是信標(biāo)幀、數(shù)據(jù)幀、確認(rèn)幀和mac命令2.7 zigbee網(wǎng)絡(luò)層服務(wù)2.7.1 網(wǎng)絡(luò)層服務(wù)介紹網(wǎng)絡(luò)層提供保證ieee 802.15.4mac層正確工作的能力并為應(yīng)用層提供合適的服務(wù)接口。網(wǎng)絡(luò)層(nwk)負(fù)責(zé)建立和維護(hù)網(wǎng)絡(luò)連接,它獨(dú)立處理傳入數(shù)據(jù)請(qǐng)求、關(guān)聯(lián)、解除關(guān)聯(lián)和孤立通知請(qǐng)求。網(wǎng)狀層主要負(fù)責(zé)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的建立與管理,以及維護(hù)網(wǎng)絡(luò)的連接,主要功能包括: 設(shè)備連接和斷開(kāi)網(wǎng)絡(luò)時(shí)所采用的機(jī)制,以及在幀信息傳輸過(guò)程中所采用的安全策略。 作為網(wǎng)絡(luò)中路由器和協(xié)調(diào)器的網(wǎng)絡(luò)層還負(fù)責(zé)路由發(fā)現(xiàn),維護(hù)路由表、轉(zhuǎn)交路由信息

31、、下一跳路由的發(fā)現(xiàn)等,網(wǎng)絡(luò)層還維護(hù)一個(gè)信息庫(kù)(pib)來(lái)存儲(chǔ)這些必要的路由信息,當(dāng)網(wǎng)絡(luò)出現(xiàn)異?;蛘唠娫粗貑r(shí),可以快速恢復(fù)網(wǎng)絡(luò)。 協(xié)調(diào)器節(jié)點(diǎn)的網(wǎng)絡(luò)層還必須具有創(chuàng)建新網(wǎng)絡(luò)的能力,同時(shí)也有為新加入的其他節(jié)點(diǎn)分配zigbee網(wǎng)絡(luò)短地址的能力。 網(wǎng)絡(luò)層還需要提供其他的功能接口,確保mac層能正常工作,同時(shí)向上層(aps)層提供數(shù)據(jù)和管理等服務(wù)接口。圖2-6 網(wǎng)絡(luò)層參考模型nwk層通過(guò)兩個(gè)服務(wù)接入點(diǎn)(sap)提供了兩種服務(wù)。zigbee的網(wǎng)絡(luò)層采用基于ad hoc的路由協(xié)議,除了具有通用的網(wǎng)絡(luò)層功能外,還應(yīng)該與底層的ieee802.15.4標(biāo)準(zhǔn)的功耗一樣小,同時(shí)要實(shí)現(xiàn)網(wǎng)絡(luò)的自組織和自維護(hù)。應(yīng)用支持子層把

32、不同的應(yīng)用映射到zigbee網(wǎng)絡(luò)上,主要包括安全屬性的設(shè)置、業(yè)務(wù)發(fā)現(xiàn)、設(shè)備發(fā)現(xiàn)和多個(gè)業(yè)務(wù)數(shù)據(jù)流的匯聚等功能。nlme需要提供一個(gè)管理服務(wù)以允許一個(gè)應(yīng)用來(lái)與協(xié)議操作交互,nlme需要提供以下服務(wù): 配置一個(gè)新網(wǎng)絡(luò),具有必須的配置硬件資源,如棧等。配置選項(xiàng)包括:zigbee協(xié)調(diào)器的開(kāi)始操作,申請(qǐng)加入存在的zigbee網(wǎng)絡(luò)。 啟動(dòng)網(wǎng)絡(luò),具有創(chuàng)建網(wǎng)絡(luò)的能力 能夠加入和退出zigbee網(wǎng)絡(luò)。 尋址,具有由zigbee協(xié)調(diào)器或者zigbee路由器給其他剛加入的網(wǎng)絡(luò)節(jié)點(diǎn)分配zigbee短地址的能力。 鄰居路由的發(fā)現(xiàn),具有發(fā)現(xiàn)、記錄并報(bào)告一跳范圍內(nèi)設(shè)備的能力。 路由發(fā)現(xiàn):具有發(fā)現(xiàn)并記錄路徑的能力。表2-3 n

33、wk幀格式字節(jié)數(shù):22211可變長(zhǎng)度幀控制目地址源地址半徑序號(hào)幀有效載荷路由字段nwk頭nwk有效載荷2.7.2 zigbee的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)zigbee定義了三種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):星型網(wǎng)絡(luò)拓?fù)?(star),主要針對(duì)小范圍內(nèi)的數(shù)據(jù)通信,節(jié)點(diǎn)較簡(jiǎn)單網(wǎng)絡(luò)中無(wú)路由器;簇樹(shù)網(wǎng)絡(luò)拓?fù)?tree),是將星型網(wǎng)絡(luò)與網(wǎng)狀網(wǎng)絡(luò)結(jié)合的折中方案,結(jié)構(gòu)比網(wǎng)狀網(wǎng)絡(luò)簡(jiǎn)單,其網(wǎng)絡(luò)健壯性比星型網(wǎng)絡(luò)要強(qiáng)很多;網(wǎng)狀網(wǎng)絡(luò)拓?fù)?mesh),是一種類(lèi)似網(wǎng)狀的拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)健壯性最強(qiáng),但同時(shí)也需要很大的硬件資源來(lái)支持。2.7.3 網(wǎng)絡(luò)層路由算法的分析在無(wú)線(xiàn)傳感網(wǎng)絡(luò)中,如何降低節(jié)點(diǎn)的功耗是個(gè)很重要的研究課題。經(jīng)研究顯示:路由選擇協(xié)議和mac協(xié)

34、議對(duì)無(wú)線(xiàn)通信模塊的能量消耗起著關(guān)鍵的影響。衡量一個(gè)傳感器網(wǎng)絡(luò)路由協(xié)議的重要指標(biāo)就是合理的利用網(wǎng)絡(luò)中各個(gè)傳感器節(jié)點(diǎn)的有限能量,使得網(wǎng)絡(luò)保持聯(lián)通性的時(shí)間更長(zhǎng)。一個(gè)好的zigbee路由,不僅要在有效利用zigbee協(xié)議不太豐富的硬件資源基礎(chǔ)上,還要符合zigbee協(xié)議的低功耗要求。1 路由成本計(jì)算路由成本使用到得算法是衡量路徑成本在路由發(fā)現(xiàn)和維護(hù)之間進(jìn)行路徑比較。例如鏈路成本,就是針對(duì)網(wǎng)絡(luò)中的每一鏈路。對(duì)鏈路成本值求和,即是這個(gè)鏈路層上的路勁成本。一般情況下,定義路徑m長(zhǎng)n,對(duì)于一組有序的節(jié)點(diǎn)a1,a2,a3.,al,其中一個(gè)鏈路,ai,aj,其子路徑長(zhǎng)度為2,那么成本就是sp=對(duì)于每個(gè)值作為一個(gè)鏈

35、路的成本。鏈路成本s(l)是對(duì)鏈路l的函數(shù),取值范圍為07,公式定義為:其中 pl為在鏈路層上傳輸數(shù)據(jù)包的概率10。問(wèn)題是如何計(jì)算pl的。可以通過(guò)計(jì)算實(shí)際接收到的信標(biāo)和數(shù)據(jù)幀,即是通過(guò)觀(guān)察合適的數(shù)據(jù)序列號(hào)來(lái)檢測(cè)丟失的幀,這種方法被認(rèn)為是接受概率最準(zhǔn)確的測(cè)量方法。然而實(shí)際應(yīng)用中最直接的方法就是估算一個(gè)均值,這個(gè)均值是有ieee802.15.4-2003物理層和媒體接入層提供的每一個(gè)幀lqi值的平均??梢允褂靡粋€(gè)函數(shù)映射出lqi與s(l)的關(guān)系。由于不精確的測(cè)量結(jié)果會(huì)影響到zigbee路由算法的性能,所以該組織推薦使用者要檢測(cè)他們生產(chǎn)的測(cè)試數(shù)據(jù)11。路由表非終端節(jié)點(diǎn)需要對(duì)路由進(jìn)行維護(hù),并將數(shù)據(jù)暫存

36、于zigbee路由表中。如表2-4路由表所示。表2-4路由表域名型號(hào)描述目的地址2b本節(jié)點(diǎn)2byte網(wǎng)絡(luò)地址狀態(tài)3b路由狀態(tài),見(jiàn)表3-5下一條地址2b下一條2bytet網(wǎng)絡(luò)地址表2-5 路由狀態(tài)域值數(shù)值狀態(tài)0x0active0x1discovery_underway0x2discovery_failed0x3inactive0x4-0x7保留作為有路由能力的非終端的zigbee節(jié)點(diǎn)(協(xié)調(diào)器、路由器)它本身需要有一定的物理資源來(lái)存儲(chǔ)這些表項(xiàng)。同時(shí)它也需要維護(hù)一個(gè)路由發(fā)現(xiàn)表,路由表項(xiàng)是一直存在的,并使動(dòng)態(tài)更行的。路由發(fā)現(xiàn)表的持續(xù)時(shí)間僅僅在當(dāng)路由器需要進(jìn)行路由發(fā)現(xiàn)操作時(shí)進(jìn)行12,如表2-6路由發(fā)現(xiàn)表

37、所示。表2-6 路由發(fā)現(xiàn)表域名型號(hào)描述路由請(qǐng)求id16bit路由的請(qǐng)求命令幀序列號(hào),在每次的操作后會(huì)自動(dòng)加1源地址16bit數(shù)據(jù)發(fā)出節(jié)點(diǎn)的16bit的網(wǎng)絡(luò)地址發(fā)送者地址16bit數(shù)據(jù)在路由中,這個(gè)表項(xiàng)記錄發(fā)出最新最低成本的路由的中間路由節(jié)點(diǎn)的16bit的網(wǎng)絡(luò)地址,這個(gè)值最終決定了路由響應(yīng)的命令幀的路徑。運(yùn)輸成本16bit累計(jì)一個(gè)數(shù)據(jù)包從源地址到當(dāng)前設(shè)備所經(jīng)過(guò)的所有路徑成本剩余成本16bit累計(jì)一個(gè)數(shù)據(jù)包從當(dāng)前設(shè)備到目的設(shè)備所經(jīng)過(guò)的的路徑成本路由發(fā)現(xiàn)當(dāng)一個(gè)數(shù)據(jù)需要被發(fā)送時(shí),如果此節(jié)點(diǎn)是終端節(jié)點(diǎn)則直接將數(shù)據(jù)傳至給其能夠進(jìn)行路由的父親節(jié)點(diǎn)。由父親節(jié)點(diǎn)代為進(jìn)行路由發(fā)現(xiàn)。當(dāng)網(wǎng)絡(luò)層接收到來(lái)自高層的nlde

38、_data.reques原語(yǔ)時(shí),其discover參數(shù)設(shè)置為0x02或者是0x01時(shí),都需要使用網(wǎng)絡(luò)層路由發(fā)現(xiàn)能力。如果網(wǎng)絡(luò)層接收到了來(lái)自底層mac層的數(shù)據(jù)幀,而且其地址為廣播地址,首先網(wǎng)絡(luò)層將會(huì)廣播這個(gè)數(shù)據(jù)幀,然后將數(shù)據(jù)幀轉(zhuǎn)交給上層進(jìn)行處理。如果接收到的來(lái)自mac的幀不是廣播幀,網(wǎng)絡(luò)層將檢查數(shù)據(jù)幀的目的地址是否是它本身的邏輯地址。如果相等則說(shuō)明是傳給自己幀,立刻交給上層aps層進(jìn)行數(shù)據(jù)的處理,否則,該設(shè)備將作為中間設(shè)備繼續(xù)講此數(shù)據(jù)幀進(jìn)行路由發(fā)現(xiàn)操作13。圖2-8為節(jié)點(diǎn)接收到上層或其他節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包時(shí),網(wǎng)絡(luò)層處理程序的流程圖。圖2-8路由算法流程圖2.8 zigbee應(yīng)用支持子層(aps層)

39、協(xié)議 2.8.1 應(yīng)用層概述應(yīng)用層包括應(yīng)用支持子層,設(shè)備管理配置層(zdo)和用戶(hù)的應(yīng)用程序組成的。用戶(hù)的應(yīng)用程序由具體的zigbee模塊生產(chǎn)廠(chǎng)商,根據(jù)需求來(lái)規(guī)定。它使用應(yīng)用支持層提供的協(xié)議棧管理功能,來(lái)管理zigbee協(xié)議棧。2.8.2 幀格式 aps幀格式由一個(gè)aps幀頭和aps有效載荷組成。aps幀頭域有固定的順序,在幀中可以不包含地址域,圖2-9 為aps的幀格式結(jié)構(gòu)圖。圖2-9 aps幀格式結(jié)構(gòu)圖2.8.3 zigbee協(xié)議棧各層幀結(jié)構(gòu)之間的關(guān)系在zigbee的協(xié)議棧中,協(xié)議層之間的數(shù)據(jù)的通信是利用幀的格式來(lái)組織的。協(xié)議層的每一層都有自己特定的結(jié)構(gòu),當(dāng)應(yīng)用層需要發(fā)送數(shù)據(jù)時(shí),協(xié)議層會(huì)將

40、數(shù)據(jù)從應(yīng)用層向下一層層的封裝,經(jīng)過(guò)的每一層都需要加上相應(yīng)的幀頭部,最后構(gòu)成要發(fā)送的幀的信息。其幀結(jié)構(gòu)之間的關(guān)系如下圖2-10所示:圖2-10協(xié)議幀之間的關(guān)系第3章 zigbee開(kāi)發(fā)平臺(tái)3.1 zigbee開(kāi)發(fā)平臺(tái)介紹3.1.1 iar ew8051集成開(kāi)發(fā)環(huán)境及其使用說(shuō)明iar embedded workbench 是一套集成開(kāi)發(fā)工具,主要是使用c/c+等語(yǔ)言編寫(xiě)的嵌入式程序進(jìn)行編譯和調(diào)試。iar embedded workbench 是一套高度精密且使用方便的嵌入式應(yīng)用編程開(kāi)發(fā)工具。iar集成了,編輯器,編譯器,連接器,調(diào)試器,工程管理器等。使用非常的方便,而且編譯出二進(jìn)制代碼的效率非常高。

41、代碼優(yōu)化性能好。3.1.2 cc2430芯片概述cc2420/30射頻芯片是chipcon公司(挪威)推出的全球首款符合zigbee聯(lián)盟制定的標(biāo)準(zhǔn)的設(shè)備芯片,主要工作在2.4ghz。cc2430采用的是片上集成系統(tǒng)(soc),是高集成度的解決方案。不需要搭配過(guò)多的外置原件,使用底層本的原件,使得zigbee節(jié)點(diǎn)的構(gòu)建成本低廉。cc2430延續(xù)了cc2420的優(yōu)良的射頻性能。功耗低,靈敏度高,抗噪性能好以及抗干擾性強(qiáng)等。cc2430采用工業(yè)標(biāo)準(zhǔn)的增強(qiáng)型8051作為微控制核心,另外cc2430同時(shí)具有很強(qiáng)大的外設(shè)功能。例如定時(shí)器/計(jì)數(shù)器、看門(mén)狗(watch dog)、adc、以及多個(gè)中斷源上電復(fù)位

42、電路等。在接收和發(fā)射時(shí)電流損耗低,工作模式轉(zhuǎn)換迅速,這使得模塊節(jié)點(diǎn)的損耗更低,滿(mǎn)足zigbee低功耗的要求,是一款很好的zigbee節(jié)電模塊的解決方案14。zigbee網(wǎng)絡(luò)中的節(jié)點(diǎn)都可以實(shí)用cc2430作為主要的控制芯片。ti(德州儀器公司)研發(fā)的cc2430/31、cc2530/31等芯片具備了實(shí)現(xiàn)zigbee技術(shù)的各種底層硬件要求,是真正的一體化解決方案,完全符合zigbee技術(shù)對(duì)節(jié)點(diǎn)“體積小、低功耗、低成本”的要求15。3.2 ti z-stack軟件架構(gòu)3.2.1系統(tǒng)初始化z-stack的main函數(shù)在zmain.c中,main函數(shù)里主要是先進(jìn)行各種硬件模塊的初始化操作,完成后進(jìn)入一個(gè)

43、簡(jiǎn)單的zigbee操作系統(tǒng)實(shí)體,如圖3-1 z-stack軟件架構(gòu)所示。系統(tǒng)初始化初始化執(zhí)行操作系統(tǒng)主程序開(kāi)始圖3-1 z-stack軟件架構(gòu)在系統(tǒng)初始化階段,主要是完成各個(gè)硬件外設(shè)和軟件的初始化,為進(jìn)入操作系統(tǒng)做好準(zhǔn)備。下面結(jié)合代碼說(shuō)明:zseg int main( void )osal_int_disable( ints_all );/關(guān)閉所有的中斷hal_board_init();/初始化晶振zmain_vdd_check(); /檢測(cè)電壓zmain_ram_init(); /初始化堆棧initboard( ob_cold ); /配置系統(tǒng)定時(shí)器以及重啟原因檢查haldriverinit

44、(); /初始化硬件模塊osal_nv_init( null ); / nv system初始化flash存儲(chǔ)zmain_ext_addr(); /形成節(jié)點(diǎn)mac地址zginit(); /nv items初始化非易失變量zmacinit(); /mac初始化mac層osal_init_system(); /初始化操作系統(tǒng)osal_int_enable( ints_all );/打開(kāi)中斷initboard( ob_ready ); /初始化按鍵osal_start_system(); /執(zhí)行操作系統(tǒng) / main()3.2.2初始化的具體流程系統(tǒng)的初始化,主要是對(duì)軟、硬件的初始化,為進(jìn)入操作系統(tǒng)

45、準(zhǔn)備條件。主要分為初始化系統(tǒng)時(shí)鐘、檢測(cè)芯片的工作電壓、初始化堆棧、初始化各個(gè)硬件模塊、初始化flash存儲(chǔ)、形成芯片mac地址、初始化非易失變量、初始化mac層協(xié)議、初始化應(yīng)用層幀協(xié)議、初始化操作系統(tǒng)等十余部分16,其具體流程圖和對(duì)應(yīng)的函數(shù)如 圖3-2所示。圖3-2 zigbee系統(tǒng)結(jié)構(gòu)的初始化3.2.3 操作系統(tǒng)的執(zhí)行 程序的開(kāi)始代碼里,首先進(jìn)行一系列的初始化工作,(主要是針對(duì)zigbee模塊上的硬件)。隨后啟動(dòng)代碼為操作系統(tǒng)執(zhí)行做好準(zhǔn)備工作后,就開(kāi)始執(zhí)行操作系統(tǒng)入口程序,并由此徹底將控制權(quán)移交給操作系統(tǒng),完成新老更替,自己則光榮的推出舞臺(tái)。操作系統(tǒng)實(shí)體只有一句代碼:osal_start_s

46、ystem();/沒(méi)有返回值這是一個(gè)死循環(huán)的函數(shù)。當(dāng)程序進(jìn)入到操作系統(tǒng)里,就會(huì)一直重復(fù)操作系統(tǒng)的規(guī)則,去輪詢(xún)的檢查各個(gè)事件的發(fā)生并及時(shí)的去處理優(yōu)先級(jí)較高的部分,函數(shù)主題代碼如下:void osal_start_system( void )for(;) / 進(jìn)入死循環(huán) uint8 idx = 0;hal_processpoll(); / 硬件抽象層事件的檢測(cè)do if (taskseventsidx)/高優(yōu)先級(jí)事件產(chǎn)生.break; while (+idx taskscnt);if (idx taskscnt)uint16 events;halintstate_t intstate;hal_en

47、ter_critical_section(intstate);/進(jìn)入臨界去taskseventstask_id |= event_flag; events = taskseventsidx;/提取事件taskseventsidx = 0; /清除事件hal_exit_critical_section(intstate);events = (tasksarridx)( idx, events );/調(diào)用處理函數(shù)hal_enter_critical_section(intstate); taskseventsidx|=events;/未處理完的事件繼續(xù)放入事件數(shù)組中hal_exit_critica

48、l_section(intstate);/其中tasksevens用于存放所有事件的數(shù)組,數(shù)組中每一個(gè)元素對(duì)應(yīng)一個(gè)任務(wù)事件。程序中,首先使用while循環(huán)檢查是否有事件發(fā)生,按照順序檢查這樣就會(huì)先考慮較高優(yōu)先級(jí)的任務(wù)事件也就是安排到數(shù)組地位置的任務(wù)事件。在找到具有事件的第一個(gè)任務(wù)后,跳出循環(huán)并獲得此任務(wù)的idx號(hào)events=tastseventsidx。然后調(diào)用存放對(duì)應(yīng)位置的事件處理函數(shù)(tasksarridx)(idx,events)來(lái)對(duì)所發(fā)生的事件進(jìn)行處理。根據(jù)不同的idx就可以執(zhí)行不同的處理不同的事件17。3.2.4 zstack-1.4.3-1.2.1協(xié)議棧項(xiàng)目文件的組織架構(gòu) app

49、:應(yīng)用層目錄,這個(gè)目錄下的三個(gè)文件就是創(chuàng)建一個(gè)新項(xiàng)目時(shí)主要添加的文件,當(dāng)要?jiǎng)?chuàng)建另外一個(gè)新項(xiàng)目時(shí),也只需主要換掉這三個(gè)文件。 hal:硬件抽象層,用于調(diào)試,hal_drivers.c驅(qū)動(dòng)文件,抽象出與硬件無(wú)關(guān)的函數(shù),包含有與硬件相關(guān)的配置和驅(qū)動(dòng)及操作函數(shù)。include目錄下主要包含各個(gè)硬件模塊的頭文件,而target目錄下的文件是跟硬件相關(guān)的可以看出有兩個(gè)平臺(tái)cc2430db和cc2430eb其中cc2430db是白色的,說(shuō)明當(dāng)前并沒(méi)有使用此平臺(tái)。 mac:mac層目錄,high level和low level兩個(gè)目錄表示mac層分為了高層和底層兩層,在include文件下存放了mac層的一些

50、參數(shù)配置文件和mac的lib庫(kù)文件。 mt:該目錄下主要是存放了一些用于通過(guò)串口調(diào)試與各層進(jìn)行交互的內(nèi)容。 nwk:該目錄下主要是存放了網(wǎng)絡(luò)層的配置參數(shù)文件及網(wǎng)絡(luò)層庫(kù)的函數(shù)接口文件。 osal:簡(jiǎn)單的針對(duì)協(xié)議棧的操作系統(tǒng) profile:af層目錄,主要包含了af層處理函數(shù)接口文件。 security:安全層目錄,包含安全層處理函數(shù)接口文件。 services:zigbee和802.15.4處理地址的函數(shù)目錄。 tools:配置工程的目錄,包括空間劃分及zigbee配置的相關(guān)信息。 zdo:指zigbee設(shè)備對(duì)象,可認(rèn)為是一種公共的功能集,方便用戶(hù)用自定義的對(duì)象調(diào)用aps子層的服務(wù)和nwk層的

51、服務(wù)。 zmac:其中zmac.c是z-stack mac導(dǎo)出層接口文件,zdapp_config_pan_id是zmac需要調(diào)用的網(wǎng)絡(luò)層函數(shù)。 zmain:在此文件中最終了函數(shù)是zseg int main( void )它在zmain.c中是整個(gè)程序的入口。 output:工程輸出文件目錄,這個(gè)是由iar自動(dòng)生成的文件。第4章 系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)4.1設(shè)備類(lèi)型在zigbee網(wǎng)絡(luò)中存在三種邏輯設(shè)備類(lèi)型:協(xié)調(diào)器(coordinator),路由器(router)和終端設(shè)備(end-device)。zigbee網(wǎng)絡(luò)由一個(gè)協(xié)調(diào)器以及多個(gè)路由器和多個(gè)終端設(shè)備組成,它最主要的作用是啟動(dòng)網(wǎng)絡(luò),其方法是選擇

52、一個(gè)相對(duì)空閑的信道,形成一個(gè)panid。它也會(huì)協(xié)助建立網(wǎng)絡(luò)中的安全層及處理應(yīng)用層的綁定。當(dāng)整個(gè)網(wǎng)絡(luò)啟動(dòng)和配置完成后,它的功能退化為一個(gè)路由器。路由器的主要功能是提供接力作用,能擴(kuò)展信號(hào)的傳輸范圍,因此,一般情況下它應(yīng)該一直處于活動(dòng)狀態(tài)下,不應(yīng)睡眠。終端設(shè)備可以睡眠或者喚醒,因此可以用電池供電。4.2 信道2.4ghz的射頻頻段被分為16個(gè)獨(dú)立的信道。每一個(gè)設(shè)備都有一個(gè)default_chanlist的默認(rèn)信道集。協(xié)調(diào)器掃描自己的默認(rèn)信道并選擇噪聲最小的信道作為自己所建網(wǎng)絡(luò)的信道。終端節(jié)點(diǎn)和路由器也要掃描默認(rèn)信道集并選擇一個(gè)信道已經(jīng)存在的網(wǎng)絡(luò)加入。4.3 panidpanid是網(wǎng)絡(luò)的編號(hào),用于標(biāo)

53、識(shí)不同的zigbee網(wǎng)絡(luò)。設(shè)備的panid值與zdapp_config_pan_id值的設(shè)置有關(guān)。如果協(xié)調(diào)器zdapp_config_pan_id被設(shè)置為0xffff,協(xié)調(diào)器將會(huì)產(chǎn)生一個(gè)隨機(jī)的panid,最為自己的網(wǎng)絡(luò)編號(hào)。如果路由器的zdapp_config_pan_id為0xffff,路由器將根據(jù)自己的配置信道隨機(jī)選擇一個(gè)zigbee網(wǎng)絡(luò)加入。若協(xié)調(diào)器的zdapp_config_pan_id非0xffff那么協(xié)調(diào)器將會(huì)根據(jù)自己的網(wǎng)絡(luò)長(zhǎng)地址(64bit)隨機(jī)產(chǎn)生一個(gè)panid。并以此panid建立網(wǎng)絡(luò)。如果非協(xié)調(diào)器節(jié)點(diǎn)的zdapp_config_pan_id非0xffff則該節(jié)點(diǎn)將會(huì)以zda

54、pp_config_pan_id作為panid去加入此網(wǎng)絡(luò)。如果協(xié)調(diào)器的panid為小于0x3fff的值。那么協(xié)調(diào)器將會(huì)以此panid去建立網(wǎng)絡(luò),如果在此panid上已經(jīng)存在了zigbee網(wǎng)絡(luò),那么協(xié)調(diào)器將會(huì)繼續(xù)搜尋其他的panid直到不沖突為止。這樣就存在了問(wèn)題如果協(xié)調(diào)器在默認(rèn)的信道上發(fā)生了panid的沖突而去更改了自己的panid,而路由器和終端節(jié)點(diǎn)并不知道協(xié)調(diào)器panid的改變。還會(huì)集訓(xùn)加入的panid為zdapp_config_pan_id值的網(wǎng)絡(luò)中18。4.4 方案的整體設(shè)計(jì)該設(shè)計(jì)選用天運(yùn)公司的zigbee模塊,該模塊主要集成了ti公司cc2430為主要控制芯片,使用搭配的smartrf04eb下載調(diào)試器進(jìn)行實(shí)驗(yàn)。工程的整體架構(gòu)的數(shù)據(jù)流向如圖3-4所示,其中兩個(gè)非協(xié)調(diào)器端點(diǎn)各自攜帶了一個(gè)顯示lcd設(shè)備。lcd設(shè)備選擇hs12232-9,它內(nèi)置了st7920a驅(qū)動(dòng)控制器,點(diǎn)陣為 12232點(diǎn),每行7個(gè)半漢字,共2行 hs12232-9集成了漢字字模且具有顯示信息豐富、功耗低、體積小、重量輕、超薄,與單品機(jī)的連接可選擇并行或者串行兩種方式等優(yōu)點(diǎn)21。 圖4-1 方案的總體設(shè)計(jì)4.5 cc2430的串口機(jī)制協(xié)調(diào)器通過(guò)232串口于上位機(jī)進(jìn)行數(shù)據(jù)的交流,主要是將網(wǎng)絡(luò)中的數(shù)據(jù)通過(guò)串口傳送給上位機(jī),同時(shí)接收上位機(jī)發(fā)出的命令和數(shù)據(jù)。協(xié)調(diào)器到路由器數(shù)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論