O 引言
随着通讯技术的发展,传统的信息和控制传送的方式正在被新的技术所取代,有线的非功率传送的通讯和控制系统由于线路安装和维护的成本高昂,随着时间的推移可靠性更加难以保证,而且网络的组织一经安装完毕就不可更改,除非再次布网,而无线的通讯和控制传送网络由于低成本、低功耗、组网方便正日益得到广泛的应用。
短距离无线通讯的历史发展到标准网络是近十几年的事,目前正在成为无线通信技术的一大热点,表1列出了正在使用的几种主要标准的发展时间表和主要特点:
红外技术成本较低,具有很好的安全性和抗干扰性,但是传输距离较短且为视距传播,无法组网。Wi-Fi传输速率高、传输距离远,可以实现小范围的组网,但是Wi-Fi的802.11的射频和基带协议较为复杂,实现成本高、功耗大,实现嵌入式应用困难。Home RF的共享协议主要是侧重于PC及其外设,成本较高,抗干扰性较差。蓝牙的技术比较复杂,应用系统费用高、功耗高、产品的互操作性还未得到很好的解决。而zigBee的成本低、功耗低,可以胜任Wi-Fi无法胜任的领域,可以补充蓝牙技术达不到的低速率长距离的技术盲区。
GPRS(通用分组无线服务)是一整套基于全球移动通信系统GSM的包模式通信服务,GPRS用户以一种低成本有效利用GSM网络的非接入方式的通信,具备以下特性:
·间歇的非周期性发送,发送间隔时间一般大于传输时延
·频繁传送低容量数据
·传送高容量数据不频繁
GPRS通信中有两种服务方式,一种为点到点的服务方式PTP,一种是点到多点的服务方式PTM。
1 ZigBee简介
ZigBee是英国Invensys公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦公司于2002年10月共同提出的一种新的短距离低速率无线通信技术,ZigBee由IEEE 802.15.4小组和ZigBee联盟两个组织制订,ZigBee的意思是模仿蜜蜂的ZigZag通讯。ZigBee的通信协议分
为六层,其中网络层和应用层由ZigBee联盟制订,数据链路层(包括LLC和MAC)和物理层由802.15.4小组制订。ZigBee的连接时延一般在大约15ms到30ms之间,使用的工作频段分别为2.4G(全球通用)、868MHz(欧洲)和915MHz(美国),均为免执照频段。
ZigBee的网络设备主要包括网络协调器、全功能设备和精简功能设备三类。其中,网络协调器最复杂,其功能是发送网络信标、建立网络、管理节点、寻找一对节点间的路由和接收信息。全功能设备(FFD)担任网络协调者形成网络,然后让其他的精简功能装置(RFD)联结,可提供双向传输,具备全部IEEE802.15.4的功能和特征,闲时起到网络路由器的功能,也可以做终端设备。精简功能设备只能传送信息给FFD和从FFD接收信息,在网络中常用作终端设备,成本较低,一般由简单的8位处理器和小协议栈构成。
2 融合GPRS技术的ZigBee应用
由于ZigBee网络的有效通讯范围一般为10~300m,对于空间上相对分布比较分散的单位或者距离较远的单位之间,各个ZigBee网络网内或网间控制数据的传送往往需要非常远的距离,有可能超过ZigBee网络通讯的有效距离。而由ZigBee技术构成的局域网本身也存在联网的需要。而空间距离非常大的广域网的运行和维护如果采用数传电台等用户系统,不但运行和维护成本较高,所需要的无线电频段可能还需要申请和付费。而采用GPRS这种成熟的第三方传输服务就可以节省大量的运行和维护费用,目前采用GPRS传送数据每k字节成本不到一分钱,相对来说非常经济。
3 GPRS-ZigBee混合系统的整体设计
3.1 GPRS-ZigBee系统简介
GPRS-ZigBee是由多个ZigBee节点构成,每个ZigBee节点都可以通过CAN总线和现场工作单元连接,可以进行控制数据的采集、计算和通信。ZigBee网络设备根据拓扑结构可以分为三类:网络协调器、网络路由器和网络终端。网络协调器功能最强也最复杂,网络路由器一般为
FFD,网络终端可以是精简功能设备。简单的网络可以由网络协调器和精简功能设备构成,形成星形结构(STAR),比较复杂的网络可以有中间层FFD构成ZigBee网内路由节点,形成树状网络(TREE)和网状网络(Mesh)。本文的GPRS-ZigBee混合系统的网络协调器配备GPRS通讯模块,可以实现GPRS-ZigBee系统问的远程互连或者和其他计算机系统的远程互连。
3.2 本文GPRS-ZigBee混合系统网络协调器节点的硬件设计
为了实现本网络节点的设计,将本节点的硬件设计分为四个模块,一个是ZigBee无线收发模块,一个是GPRs收发模块,ZigBee模块功能由Chipcon公司的CCl0O0无线收发芯片实现,GPRS模块功能由英国Simcom公司的GPRS模块SIM300实现,主控模块由Atmel公司的微型处理器At-Megal28控制,另外有由MCP2515和MCP255l组成的CAN总线控制接口,可帮助调试的串口和用于数据快速上传下载的USB接口。为了获得较远的传输距离,本混合系统的ZigBee无线收发模块采用868MHz的收发频率,测试单元采用与计算机相连的868MHz无线收发单元。
电路电源模块采用GPRS模块常用的MIC29302和SPXll17,分别提供4.2V稳压和3.3V稳压,无线收发模块芯片CCll00的电源滤波电路根据Chipcon公司提供的滤波电容电阻电感组合设计,对于不同的收发频率有不同的元件组合,入网指示有LED显示。天线采用和频率对应的棒状天线,并且PCB板做有金属外壳以符合EMC要求。
CCl000是一种理想的超高频收发芯片,它专用于低功率和低电压类无线产品,此IC主要用于ISM(工业科学医疗)方面和SRD(短距离通讯)方面,工作频带分别为315MHz、868MHz和915MHz,但CCl000可以很容易地通过编程使其工作在300~1000MHz。CC1000的FSK数传可以达到72.8kHz。
SIM300是一种三频紧凑型封装GSM/GPRS模块,可以工作在900/1800/1900MHz频段,可以低功耗地实现语音、短信息和数据及传真通讯,SIM300的特性可以使它理想地用于固定式无线终端,M2M以及手持设备等应用。SIM300模块通过SIM卡座和SIM卡相连并通过微型天线卡座连接9dB天线,通过此二种外设实现SIM300模块和GSM基站之间的信号发送和接收。文章设计仅仅使用了SIM300的GPRS功能,该GPRS功能是通过SIM300和主控制器之间的UART通讯实现的。
主控制器为AtMegal28处理器芯片,AtMegal28是RISC型的8位微处理器芯片,主频为16MHz,芯片内部有128kN片上FLASH,选择这个芯片是因为这个芯片有足够大的片上空间可以装下ZigBee协议栈。GPRS、zigBee、CAN和USB模块均接在AtMegal28的中断输入引脚上,四级中断形成雏菊花链式中断结构。主控制器芯片的定时器和计数器可以辅助主控制器和ZigBee芯片之间的控制时序和协议栈协议内容的实现。
主控制微处理器连接有CAN总线收发器和CAN总线控制器,它们可以和本地控制单元有线连接,并且通过CAN总线协议和网络协调器进行数据交换,再通过网络协调器与ZigBee网络进行局域数据交换或者通过GPRS进行广域数据交换。CAN总线模块采用Microchip公司的MCP2515和MCP2551组合实现,通过CAN总线模块可以和本地控制单元实现数据交互以实现应用工业控制或者科学医疗楼宇自动化控制等应用,CAN应用符合CAN2.0B总线规范。
对于射频电路来说,器件的相互干扰成为一种敏感的负面因素,本混合系统网络协调器由于包含了两种射频单元因而这个考虑变得更加重要,在PCB设计中,两个射频部分在布线的时候采取了分开布局的考虑,而且在射频部分各自加装了金属板屏蔽以避免射频的相互干扰,并在软件设计时避免两种射频的同时发射或接收。
本混合系统的测试系统为RFD器件,RFD器件只进行数据的收发,并通过CAN总线收发器和局部控制单元进行数据交互。RFD器件的收发频率和混合系统网络协调器的ZigBee单元的收发频率一致,应用802.15.4标准实现初始化和接入ZigBee网络,实现ZigBee网络的组网和数据收发。
3.3 GPRS-ZigBee混合系统网络协调器的软件设计
3.3.1 ZigBee模块软件结构
ZigBee协议栈是基于OSI模型分层设计,分为驱动层、协议层和应用层。驱动层主要提供硬件控制和相应的接口,协议层主要包括基于802.15.4协议的物理层数据链路层和网络层,应用层调用协议层提供的服务,完成系统操作并和其他模块通讯。
3.3.1.1 驱动层的设计
驱动层的设计主要是CCl000的驱动设计,CCl000可以由PDATA、PCLK和PALE实现通信配置,并由DIO和DCLK完成数据的传输。一个完整的CCl000配置要求发送29个数据帧,每个16位(7个地址位、1个读/写位和8个数据位)。驱动层的CCl000驱动以及驱动层和协议层的接口在AtMegal28中软件实现。
3.3.1. 2 协议层的设计
协议层主要完成网络的组成和网络成员的管理,其中物理层主要负责物理层数据的发送和接收,MAC层主要负责帧控制和数据校验,网络层主要负责网络的组建和网络成员管理,本设计为一个网络协调器和多个网络节点组成的星型网络,在组建网络前网络协调器首先检查网络环境,扫描网络信道,发送组网广播,通告网络的PAN ID以及自己的64位MAC地址,等待网络节点设备的连接请求,并依次登录网络节点设备。网络节点扫描信道,向网络协调器发出登录或者离开请求,等待网络协调器将该节点加入或删除出网络。
节点申请加入时搜索信道空闲状态,发送信标帧,在接收到多个带有链路质量信号参数的信标帧后,选取链路质量较好的节点并向协调器发出入网请求帧,协调器准许后会分配网内短地址给该节点。每个节点都有一个邻居表,并且可以对其动态维护,在该邻居表中含有一个父节点地址(除了根节点外)和多个子节点地址(除了叶结点外),如此依次处理,则所有节点都登录形成无线网络,同理,一个节点离开网络时,将向其父节点发送请求帧,父节点在接收到请求后会将该节点从网络中摘除并向子节点发送响应帧。
网内传播的信息帧有四种类型,分别为信标帧、数据帧、命令帧和确认帧。以通用NWK帧为例,信息帧的格式为:
3.3.2 GPRS模块设计
GPRS模块通过GPRS的AT指令集控制GSM和GPRS通信,AT指令集是美国贺氏公司开发的Modem控制指令集,每个指令都采取“AT+控制字符串”的形式传送,指令开始的“AT”字符可以用来在SIM300和AtMegal28之间开始UART通信时实现自适应波特率设置。主CPU通过UART控制SIM300的GPRS通信。
3.3.3 CAN模块设计
本系统的主控CPU通过MICROCIP公司的CAN总线控制器和CAN总线收发器实现CAN总线控制,通过CAN总线控制可以实现本地控制和zigBee无线传感器网络以及GPRS广域网之间的数据通信,实现更复杂的系统控制。
3.3.4 系统级设计
网络协调器通过中断控制协调GPRS模块、ZigBee模块、CAN总线模块和USB模块的工作,中断的优先级控设定为GPRS通讯为优先级最高,然后依次是ZigBee通讯、CAN总线通讯和USB通讯。中断序列的管理采用一种优先级邮箱式的管理,每级中断来临时都会向中断序列邮箱发送一封邮件,邮件根据中断来源具备四种优先级之一,控制器每次中断来临时都会检查当前中断是否为中断序列邮箱中中断级别最高的中断,如果是,则启动该优先级的中断或者继续处理当前中断,如果当前中断不是中断序列邮箱中中断级别最高的中断,则放弃当前优先级中断并开启当前中断序列邮箱中级别最高的中断。控制器在处理完每个中断后控制器把刚刚处理完的优先级的中断删除出中断序列邮箱,然后在中断序列邮箱中再次寻找优先级最高的优先级中断启动或继续处理。
主网络协调器确定网络标准时间基准,通过GPRS在ZigBee网络内以信标帧的形式发送,各网络协调器生成各自的控制令牌,在各网络协调器管理的子网络中,网络节点按照节点注册的顺序以时间平均TDMA的方式在由注册节点组成的环形队列中顺序传送控制令牌,得到控制令牌的节点可以发送或者接收数据,没有发送和接收数据需要的节点将被忽略。图9系统状态转移图,图10系统PCB图。
4 结束语
文章提出了一种基于GPRS技术和ZigBee技术相融合的无线网络,并且提出了以网络协调器为核心的硬件设计实现。此设计采用低功耗的GPRS和ZigBee模块并以功能较强的微处理器AtMegal28为核心,利用SIM300GPRS模块的TCP/IP协议栈和基于Chipcon CCl000的自构建的Zig-Bee协议栈实现广域与局域的无线网络数据交换,在配合有FFD和RFD节点的情况下实现ZigBee蜂窝通信无线网络和ZigBee网络之间的数据交换,是一种低成本低功耗经济性适用性都很强的无线通讯网络。