新聞中心

        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所示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平邑县| 丽江市| 托里县| 道孚县| 修水县| 高淳县| 富顺县| 封丘县| 衢州市| 开鲁县| 兴义市| 绵阳市| 海林市| 石柱| 上林县| 东兴市| 遵化市| 山阳县| 乐清市| 龙胜| 肇东市| 津市市| 吴旗县| 汾西县| 罗江县| 綦江县| 南涧| 玉龙| 苏尼特右旗| 墨竹工卡县| 扎鲁特旗| 南通市| 浙江省| 绍兴市| 嵊泗县| 黔东| 梧州市| 池州市| 平凉市| 陆良县| 宁化县|