999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RTOS的ZigBee協議物理層和MAC層的設計分析

2009-04-29 00:00:00
電腦知識與技術 2009年36期

摘要:該文基于嵌入式實時操作系統[1]對無線傳感器網絡[2-3]協議進行了研究。在分析RTOS和無線傳感器網絡特點的基礎上,提出了基于微小內核的嵌入式實時操作系統的ZigBee[4-5]協議的物理層和MAC層的軟件設計方法,降低了無線網絡開發難度,有利于程序擴展和代碼移植,為以后網絡層和應用層的開發,提供了一個簡單易實現的平臺。

關鍵詞:ZigBee;無線網絡;實時操作系統;軟件設計

中圖分類號: TN929 文獻標志碼:A文章編號:1009-3044(2009)36-10608-03

Design of Physical Layer and MAC Layer of ZigBee Protocol Based on Embedded Real-Time Operating System

SUN Yi

(Shandong Jiaotong University, Jinan 250357, China)

Abstract: This paper researches on wireless sensor network based on Embedded Real-Time Operating System. In analyzing RTOS and wireless sensor networks, a software design methods on physical and MAC layer of ZigBee is presented based on a micro-kernel embedded real-time operating system. This method reduced the difficulty of the wireless network development by programs expansion and codes migration. It provides a simple and easy to realize platform for the subsequent network layer and application layer development.

Key words: ZigBee; wireless sensor network; real time operating system; software design

隨著嵌入式系統、無線通信、微電子等技術的快速發展,具有感知、計算和無線網絡通信能力的傳感器,以及由其構成的無線傳感器網絡(Wireless Sensor Network, WSN)引起了人們的極大關注。實時操作系統(Real-Time Operating System,RTOS)是建立在單片機硬件系統之上的一個平臺,用戶的一切開發工作都在該平臺上進行,它定義了每個應用任務和內核的接口,也促進了應用程序的標準化。應用程序標準化后便于軟件的存檔、交流、修改和擴展,減少開發管理工作量。ZigBee是一種新興的短距離、低速率、低功耗無線網絡技術,國際上IEEE802.15.4工作組及ZigBee聯盟共同致力于該無線連接技術的推廣工作,其中,IEEE802.15.4只規定了ZigBee的物理層和MAC層的功能,僅處理這兩層的通信協議。ZigBee網絡通信過程,大致包括協調器組織網絡,節點器件加入、離開,發送、接收數據,信標幀的產生、重發,安全機制以及PIB屬性管理等等過程,利用傳統的前后臺模式思路,開發過程和調試過程會非常復雜,甚至實時性、穩定性較差。

本文正是鑒于ZigBee網絡協議的復雜性和嵌入式RTOS平臺開發的方便性,在分析二者特點的基礎上,將ZigBee協議的物理層和MAC層移植到RTOS上。利用RTOS來開發,通過把復雜的過程劃分為幾個獨立的任務,任務之間的相互聯系通過事件來驅動,這樣會使設計過程簡單,降低開發難度,大大增加程序的移植性和代碼的可重復利用性。經多次測試、使用,開發的嵌入式系統運行效果良好,系統比較可靠、穩定。

1 設計目標

軟件設計分為兩部分:系統級任務和應用級任務。系統級任務能夠獨立完成基礎性工作,不需要高層協議來管理,并且給應用級任務提供接口,能夠實現任務的擴展;應用級任務通過系統級任務提供的交互與操作系統進行交互,應用級任務根據實際的需要來開發,利用操作系統提供的接口,利用系統級任務來實現具體的應用。

2 系統設計

在原有RTOS基礎上增加幾個系統任務,完成ZigBee網絡通信的基本功能,使RTOS成為符合ZigBee開發的嵌入式操作系統。其中增加的系統功能為:協調器的網絡組建功能,節點器件的加入網絡和斷開網絡功能,信標幀的產生功能,信標幀的跟蹤功能,數據接收功能,數據發送功能,數據確認重發功能以及網絡鄰居表的維護和PIB屬性的管理。整個通信主程序的流程圖如圖1所示。

2.1 系統級任務分析

系統初始化設計:主要是對寄存器等基本硬件進行設置,對變量賦初始值等。

1)消息泵任務emMsg_Pump()。該任務是整個系統消息機制核心部分,負責接收并處理每個任務發給系統的消息,并根據消息值觸發相應的任務。是系統優先級最低的任務,永遠處于就緒狀態。系統運行之初,如果沒有其他優先級高的任務,系統便會運行此任務,處于就緒狀態。在整個嵌入式系統運行期間,所有任務之間通信機制是消息驅動機制,具體做法是某個進程運行結束時,產生系統消息,并把它放入系統的消息隊列,等到消息分發任務運行時候,它從消息隊列中提取消息,然后分發消息到需要觸發的任務當中,修改觸發任務的運行狀態為就緒狀態,當系統再次調度時,運行要觸發的任務。流程圖如圖2所示。

2)組建網絡或加入網絡任務emAssociation_Join()。要實現節點和協調器之間通信,必須構成一個基本的ZigBee無線網絡。IEEE802.15.4標準中規定無線個人局域網的構成至少有一個協調器,最大網絡容量為255個節點。該任務就是實現構建網絡的過程。若器件是協調器,它首先完成創建一個網絡的過程,若是節點器件,則完成加入網絡的過程。具體組網的過程實現:協調器首先進行頻道掃描確定未使用的信道,并在自己電磁波輻射范圍內通過接收的信標幀來捕捉其它協調器的信息,從而確定此范圍內正在使用的信道和網絡標識符,然后根據某種算法選擇一個未使用網絡標號更新系統的macPANId,通過自己的信道發送信標幀,通知周圍的節點。網絡節點器件被動的掃描,捕捉附近的網絡協調器,選擇合適的網絡協調器,發送加入網絡請求,收到ack應答后開始在最大響應時間內等待協調器的響應幀。如果協調器允許此節點加入網絡,則會分配一個16位的短地址給節點,并把此節點的信息存入網絡鄰居表,網絡節點收到允許加入的響應幀后更新自己的地址信息。否則,繼續掃描其他的協調器,請求加入其他網絡。當協調器和節點器件完成上述過程后,也就完成了組網的過程。當組網過程結束后,會改變系統的狀態機,產生消息MSG_JOIN_NET并觸發另一個任務的運行。

3)斷開網絡連接的任務emAssociation_Leave()。該任務是節點器件任務。當網絡節點想離開當前加入的網絡,就發送離開網絡的請求命令,協調器允許其離開,會在信標幀中通知此節點同時將其信息從網絡鄰居表中刪除。網絡節點完成該任務后,產生系統消息MSG_LEAVE_NET,并修改系統的狀態機。

4)數據幀報文發送任務emPacket_Send()。當協議上層要發送數據,把數據寫入發送緩沖區,并產生系統消息給RTOS,由RTOS來完成數據報文發送。RTOS便會調用該數據幀報文發送任務,首先填寫幀控制、地址等報文頭信息,復制數據緩沖區內的數據,加上CRC校驗碼,完成數據報文封包工作。其次打開射頻收發器的發送開關,通過對CCA檢測,判斷通信信道的狀態,從而實現沖突碰撞檢測機制。若信道空閑,則發送報文,若信道處于忙狀態,則隨機等待一段時間,再次檢測信道狀態,直到其空閑,完成數據報的發送過程,同時發送系統消息MSG_SEND_END觸發確認重發任務,在macAckWaitDuration時間內等待收到報文的設備發送ack確認報文。在上述時間段內收到ack確認,便返回一個數據發送成功的狀態,否則便啟動重發機制,若重發次數超過aMaxFrameResponse,仍未收到確認,則丟棄報文,返回發送失敗的狀態。流程圖如圖3所示。

5)數據幀報接收任務emPacket_Receive()。該任務對報文進行三級過濾,首先對報文進行地址辨識,檢測報文的發送目的地址是否是發給本網絡的協調器,不是則丟棄報文,完成數據報文第一級過濾;其次對報文進行長度判斷,檢測報文長度是否符合協議規定,不符合則丟掉報文,完成第二級數據報文的過濾;接著對報文進行CRC校驗的判斷,不正確則丟掉報文,實現第三級報文過濾。最后根據報文種類的不同將其存入對應的接收緩沖區,修改信號量的值,表明數據接收緩沖區內有數據。流程圖如圖4所示。

該任務有中斷實現,執行完畢并不觸發消息,只是修改接收緩沖區的信號量的值。原因在于網絡內的節點發送數據頻率較高,為了能夠及時響應,保證此任務不會使其它正在進行的任務重復重啟。從而提高了系統實時性,減少了數據報文的丟失率。

6)各種命令處理任務emCmd_Process()。在ZigBee無線網絡中,規定在接收到的報文中對確認幀是優先處理的,其次是命令幀,最后才是數據幀。協調器處理的命令包括節點器件的請求加入網絡命令、離開網絡命令、網絡沖突命令、器件孤立命令。協調器收到這些命令,可能要發送響應命令,又涉及到沖突檢測、確認和重發的判定,為了減少對系統任務在實現一個簡單的功能反復切換,直接在命令處理任務中實現確認重發機制。協調器對請求加入網絡的命令要給予響應,分配短地址,加入網絡鄰居表;對來開網絡請求,要在信標幀中給予通知,并從網絡鄰居表中刪除節點信息。對網絡標識符沖突命令,要重新掃描、組網等。處理完畢產生系統消息MSG_CMD_END,觸發數據處理任務。

7)數據幀報文的處理任務emData_Process()。把數據幀的報文處理,單獨作為一個任務,主要原因在于數據幀是在協議上層來組織和處理,操作系統如果收到數據和數據請求命令,只給上層任務發送消息,觸發上層處理任務。具體的處理工作由上層處理任務完成,從而實現了操作系統完成基本的操作,給上層任務提供接口,供上層任務使用,為后續開發奠定了基礎。

8)定時發送信標幀的任務emBeacon_Send(),在信標使能的網絡中,所有的通信過程都是由協調器來主導,協調器通過信標幀來實現網絡內所有節點的通信的同步,并且控制通信的節點,控制通信的時間等。節點器件加入網絡,也要首先對信標幀進行跟蹤捕捉,進行綜合判斷。所以在ZigBee網絡內,協調器每隔一定的時間來發送信標幀,網絡內的各個節點器件通過信標幀安排自己的工作,從而實現了信標使能網絡的通信過程。發送信標幀后發送系統消息MSG_BEACON_OVER。這個任務是由定時器的定時消息驅動。當定時時間到達以后,發送定時到達的系統消息MSG_TIME_OUT,通過系統調度實現此任務的運行。

2.2 應用級任務分析

1)對數據請求命令的處理任務emDataRequest_Task()。這個任務收到操作系統的消息后,就會組織數據,發送給節點。它要做的只是發送一個消息給系統,消息的內容包括發送數據的指針和數據的長度。

2)網絡PIB數據庫管理emPIB_Manage(),此任務可以用來更新、維護物理層和MAC層的屬性,包括能量設定管理,以適應不同情況下通信需要。

3 結束語

該文通過對嵌入式RTOS運行機制和無線傳感器網絡ZigBee協議的深入研究,成功將ZigBee協議的物理層和MAC層移植到RTOS上,對無線通信過程各個環節進行了較為詳細任務實現分析,該方法的實現降低了系統開發難度,提高了開發效率,對于開發相關的應用軟件或進行硬件平臺的移植有一定參考價值。

參考文獻:

[1] 威爾姆舍斯特.PIC嵌入式系統開發[M].北京:人民郵電出版社,2008.

[2] Estrin D,Culler D,Pister K,et al.The Physical World with Pervasive Networks[J].IEEE Pervasive Computing,2002,1(1):59-69.

[3] 孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005.

[4] 李文仲,段朝玉.PIC單片機與ZigBee無線網絡實戰[M].北京:北京航天航空大學出版社,2007.

[5] 金純,羅祖秋.ZigBee技術基礎及案例分析[M].北京:國防工業出版社,2008.

主站蜘蛛池模板: 亚洲精品国产乱码不卡| 欧美激情视频在线观看一区| 国产成人夜色91| 国产亚洲精久久久久久无码AV| 婷婷六月激情综合一区| 亚洲一级毛片在线观| 亚洲人在线| 22sihu国产精品视频影视资讯| 午夜福利视频一区| 国产精品自在在线午夜区app| 色综合成人| 欧美自慰一级看片免费| 国产91成人| 99热这里只有精品国产99| 国产成人精品视频一区视频二区| 亚洲乱码精品久久久久..| 婷五月综合| 狂欢视频在线观看不卡| 2019国产在线| 亚洲色中色| 国产成人亚洲无码淙合青草| 亚洲视频影院| 欧美19综合中文字幕| 亚洲码在线中文在线观看| 中文字幕在线免费看| 77777亚洲午夜久久多人| 亚洲精品777| 特级精品毛片免费观看| 色悠久久综合| 自偷自拍三级全三级视频| 国产第四页| 久久免费观看视频| 国产精品尤物在线| 久久久精品久久久久三级| 精品91视频| 最新日本中文字幕| 国产主播一区二区三区| 91精品免费久久久| 91精品国产自产在线老师啪l| 国产成人精品第一区二区| 91精品专区| 日韩欧美视频第一区在线观看 | 九九热视频在线免费观看| 一级做a爰片久久毛片毛片| 国产一级二级三级毛片| 色综合久久久久8天国| 国产91丝袜| 中文字幕天无码久久精品视频免费| 亚洲有无码中文网| 亚洲精品无码久久毛片波多野吉| 色婷婷成人网| 天堂网国产| 亚洲一区二区三区国产精华液| 国产高清无码麻豆精品| 91久久精品国产| 国产激情无码一区二区APP| 成年片色大黄全免费网站久久| 欧美精品亚洲精品日韩专区| 成人免费黄色小视频| 国产精品55夜色66夜色| 午夜激情福利视频| 成人福利在线视频| 18黑白丝水手服自慰喷水网站| 免费a级毛片18以上观看精品| 狠狠干综合| 少妇精品在线| 国产日韩欧美成人| 四虎在线观看视频高清无码| 国产99欧美精品久久精品久久| 美女高潮全身流白浆福利区| av一区二区无码在线| 91在线一9|永久视频在线| 日韩 欧美 国产 精品 综合| 国产成人无码综合亚洲日韩不卡| 视频二区欧美| 丁香婷婷激情网| 欧美a级完整在线观看| 欧美在线三级| 999国内精品视频免费| 波多野结衣二区| 国产久草视频| 制服丝袜国产精品|