版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、TIZ-stack協(xié)議棧開發(fā)環(huán)境和工作流程By KuangJunBinKKuanngJuunBiin:如如您對本本項目感感興趣或或者有任任何疑問問,歡迎迎與我一一起探討討: HYPERLINK mailto:geforcefat geeforrceffatm。謝謝謝您的閱閱讀!系統(tǒng)軟件件設(shè)計是是在硬件件設(shè)計的的基礎(chǔ)上上進行的的,良好好的軟件件設(shè)計是是實現(xiàn)系系統(tǒng)功能能的重要要環(huán)節(jié),也是提提高系統(tǒng)統(tǒng)性能的的關(guān)鍵所所在。節(jié)節(jié)點設(shè)計計基于通通用性及及便于開開發(fā)的考考慮,移移植了TTI公司司的Z-Staack協(xié)協(xié)議棧,其主要要特點就就是其兼兼容性,完全支支持IEEEE 8022. 115. 4/ZZig
2、BBee的的CC224300片上系系統(tǒng)解決決方案。Z-SStacck還支支持豐富富的新特特性,如如無線下下載,可可通過ZZigBBee網(wǎng)網(wǎng)狀網(wǎng)絡(luò)絡(luò)(Meesh Nettworrk)下下載節(jié)點點更新。圖 ZiigBeee節(jié)點點開發(fā)環(huán)環(huán)境TI的的Z-SStacck裝載載在一個個基于IIAR開開發(fā)環(huán)境境的工程程里。強強大的IIAR Embbeddded Worrkbeenchh除了提提供編譯譯下載功功能外,還可以以結(jié)合編編程器進進行單步步跟蹤調(diào)調(diào)試和監(jiān)監(jiān)測片上上寄存器器、Fllashh數(shù)據(jù)等等。Z-Staack根根據(jù)IEEEE 8022. 115.44和ZiggBeee標準分分為以下下幾層:APII
3、(Apppliccatiion Proograammiing Intterffacee),HAAL (Harrdwaare Absstraact Layyer),MAAC(Meddia Acccesss Coontrrol), NWWK(Ziggbeee Neetwoork Layyer),OSSAL(Opeerattingg Syysteem AAbsttracct SSysttem),Seecurrityy,Serrvicce,ZDOO(Ziggbeee Deevicce OObjeectss)。使使用IAAR打開開工程文文件SaamplleAppp.eeww后后,即可可查看到到整個協(xié)協(xié)議
4、棧從從HALL層到APPP層的的文件夾夾分布。該協(xié)議議棧可以以實現(xiàn)復復雜的網(wǎng)網(wǎng)絡(luò)鏈接接,在協(xié)協(xié)調(diào)器節(jié)節(jié)點中實實現(xiàn)對路路由表和和綁定表表的非易易失性存存儲,因因此網(wǎng)絡(luò)絡(luò)具有一一定的記記憶功能能。Z-Sttackk采用操操作系統(tǒng)統(tǒng)的思想想來構(gòu)建建,采用用事件輪輪循機制制,當各各層初始始化之后后,系統(tǒng)統(tǒng)進入低低功耗模模式,當當事件發(fā)發(fā)生時,喚醒系系統(tǒng),開開始進入入中斷處處理事件件,結(jié)束束后繼續(xù)續(xù)進入低低功耗模模式。如如果同時時有幾個個事件發(fā)發(fā)生,判判斷優(yōu)先先級,逐逐次處理理事件。這種軟軟件構(gòu)架架可以極極大地降降級系統(tǒng)統(tǒng)的功耗耗。整個Z-staack的的主要工工作流程程,大致致分為系系統(tǒng)啟動動,驅(qū)動動
5、初始化化,OSSAL初初始化和和啟動,進入任任務輪循循幾個階階段,下下面將逐逐一詳細細分析。圖 Z-Staack系系統(tǒng)運行行流程圖圖Figuure . TThe Floow CCharrt oof ZZ-Sttackk 系統(tǒng)統(tǒng)初始化化系統(tǒng)上電電后,通通過執(zhí)行行ZMaain文文件夾中中ZMaain.c的ZSEEG iint maiin( )函數(shù)數(shù)實現(xiàn)硬硬件的初初始化,其中包包括關(guān)總總中斷oosall_innt_ddisaablee( IINTSS_ALLL )、初始始化板上上硬件設(shè)設(shè)置HAAL_BBOARRD_IINITT( )、初始始化I/O口IniitBooardd( OOB_CCOLDD
6、)、初始化化HALL層驅(qū)動動HallDriiverrIniit( )、初初始化非非易失性性存儲器器sall_nvv_innit( NUULL )、初初始化MMAC層層ZMaacInnit( )、分配664位地地址zmmainn_exxt_aaddrr( )、初始始化操作作系統(tǒng)oosall_innit_sysstemm( )等。硬件初始始化需要要根據(jù)HHAL文文件夾中中的haal_bboarrd_ccfg.h文件件配置寄寄存器880511的寄存存器。TTI官方方發(fā)布ZZ-sttackk的配置置針對的的是TII官方的的開發(fā)板板CC224300DB、CC224300EMKK等,如如采用其其他開發(fā)發(fā)板
7、,則則需根據(jù)據(jù)原理圖圖設(shè)計改改變haal_bboarrd_ccfg.h文件件配置,例如本本方案制制作的實實驗板與與TI官方方的I/O口配配置略有有不同,其中狀狀態(tài)指示示LEDD2的需需要重新新設(shè)置LLED22控制引引腳口、通用II/O口口方向和和控制函函數(shù)定義義等。當順利完完成上述述初始化化時,執(zhí)執(zhí)行ossal_staart_sysstemm( )函數(shù)開開始運行行OSAAL系統(tǒng)統(tǒng)。該任任務調(diào)度度函數(shù)按按照優(yōu)先先級檢測測各個任任務是否否就緒。如果存存在就緒緒的任務務則調(diào)用用tassksAArr 中中相對應應的任務務處理函函數(shù)去處處理該事事件,直直到執(zhí)行行完所有有就緒的的任務。如果任任務列表表中沒
8、有有就緒的的任務,則可以以使處理理器進入入睡眠狀狀態(tài)實現(xiàn)現(xiàn)低功耗耗。程序序流程如如圖3-13所所示。oosall_sttartt_syysteem( )一旦旦執(zhí)行,則不再再返回MMainn( )函數(shù)。OSALL任務調(diào)調(diào)度流程程圖Figuure . TThe Floow CCharrt oof OOSALL Scchedduleer OSSAL任任務OSALL是協(xié)議議棧的核核心,ZZ-sttackk的任何何一個子子系統(tǒng)都都作為OOSALL的一個個任務,因此在在開發(fā)應應用層的的時候,必須通通過創(chuàng)建建OSAAL任務務來運行行應用程程序。通通過ossalIInittTassks( )函函數(shù)創(chuàng)建建OSA
9、AL任務務,其中中TasskIDD為每個個任務的的唯一標標識號。任何OOSALL任務必必須分為為兩步:一是進進行任務務初始化化;二是是處理任任務事件件。任務務初始化化主要步步驟如下下:(1) 初始化化應用服服務變量量。consst ppTasskEvventtHanndleerFnn taaskssArrr 數(shù)組定定義系統(tǒng)統(tǒng)提供的的應用服服務和用用戶服務務變量,如MAAC層服服務maacEvventtLooop、用用戶服務務SammpleeAppp_PrroceessEEvennt等(2) 分配任任務IDD和分配配堆棧內(nèi)內(nèi)存voidd ossalIInittTassks( vooid )主要要
10、功能是是通過調(diào)調(diào)用ossal_memm_alllocc( )函數(shù)給給各個任任務分配配內(nèi)存空空間,和和給各個個已定義義任務指指定唯一一的標識識號。(3) 在AF層注注冊應用用對象通過填入入enddPoiintDDescc_t數(shù)數(shù)據(jù)格式式的EnndPoointt變量,調(diào)用 affReggistter( )在在AF層注注冊EnndPoointt應用對對象。通過在AAF層注注冊應用用對象的的信息,告知系系統(tǒng)affAdddrTyype_t地址址類型數(shù)數(shù)據(jù)包的的路由端端點,例例如用于于發(fā)送周周期信息息的SaamplleAppp_PPeriiodiic_DDstAAddrr和發(fā)送送LEDD閃爍指指令的SSa
11、mppleAApp_Flaash_DsttAdddr。(4)注注冊相應應的OSSAL或或則HAAL系統(tǒng)統(tǒng)服務在協(xié)議棧棧中,ZZ-sttackk提供鍵鍵盤響應應和串口口活動響響應兩種種系統(tǒng)服服務,但但是任何何Z-SStassk任務務均不自自行注冊冊系統(tǒng)服服務,兩兩者均需需要由用用戶應用用程序注注冊。值值得注意意的是,有且僅僅有一個個OSAAL TTaskk可以注注冊服務務。例如如注冊鍵鍵盤活動動響應可可調(diào)用RRegiisteerFoorKeeys( )函函數(shù)。(5)處處理任務務事件處理任務務事件通通過創(chuàng)建建“ApppliccatiionNNamee”_PrroceessEEvennt( )函數(shù)數(shù)
12、處理。一個OOSALL任務除除了強制制事件(Manndattoryy Evventts)之之外還可可以定義義15個事事件。SYS_EVEENT_MSGG(0 x880000)是強強制事件件。該事事件主要要用來發(fā)發(fā)送全局局的系統(tǒng)統(tǒng)信息,包括以以下信息息:AF_DDATAA_COONFIIRM_CMDD:該信信息用來來指示通通過喚醒醒AF DattaReequeest( )函函數(shù)發(fā)送送的數(shù)據(jù)據(jù)請求信信息的情情況。ZZSucccesss確認認數(shù)據(jù)請請求成功功的發(fā)送送。如果果數(shù)據(jù)請請求是通通過AFF_ACCK_RREQUUESTT置位實實現(xiàn)的,那么ZZSusssesss可以以確認數(shù)數(shù)據(jù)正確確的到達達目
13、的地地。否則則,ZSSuceess僅僅僅能確確認數(shù)據(jù)據(jù)成功的的傳輸?shù)降搅讼乱灰粋€路由由。AF_IINCOOMINNG_MMSG_CMDD:用來來指示接接收到的的AF信息息。KEY_ CHHANGGE:用用來確認認按鍵動動作。ZDO_ NEEW_ DSTTADDDR:用用來指示示自動匹匹配請求求。ZDO_STAATE_CHAANGEE:用來來指示網(wǎng)網(wǎng)絡(luò)狀態(tài)態(tài)的變化化。 網(wǎng)絡(luò)絡(luò)層信息息Zigbbee設(shè)設(shè)備有兩兩種網(wǎng)絡(luò)絡(luò)地址:1個是644位的IEEEE地地址,通通常也叫叫作MAAC地址址或者擴擴展地址址(Exxtenndedd adddreess),另一一個是116位的的網(wǎng)絡(luò)地地址,也也叫做邏邏輯地
14、址址(Loogiccal adddresss)或或者短地地址。664位長長地址是是全球唯唯一的地地址,并并且終身身分配給給設(shè)備。這個地地址可由由制造商商設(shè)定或或者在安安裝的時時候設(shè)置置,是由由IEEEE來提提供。當當設(shè)備加加入Ziigbeee網(wǎng)絡(luò)絡(luò)被分配配一個短短地址,在其所所在的網(wǎng)網(wǎng)絡(luò)中是是唯一的的。這個個地址主主要用來來在網(wǎng)絡(luò)絡(luò)中辨識識設(shè)備,傳遞信信息等。協(xié)調(diào)器(Cooordiinattor)首先在在某個頻頻段發(fā)起起一個網(wǎng)網(wǎng)絡(luò),網(wǎng)網(wǎng)絡(luò)頻段段的定義義放在DDEFAAULTT_ CCHANNLISST配置置文件里里。如果果ZDAAPP_ COONFIIG_ PANNID定定義的PPAN ID是
15、是0 xFFFFFF(代表表所有的的PANN IDD),則則協(xié)調(diào)器器根據(jù)它它的IEEEE地地址隨機機確定一一個PAAN IID。否否則,根根據(jù)ZDDAPPP_ CCONFFIG_ PAANIDD的定義義建立PPAN ID。當節(jié)點點為Roouteer或者者Endd Deevicce時,設(shè)備將將會試圖圖加入DDEFAAULTT_ CCHANNLISST所指指定的工工作頻段段。如果果ZDAAPP_ COONFIIG_ PANNID沒沒有設(shè)為為0 xFFFFFF,則Roouteer或者者Endd Deevicce會加加入ZDDAPPP_ CCONFFIG_ PAANIDD所定義義的PAAN IID。設(shè)
16、備上電電之后會會自動的的形成或或加入網(wǎng)網(wǎng)絡(luò),如如果想設(shè)設(shè)備上電電之后不不馬上加加入網(wǎng)絡(luò)絡(luò)或者在在加入網(wǎng)網(wǎng)絡(luò)之前前先處理理其他事事件,可可以通過過定義HHOLDD_AUUTO_STAART來來實現(xiàn)。通過調(diào)調(diào)用ZDDAppp_SttarttUpFFrommAppp( )來手動動定義多多久時間間之后開開始加入入網(wǎng)絡(luò)。設(shè)備如果果成功的的加入網(wǎng)網(wǎng)絡(luò),會會將網(wǎng)絡(luò)絡(luò)信息存存儲在非非易失性性存儲器器(NVV Fllashh)里,掉電后后仍然保保存,這這樣當再再次上電電后,設(shè)設(shè)備會自自動讀取取網(wǎng)絡(luò)信信息,這這樣設(shè)備備對網(wǎng)絡(luò)絡(luò)就有一一定的記記憶功能能。對NNV FFlassh的動動作,通通過NVV_REESTOO
17、RE( )和和NV_ITNNT( )函數(shù)數(shù)來執(zhí)行行。有關(guān)網(wǎng)絡(luò)絡(luò)參數(shù)的的設(shè)置大大多保存存在協(xié)議議棧Tooolss文件夾夾的f88wCoonfiig.ccfg里里。 路由由Z-Sttackk采用無線線自組網(wǎng)網(wǎng)按需平平面距離離矢量路路由協(xié)議議AODDV,建建立一個個Hocc網(wǎng)絡(luò),支持移移動節(jié)點點,鏈接接失敗和和數(shù)據(jù)丟丟失,能能夠自組組織和自自修復。當一個個Rouuterr接受到到一個信信息包之之后,NNMK層層將會進進行以下下的工作作:首先先確認目目的地,如果目目的地就就是這個個Rouuterr的鄰居居,信息息包將會會直接傳傳輸給目目的設(shè)備備;否則則,Roouteer將會會確認和和目的地地址相應應的路由由表條目目,如果果對于目目的地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班月度工作計劃范文
- 2024年版職工崗位聘用協(xié)議樣本版B版
- 五年級上冊教學計劃三篇
- 服裝店工作計劃錦集
- 小學教學計劃模板合集六篇
- 2023傳染病防控工作計劃
- 在酒店實習報告合集10篇
- 藍金色大氣工作匯報模板
- 五年級感恩節(jié)的作文400字5篇
- 第三季度營銷策劃工作總結(jié)與計劃
- 期末 (試題) -2024-2025學年外研版(三起)(2024)英語三年級上冊
- 規(guī)范集團中層管理人員退休返聘的若干規(guī)定
- 無機及分析化學考試題(附答案)
- “小學數(shù)學分層教學研究與實踐”課題成果報告
- 航海儀器頁課件
- 劉禹錫《陋室銘》課件(17張)
- 2022-2023學年龍泉驛區(qū)三年級數(shù)學第一學期期末綜合測試試題含解析
- 膝關(guān)節(jié)病護理查房ppt
- 西交《電子商務技術(shù)》在線作業(yè)答卷
- 2022年工程項目經(jīng)理任命書
- 《中國古代文學史——李白》優(yōu)秀PPT課件
評論
0/150
提交評論