您的位置 首页 分销

一种嵌入式现场总线通讯网关规划浅析

一种嵌入式现场总线通信网关设计浅析-文中设计的现场总线通信网关提供了对CANBUS和MODBUS的支持,实现了CANBUS与MODBUS数据的透明传输,为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上的从站发送这一帧数据,完结了一次CANBUS到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 Correx-M3内核的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串行通讯的物理层中。SN65HVD230CAN BUS收发器可以向总线和CAN操控器供给不同的数据传输速度,最高速度为1 Mb/S.

2.3 MODBUS接口单元

MODBUS接口单元运用RS 485串行接口,接口芯片为MAX485.MAX485是用于RS 485与RS 422通讯的低功耗收发器,每个器材中都具有一个驱动器和一个接纳器。驱动器具有短路电流约束,并可以经过热关断电路将驱动器输出置为高阻状况,避免过度的功率损耗。接纳器输入具有失效维护特性,当输入开路时,可以确保逻辑高电平输出。MAX485的驱动器摆率不受约束,可以完结最高2.5 Mb/s的传输速率。

3 软件规划

3.1 CANBUS的运用层界说

本文规划的现场总线通讯网关界说了CANBUS的运用层协议。

(1)规则网关收到的CAN数据帧中的第1个字节为CANBUS的功用码,该功用码为0x0F时,与MODBUS进行通讯。

(2)规则CAN数据帧中的第2个字节的高4位为该帧的标号位,低4位为该帧中包含的数据字节数,该字节数为MODBUS协议中数据域的字节数。

(3)规则CAN数据帧中的第3,第4个字节别离为MODBUS的地址码和功用码。

(4)规则从CAN数据帧的第5个字节开端为MODBUS的数据域,因为MODBUS的数据域一般为4个字节,此刻CAN数据帧的数据段刚好为8个字节。

(5)当MODBUS数据长度大于4字节时,需求从2个或许多个接连发送的标号相同的CAN数据帧中取得完好的MODBUS数据。当取得的数据位数与帧中给出的位数不一起丢掉该帧。

界说一个数据缓冲区A,一个数据缓冲区B,别离用于暂时寄存CANBUS到MODBUS的数据和MODBUS到CANBUS的数据。

3.2 CANBUS的收发程序规划

该部分包含CAN初始化,CAN发送程序,CAN接纳程序。CAN的初始化包含以下内容:装备嵌套向量中止操控器(NVIC),设置CAN的Rx0和TX中止的呼应优先级和抢占优先级,RX0和TX中止使能。依据硬件衔接装备GPIO,本文中RX运用GPIOD0,TX运用GPIOD2.设置波特率及过滤器装备。

CANBUS数据的接纳是经过接纳邮箱(FIFO)中止进行处理的,当FIFO接纳到一个新的报文时,过滤器依据预设的值判别报文的标明符是否匹配,若不匹配,直接丢掉该报文;若该报文的标明符与预设值匹配则中止处理程序将接纳邮箱中的数据拷贝到数据缓冲区A,该数据将作为MODBUS主站发往MODBUS从站的数据。CANBUS数据接纳程序流程如图5所示。

一种嵌入式现场总线通讯网关规划浅析

CANBUS的数据发送相同运用邮箱机制,网关从数据缓冲区B中取得从MODBUS接纳的数据,设置标明符和数据长度,挑选一个发送邮箱,使能发送邮箱空中止。因而当该邮箱为空时发生一个中止,中止处理程序将数据从缓冲区拷贝到发送邮箱,该邮箱状况变为预订发送状况。

当CAN总线进入闲暇状况,预订发送邮箱中的报文就立刻被发送,进入发送状况。邮箱中的报文被成功发送后,它立刻变为空邮箱。CAN BUS数据发送程序如图6所示。

3.3 MODBUS主站、从站的收发程序规划

网关作为MODBUS从站时的首要作业是初始化串口,初始化守时器,装备嵌套向量中止操控器(NVIC),别离对串口接纳数据中止和守时器中止设置呼应优先级和抢占优先级。从数据缓冲区A中取得数据,对取得的数据生成CRC校验码,组成MODBUS帧从串口依照时序发送这一帧数据。

串口初始化如下:

一种嵌入式现场总线通讯网关规划浅析

MODBUS协议规则了2种传输形式:ASCII形式和RTU形式。本文规划的网关运用RTU形式传输,在此形式下报文中每个8位字节含有2个4位16进制字符它的长处是较高的数据密度,在相同的波特率下比ASCII形式有更高的吞吐率。指令帧由地址码、功用码、数据语和CRC校验码构成。在RTU形式下,帧与帧之间有必要由时长至少为3.5个字符时刻的闲暇距离区别。整个帧有必要以接连的字符流发送,假如两个字符之间的闲暇距离大于1.5个字符时刻,则该帧被以为不完好的帧而被丢掉,接纳设备假定下一字节是一个新消息的地址域。

MODBUS主站程序需求运用3个守时器,其间TIM2用于操控发送的3.5个字符的帧距离。TIM3用于操控接纳MODBUS从站的回应帧的3.5个字符的帧距离。TIM4用于接纳时确保字符间的距离小于1.5个字符时刻。初始化TIM2与TIM3,守时时刻为守时3.645 8 ms(波特率为9 600 b/s时的3.5字符时刻):

一种嵌入式现场总线通讯网关规划浅析

网关作MODBUS主站的作业流程如图7所示。

一种嵌入式现场总线通讯网关规划浅析

网关作业在MODBUS主站形式时对从站呼应帧的接纳运用中止处理的方法。在第一个字节传输完毕后发动TIM4守时器,守时时刻为1.5个字符时刻,在后续的字节传输完毕时清零计数器,确保一个帧中的字符距离不超越1.5个字符时刻。接纳完结后发动守时器TIM3,守时3.5个字符时刻,在此刻间内的接纳的任何数据都将丢掉。

网关作为MODBUS从站时对化串口和守时器的初始化与MODBUS主站相同,将数据组成CAN的帧,发送该帧,并向MODBUS主站发送呼应帧。网关作为MODBUS从站的作业流程如图8所示。

一种嵌入式现场总线通讯网关规划浅析

3.4 主程序

主程序中初始化FSMC,初始化LCD,初始化触摸屏,校对触摸屏,显现作业形式挑选界面、参数装备界面及当前作业形式界面。依据挑选进入相应作业形式。

4 测验成果

在PC机上运用串口帮手和USB-CAN软件模仿CANBUS与MODBUS的收发。MODBUS到CANBUS的通讯模仿:由PC机向网关发送一帧数据00 01 02 03 0405 06 07,网关设置帧ID为0x321并宣布数据,经过CANUSB软件接纳该数据为00 01 02 03 04 05 06 07.如图9所示。CANBUS到MODBUS的通讯模仿:运用CAN-USB软件发送一帧0f 14 0f 05 00 01 02 03,网关解析其间数据00 01 02 03,并作为MODBUS主站发送数据,将数据输出到串口帮手为00 01 02 03.如图10所示。

一种嵌入式现场总线通讯网关规划浅析

5 结语

本文规划完结了一种在CANBUS和MODBUS间进行通明的数据传输的嵌入式现场总线通讯网关,软硬件规划简略,通讯参数可现场装备,可以很好地完结CANBUS与MODBUS间的通讯。该网关处理了异类现场总线间通讯的问题,使体系的兼容性、互联性、可扩充性都得到了极大的进步,具有杰出的运用远景。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/99079.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部