技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 基于ARM9的嵌入式Zigbee網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)

基于ARM9的嵌入式Zigbee網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)

時(shí)間:2008-04-14 14:56:00來源:ronggang

導(dǎo)語:?設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于ARM9處理器的Zigbee無線傳感器網(wǎng)絡(luò)嵌入式網(wǎng)關(guān),用來完成Zigbee和Internet之間數(shù)據(jù)的透明轉(zhuǎn)換
設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于ARM9處理器的Zigbee無線傳感器網(wǎng)絡(luò)嵌入式網(wǎng)關(guān),用來完成Zigbee和Internet之間數(shù)據(jù)的透明轉(zhuǎn)換。給出了該網(wǎng)關(guān)的硬件方案設(shè)計(jì)和主要軟件編程思路以及一種新型網(wǎng)關(guān)的協(xié)議轉(zhuǎn)換方案的實(shí)現(xiàn)思路。該網(wǎng)關(guān)具有較好的通用性。 引言 無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是指由大量成本相對低廉的,具有感知能力、計(jì)算能力、實(shí)時(shí)通信能力的傳感器節(jié)點(diǎn)組成的嵌入式無線網(wǎng)絡(luò),是當(dāng)前眾多領(lǐng)域的研究和應(yīng)用熱點(diǎn)。建立在IEEE 802.15.4(LR_WPAN,低速率無線個(gè)人區(qū)域網(wǎng))上的Zigbee協(xié)議是應(yīng)用于無線監(jiān)測與控制的全球性無線通信標(biāo)準(zhǔn),是無線傳感器網(wǎng)絡(luò)組網(wǎng)的首選技術(shù)之一。 隨著Zigbee無線傳感器網(wǎng)絡(luò)技術(shù)的廣泛應(yīng)用,如何通過現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)設(shè)施(如Internet、GPRS等)對其進(jìn)行遠(yuǎn)程管理、控制感測環(huán)境中的各種傳感裝置,逐漸成為該領(lǐng)域的重要研究課題。圖1給出了基于Zigbee的無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu),如圖示Zigbee網(wǎng)關(guān)在整個(gè)無線傳感器網(wǎng)絡(luò)體系中起著重要的樞紐作用,同時(shí)也是WSN整體系統(tǒng)的“瓶頸”之一。當(dāng)圖1中的服務(wù)器或用戶部分為其它Zigbee網(wǎng)絡(luò)時(shí),通過Zigbee網(wǎng)關(guān)和Internet或GPRS做媒介,就使得世界范圍內(nèi)的不同監(jiān)測區(qū)域都可以信息共享,這大大縮小了物理世界的時(shí)空距離。
圖1 基于Zigbee技術(shù)的無線傳感器網(wǎng)絡(luò)
本文主要研究的是Internet環(huán)境下基于Zigbee傳感器網(wǎng)絡(luò)的網(wǎng)關(guān)設(shè)計(jì)及其實(shí)現(xiàn)。 1 系統(tǒng)概述 網(wǎng)關(guān)是建立在傳輸層以上的協(xié)議轉(zhuǎn)換器,通常它連接兩個(gè)或多個(gè)相互獨(dú)立的網(wǎng)絡(luò),每接收一種協(xié)議的數(shù)據(jù)包后,在轉(zhuǎn)發(fā)之前將它轉(zhuǎn)換為另一種協(xié)議的格式??紤]到Zigbee節(jié)點(diǎn)的通信能力有限(數(shù)據(jù)速率僅為250 Kbps),為了減少網(wǎng)關(guān)協(xié)議轉(zhuǎn)換自身的工作量,本網(wǎng)關(guān)選擇了一款集成Ethernet接口的ARM9 芯片來完成硬件系統(tǒng)的搭建。 本網(wǎng)關(guān)采用模塊化設(shè)計(jì)方案,如圖2所示由硬件層、軟件層和應(yīng)用層三大部分組成。其中硬件層描述了網(wǎng)關(guān)的硬件實(shí)現(xiàn),在后文將詳細(xì)介紹;軟件層移植μC/OS-II實(shí)時(shí)操作系統(tǒng)內(nèi)核、Zigbee和嵌入式TCP/IP協(xié)議棧LwIP,實(shí)現(xiàn)了Zigbee和TCP/IP協(xié)議的雙向透明轉(zhuǎn)換,同時(shí)封裝一些關(guān)鍵API函數(shù)供應(yīng)用層程序調(diào)用;應(yīng)用層運(yùn)行的是用戶編寫的應(yīng)用程序,用戶可以根據(jù)實(shí)際需要使用下層定義的API自行擴(kuò)充相關(guān)應(yīng)用。
圖2 Zigbee網(wǎng)關(guān)總體結(jié)構(gòu)
2 硬件設(shè)計(jì) 網(wǎng)關(guān)硬件結(jié)構(gòu)如圖3所示,由內(nèi)部集成以太網(wǎng)MAC的ARM9處理器STR912FW44X、Zigbee射頻收發(fā)模塊CC2420、大容量DataFlash存儲卡片AT45DCB008、以太網(wǎng)收發(fā)芯片(PHY) RTL8201和帶觸摸功能的LCD顯示模塊LQ084V1DG21等模塊組成。
圖3 Zigbee網(wǎng)關(guān)硬件結(jié)構(gòu)
其中STR912FW44X作為硬件系統(tǒng)的主控芯片,它是意法半導(dǎo)體(ST Microelectronics)推出的基于ARM966E-S內(nèi)核,片內(nèi)集成Flash、USB、CAN、以太網(wǎng)MAC、AC馬達(dá)控制、ADC、RTC、DMA等接口的高性能ARM9 SOC,最高主頻可達(dá)96Mhz; Zigbee射頻收發(fā)芯片CC2420是挪威Chipcon(現(xiàn)為TI)推出的符合2.4 GHz IEEE 802.15.4和Zigbee 標(biāo)準(zhǔn)的射頻收發(fā)器。CC2420采用O-QPSK調(diào)制方式,工作頻帶范圍為2.400~2. 4835 GHz,接收靈敏度為-94 dBm,抗鄰頻道干擾能力為39 dB。利用此芯片開發(fā)的無線通信設(shè)備支持?jǐn)?shù)據(jù)傳輸率高達(dá)250 Kbps,能夠?qū)崿F(xiàn)點(diǎn)對多點(diǎn)的快速組網(wǎng); AT45DCB008是Atmel公司推出的新型DataFlash存儲芯片,在該網(wǎng)關(guān)中用來保存網(wǎng)絡(luò)故障狀態(tài)下的數(shù)據(jù)信息。AT45DCB008中的數(shù)據(jù)按頁存放,主存共8192頁,每頁1024字節(jié),總?cè)萘考s為8M字節(jié),每頁的擦寫次數(shù)保證在100,000次以上; 以太網(wǎng)PHY層芯片采用的是Realtek公司的RTL8201BL,它是一個(gè)單端口的物理層收發(fā)器,實(shí)現(xiàn)了全部的10/100M以太網(wǎng)物理層功能; 顯示部分采用的LQ084V1DG21是SHARP公司的帶觸摸屏8.4英寸TFT數(shù)字液晶顯示屏,分辨率為640×480。 3 嵌入式網(wǎng)關(guān)軟件設(shè)計(jì) 3.1 μC/OS-II下的LwIP的移植 μC/OS-II是一個(gè)搶占式的實(shí)時(shí)多任務(wù)內(nèi)核操作系統(tǒng),具有開放源碼、可固化、可剪裁、高穩(wěn)定性和可靠性等特點(diǎn)。目前國內(nèi)外對μC/OS-II的相關(guān)研究已有很多,其在STR912處理器上的移植在此不再贅述。LwIP是瑞士計(jì)算機(jī)科學(xué)院開發(fā)的輕量級(Light Weight)開放源碼TCP/IP協(xié)議棧,目前最新版本為1.2.0 LwIP協(xié)議棧把所有與硬件相關(guān)、OS、編譯器相關(guān)的部分獨(dú)立出來,放在/src/arch目錄下,可以是說其在設(shè)計(jì)時(shí)就考慮了移植問題。LwIP在μC/OS-II上的移植就是修改這個(gè)目錄下的文件,其它的文件一般不做修改。需要修改和自己編程實(shí)現(xiàn)的是以下幾部分: ●與STR912及IAR編譯器相關(guān)的include文件; ●μC/OS-II模擬層相關(guān)代碼編寫; ●與μC/OS-II相關(guān)的一些結(jié)構(gòu)和函數(shù); ●lib_arch中庫函數(shù)的實(shí)現(xiàn); ●STR912網(wǎng)絡(luò)驅(qū)動程序編寫。 完成以上代碼移植的工作后,LwIP就可以順利運(yùn)行在μC/OS-II下,主要通過以下程序完成LwIP的初始化及運(yùn)行: main(){ (lwip_init_task,&LineNo11,&lwip_init_stk[TASK_STK_SIZE-1], 0); //創(chuàng)建LwIP初始化任務(wù) OSTaskCreate(usr_task,&LineNo12,&usr_stk[TASK_STK_SIZE-1],1);//創(chuàng)建用戶任務(wù) OSStart();//啟動LwIP } 在main函數(shù)中創(chuàng)建了lwip_init_task來初始化LwIP任務(wù)(優(yōu)先級為0)和usr_task用戶任務(wù)(優(yōu)先級為1)。需要指出的是,在lwip_init_task任務(wù)中除了完成初始化硬件時(shí)鐘和LwIP本身等工作之外,還創(chuàng)建了tcpip_thread(優(yōu)先級為5)和tcpecho_thread(優(yōu)先級為6),其中tcpip_thread才是LwIP的主線程,也是應(yīng)該先創(chuàng)建的。 3.2 μC/OS-II下的Zigbee協(xié)議棧的實(shí)現(xiàn) 我們在該網(wǎng)關(guān)平臺上運(yùn)行自主編寫Zigbee協(xié)議棧的子集ez_PAN。ez_PAN目前還很不完善,只實(shí)現(xiàn)了Zigbee的部分關(guān)鍵功能,僅支持星型和簇狀網(wǎng)絡(luò)(Cluster),支持網(wǎng)絡(luò)的動態(tài)組網(wǎng)配置和動態(tài)綁定等。ez_PAN協(xié)議棧結(jié)構(gòu)如圖4所示:
圖4 ez_PAN協(xié)議棧結(jié)構(gòu)
下面給出ez_PAN 協(xié)議棧上的協(xié)調(diào)器(Coordinator)、路由器(Router)和精簡節(jié)點(diǎn)(RFD)實(shí)現(xiàn)的關(guān)鍵代碼。Coordinator通過aplFormNetwork()函數(shù)建立網(wǎng)絡(luò),等待其它節(jié)點(diǎn)(Router和RFD)的加入,主要程序如下: Main() { halInit(); //初始化 HAL 層 hawInit();//硬件初始化 aplInit(); //初始化APL ENABLE_GLOBAL_INTERRUPT(); //開中斷 aplFormNetwork(); //建立網(wǎng)絡(luò) while(apsBusy)()) {apsFSM();} //等待建立完成 while(1) {apsFSM();} //循環(huán)執(zhí)行協(xié)議棧 } 其中調(diào)用apsBusy()來判斷當(dāng)前協(xié)議棧是否忙于其它程序調(diào)用,apsFSM()是在APS層上實(shí)現(xiàn)的FSM(有限狀態(tài)機(jī)),被apsBusy周期調(diào)用來維持ez_PAN的運(yùn)行。在Coordinator建立網(wǎng)絡(luò)完成后,允許Router或RFD節(jié)點(diǎn)動態(tài)加入,關(guān)鍵代碼實(shí)現(xiàn)如下: do { aplJoinNetwork();//Router或RFD加入網(wǎng)絡(luò) while(apsBusy ()) { apsFSM();} //等待加入完成 } while (aplGetStatus ()! =LRWPAN_SUCCESS); 3.3 協(xié)議轉(zhuǎn)換軟件設(shè)計(jì) 在TCP/IP協(xié)議簇中,以太網(wǎng)的數(shù)據(jù)傳輸使用硬件地址(MAC)來進(jìn)行識別,其中ARP(地址解析協(xié)議)完成IP地址和數(shù)據(jù)鏈路層使用的硬件地址之間的轉(zhuǎn)換,因此為了保證Zigbee網(wǎng)關(guān)在以太網(wǎng)中的通信,首先要實(shí)現(xiàn)ARP協(xié)議的功能。Zigbee網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)理論上最多可達(dá)65536個(gè),每個(gè)節(jié)點(diǎn)同樣有自己唯一的MAC地址(64位長地址或16位短地址)。參考TCP/IP下的實(shí)現(xiàn)機(jī)制,我們實(shí)現(xiàn)了Zigbee協(xié)議中的適配層和ARP,實(shí)現(xiàn)IP地址到Zigbee節(jié)點(diǎn)地址的映射。協(xié)議轉(zhuǎn)換的工作原理如圖5所示,下面簡單描述一下數(shù)據(jù)包在網(wǎng)關(guān)中從Ethernet向Zigbee單方向轉(zhuǎn)換過程:Ethernet端從某網(wǎng)絡(luò)接口接收一個(gè)正常發(fā)往本機(jī)的IP數(shù)據(jù)包,簡單判斷后向上發(fā)給對應(yīng)的UDP或TCP處理函數(shù)進(jìn)行相應(yīng)處理,然后再向上發(fā)給網(wǎng)關(guān)應(yīng)用程序處理;網(wǎng)關(guān)應(yīng)用程序經(jīng)過簡單分析后,確定要轉(zhuǎn)發(fā)給Zigbee網(wǎng)絡(luò)中的哪個(gè)節(jié)點(diǎn),通過Zigbee端的ARP解析出該節(jié)點(diǎn)在Zigbee網(wǎng)絡(luò)中的MAC地址,然后將相應(yīng)數(shù)據(jù)包成功交至該節(jié)點(diǎn),這樣就完成此次從Ethernet向Zigbee端的協(xié)議轉(zhuǎn)換。Zigbee向Ethernet端轉(zhuǎn)換類似,不再贅述。
圖5 網(wǎng)關(guān)協(xié)議轉(zhuǎn)換框圖
4 結(jié)論 本文設(shè)計(jì)的網(wǎng)關(guān)已在我們的“基于Zigbee無線傳感器網(wǎng)絡(luò)的煤礦井下定位跟蹤系統(tǒng)”項(xiàng)目中得以實(shí)用,取得了較好的效果。經(jīng)測試該網(wǎng)關(guān)具有效率高、響應(yīng)實(shí)時(shí)、可靠性高、功耗低,抗干擾能力強(qiáng)等特點(diǎn),同時(shí)具有很好的通用性。由于當(dāng)前Zigbee技術(shù)還在不斷的更新和完善中,如何跟蹤最新的Zigbee技術(shù)來提高網(wǎng)關(guān)的性能以及如何提高ez_PAN的多平臺可移植性,將是我們以后研究的重點(diǎn)。 本文作者創(chuàng)新點(diǎn):采用集成Ethernet (MAC)接口的ARM9芯片STR912作為核心擴(kuò)展設(shè)計(jì)了一個(gè)Zigbee網(wǎng)關(guān),它很好地克服了傳統(tǒng)網(wǎng)關(guān)架構(gòu)下Zigbee傳輸速率的瓶頸,大大降低了協(xié)議轉(zhuǎn)換過程中的資源和處理時(shí)間消耗。該網(wǎng)關(guān)設(shè)計(jì)思路、技術(shù)實(shí)現(xiàn)新穎,具有較強(qiáng)的實(shí)用性。 參考文獻(xiàn) [1] Zigbee specification v1.1. Zigbee Alliance.http://www.zigbee.org,2006 [2] LwIP v1.2.0 source code. Leon Woestenberg.http://savannah.nongnu.org/projects/lwip/, 2006 [3] Patrick Kinney, Kinney Consulting LLC.Gateways: Beyond the Sensor Network .Zigbee Alliance, 2005 [4] http://www.ece.msstate.edu/~reese/msstatePAN/, 2006 [5] 趙晨,何波,王睿.基于射頻芯片CC2420實(shí)現(xiàn)的Zigbee無線通信設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007(1-2):P101-102

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:模糊PID控制器在起重機(jī)糾偏系...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號