欢迎来到天天文库
浏览记录
ID:52700482
大小:454.00 KB
页数:5页
时间:2020-03-29
《基于Modbus协议的ZigBee工业以太网网关设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于Modbus协议的ZigBee/工业以太网网关设计 摘要:针对工业无线通信和工业以太网发展情况,提出一种ZigBee/工业以太网网关。网关应用层采用Modbus/RTU主从式协议,以太网传输层采用UDP协议。文中介绍了网关硬件、软总体设计,重点介绍了Zigbee/Modbus地址映射和收发缓冲区设计。网关硬件设计基于RABBIT3000MCU和SZ05-ZBEEZigBee模块,软件设计基于DynamicC和μC/OS-Ⅱ实时操作系统。广告插播信息维库最新热卖芯片:SN74LVC04APWRXC9536-15VQ44IDS1206SA
2、ME8801DEEV3842MAX4374HEUB74HCT04DADM211AREL1883ISZMIC2287BD5 1引言 工业无线通信技术是继现场总线、工业以太网之后,工业自动化领域又一个研究热点。实际上,无论是场总线还是工业以太网,都已经形成了多标准并存的局面,在协议转换、异构网络接入过程中,网关起着重要作用。工业无线通信技术要应用于工控领域,也面临诸如开放性、互操作等技术。 ZigBee因其低成本、低功耗、组网灵活等众多优势,成为工业无线通信技术中备受关注的技术之一。ZigBee是一种低速网络,传输速度为10KB/S~25
3、0KB/S,其在工业自动化应用中,一般要接入上层网络。本文介绍一种ZIGBEE/工业以太网网关设计,实现ZIGBEE与工业以太网的一种接入,设计中ZigBee和工业以太网应用层都采用自动化仪表广泛支持的Modbus/RTU协议。 2网关硬件体系结构 网关硬件体系结构如图1所示。系统以RABBIT3000MPU为核心,扩展了以太网接口、ZigBee无线通信接口和基本的flash、RAM及电源电路。图中SST39LF040为512Kflash,AS7C4096为512KSRAM,与RABBIT3000的地址线(A0~A18)、数据线(D0~
4、D7)、片选线(CS0~CS2)、读写线(OE0、OE1、WE0、WE1)直接无译码相连。AX88796L为以太网接口控制芯片,10M/100M兼容,3.3V供电。AX88796L的TPOP、TPON、TPIP、TPIN接RJ45连接器LF1S022。 SZ05-ZBEE是上海顺舟公司的无线通信模块,模块将Freescale的MC13213及外围电路布置在2.75×4.8cm的PCB板上,提供标准2.54双排插针接口,包含电源接口、数据接口、控制接口和系统指示灯接口和天线接口等,采用IEEE802.15.4/ZIGBEE标准地址寻址,支持
5、星型、树型、链型、网状网等拓扑结构。SZ05-ZBEE通过RX1、TX1(串行通信接口)直接与RABBIT3000的PC6、PC7(串行通信口A)连接。 3网关软件设计 网关的主要功能是实现Zigbee与以太网之间的数据传输。SZ05-ZBEE无线通信模块集成了符合ZigBee协议标准的射频收发器和微处理器,初始化设置后,模块即可以实现透明串口传输。为适应短帧实时和确定性通信发展趋势,以太网通信采用UDP/IP协议,应用层采用Modbus/RTU主从式协议。类似于Modbus/TCP协议,也可以称以太网侧协议为Modbus/UDP协议[
6、3]。网关软件基于DynamicC和μC/OS-Ⅱ实时操作系统设计。 3.1网关转发报文的总体设计 Modbus标准中规定了完整的消息、数据结构、命令和应答方式,但只是OSI模型第7层上的应用层报文传输协议,定义的是一种以数据帧形式表示的能使设备相互识别和使用的消息结构。因此,可以不对数据包作任何修改,将Modbus/RTU报文作为应用层数据在不同网络之间传输。 网关中即是将Modbus/RTU报文作为UDP和ZigBee应用层数据传输。主站报文通过UDP端口接收,去掉帧头帧尾,附加Zigbee短地址,通过串口发给SZ05-ZBEE,
7、转化为ZigBee报文发送;从站的ZigBee报文由SZ05-ZBEE转为串口数据接收,去掉ZigBee短地址,附加UDP帧头帧尾,然后由以太网口转发。具体程序包括5个任务:UDP接收、串口发送、串口接收、UDP发送以及嵌入式WebServer。嵌入式WebServer用于设备管理。系统程序结构如图2所示。 3.2地址映射[4] 对于ZigBee设备,有其IEEE地址和16位短地址。设计中将ZigBee16位短地址与Modbus从站地址绑定,从而实现Modbus主、从各节点之间地址定向。具体是将一系列Modbus从站地址和ZigBee短
8、地址以配置文件config.txt下装到flash,网关在初始化时,读取配置文件内容,存储在数组中。数组形式为: charModbusZigbee_Addr[][3]= [{
此文档下载收益归作者所有