久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 基于ZigBee技術的無線點餐系統設計

基于ZigBee技術的無線點餐系統設計

作者: 時間:2011-03-24 來源:網絡 收藏



3 網絡節點軟件的
3.1 網絡節點程序

網絡支持三種網絡結構,即星狀、樹狀和網狀。節點通用性及便于開發的考慮,移植了TI公司的Z-Stack協議棧,其主要特點就是兼容性,支持IEEE 802.15.4標準的CC2430片上解決方案。網絡中有三種設備,分別是協調器、路由器及終端設備。協調器負責啟動一個網絡,在一個網絡中有且只有一個協調器設備。本選用了一個協調器和多個終端設備,對協議棧進行了相應的修改和增減以適應硬件電路的實際需求,組成簡單的星形網絡。
Z-Stack是操作的思想來構建的,采用事件輪循機制,整個協議棧用C語言編寫。當各層初始化之后,系統進入低功耗模式,當事件發生時,喚醒系統,開始進入中斷處理事件,結束后繼續進入低功耗模式。如果同時有幾個事件發生,判斷優先級,逐次處理事件。這種軟件構架可以極大地降級系統的功耗。整個Z-Stack的主要工作流程,大致分為系統啟動、驅動初始化、OSAL初始化與啟動和進入任務輪循幾個階段。
系統流程如圖4所示。


當硬件初始化完成后,打開中斷,執行osal_star_system()函數開始運行OSAL系統。該任務調度函數按照優先級檢測各個任務是否就緒。如果存在就緒的任務則調用tasksArr()中相對應的任務處理函數去處理該事件,直到執行完所有就緒的任務。如果任務列表中沒有就緒的任務,則可以使處理器進入睡眠狀態實現低功耗。OSAL任務調度流程如圖5所示。
ZigBee網絡的形成是通過ZDApp_Init這個任務實現的。zDApp_Init任務中調用了函數ZDAPP_Net-workInit,如果是協調器就建立網絡,確定PANID與頻道選擇,打開全局中斷之后進入監聽狀態,監測網絡中有無ZigBee信號,如果有節點申請加入網絡,協調器給節點分配網絡地址。對于終端設備,完成初始化之后,發送申請加入網絡信號,等待協調器響應。成功加入網絡后,進入休眠狀態等待喚醒。網絡啟動程序流程如圖6所示。



評論


相關推薦

技術專區

關閉