分享到:

研發圖
聯絡我們 | 訪客留言 |
論 文 專 利 著 作 項 目 ZigBee 與 Uwb動態 技術FAQ
 
               

基于ARM處理器的ZigBee/TD-SCDMA網關設計

金純1    任濤1   王曉2

(1.重慶郵電大學 通信與信息工程學院  郵編:400065  2. 重慶廣播電視集團(總臺) 郵編:400015)

摘要: 本論文設計一種基于ARM處理器的ZigBee/TD-SCDMA的網關,用來實現數據在ZigBee網絡與td-scdma網絡之間的透明傳輸。結合ZigBee模塊和td-scdma模塊實現兩個網絡之間的數據轉發,同時介紹了該網關的硬件設計、軟件設計的思路和協議轉換的原理。
關鍵詞: zigbee/td-scdma網關; ARM處理器;協議轉換

【中圖分類號IN949.6              【文獻標識碼】B

【文章登記號】6-104

  Design of the ZigBee/TD-SCDMA gateway  based on ARM processo

Jin Chun1   ren tao1   wang xiao2


Abstract: This paper designs a gateway of ZigBee/TD-SCDMA based on the ARM processor, which uses to achieve transparent transmission between ZigBee network and TD-SCDMA network .By the communication of ZigBee module and TD-SCDMA module, the data can be forwarded. Beyond the theory of protocol conversion, the design of hardware and software about the gateway are introduced in detail.
Keywords: the gateway of zigbee/td-scdma ; ARM processor ; the protocol's conversion

1  引言:

    伴隨著zigbee技術在無線傳感器網絡的廣泛應用和td-cdma在我國的蓬勃發展,監控中心如何利用td-scdma網絡對zigbee構成的網絡進行遠程管理,控制感測環境中的各種傳感器裝置,逐漸成為該領域的一個重要課題。但由于zigbee和td-scdma的協議不同,以至于數據在這兩個網絡之間無法進行透明傳輸。在這里我們設計了zigbee/td-scdma網關用于解決上述問題,使得zigbee節點采集的數據能夠通過td-scdma網絡遠程及時地發送出去,同時監控中心也可以向zigbee節點發送控制命令。

2 網關系統概述

    網關是建立在傳輸層以上的協議轉換器,通常連接兩個或多個不同的網絡,每接收一種協議的數據包,利用用戶編寫的應用程序,在轉發之前,將該數據包轉換成另一種協議的格式,我們設計的網關協議模型如圖1所示[7]:

圖   1 網關協議模型

2.1 硬件設計思想

    該網關采用ARM處理器作為網關的主系統,CC2430以zigbee協議為基礎,在網關與zigbee路由節點和終端節點之間接收數據通信,TD-SCDMA模塊用于將zigbee節點的數據發送到控制中心以及從控制中心接收命令,系統硬件的總體結構如圖2所示[5]:

圖   2  網關硬件框架圖

如圖所示,ZigBee /TD-SCDMA網關由若干硬件單元構成。ARM處理器是ZigBee /TD-SCDMA網關的控制核心,ARM處理器(LPC2214)與ZigBee 模塊(CC2430)通過串口相連,如圖3[2]所示,ZigBee 模塊通過射頻接口與天線相連,天線用于收發無線信號。RAM通過地址數據總線與ARM處理器相連,Flash通過地址數據總線與ARM處理器相連,用于存儲數據信息。ARM處理器的另一端通過串口與TD-SCDMA模塊相連,同時,TD-SCDMA模塊連接TD-SCDMA天線,用于收發無線信號。ZigBee 模塊與ZigBee節點通過無線方式通信;TD-SCDMA模塊與TD-SCDMA網絡通過無線方式通信。

圖 3  CC2430與LPC2214關鍵引腳連接圖

如圖3所示,zigbee模塊與LPC2214通過串口進行數據的傳輸,其中zigbee模塊與LPC2214通過RXD和TXD兩個引腳進行連接,由于LPC2214沒有RTS和CTS兩個引腳,所以在進行數據傳輸之前,要通過AT指令將zigbee模塊設置成無流控的形式,然后就可以進行數據的傳輸。

2.2  zigbee/td-scdma網關的工作過程:

    如圖2,在網關內部,當沒有ZigBee節點接入時,TD-SCDMA模塊與服務器斷開連接;當有ZigBee節點需要接入時,網關先建立ZigBee節點與ZigBee模塊之間的連接,再建立TD-SCDMA模塊與TD-SCDMA服務器之間的連接。

    ZigBee模塊建立連接時,ZigBee節點先通過ZAO查詢網關的服務信息,再通過ZDO發出連接要求,APS負責上層應用程式物件與下層網絡層的協調,NWK負責找尋并維護節點間的繞徑路線并傳送封裝包到目標節點[4];TD-SCDMA模塊建立連接時,通過AT指令控制連接TD-SCDMA網絡(包括PHY層、MAC層、RLC層、PDCP層等),之后通過PPP協議與服務器進行連接,獲取IP地址等參數。

2.3、ZigBee /TD-SCDMA的處理過程:

    網關中的zigbee模塊可以是兩種設備類型:協調器、路由器。在該網關中,zigbee模塊設計為協調器。網關將提取ZigBee節點發送過來的有效數據,并將其使用TCP/IP封裝后再通過TD-SCDMA模塊發送到終端客戶;同時,網關也將提取終端客戶發送過來的通過TCP/IP協議封裝的有效數據,并將這些有效數據封裝到ZigBee協議中,然后通過ZigBee模塊發送給ZigBee節點。

    網關實現TCP/IP協議客戶端及服務端兩種角色。做客戶端使用時,網關會利用TCP/IP協議主動連接預先定義的終端客戶的IP地址及端口號,完成Socket連接;作為服務端使用時,網關將通過TD-SCDMA模塊申請到的IP地址注冊到動態域名中,并且會在某個預定義的端口上進行Socket監聽,這樣,終端客戶就可以通過動態域名知道網關的IP地址,并且連接到網關預定義的端口上,完成Socket連接。在客戶端或服務端的Socket連接完成之后,就可以在這個Socket與ZigBee協議之間轉發數據了。

3 網關軟件設計思想

    zigbee/td-scdma網關的軟件設計主要包括兩個方面:CC2430和ARM處理器,下面詳細地介紹CC2430和ARM處理器的軟件設計。

3.1 CC2430的軟件設計

CC2430的軟件設計主要依據于z-stack,它分別由zigbee協議棧、zigbee應用、硬件支持包組成。

    CC2430在充當接收和發送器的時候,它只負責對數據進行接收和發送,而不對數據進行任何的處理。在網關中,CC2430充當協調器,主要負責將zigbee節點的數據轉發到ARM處理器中,同時CC2430還要建立網絡和維護網絡。在對CC2430進行軟件設計的過程中,首先對硬件部分進行初始化,然后建立PAN標識符,廣播地址ID等等,并且協調器會保持對網絡節點的監控狀態,當協調器接收到信號的時候,首先判斷這個信號是否來自于一個新節點?如果是一個新節點,并且要加入到網絡中,協調器會分配一個16位短地址到這個新節點中;如果不是,協調器就會將這個數據包(信號)通過UART引腳直接傳到ARM處理器中。協調器的流程圖如圖4所示[3]: 

圖 4 協調器接收數據流程圖

協調器在接收與發送數據之前,首先要與ZigBee節點組成ZigBee網絡,以便把ZigBee節點采集的數據匯聚起來,組建網絡是通過zg_aplFormNetwork()函數來完成的,在組成網絡之后,等待其他節點的加入。

網絡組建成之后,就要從zigbee節點去接收信號,信號分為兩種:一種是要加入網絡的信號,一種是zigbee節點采集的數據。當協調器監測到信號時,協調器將接收到的原語傳輸到網絡層,網絡層判斷該節點是否為已連接的設備,如果是,則通過串口發送數據,否則,給要加入的設備分配短地址。

3.2  ARM處理器的軟件設計

    ARM處理器是實現zigbee網絡與td-scdma網絡的透明傳輸的關鍵系統,將zigbe協議轉換成td-scdma協議,實現數據的遠距離傳輸,同時能夠將td-scdma協議轉換層zigbee協議,向zigbee節點發送控制命令。

ARM處理器首先初始化硬件,然后打開中斷和接收數據包,并且對其分析和處理,流程圖如圖5所示[1]:

    

 圖5  ARM處理器處理數據的流程圖

由于打開了中斷,所以處理器在處理數據的過程中有時會發生中斷或異常中斷,在進入中斷程序之前,必須保存當前所有的值,而后在進入到中斷處理程序中,首先處理器會將中斷標志位清零,然后對相關的寄存器進行一系列的設置,當處理完成后返回中斷節點處,繼續運行。

    為了改進系統的實時性、增強實時性能和簡化系統的應用程序,我們移植 μC/OS-II 嵌入式操作系統到LPC2214中,LPC2214的整個軟件模型如圖6所示[6]:

圖 6  LPC2214軟件模型

 LPC2214中的軟件模型主要包括2個任務和串口接收中斷的子程序,這2個主要任務就是zigbeetask()和td-scdmatask(),這兩個任務的主要是對接收到的數據進行處理。當串口在中斷的子程序中接收完了所有的數據,根據接收的方向,發送zigbeeqflag或td-scdmaqflag進行激活zigbeetask()或td-scdmatask()任務.

   在這里,特別強調一點,當LPC2214串口接收到的數據長度大于LPC2214串口能夠接收到的最大數據長度時,為了便于用中斷方式接收處理,在串口初始化的函數中,應該同時打開接收數據(RDA)中斷和字符超時指示中斷(CTI)。

3.3  傳輸數據的幀結構

    監控中心與采集中心之間的數據交流是以幀的形式傳輸的。在通信的過程,為了使雙方對能夠接收到的數據進行及時的傳輸、解析,整個系統要應用確定的幀格式。

在煤礦定位系統中,為了確保數據能夠及時的傳輸,網關需要設計通信協議的幀格式,包括采集中心發送的數據幀和監控中心發送的命令幀,但由于數據幀和命令幀的數據長度不同,以及能夠使網關更能夠迅速的處理數據,命令幀和數據幀的幀結構如圖7所示[6]: 

幀頭

數據長度

源地址

目的地址

數據類型

數據

尾部

1個 Byte

1個 Byte

1~6 Byte

1~6 Byte

1 Byte

1~65Byte

1 Byte

                 圖 7   數據幀和命令幀的幀結構

3.4  協議轉換軟件原理

    zigbee/td-scdma網關主要實現zigbee網絡與td-scdma網絡的雙向傳輸,下面我們簡單地介紹一下從zigbee往td-scdma的傳輸過程。當zigbee/td-scdma網關從zigbee節點中接收到數據時,zigbee模塊將接收到的數據傳輸到ARM處理器,ARM處理器對接收到的數據進行處理,去掉zigbee協議棧頭,提取有用的數據載荷,然后加上td-scdma的協議棧頭,具體過程如下:去掉zigbee PHY頭幀→去掉zigbee MAC頭幀→去掉zigbee NWK頭幀→添加TCP頭幀→添加td-scdma IP頭幀→添加td-scdma PPP頭幀→添加td-scdma PDCP頭幀→添加td-scdma RLC頭幀→添加td-scdma  MAC頭幀→添加td-scdma PHY頭幀。從td-scdma向zigbee傳輸數據的處理的過程想反[1]。對zigbee模塊傳送過來的數據處理流程圖如圖8所示: 

圖  8  對從zigbee網絡發送的數據處理流程圖

由于從td-scdma網絡發送過來的數據處理的原理與其相反。就不在此敘述。

Zigbee/td-scdma網關內部的分組轉換圖如圖9所示[7]:

            網關內部的分組轉換圖

圖 9  網關內部的分組轉換圖

4 結束語

    本論文采用zigbee模塊和td-scdma模塊為基本的傳輸模塊,以LPC2214為核心設備,設計了無線傳感網絡網關,它的設計是鑒于zigbee短距離無線通信和td-scdma的遠距離傳輸的各自優點。zigbee/td-scdma網關結合兩個網絡來完成數據的遠程傳輸,同時我們詳細地闡述了網關的硬件設計和軟件設計,使得網關能夠可靠地運行,能夠將需要傳輸的數據及時地傳送出去。

參考文獻


[1]劉承龍,凌志浩 基于AT91SAM260的ZigBee 多功能網關設計.自動化儀表,2009年12月,第30卷第12期:31-33
[2]申冬玲 基于zigbee的無線通信模塊與串行存儲器接口方法的研究.佛山科學技術學院學報,2009年7月,第27卷第4期:32-35
[3]于洋,張東偉,崔建軍 基于zigbee技術的井下人員定位系統的設計.煤礦機械,2009年12月,第30卷第12期:19-21
[4]王銳華,于全.淺析ZigBee技術[J].電視技術,2004(6):33-35
[5]Hong jiang He,Zhu qiang Yue,Xiao jie Wang,Design and Realization of wireless sensor network gateway based on zigbee and GPRS. Second International Conference on Information and Computing Science,2009
[6]He zhi Ye,Jiang Peng,Design of wireless gateway based on zigbee and GPRS technology,2009
[7]Guo zhen Hu, Design and Implementation of Industrial Wireless Gateway Based on ZigBee Communication. The Ninth International Conference on Electronic Measurement & Instruments,684-688,2009
作者簡介:
    金純(1966- ),男,博士,研究方向為數字電視,IPTV,通信及計算機軟件;
    任濤(1987- ), 男,碩士,重慶郵電大學研究生,研究方向為無線通信
    王曉(1966- ),男,研究方向為短距離無線通訊技術和數字電視技術

上一頁: 車載網的新型定位算法

下一頁: 基于ZigBee的井下人員定位系統設計
北京南城搬家公司