全民飞机大战齐天大圣曝光|全民飞机大战女人物全身图|
分享到:

研发图
联络我们 | 访客留言 |
论 文 专 利 著 作 项 目 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 网关?#20302;?#27010;述

    网关是建立在传输层以上的协议转换器,通常连接两个或多个不同的网络,每?#37038;?#19968;种协议的数据包,利用用户编写的应用程序,在转发之前,将该数据包转换成另一种协议的格式,我们设计的网关协议模型如图1所示[7]:

图   1 网关协议模型

2.1 硬件设计思想

    该网关采用ARM处理器作为网关的主?#20302;常珻C2430以zigbee协议为基础,在网关与zigbee路由节点和终端节点之间?#37038;?#25968;据通信,TD-SCDMA模块用于将zigbee节点的数据发送到控制中心以及从控制中心?#37038;?#21629;令,?#20302;?#30828;件的总体结构如图2所示[5]:

图   2  网关硬件框架图

如图所示,ZigBee /TD-SCDMA网关由若干硬件单元构成。ARM处理器是ZigBee /TD-SCDMA网关的控制核?#27169;珹RM处理器(LPC2214)与ZigBee 模块(CC2430)通过串口相连,如图3[2]所示,ZigBee 模块通过射?#21040;?#21475;与天线相连,天线用于收发无线信号。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模块设置成无流控的?#38382;劍?#28982;后就可以进行数据的传输。

2.2  zigbee/td-scdma网关的工作过程:

    如图2,在网关内部,当没有ZigBee节点接入时,TD-SCDMA模块与服务器断开连接;当有ZigBee节点需要接入时,网关先建立ZigBee节点与ZigBee模块之间的连接,再建立TD-SCDMA模块与TD-SCDMA服务器之间的连接。

    ZigBee模块建立连?#37038;保琙igBee节点先通过ZAO查询网关的服务信息,再通过ZDO发出连接要求,APS负责上层应用程式物件与下层网络层的协调,NWK负责找寻并维护节点间的绕径路线并传送封装包到目标节点[4];TD-SCDMA模块建立连?#37038;保?#36890;过AT指令控制连接TD-SCDMA网络(包括PHY层、MAC层、RLC层、PDCP层等),之后通过PPP协议与服务器进行连接,获取IP地址等参数。

2.3、ZigBee /TD-SCDMA的处理过程:

    网关中的zigbee模块可以是两种设备类型:协调器、路由器。在该网关中,zigbee模块设计为协调器。网关将提取ZigBee节点发送过来的?#34892;?#25968;据,并将其使用TCP/IP封装后再通过TD-SCDMA模块发送到终端客户;同时,网关也将提取终端客户发送过来的通过TCP/IP协议封装的?#34892;?#25968;据,并将这些?#34892;?#25968;据封装到ZigBee协议中,然后通过ZigBee模块发?#36879;鳽igBee节点。

    网关实现TCP/IP协议客户?#24605;?#26381;务端两种角色。做客户端使用时,网关会利用TCP/IP协议主动连接预先定义的终端客户的IP地址及端口号,完成Socket连接;作为服务端使用时,网关将通过TD-SCDMA模块申请到的IP地址注册到动态域名中,并?#19968;?#22312;某个预定义的端口上进行Socket监听,这样,终端客户就可以通过动态域名知道网关的IP地址,并且连接到网关预定义的端口上,完成Socket连接。在客户端或服务端的Socket连接完成之后,就可以在这个Socket与ZigBee协议之间转发数据了。

3 网关软件设计思想

    zigbee/td-scdma网关的软件设计主要包括两个方面:CC2430和ARM处理器,下面详细地介绍CC2430和ARM处理器的软件设计。

3.1 CC2430的软件设计

CC2430的软件设计主要依据于z-stack,它分别由zigbee协议栈、zigbee应用、硬件支持包组成。

    CC2430在充当?#37038;?#21644;发送器的时候,它只负责对数据进行?#37038;?#21644;发送,而不对数据进行任何的处理。在网关中,CC2430充当协调器,主要负责将zigbee节点的数据转发到ARM处理器中,同时CC2430还要建立网络和维护网络。在对CC2430进行软件设计的过程中,首先对硬件部分进行初始化,然后建立PAN标识符,广播地址ID等等,并且协调器会保持对网络节点的监控状态,当协调器?#37038;?#21040;信号的时候,首先判断这个信号是否来自于一个新节点?如果是一个新节点,并且要加入到网络中,协调器会分配一个16位短地址到这个新节点中;如果不是,协调器就会将这个数据包(信号)通过UART引脚直接传到ARM处理器中。协调器的流程图如图4所示[3]: 

图 4 协调器?#37038;?#25968;据流程图

协调器在?#37038;?#19982;发送数据之前,首先要与ZigBee节点组成ZigBee网络,以便把ZigBee节点采集的数据汇聚起来,组建网络是通过zg_aplFormNetwork()函数来完成的,在组成网络之后,等待其他节点的加入。

网络组建成之后,就要从zigbee节点去?#37038;?#20449;号,信号分为两种:一种是要加入网络的信号,一种是zigbee节点采集的数据。当协调器监测到信号时,协调器将?#37038;?#21040;的原语传输到网络层,网络层判断该节点是否为已连接的设备,如果是,则通过串口发送数据,否则,给要加入的设备分配短地址。

3.2  ARM处理器的软件设计

    ARM处理器是实现zigbee网络与td-scdma网络的透明传输的关键?#20302;常?#23558;zigbe协议转换成td-scdma协议,实现数据的远距离传输,同时能够将td-scdma协议转换层zigbee协议,向zigbee节点发送控制命令。

ARM处理器首先初始化硬件,然后打开中断和?#37038;?#25968;据包,并且对其分析和处理,流程图如图5所示[1]:

    

 图5  ARM处理器处理数据的流程图

由于打开了中断,所以处理器在处理数据的过程中有时会发生中断或异常中断,在进入中断程序之前,必须保存当前所有的值,而后在进入到中断处理程序中,首先处理器会将中断标志位清零,然后对相关的寄存器进行一系列的设置,当处理完成后返回中断节点处,继续运行。

    为了改进?#20302;?#30340;实时性、增强实时性能?#22270;?#21270;?#20302;?#30340;应用程序,我们移植 μC/OS-II 嵌入式操作?#20302;?#21040;LPC2214中,LPC2214的整个软件模型如图6所示[6]:

图 6  LPC2214软件模型

 LPC2214中的软件模型主要包括2个任务和串口?#37038;?#20013;断的子程序,这2个主要任务就是zigbeetask()和td-scdmatask(),这两个任务的主要是对?#37038;?#21040;的数据进行处理。当串口在中断的子程序中?#37038;?#23436;了所有的数据,根据?#37038;?#30340;方向,发送zigbeeqflag或td-scdmaqflag进行激活zigbeetask()或td-scdmatask()任务.

   在这里,特别强调一点,当LPC2214串口?#37038;?#21040;的数据长度大于LPC2214串口能够?#37038;?#21040;的最大数据长度时,为了便于用中断方式?#37038;?#22788;理,在串口初始化的函数中,应该同时打开?#37038;?#25968;据(RDA)中断和?#22336;?#36229;时指示中断(CTI)。

3.3  传输数据的帧结构

    监控中心与采集中心之间的数据交流是以帧的?#38382;?#20256;输的。在通信的过程,为了使双方对能够?#37038;?#21040;的数据进行及时的传输、解析,整个?#20302;?#35201;应用确定的帧格式。

在煤矿定位?#20302;?#20013;,为了确保数据能够及时的传输,网关需要设计通信协议的帧格式,包括采集中心发送的数据帧?#22270;?#25511;中心发送的命令帧,但由于数据帧和命令帧的数据长度不同,以及能够使网关更能够迅速的处理数据,命令帧和数据帧的帧结构如图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节点中?#37038;?#21040;数据时,zigbee模块将?#37038;?#21040;的数据传输到ARM处理器,ARM处理器对?#37038;?#21040;的数据进行处理,去掉zigbee协议栈头,提取有用的数据载荷,然后?#30001;蟭d-scdma的协议栈头,具体过程如下:去掉zigbee PHY?#20998;?#8594;去掉zigbee MAC?#20998;?#8594;去掉zigbee NWK?#20998;?#8594;添加TCP?#20998;?#8594;添加td-scdma IP?#20998;?#8594;添加td-scdma PPP?#20998;?#8594;添加td-scdma PDCP?#20998;?#8594;添加td-scdma RLC?#20998;?#8594;添加td-scdma  MAC?#20998;?#8594;添加td-scdma PHY?#20998; ?#20174;td-scdma向zigbee传输数据的处理的过程想反[1]。对zigbee模块传送过来的数据处理流程图如图8所示: 

图  8  对从zigbee网络发送的数据处理流程图

由于从td-scdma网络发送过来的数据处理的原理与其相?#30784;?#23601;不在此叙述。

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技术的井下人员定位?#20302;?#30340;设计.煤矿机械,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- ),男,研究方向为短距离无线通讯技术和数字电视技术

上一?#24120;?/u> 车载网的新型定位算法

下一?#24120;?/u> 基于ZigBee的井下人员定位?#20302;?#35774;计
全民飞机大战齐天大圣曝光