《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 设计应用 > 移动设备中ZigBee接口的实现
移动设备中ZigBee接口的实现
EEWORLD
摘要: ZigBee是一种短距离、低速率无线网络技术,是一种介于RFID和Bluetooth之间的技术提案。ZigBee一般...
Abstract:
Key words :

引言

    ZigBee是一種短距離、低速率無線網絡技術,是一種介于RFID和Bluetooth之間的技術提案。ZigBee一般采用IEEE 802.15.4收發器與ZigBee協議棧的組合,在數千個微小的節點之間相互協調實現通信。

    這些節點只需要很少的能量,以接力的方式通過無線電波將數據從一個傳感器傳到另一個節點,所以它們的通信效率非常高。因此,ZigBee在傳感器網絡、智能家居、工業自動化等領域有廣泛的應用。市場研究公司NSR曾發布報告指出,首批具備ZigBee功能的產品將于2006年第一季在北美、歐洲和亞太地區展開,該機構并預估,到2010年,全球將可望部署5.8億個ZigBee組件,成長非常快速。同樣,市調機構In-Stat也曾在2005年發布新聞指出,五年內,ZigBee成長將超過200%。但是,由于各家使用ZigBee技術的設備商采用的應用協議不同,所以目前市場上很少通用的測試設備,執行包括信道檢測,數據監聽,發送功率等功能。本文介紹了一種在移動設備" title="移動設備">移動設備中實現ZigBee接口" title="ZigBee接口">ZigBee接口的方法,以windows mobile 6.0 Professional為平臺,在仿真器中給出了演示,同時,在HP iPaq rx3700的真機下測試通過。

    1.   系統組成及功能

    如圖1所示,按照功能,系統可以分成ZigBee模塊和移動設備這兩個部分,它們通過串口進行通信。ZigBee模塊負責IEEE 802.15.4信號的發送和接收,移動設備負責數據的處理,并向用戶提供有好的UI。

圖1系統組成框圖

    系統的功能如下:

    1.   信道檢測。通過掃描,完成ZigBee技術2.4GHz頻段16個信道的狀態檢測,并返回給UI進行顯示。

    2.   發送/接收信道設置。用戶通過UI給ZigBee模塊發送指令,使之通過設定的信道來發送和接收數據。

    3.    發送/接收數據。用戶可以用文本方式或者HEX方式發送數據,并且可以用一定間隔進行連續發送。

    4.   發送功率設置。用戶發送數據時,通過UI給ZigBee模塊發送指令,可以設定發送的功率大小。

    2.    結構模型

    2.1硬件結構模型

    如圖1所示,ZigBee模塊選用Freescale的HCS08GB60為MCU,MC13192為IEEE 802.15.4收發器,它們之間通過SPI接口進行通信。移動設備通過串口和ZigBee模塊中的HCS08GB60進行通信。

    2.2網絡結構模型

    ZigBee網絡可以使用Star、Mesh和Mesh-Tree這三種拓撲結構,具體可以參考圖2.

圖2 ZigBee網絡拓撲結構模型

    從成本上來考慮,無線部分采用了Freescale免費提供的SMAC(Simple MAC)。SMAC給出了物理層和MAC層的API函數,包括工作狀態轉換、信道選擇、發送功率選擇、時鐘選擇、信道能量和接收信號能量指示(RSSI)等等。該工程文件以Source的方式給出,而不是lib,且可以直接從Freescale網站上下載得到。

    3.   軟硬件設計平臺

    硬件設計軟件采用經典的Protel99se,主要涉及ZigBee模塊的設計。設計輸出原理圖和PCB圖如下圖3所示:

圖3 硬件設計輸出圖

    嵌入式開發環境采用CodeWarrior for HCS08 V3.1,使用C語言和匯編語言進行開發。

    移動設備使用windows mobile設備。具體開發環境為:Microsoft Visual Studio 2005+SP1+Windows Mobile 6 professional SDK+ .Net Compact Framework 2.0 SP2。

    4. ZigBee模塊程序流程

    目前,嵌入式系統有三種主流架構解決方案:基于中斷的多任務模擬、前后臺系統和實時多任務操作系統。“中斷模擬多任務”會導致系統丟失中斷信息,大大破壞系統的穩定性,所以這種方法是不建議使用的。

    多任務實時操作系統是目前最成熟而且最合理的解決方案,但是實時操作系統一般為第三方提供,需要付費,而且就像uCOS-II這樣的開源系統也不再免費,若在沒有獲得許可的情況之下使用,可能會涉及到版權糾紛。

    而自己開發實時操作系統,研發開銷太大,另外,一些功能簡單或者對實時性要求不高的系統,根本沒有必要上實時操作系統。因此,在實際開發中,很有可能會采用簡單的前后臺系統。

    前后臺系統的基本概念是“前臺中斷,后臺循環”。

    前后臺系統的基本思想是:硬件中斷函數中只做非常少量而且是絕對必須的操作:如設置中斷寄存器、保存數據寄存器等,然后置后臺標志位,隨即退出中斷。這些操作稱為“前臺操作”。

    而后臺操作是一個開放中斷的無限循環。在循環中檢查各后臺標志位,如果某一標志位被置位,則說明有中斷發生,立即調用相應的中斷服務任務,這些任務被稱為“后臺操作”。

    在ZigBee模塊的嵌入式軟件開發中,我們使用“前臺中斷,后臺循環”的架構。主程序流程如下圖4所示:

圖4主程序流程圖

    TargetInit()執行系統初始化操作,主要包括HCS08的IO、UART和Timer等模塊的初始化。ConfigInit()執行配置初始化操作,主要包括SMAC協議和串口通信協議配置。

    ScheduleLoop()為主調度循環,根據狀態來執行不同的任務,如下圖5所示。其中的SYS_FEED_DOG()是指喂看門狗操作。

圖5 主調度循環流程圖

    5. 移動設備應用程序流程

     在移動設備上運行的用戶應用程序,主要執行信息交互和顯示功能。進一步說,用戶要通過UI將命令發送給ZigBee模塊,同時,移動設備將ZigBee模塊的情況通過UI呈現給用戶??紤]到移動端開發的便捷性,windows mobile平臺是一個不錯的選擇。在Microsoft Visual Studio 2005的IDE下,安裝一個最新的Windows Mobile 6 professional SDK,配合自帶的Emulator就可以進行開發和調試。由于本人比較熟悉C++,所以我選用了native code進行開發,建立一個基于對話框的MFC工程,將需要的控件加入對話框,包括Edit Control, Static Text, Button和Check box等等。具體流程如下圖6所示。

    圖6 移動設備應用程序流程圖

    其中的對話框初始化包括了界面的初始化,要強調的是串口的初始化。我們這里采用的串口參數如下:速率9600bps,1個停止位,無奇偶校驗。

     6.模擬器調試

    測試時,采用windows mobile 6 professional emulator。同時,將PC機上的COM1口映射到emulator上,來進行串口通信。配置方法是,在emulator中,選擇”File”下的”Configure”菜單,在”Peripherals”的”Serial port 0”的下拉條中,選擇”COM1”。如圖7所示:

圖7模擬器的串口映射

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久久精品国产网站| 国产精品狠色婷| 91免费国产视频| 美女精品视频一区| 电影午夜精品一区二区三区| 久久精品99久久香蕉国产色戒| zzjj国产精品一区二区| 国产精品日韩一区二区免费视频| 欧美一区二视频在线免费观看| 婷婷亚洲婷婷综合色香五月| www.亚洲一区| y111111国产精品久久婷婷| 国产精品美女久久久免费| 久久激情五月丁香伊人| 久久精品色欧美aⅴ一区二区| 欧美一级视频一区二区| 五月天色婷婷综合| 国产成人精品在线| 俄罗斯精品一区二区 | 日韩在线视频在线观看| 中文字幕一区二区三区四区五区六区| 国产精品久久久91| 91久久精品国产| 91高清免费视频| 亚洲福利av在线| 日本高清视频一区| 久久日韩精品| 国产欧美精品在线| 成人国产精品av| 啊啊啊一区二区| 色综合久久中文字幕综合网小说| 日韩一级特黄毛片| 久久精品视频播放| 国产在线精品91| 成人h视频在线观看| 日韩天堂在线视频| 久久人人97超碰精品888| 国产精品久久久久999| 亚洲自拍欧美另类| 日韩a∨精品日韩在线观看| 日本国产高清不卡|