




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、“1+X”傳感網(wǎng)應(yīng)用開發(fā) ZigBee協(xié)議基本概念+Z-Stack協(xié)議棧介紹與協(xié)議棧安裝“1+X”傳感網(wǎng)應(yīng)用開發(fā) 01ZigBee協(xié)議基本概念02ZigBee協(xié)議棧03ZigBee協(xié)議棧安裝目錄CONTENTS01ZigBee協(xié)議基本概念02ZigBee協(xié)議棧03Zig1ZigBee協(xié)議基本概念1ZigBee協(xié)議基本概念ZigBee協(xié)議 ZigBee一詞來自人們對蜜蜂的移動姿態(tài)的觀察。ZigBee是基于IEEE802.15.4標(biāo)準(zhǔn)的低功耗局域網(wǎng)協(xié)議。適合于無線傳感器信息傳輸,具有以下主要特點(diǎn):短距離低速率低能耗ZigBee協(xié)議 ZigBee一詞來自人們對蜜蜂的移動姿態(tài)ZigBee設(shè)備 ZigB
2、ee網(wǎng)絡(luò)設(shè)備有三種邏輯類型:協(xié)調(diào)器(Coordinator)路由器(Router)終端設(shè)備(End-device)ZigBee設(shè)備 ZigBee網(wǎng)絡(luò)設(shè)備有三種邏輯類型:ZigBee頻譜分布ZigBee頻譜分布ZigBee信道ZigBee信道ZigBee PAN ID即ZigBee局域網(wǎng)ID,是節(jié)點(diǎn)用于判斷自身所屬網(wǎng)絡(luò)的標(biāo)識。Zigbee無線傳感網(wǎng)的協(xié)調(diào)器是通過選擇網(wǎng)絡(luò)工作信道及各域網(wǎng)識別標(biāo)志PANID(網(wǎng)絡(luò)號)來啟動一個無線傳感網(wǎng)的。 PANID是一個32位標(biāo)識,范圍從0 x0000-0 xFFFF。通過mDefaultValueOfPanId_c來設(shè)置一個初始化的PANID。ZigBee P
3、AN ID即ZigBee局域網(wǎng)ID,是節(jié)點(diǎn)2ZigBee協(xié)議棧2ZigBee協(xié)議棧Zstack概述 每個服務(wù)實(shí)體通過一個服務(wù)接入點(diǎn)(SAP)為上層提供一個接口,每個SAP 支持多種服務(wù)原語來實(shí)現(xiàn)要求的功能。 ZigBee 協(xié)議棧結(jié)構(gòu)由一組被稱作層的模塊組成。每一層為上面的層執(zhí)行一組特定的服務(wù):數(shù)據(jù)實(shí)體提供了數(shù)據(jù)傳輸服務(wù),管理實(shí)體提供了所有其它的服務(wù)。TI公司開發(fā)的ZStack是ZigBee協(xié)議棧,并且經(jīng)過了ZigBee聯(lián)盟的認(rèn)可而為全球眾多開發(fā)商所廣泛采用。Zstack概述 每個服務(wù)實(shí)體通過一個服務(wù)接入點(diǎn)(SAP)Zstack結(jié)構(gòu) 應(yīng)用層 網(wǎng)絡(luò)層 MAC層 物理層IEEE802.15.4Zig
4、Bee協(xié)議Zstack結(jié)構(gòu) 應(yīng)用層 Zstack結(jié)構(gòu)層次Zstack結(jié)構(gòu)層次Zstack層次功能APP:為應(yīng)用層目錄,用戶可以根據(jù)需求添加自己的任務(wù)。這個目錄中包含了應(yīng)用層和這個項(xiàng)目的主要內(nèi)容,在協(xié)議棧里面一般是以操作任務(wù)實(shí)現(xiàn)的。HAL:硬件驅(qū)動層,包括硬件相關(guān)的配置、驅(qū)動以及操作函數(shù)。MAC:MAC層目錄,包括著MAC層配置參數(shù)文件及MAC LIB庫的函數(shù)接口文件;MT:包括基于AF(應(yīng)用框架)層的調(diào)試函數(shù)文件,主要包括串口等通信函數(shù);OSAL:協(xié)議棧的操作系統(tǒng)。Profile:AF層目錄,包含AF層處理函數(shù)。Zstack層次功能APP:為應(yīng)用層目錄,用戶可以根據(jù)需求添Zstack層次功能S
5、ecurity&Services:安全服務(wù)層目錄,安全層和服務(wù)層處理函數(shù),比如加密。Tools:工程配置目錄,包括空間劃分及ZStack相關(guān)配置信息。ZDO:ZDO設(shè)備對象目錄。ZMac:MAC層目錄,包括MAC層參數(shù)及MAC層的LIB庫函數(shù)回調(diào)處理函數(shù)。Zmain:主函數(shù)目錄,包括入口函數(shù)及硬件配置文件。Output:輸出文件目錄,由IAR自動生成。Zstack層次功能Security&Services:安全Zstack工作流程整個Z-Stack的主要工作流程,大致分為系統(tǒng)啟動,驅(qū)動初始化,OSAL初始化和啟動,進(jìn)入任務(wù)輪循幾個階段。Zstack工作流程整個Z-Stack的主要工作流程,大致
6、分Zstack-OSAL任務(wù)調(diào)度函數(shù)按照優(yōu)先級檢測各個任務(wù)是否就緒。如果存在就緒的任務(wù)則調(diào)用tasksArr中相對應(yīng)的任務(wù)處理函數(shù)去處理該事件,直到執(zhí)行完所有就緒的任務(wù)。如果任務(wù)列表中沒有就緒的任務(wù),則可以使處理器進(jìn)入睡眠狀態(tài)實(shí)現(xiàn)低功耗。OSAL是協(xié)議棧的核心,Z-Stack的任何一個子系統(tǒng)都作為OSAL的一個任務(wù)。Zstack-OSAL任務(wù)調(diào)度函數(shù)按照優(yōu)先級檢測各個任務(wù)是否3ZigBee協(xié)議棧安裝3ZigBee協(xié)議棧安裝Zstack下載Zstack下載Zstack安裝Zstack安裝Zstack安裝Zstack安裝Zstack安裝協(xié)議棧各目錄文件說明文檔工程文檔工具文件Zstack安裝協(xié)議棧
7、各目錄文件說明文檔工程文檔工具文件Z-Stack OSAL運(yùn)行機(jī)制 任務(wù)與事件的添加 基于協(xié)議棧的串口通信Z-Stack OSAL運(yùn)行機(jī)制 任務(wù)與事件的添加 01重點(diǎn)與難點(diǎn)02原理介紹03目錄CONTENTS串口通信案例01重點(diǎn)與難點(diǎn)02原理介紹03目錄CONTENTS串口通信案重點(diǎn)與難點(diǎn) 重點(diǎn):1、OSAL的運(yùn)行機(jī)制; 2、任務(wù)、事件、事件處理函數(shù)的概念。難點(diǎn):1、事件響應(yīng)機(jī)制; 2、添加任務(wù)、事件的實(shí)現(xiàn)。重點(diǎn)與難點(diǎn) 重點(diǎn):1、OSAL的運(yùn)行機(jī)制;2.1 OSAL術(shù)語及概念Z-Stack采用基于一個輪轉(zhuǎn)查詢式操作系統(tǒng),該操作 系統(tǒng)命名為OSAL(Operating System Abstra
8、ction Layer),中文為“操作系統(tǒng)抽象層”。Z-Stack協(xié)議棧將底層、網(wǎng)絡(luò)層等復(fù)雜部分屏蔽掉,讓程序員通過API函數(shù)就可以輕松地開發(fā)一套ZigBee系統(tǒng)。原理介紹2.1 OSAL術(shù)語及概念原理介紹任務(wù)(Task)任務(wù)又稱線程,是一個簡單的程序的執(zhí)行過程。在任務(wù)設(shè)計(jì)時,需要將問題盡可能地分為多個任務(wù),每個任務(wù)獨(dú)立完成某種功能,同時被賦予一定的優(yōu)先級,擁有自己的CPU寄存器和堆??臻g資源。一般將任務(wù)設(shè)計(jì)為一個無限循環(huán)。事件(Events)ZigBee協(xié)議棧是由各個層組成的,每一層都要處理各種事件,所以就為每一層定義了一個事件處理函數(shù),可以把這個處理函數(shù)理解為任務(wù),任務(wù)從消息隊(duì)列中提取消息
9、,從消息中提取所發(fā)生的具體事件,調(diào)用相應(yīng)的具體事件處理函數(shù),比如按鍵處理函數(shù)等等。原理介紹任務(wù)(Task)原理介紹2.2 OSAL運(yùn)行機(jī)制OSAL就是以實(shí)現(xiàn)多任務(wù)為核心的系統(tǒng)資源分配機(jī)制,主要提供任務(wù)注冊、初始化和啟動,任務(wù)間的同步、互斥,中斷處理,存儲器分配與管理等功能。OSAL負(fù)責(zé)調(diào)度各個任務(wù)運(yùn)行,如果有事件發(fā)生時,則會調(diào)用相應(yīng)的事件處理函數(shù)進(jìn)行處理。圖1 OSAL運(yùn)行機(jī)制原理介紹2.2 OSAL運(yùn)行機(jī)制圖1 OSAL運(yùn)行機(jī)制原理介紹事件和任務(wù)的事件處理函數(shù)是如何建立關(guān)系:首先,建立一個事件表,保存各個任務(wù)的對應(yīng)的事件;其次,建立一個函數(shù)表,保存各個任務(wù)事件處理函數(shù)的地址;最后,將這兩個表
10、建立某種對應(yīng)關(guān)系,當(dāng)某一事件發(fā)生時,則查找函數(shù)表找到對應(yīng)的事件處理函數(shù)。原理介紹圖2 事件表和函數(shù)表的關(guān)系事件和任務(wù)的事件處理函數(shù)是如何建立關(guān)系:原理介紹圖2 事件通過不斷地查詢事件表(tasksEventsidx),判斷是否有事件發(fā)生,如果有則查找函數(shù)表(tasksArridx),調(diào)用本事件的處理函數(shù)。 事件表是用數(shù)組來表示,數(shù)組的每個元素對應(yīng)用一個任務(wù)的事件,一般用戶定義的事件最好是每一位二進(jìn)制數(shù)表示一個事件,那么一個任務(wù)最多可以有16個事件(因?yàn)閑vents 是uint16類型)。例如:0 x01表示串口接收新數(shù)據(jù),0 x02表示讀取溫度數(shù)據(jù),0 x04表示讀取濕度數(shù)據(jù)等,但是不用0 x
11、03、0 xFE等數(shù)值表示事件。 函數(shù)表是用指針數(shù)組來表示,數(shù)組的每個元素是相應(yīng)任務(wù)的事件處理函數(shù)的首地址(函數(shù)指針)。OSAL是一種基于事件驅(qū)動的任務(wù)輪詢式操作系統(tǒng),事件有效才調(diào)用相應(yīng)任務(wù)的事件處理函數(shù)。原理介紹通過不斷地查詢事件表(tasksEventsidx),2.3 關(guān)鍵函數(shù)在ZigBee協(xié)議棧中,tasksCnt、tasksEvents和tasksArr三個變量非常重要:tasksCnt:該變量保存了任務(wù)的總數(shù)量。tasksEvent:這是一個指針,指向了事件表的首地址。在OSAL_SampleApp.c 中聲明為:uint16 *tasksEvents;tasksArr:這是一個數(shù)
12、組,該數(shù)組的每個元素都是一個函數(shù)指針(函數(shù)的地址),指向了事件函數(shù)。原理介紹2.3 關(guān)鍵函數(shù)原理介紹2.4 添加任務(wù)與事件的方法在ZigBee協(xié)議棧應(yīng)用程序開發(fā)時,添加新的任務(wù)及其對應(yīng)的事件,方法如下: 在任務(wù)的函數(shù)表中添加新任務(wù)。 編寫新任務(wù)的初始化函數(shù)。 定義新任務(wù)全局變量和事件。 編寫新任務(wù)的事件處理函數(shù)。原理介紹2.4 添加任務(wù)與事件的方法原理介紹3.1 案例介紹在用戶應(yīng)用層任務(wù)處理函數(shù)SampleApp_ProcessEvent中實(shí)現(xiàn)每隔1秒向串口發(fā)送“Hello ZigBee!”;并增加一個應(yīng)用層新任務(wù),實(shí)現(xiàn)由PC端發(fā)送字符“1”和“0”控制ZigBee模塊的LED2燈的開與關(guān)。實(shí)
13、訓(xùn)案例3.1 案例介紹實(shí)訓(xùn)案例1、 移除工程中的SampleAppHw.h和SampleAppHw.c文件。修改SampleApp.c文件對頭文件的引用(注意Workspace選擇CoordinatorEB)。實(shí)訓(xùn)案例1、 移除工程中的SampleAppHw.h和SampleA2、 打開MT_UART.h,關(guān)閉串口流控,將波特率改為115200。實(shí)訓(xùn)案例2、 打開MT_UART.h,關(guān)閉串口流控,將波特率改為113、 修改SampleApp.h,增加周期時長和串口事件編號的宏定義。實(shí)訓(xùn)案例3、 修改SampleApp.h,增加周期時長和串口事件編號4、 SampleApp.c中修改Sample
14、App_Init函數(shù),啟動一個1秒定時器,向SampleApp_TaskID發(fā)送串口定時發(fā)送事件。實(shí)訓(xùn)案例4、 SampleApp.c中修改SampleApp_Ini實(shí)訓(xùn)案例5、修改SampleApp_ProcessEvent函數(shù)。增加新事件SAMPLEAPP_SEND_PERIODIC_UART_MSG_EVT的處理,先向串口輸出“Hello ZigBee”信息,再啟動1秒定時器。實(shí)訓(xùn)案例5、修改SampleApp_ProcessEvent實(shí)訓(xùn)案例6、添加應(yīng)用層新任務(wù)。(1)創(chuàng)建UartApp.h頭文件,并在該文件中增加任務(wù)初始化函數(shù)和事件處理函數(shù)聲明。實(shí)訓(xùn)案例6、添加應(yīng)用層新任務(wù)。(1)創(chuàng)建UartApp.h頭實(shí)訓(xùn)案例(2)創(chuàng)建UartApp.c文件,并在該文件中增加新任務(wù)的初始化函數(shù)和事件處理函數(shù)(重要)。實(shí)訓(xùn)案例(2)創(chuàng)建UartApp.c文件,并在該文件中增加新實(shí)訓(xùn)案例(3)打開OSAL_SampleApp.c文件,在任務(wù)數(shù)組const pTaskEventHandleFn tasksArr 中增加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)外包工合同范本
- 出國援建勞務(wù)合同范本
- 動產(chǎn)質(zhì)押合同范本
- 北京員工勞動合同范本
- 付款方式違約規(guī)定合同范本
- 出售庫存車合同范本
- 出售造型工具合同范本
- 2024年鎮(zhèn)遠(yuǎn)縣婦幼保健院人員招聘考試真題
- 代加工砂漿合同范本
- 寫計(jì)件合同范本
- AMDAR資料的分析和應(yīng)用
- 高新技術(shù)企業(yè)認(rèn)定申請書樣例與說明
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter6 Tree
- 高壓氧科工作總結(jié)高壓氧科個人年終總結(jié).doc
- 《政治學(xué)概論》教學(xué)大綱
- 橋梁缺陷與預(yù)防
- 食品生物化學(xué)習(xí)題謝達(dá)平(動態(tài))
- 新蘇教版小學(xué)科學(xué)三年級下冊全冊教案(2022年春修訂)
- 保安員工入職登記表
- 睿達(dá)RDCAM激光雕刻切割軟件V5.0操作說明書
- 機(jī)械設(shè)計(jì)基礎(chǔ)平面連桿機(jī)構(gòu)課件
評論
0/150
提交評論