嵌入式现场总线通信网关的设计与实现(一)

时间:2013-05-28

  摘要:针对异构总线间不兼容的问题,提出了一种异构现场总线融合通信网关的设计实现方法.网关采用STM32F207作为主控制器,通过协议转换的方式实现了CANBUS与MODBUS两种总线的互连互通,分别给出了软硬件设计方案.该网关的创新点在于定义了CANBUS的应用层协议,使用该嵌入式现场总线通信网关构建的总线融合通信网络能够完全兼容CANBUS和MODBUS的原有功能.实践证明现场总线通信网关能很好地实现2种总线间的数据传输,为异构现场总线设备之间的通信提供了一个实用可行的方法.

  0 引言

  现场总线是近年来发展迅速的一种工业数据总线,作为工厂数字通信网络的基础,它是沟通生产过程现场及控制设备之间及其与高控制管理层次的桥梁.现场总线作为一项以智能传感.控制.计算机.数字通信等技术为主要内容的综合技术,已成受到世界范围的关注.

  很多具有国际影响力的公司都先后进行了现场总线产品的开发,尽管国际电工委员会(IEC)自1984年开始制定现场总线标准,目前仍然是多种现场总线并存.多种标准并存的情况造成了不同总线系统之间的不兼容,大大降低了总线系统间的互联性和互操作性,给系统的升级和扩容造成了很大的困难.CANBUS和MODBUS是2种应用广泛的工业现场总线,在实际应用中随着这2 种总线技术的不断发展及应用,2种总线的交集越来越多,因此彼此间的数据共享变得日渐重要.

  文中设计的现场总线通信网关提供了对CANBUS和MODBUS 的支持,实现了CANBUS 与MODBUS 数据的透明传输,为2种总线的兼容提供了可行方案.

  1 网关模型分析

  本文设计的现场总线通信网关具备MODBUS主站及MODBUS 从站的功能,以下以两种典型的应用场景为例分析网关的工作方式.图1所示的应用场景网关工作在MODBUS主站模式,图2所示的应用场景网关工作在MODBUS从站模式.

  1.1 网关的MODBUS主站模式

  网关工作于MODBUS 主站模式时,当CANBUS 上的监控主机发出一帧数据时,网关作为CANBUS上的设备接收到该数据,根据验收码和屏蔽码判断是否处理该数据.若验证成功,则解析收到的CAN 数据帧,得到CAN 数据帧中的数据;将数据按照MODBUS 协议逐层打包生成MODBUS 帧,网关作为MODBUS 主站向MODBUS上的从站发送这一帧数据,完成了CAN-BUS到MODBUS的单向数据传输.协议转换示意图如图3所示.

  1.2 网关的MODBUS从站模式

  网关工作于MODBUS 从站模式时,当由MODBUS上的监控主机发出一帧信息时,网关收到该MODBUS帧,检查地址码与功能码,若与自身地址相符且功能码为发送,按MODBUS 协议逐层解析,得到其数据;网关将数据按照CANBUS 协议打包形成CAN 的数据帧,向CANBUS发送该帧,并向MODBUS主站发送回应帧,完成了MODBUS到CANBUS的单向数据传输.

  2 硬件设计

  本文设计的嵌入式现场总线通信网关包括主控制器(STM32F207),CANBUS 接口单元,MODBUS 接口单元用于接入MODBUS,以及3.2 英寸LCD 触摸屏模块.

  硬件系统框图如图4所示.

  2.1 STM32F207微控制器本文选用STM32F207 构建整个系统,STM32F207是一款基于ARM Cortex-BM3 内核的32位微处理器,工作频率120 MHz.STM32F207提供了丰富的接口,支持2 路CAN 2.0 协议的CANBUS 接口,3 路USART 接口,2 路UART 接口,6 路定时器,FSMC+SPI 接口(16BITFSMC+SPI)用于接入LCD触摸屏模块,支持2种调试接口:串行接口和JTAG调试接口.

  2.2 CANBUS接口单元由于STM32F207 内置有bxCAN 控制器,该控制器是一种在标准CAN 总线基础上扩展的总线接口,支持CAN 总线协议2.0 A 和2.0 B.能以的CPU 负荷来高效处理收到的大量报文.它也支持报文发送的优先级要求(优先级特性可软件配置).为了满足CAN总线协议中的标识符硬件过滤需求,bxCAN控制器提供了位宽可变的.可配置的过滤器组,用来完成只接收软件需要的报文功能.CAN 接口电路选择SN65HVD230CANBUS 收发器.SN65HVD230 是一种专用于带CAN控制器设备的CANBUS收发器,可应用于ISO 11898标准的CANBUS 串行通信的物理层中.SN65HVD230CANBUS收发器可以向总线和CAN控制器提供不同的数据传输速度,速度为1 Mb/s.

  2.3 MODBUS接口单元MODBUS 接口单元使用RS 485 串行接口,接口芯片为MAX485.MAX485 是用于RS 485 与RS 422 通信的低功耗收发器,每个器件中都具有一个驱动器和一个接收器.驱动器具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态,防止过度的功率损耗.接收器输入具有失效保护特性,当输入开路时,可以确保逻辑高电平输出.MAX485 的驱动器摆率不受限制,可以实现2.5 Mb/s的传输速率.

上一篇:一种车用电控单元散热器设计与测试
下一篇:嵌入式现场总线通信网关的设计与实现(二)

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料