1 ZigBee网络组网方案
1.1 ZigBee简介
ZigBee是一组基于IEEE批准通过的802.15.4无线标准研制开发的,有关组网、安全和应用软件方面的技术标准。相对于现有的各种无线通信技术,ZigBee将是最低功耗和成本的技术之一。适用于短距离、小范围的基于无线通信的控制领域,有着广泛的应用前景。
1.2 系统的ZigBee网络组建方案
IEEE 802.15.4和ZigBee规范中明确定义了三种拓扑结构:星型结构、树型结构和网状结构。星型网络由一个协调器(全功能设备FFD)和多个终端设备节点(简化功能设备RFD)构成,协调器是网络的中心,负责处理整个网络的工作,终端设备被分布在覆盖范围内的不同地点。星型网络的控制和同步比较简单,适用于设备数量比较少的场合。树型网络是星型网络的扩展,是一种多级的星型结构。网状网络是一种特殊的、按接力方式传输的点对点的网络结构,其路由可自动建立和维护。树型和网状网络能够两者相结合组建混合网,适用于网络极其复杂的情况。
系统的ZigBee网络通信部分由一台主控制器、若干从控制器组成。系统的各个主、从控制器相对独立,各主、从控制器之间通过ZigBee无线网格进行通信,主控制器通过远程无线通信与控制中心通信。网络拓扑示意图如图1所示。
系统采用了ZigBee星型网络拓扑结构。星型网络以网络协调器为中心,所有设备只能与网络协调器进行通信,因此在星型网络的形成过程中,第一步就是建立网络协调器。主控制器作为网络协调器被首先激活,然后向周围的从控制器节点发送广播,并为网络选择一个惟一的标识符;从控制器节点收到主控制器发来的广播后,向其发出入网申请,并等待主控制器节点响应;主控制器节点收到一个入网申请后,将根据请求信息作出是否允许加入网络的判断,若允许加入,主控制器节点将发出请求响应,告知从控制器节点。从控制器节点收到请求响应后,将获得一个主控制器节点分配给它的一个网络地址作为在网络内的惟一身份标识,从而成功加入网络,网络组建完成。
2 ModBus总线控制系统
2.1 系统概述
ModBus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其他设备之间可以通信。该协议定义了一个控制器能认识使用的消息结构,描述了一控制器请求访问其他设备的过程,制定了消息域格局和内容的公共格式。ModBus已经成为一通用工业标准,是一种有效支持分布式控制和实时控制的串行通信网络。电子警察系统的车辆检测单元、红灯检测器、高清摄像机、嵌入式工控机等单元占有同一ModBus现场总线。系统示意图如图2所示。
2.2 ModBus控制器设计
ModBus控制器结构如图3所示。主要由微控制器、可编程系统器件、实时时钟、液晶模块接口、键盘接口、输入/输出接口、光电隔离、ModBus驱动器、其他串行通信模块、复位电路、编程接口、扩展模块接口等电路模块组成。
ModBus控制器搭载有ZigBee通信模块,可以作为ZigBee网络的从设备,与系统的主、从控制器组建ZigBee网络,通过ZigBee无线网格实现通信,接收来自系统主、从控制器的控制命令等信息,通过ModBus总线,实现对嵌入式工控机、红灯检测器、车辆检测单元及高清摄像机等设备的控制。此外,控制器预留了其他串行通信接口(如RS 232)、键盘以及液晶模块接口电路,可以方便地进行现场维护及软件的更新升级。2.3 控制系统软件设计
2.3.1 ModBus通信的实现
ModBus通信分为RTU和ASCII两种模式。相对于ASCII模式,RTU模式表达相同的信息需要较少的位数,且在相同通信速率下具有更大的数据流量,因此系统中采用RTU模式。在RTU模式中,新的消息帧以3.5个字节时间间隔的静默时间开始,紧接着传送第一个域——从站地址。每个域允许传输的字符都是16进制数。网络设备始终监视着通信总线的活动,包括静默时间。当接收到第一个信息域(即地址信息)时,每个网络中的设备都对此进行译码,以确定所要寻址的设备;第二个信息域是功能码,主站发送数据帧的功能码表示从站需要执行的动作,从站发送的功能码与接收到的主站发送功能码一致,表示从站响应主站进行操作;数据域的数据值取决于功能码,校验域采用CRC校验,CRC码由发送设备计算,放置于发送信息的尾部;接收信息的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。当一帧数据最后一个域传输完毕,再次产生一个3.5个字节时间间隔的静默时间,表示该帧数据结束。ModBus RTU消息帧格式如表1所示。
2.3.2 ModBus控制器软件设计
控制器完成初始化后开始搜索并申请加入ZigBee网络。加入ZigBee网络后对信道进行扫描,扫描是否接收到由网络中其他控制器发送的数据帧。如果扫描过程中发现接收到数据帧,则对该帧依次进行地址码校验,并检查帧中的目的地址是否为本机地址。如果目的地址非本站地址,则丢弃该帧数据;如果目的地址与本机地址相同,则对数据帧进行CRC校验,并检验功能码是否合法,若任何一项校验未通过,则丢弃该帧数据;如校验全部通过,则回发一个应答帧,并根据帧中的功能码,向系统其他单元发送命令,软件流程如图4所示。
CRC_16校验的算法实现程序如下:
3 结 语
在资源、环境矛盾越来越突出的今天,道路设施的增长将受到限制。本文提出的基于ZigBee和ModBus的分布式电子警察系统架构,相对于目前的电子警察系统,更加节省占地空间,减少设备安装施工量,降低施工成本,在智能交通领域有着广阔的应用前景。