陈海成
(桂林电子科技大学 信息与通信学院,广西 桂林 541004)
ZigBee无线技术在环境、家庭、军事及其他一些领域中有着广阔的应用前景,其充分考虑了无线网络的应用需求,是目前业界普遍看好的一种无线网络技术。CAN总线技术,早就因为其突出的优点在现场总线领域中得到了广泛的应用,已经被公认为是最有前途的几种现场总线技术之一。而PC机技术发展到今,其强大功能已不容质疑。因此,把CAN、ZigBee和PC技术结合在一起开发出一个无线传输测控系统无疑是一个非常值得研究的应用课题。该系统与ZigBee无线监控网络系统相比,当监控对象成区域密集分布时,能明显降低成本,提高抗干扰能力。
ZigBee是一个低功耗、短距离、低速率协议标准。ZigBee联盟制定网络层和应用层协议并几乎完全沿用IEEE 802.15.4的物理层和MAC层而形成ZigBee协议标准。ZigBee器件的最大通信速率为250 Kb/s,通信距离范围为10 m~75 m,通过增加2.4 G天线功率放大器可以扩充其通信距离到数公里。ZigBee网络支持MESH型拓扑结构,具有自动配置、自动组网、自愈的功能,且是多跳路由网络,其制定之初就是为了满足无线传感网络的需求[1]。
CAN(Controller Area Net)总线,又称控制器局域网,属于现场总线。它是一种有效支持分布式实时控制的串信网络,具有通信速率高、结构简单、成本低、可靠性高、抗干扰能力强等特点。CAN总线最初被应用在汽车技术中,现在已经被广泛应用于工业现场控制[2]。
系统总体结构如图1所示。CAN节点的主要工作是采集控制对象的状态信息并发送到CAN总线上,从CAN总线上接收从PC机发送到本节点的命令并执行。CAN协议转ZigBee协议模块一端连接CAN总线,一端连接到ARM无线模块,实现ARM无线模块间的通信,因此需要进行CAN协议与ZigBee协议之间的相互转换。ZigBee无线节点完成数据的无线通信。USB和串口协议转ZigBee协议模块在PC机与ZigBee网络之间提供1个接口以实现它两者间的通信。PC机对CAN节点传过来的数据信息进行处理,并发出相应的控制命令。
图1 系统总体结构图
设计的CAN监控节点结构如图2所示,监控的对象是设备的温度和输入电压。设备温度信息采集用高精度TLC2543 A/D转换器完成。控制部分的芯片采用数控电位器X9221,可随时通过PC机发出控制命令来改变电位器X9221滑动端的阻值以控制设备电压的大小。
图2 CAN节点结构原理图
SJA1000和82C250的硬件电路设计和软件编程必须与应用相结合,在存在较大外部干扰的情况下,必须加入隔离器以实现总线与各个节点的隔离,提高系统的抗干扰能力。本系统CAN节点的硬件电路设计中加入了6N137光电隔离器,由单独的隔离电源输出为其提供电源,这样可很好地起到抗CAN总线干扰的效果。82C250的斜率电阻选取47 kΩ的阻值,经测试在 500 Kb/s~1 Mb/s总线速率下可以满足需求。同时为节省电能,CAN总线上的各个节点和各个无线传输节点遵循睡眠—唤醒—正常工作—睡眠的工作方式。各个节点在系统空闲时进入睡眠模式,有任务需要执行时从睡眠中唤醒,以尽可能地节省电能,延长各个节点电池的使用时间。CAN终端电阻采用分裂式设计,总线两端各接2个60 Ω电阻,并在这2个电阻中间通过电容接地;CAN_L和CAN_H与地之间并联2个30 pF电容以滤除来自总线的高频干扰。
ZigBee无线节点部分硬件采用STR911搭配ZigBee无线芯片CC2480。STR911与CC2480采用串口进行通信,速率为115 Kb/s,并且启用串口硬件流量控制以提高数据传输的可靠性。在本系统的所有硬件电路设计中,该部分是难点也是重点,包括 STR911与CC2480的接口设计和OLCD液晶屏接口设计。
无线节点的控制器之所以使用ARM控制而不用单片机,除了因为ARM控制具有单片机无法比拟的速度外,还因为ARM控制具有大容量的RAM空间,可保存运行过程中产生的大量数据。本系统的无线节点软件设计中,在STR911的RAM空间内设置了数据缓存区,若在同一时间发送到某个无线节点的数据量过多,而该无线模块又不能全部直接转发出去时,为了防止数据丢失,必须设置1个数据缓存区,暂存不能发出去的数据。数据的转发顺序遵循队列原则,即先收先转发。当系统超过一定时间处于无数据传输状态时,ARM无线模块将进入睡眠模式以节约电能。
该部分在CAN总线与ARM9控制芯片之间搭起一座通信桥梁,作为两者的通信接口。CAN总线上挂载的各个结点通过该接口将数据传到ARM9控制器,ARM9控制器通过控制CC2480将数据进无线传输。接口的通信速率设定为115 Kb/s,可以与无线模块匹配。该部分的结构原理图如图3虚线中的部分所示。
图3 CAN与ARM接口卡
该部分主要完成由RS232总线协议到ZigBee协议或由USB协议到ZigBee协议的转换,在PC机与ZigBee无线网络之间提供1个通信接口。串口通信速率最高可以达到 230 Kb/s,USB接口符合全速 USB 2.0规范,通信速率设为512 Kb/s[3]。目前,串口是计算机中常用的通信方式,其协议简单,实时性好,适合于低速通信的场合。但是,现在的很多计算机上已经不再配有串口,所以为了该系统具有更广的适用性,本系统同时开发了HID USB接口,在集成了USB控制器2.0及以上版本和带有HID驱动的计算机上可以即插即用,数据传输采用中断方式同样具有很好的实时性。
针对设备不同的分布特点需要调整系统布局,以最少硬件设备和最低的成本实现系统的功能,这就是所要遵循的布局原则。首先将设备所在的范围划分为若干区域,位于同一处相隔近的设备划分在同一区域内。划分好区域后再分析区域的分布特点,若相邻的区域间距较近,可以共用同1条CAN总线;若相邻区域间隔较远,那么每一个区域可以设置1条CAN总线。如面图4所示的设备分布,是单一区域设备集中分布在同一个区域后的最佳布局系统。若设备的分布特点如图5所示,设备集中分布于多个区域,则图5中的布局方式便是多区域设备集中分布下最佳的系统布局。系统究竟该如何布局,应结合前面提到的最佳布局原则和系统的特性,根据具体的应用需求分析得到。
图4 单一区域设备集中分布下系统布局
上位机控制软件由VC 6.0开发完成,负责向用户提供一个人机接口界面。控制软件的主要任务是实时地接收和处理数据,发出控制指令。其要实现的基本功能有:控制CAN总线的各个节点采集所需的环境变量数据并在前台显示;设置设备的通电起始运行状态;对设备的运行状态和连接状态进行实时跟踪并在前台显示,并根据需要实时调整各设备状态;
图5 多区域设备集中分布下系统布局
上位机软件设计具有错误检测和重传的功能,并能最终判定是否正常连接到系统。这是提高系统可靠性的有力保证。每次从PC发送数据到节点都要求相应节点在收到来自PC机的命令后回复应答信号,PC机再对收到的应答进行错误检测并判断其正确性。若应答有误或超时无应答则启动重传,最后根据应答情况判断设备是否正常连接。
图6 典型ZigBee无线测控网络结构图
一般的ZigBee无线测控网络结构如图6所示[4]。
在ZigBee无线测控网络中,每一个设备对应需要配置1个ZigBee测控终端。而在本文设计的ZigBee无线传输测控网络中,每一个设备对应配置1个CAN总线节点,由节点完成对设备的测控工作。
相对于其他几种无线传输技术(如UWB、BlueTooth和Wi-Fi),ZigBee传输速率最小,理论上最大只有250 Kb/s[5],而CAN总线的最高通信速率高达1 Mb/s,远远大于ZigBee的250 Kb/s。因此,即便CAN总线上挂载有多个节点,其单个节点的传输能力也与ZigBee无线传输能力相当。
另外,ZigBee无线传输时延一般在 15 ms~30 ms之间[6],而CAN总线上优先级最高的节点发送的报文在134 μs内就可以得到传输[2]。当CAN总线上的节点数目较少时,实际上CAN总线上的每1个节点在需要发送报文时,其报文在134 μs内就可以得到传输。这样,相对ZigBee无线传输而言,CAN节点发送数据的时延要低得多。
在成本方面,CAN节点可以选用AT89S51+SJA1000+6N137+82C250的组合,这些芯片价格都是在几元到十几元之间,再加上电源隔离模块,成本总共不会超过50元,而单个ZigBee无线芯片的售价都在50元以上,再加上天线等其他物品,显然,单个CAN节点的成本明显低于单个ZigBee无线节点。
在复杂度方面,CAN总线结构简单也是其广泛应用的原因之一,只需要在单屏蔽层双绞线各终端上加个120 Ω的电阻即可构成CAN总线,各个节点只需一个T型连接头便可方便地挂载到CAN总线上。由此可见,CAN总线网络的复杂度与ZigBee无线网络的复杂度几乎只有几根线的差别。
本文介绍的结合CAN总线的ZigBee无线网络传输测控系统,集成了CAN、ZigBee和PC技术各的自优点,适合应用于要求用无线进行数据传输,但数据传输速率不高、实时性要求相对较高、设备集中分布或分区域集中分布的测控场合。同时,该系统还具有可靠性高、结构简单、抗干扰能力强、功耗低等优点。其相对于ZigBee无线测控网络成本低、时延更小,而且具备无线网络传输数据的优点,是一个非常经济实用的测控系统。在一些具体的应用中,技术人员可以结合自己的要求对系统硬件和软件做出相应的修改。
除了利用ZigBee进行无线传输和开发出基于Zig-Bee技术的无线采集网络外,还可以把ZigBee无线网络作为不同总线互连的无线接口网络,只需进行相关的协议转换设计出相互通信的上层协议。
[1]FARIBORZI H,MOGHAVVEMI M.EAMTR:energy aware multi-tree routing for wireless sensor networks[J].Communications IET,2009,3(5):733-739.
[2]王黎明,夏立,邵英.CAN现场总线系统的设计与应用[M].北京:电子工业出版社,2008.
[3]萧世文,宋延清.USB 2.0硬件设计[M].北京:清华大学出版社,2006.
[4]MAHFUZ M U,AHMED K M.A review of micro-nanoscale wireless sensor networks for environmental protection prospects and challenges[J].Science and Technology of Advanced Materials, 2005(6):302-306.
[5]李文仲,段朝玉.ZigBee2006无线网络与无线定位实战[M].北京:北京航空航天大学出版社,2008.
[6]ZigBee Specifacation[EB/OL].http://www.ZigBee.org 2006.