《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM平臺的ZigBee網關設計
基于ARM平臺的ZigBee網關設計
來源:微型機與應用2013年第16期
徐松松,周西峰,郭前崗
(南京郵電大學 自動化學院,江蘇 南京210046)
摘要: 針對ZigBee傳輸距離短的不足,結合以太網的遠程特性,設計了基于ARM平臺的ZigBee網關。硬件采用STM32處理器和ZigBee CC2530,在操作系統μC/OS-II的基礎上實現TCP/IP協議和ZigBee協議的移植。經測試,該網關通用性好,實現了ZigBee與ARM數據通信,通過以太網實現了數據的遠程監測。
Abstract:
Key words :

摘  要: 針對ZigBee傳輸距離短的不足,結合以太網的遠程特性,設計了基于ARM平臺的ZigBee網關。硬件采用STM32處理器和ZigBee CC2530,在操作系統μC/OS-II的基礎上實現TCP/IP協議和ZigBee協議的移植。經測試,該網關通用性好,實現了ZigBee與ARM數據通信,通過以太網實現了數據的遠程監測。
關鍵詞: ZigBee;μC/OS-II;以太網;網關

    無線傳感網絡WSN(Wireless Sensor Network)是由部署在監測區域內的大量廉價微型傳感器節點組成的、通過無線通信方式形成的一個多跳的自組織的網絡系統。ZigBee憑借低功耗、短延時、自組網等優勢已廣泛應用于無線傳感器網絡中,但如何實現ZigBee網絡的遠程管理和監測逐漸成為該領域的重要研究課題。本文設計了基于ARM平臺的ZigBee網關,其目的是實現ZigBee無線網絡的遠程控制。
1 系統概述
    網關主要由無線傳感器和以太網服務器兩部分組成。無線傳感器選用ZigBee CC2530;以太網服務器以STM32作為主處理器,通過串口(UART)連接以太網控制器ENC28J60。
    網關總體結構由三部分組成,即硬件層、軟件層和應用層[1],如圖1所示。硬件層描述了網關中的處理器和無線傳感等硬件;軟件層是移植μC/OS-II實時內核、嵌入式TCP/IP協議棧LwIP和ZigBee協議棧,實現TCP/IP和ZigBee兩種協議棧間協議的雙向透明轉換,同時封裝一些關鍵應用程序接口(API)函數供應用層程序調用;應用層是用戶根據具體的數據要求編寫的應用程序,用戶根據實際需要使用下層定義的API函數自行擴充相關應用。

2 網關硬件設計
    網關的工作流程為:網關內的ZigBee協調器創建一個無線網路,控制區域內ZigBee節點自動搜尋網絡,并加入到網絡中;當需要遠程監控計算機獲得某一個節點的數據或者發送某一個指令給節點時,只需向以太網口發送相應的節點地址和指令即可;網關以太網接口獲得遠程計算機的命令后,就會通過處理器的協議轉換通知ZigBee協調器向相應的傳感器節點發送指令;傳感器節點收到命令后按照指令執行操作,并把數據按相反的路徑發送給遠程監測計算機。網關的硬件結構如圖2所示。

   其中,微處理器通過SPI方式與ZigBee和以太網控制器通信,ZigBee節點是監測區域內的傳感器節點,自動加入協調器建立的網路中。
2.1 硬件選擇
    考慮到高性能、低成本等因素,網關選用基于Cortex-M3內核的STM32F103作為主處理器。此系列處理器是增強型處理器,工作頻率達到72 MHz,內置高速存儲器(高達128 KB的閃存和20 B的SRAM)接口。集成了許多緊耦合系統外設,能滿足下一代產品的控制需求。調試模式有串口調試和JTAG接口,本文中采用串口調試方式,節省了開銷。多個通信接口:2個I2C接口(SMBus/PMBus)、5個USART接口、3個SPI接口等。這些特性足以滿足本網關設計的要求。
    CC2530是用于IEEE802.15.4、ZigBee和RF4CE應用的一個真正的片上系統(SoC)解決方案。低功耗、短延時,以非常低的總成本建立龐大的網絡節點等特性成為無線傳感網絡重要技術之一,并且結合了領先的RF收發器的優良性能,業界標準的增強型8051 CPU,系統內具有可編程閃存、8 KB RAM和許多其他強大的功能。2個USART接口,調試接口用于內部電路調試,具有兩線串行接口。
2.2 STM32與CC2530的硬件連接
    STM32處理器與CC2530的硬件連接[2]如表1所示。

3 網關軟件設計
    本文設計的網關,按軟件平臺可分為運行在ZigBee無線模塊中的ZigBee協議棧程序和運行在主處理器STM32中的嵌入式以太網服務器程序兩部分。其中在STM32中移植?滋C/OS-II實時操作系統,兩個不同的網絡使用兩類協議,即TCP/IP協議和ZigBee協議。
3.1 ZigBee協議棧
    ZigBee協調器中運行ZigBee協議棧程序,協議棧采用Z-Stack 2007,其結構包括應用層、網絡層、媒介訪問控制層和物理層。可以說Z-Stack是一個小型的操作系統,底層和網絡層內容已經封裝好,只需根據需要修改應用層函數,通過任務輪詢機制執行任務。
3.2 μC/0S-II下LwIP的移植
    LwIP是瑞士計算機科學院(Swedish Institute of Computer Science)的DUNKELS A等開發的一個小型開源的TCP/IP協議棧,實現的重點是在保持TCP協議主要功能的基礎上減少對RAM的占用,一般它只需要幾十KB RAM和40 KB左右的ROM就可以運行,使得LwIP協議棧適合應用在低端嵌入式系統中。
    LwIP協議棧把所有與硬件、OS、編譯器相關的部分獨立出來,放在/src/arch目錄下,因此LwIP在?滋C/OS-II上的移植實現只需要修改這個目錄下的文件。LwIP成功移植到μC/OS-II操作系統需要修改和編程的部分[3]:
    (1)修改與STM32及IAR編譯器相關的include文件(cc.h、cpu.h、perf.h);
    (2)修改與μC/OS-II相關的一些結構和函數;
    (3)lib_arch中庫函數的實現;
    (4)STM32網絡驅動程序編寫;
    (5)μC/OS-II模擬層相關代碼編寫。
    完成上面的幾個部分后就可以在?滋C/0S-II中初始化LwIP,并創建TCP或UDP任務。LwIP的初始化必須在μC/0SII完全啟動之后(即在任務中)進行,因為它的初始化用到了信號量等 OS相關的操作。關鍵代碼和說明如下:
main(){
OSInit();
OSTaskCreate(lwip_init_task, &LineNo11, &lwip_init_stk
[TASK_STK_SIZE-1], 0);
OSTaskCreate(usr_task,&LineNo12,&usr_stk[TASK_STK_
SIZE-1],1);
OSStart();
}
3.3 協議轉換軟件設計
    如何使得節點間數據交換透明化是網關應用程序的主要問題,需要設計協議轉換。在TCP/IP協議簇中,以太網的數據傳輸使用硬件地址(MAC)來識別,地址解析協議(ARP)完成IP地址和數據鏈路層使用的硬件地址之間的轉換,參考TCP/IP下的實現機制,在網關軟件支持層的ZigBee協議和TCP/IP協議之上添加應用地址適配層和應用協議層。軟件結構[4]如圖3所示。

 

 

    應用地址適配層實現ZigBee地址、以太網地址與應用層地址的映射關系,通過創建地址映射表以及相應的軟件操作接口來實現;應用協議層在應用地址適配層的基礎上,通過制定統一的應用協議,規范數據交換格式;網關應用程序實現網關具體功能,以μC/OS-II任務的形式組織運行。
3.4 μC/OS-II操作系統
    μC/OS-II是一種免費公開源代碼、結構小巧、具有可剝奪實時內核的實時操作系統,包含了任務調度、任務管理、時間管理、內存管理和任務間的通信和同步等基本功能。
3.4.1 系統移植
    在STM32微處理器平臺上移植?滋C/OS-II只需要修改OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C 3個文件。OS_CPU.H中修改聲明中與微處理器相關的常量、宏和typedef;OS_CPU_A.ASM中實現五個與處理器相關的函數:OS_CPU_SR_Save( )、OS_CPU_SR_Restore( )、OSStart-HighRdy( )、OSCtxSw( )、OSIntCtxSw( );OS_CPU_C.C中有9個鉤子函數(空函數)和一個OSTaskStkInit( )函數,OSTask-StkInit( )函數功能是完成新建任務堆棧的初始化。
3.4.2 網關任務函數
    網關應用程序是以μC/OS-II任務的形式組織運行的,μC/OS-II中主要任務是接收和處理以太網的指令,實現以太網和ZigBee節點間通信。系統中的主要任務函數包括:以太網數據接收任務TaskEthernetRec()、以太網數據處理任務TaskDealEthernet()、以太網數據發送任務TaskEthernetSend()、ZigBee數據接收任務TaskZigBeeRec()、ZigBee數據處理任務TaskDealZigBee()和ZigBee數據發送任務TaskZigBeeSend()。
    任務之間的數據共享通過多個數據隊列實現,主要數據隊列包括:以太網數據接收緩沖隊列QueueEthernetRec()、以太網數據發送緩沖隊列QueueEthernetSend()、ZigBee數據接收緩沖隊列QueueZigBeeRec()及ZigBee數據發送緩沖隊列QueueZigBeeSend()。
    通過本網關對兩個ZigBee節點采集的溫度數據進行簡單的控制,取得了理想的控制效果。網關的設計彌補了ZigBee通信距離短的不足,利用低功耗、高性能的STM32微處理器,實現了ZigBee短距離通信的遠程控制,增加了ZigBee網絡應用的廣泛性。軟件部分采用?滋C/OS-II操作系統,方便移植到更高性能的ARM9處理器上。該網關所具有靈活性使其可應用在多種不同的工業控制現場,具有較強的實用性。
參考文獻
[1] 張帥華,楊遠,梁玉堂,等.基于AT91SAM9260的ZigBee工業以太網網關設計[J].微計算機信息,2011,27(8):113-114.
[2] 徐琰,馬忠梅.LM3S1138與CC2420的無線傳感器網絡通信[J].單片機與嵌入式系統應用,2009(10):18-20.
[3] 喬大雷,夏士雄,楊松.基于ARM9的嵌入式ZigBee網關設計與實現[J].微計算機信息,2007,23(12-2):156-158.
[4] 甘勇,王華,常亞軍,等.基于ARM平臺的ZigBee網關設計[J].通信技術,2009,42(1):199-201.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品午夜| 欧美一区二区精品| 亚洲在线观看| 一区二区免费在线观看| 亚洲激情社区| 亚洲黄色小视频| 在线精品视频免费观看| 黑丝一区二区三区| 国产综合色产| 红桃视频国产精品| 国内成人在线| 精久久久久久| 黄色成人在线网站| 国产一在线精品一区在线观看| 国产欧美91| 国产欧美日韩亚洲| 国产欧美一区二区色老头| 国产精品一区免费观看| 国产乱子伦一区二区三区国色天香| 国产精品一区二区久久久| 国产精品久久久久久久久久直播| 国产精品久久久久久久午夜片| 国产精品视频男人的天堂| 国产婷婷色一区二区三区在线| 国产综合亚洲精品一区二| 尹人成人综合网| 亚洲国产精品久久91精品| 亚洲精品孕妇| 亚洲一区二区三区在线视频| 亚洲欧美在线另类| 久久电影一区| 日韩视频三区| 亚洲男人的天堂在线aⅴ视频| 欧美一区二粉嫩精品国产一线天| 久久久久久久久久久久久久一区| 可以看av的网站久久看| 欧美激情亚洲一区| 国产精品99一区| 国产一区二区三区高清| 亚洲国产欧美另类丝袜| 99国产精品视频免费观看| 亚洲主播在线播放| 久久精品国产久精国产思思| 日韩视频一区| 午夜精品久久久久久| 久久久久在线| 欧美日韩一区自拍| 国产一区二区毛片| 亚洲精品久久久久久久久久久| 亚洲天堂成人在线视频| 欧美在线一二三区| 99精品欧美| 久久国产黑丝| 欧美人与禽猛交乱配| 国产精品夜夜夜一区二区三区尤| 狠狠色狠狠色综合人人| 99精品视频免费观看视频| 午夜精品在线| 日韩视频在线一区| 久久国产婷婷国产香蕉| 欧美日韩不卡视频| 国产无遮挡一区二区三区毛片日本| 亚洲大胆av| 亚洲欧美日韩国产中文| 亚洲精品欧美日韩| 久久av免费一区| 欧美伦理影院| 国产一区二区三区久久久| 亚洲理论在线| 欧美中文字幕在线观看| 中日韩高清电影网| 久久资源在线| 国产精品美女主播| 亚洲欧洲中文日韩久久av乱码| 午夜激情亚洲| 夜夜嗨av一区二区三区四季av| 久久精品免费看| 欧美亚一区二区| 亚洲国产成人精品女人久久久 | 国内成+人亚洲+欧美+综合在线| 国产精品网站视频| 国产亚洲一级高清| 亚洲日韩成人| 亚洲图片欧美午夜| 亚洲精品老司机| 久久久青草青青国产亚洲免观| 欧美日韩调教| 亚洲国产91| 欧美一区二区三区喷汁尤物| 亚洲人在线视频| 亚洲第一视频网站| 亚洲欧美日韩一区二区三区在线| 99精品国产热久久91蜜凸| 玖玖综合伊人| 国产一区三区三区| 亚洲欧美日韩久久精品 | 中国女人久久久| 欧美高清在线一区二区| 国产亚洲欧美aaaa| 亚洲午夜免费视频| 一区二区三区精品在线| 欧美aa国产视频| 一区二区三区我不卡| 欧美在线观看网站| 欧美专区在线观看一区| 欧美三级在线视频| 亚洲理论在线| 日韩天堂在线观看| 欧美大片免费久久精品三p| 国内一区二区三区在线视频| 亚洲欧美日韩在线观看a三区| 亚洲在线观看免费视频| 欧美三级日本三级少妇99| 亚洲日本va午夜在线影院| 亚洲欧洲美洲综合色网| 玖玖精品视频| 在线观看91久久久久久| 亚洲国产裸拍裸体视频在线观看乱了| 欧美有码在线视频| 国产日韩精品视频一区二区三区| 亚洲视频精选在线| 亚洲欧美日韩精品久久久久| 国产精品九九| 亚洲制服少妇| 久久精品av麻豆的观看方式| 国产日韩在线不卡| 香蕉成人久久| 久久久91精品国产| 国产真实乱偷精品视频免| 久久se精品一区精品二区| 久久久久欧美精品| 一区二区在线看| 亚洲精品在线免费| 欧美女同在线视频| 在线亚洲免费| 午夜精彩视频在线观看不卡| 国产精品视频精品| 欧美一区二区免费| 久久久夜精品| 亚洲国产精品久久久| 日韩亚洲一区二区| 欧美视频在线一区二区三区| 在线中文字幕日韩| 欧美一区久久| 精品不卡一区| 一区二区高清| 国产精品久久久久9999高清| 午夜在线播放视频欧美| 老色鬼久久亚洲一区二区| 亚洲精品1区| 亚洲欧美日产图| 国产欧美一区二区三区沐欲 | 日韩午夜黄色| 欧美在线观看网站| 永久免费精品影视网站| 99视频在线精品国自产拍免费观看| 欧美日韩国产综合久久| 亚洲午夜国产一区99re久久| 久久精品一级爱片| 亚洲激情在线观看| 亚洲欧美色一区| 激情视频一区二区| 亚洲视频精品| 国产视频一区在线| 亚洲乱亚洲高清| 国产精品免费福利| 久久精品亚洲一区二区| 欧美日韩午夜精品| 欧美怡红院视频| 欧美精品粉嫩高潮一区二区| 亚洲一区激情| 欧美电影电视剧在线观看| 中文久久精品| 毛片一区二区| 亚洲一区二区视频在线| 免费欧美日韩国产三级电影| 一区二区三区四区蜜桃| 久久婷婷久久一区二区三区| 日韩午夜剧场| 久久综合九色综合久99| 亚洲视频综合在线| 欧美电影在线| 欧美一区二区在线看| 欧美日韩免费一区二区三区视频 | 亚洲在线视频| 136国产福利精品导航网址| 亚洲一区在线免费| 在线看片日韩| 午夜影院日韩| 亚洲欧洲一级| 久久午夜电影| 亚洲免费视频成人| 欧美日韩在线精品| 91久久久在线| 国产视频一区在线观看| 亚洲午夜精品一区二区| 一色屋精品视频在线观看网站| 午夜免费久久久久| 亚洲伦理在线观看| 开元免费观看欧美电视剧网站|