一种协议转换网关的转换方法技术

技术编号:20657312 阅读:64 留言:0更新日期:2019-03-23 08:42
本发明专利技术公开了一种协议转换网关的转换方法,所述的转换方法主要是通过对现有网关中CSMA/CD协议的二进制指数退避(BEB)算法进行改进,对报文退避时间进行重新约束,从而实现协议转换传输。该方法能有效减小数据重载下的延迟抖动,提高数据传输的实时性。本发明专利技术还具有抗干扰性强、适合于船用等特点。

A Conversion Method of Protocol Conversion Gateway

The invention discloses a protocol conversion gateway conversion method, which mainly improves the binary exponential backoff (BEB) algorithm of CSMA/CD protocol in the existing gateway, restrains the backoff time of message, and realizes protocol conversion transmission. This method can effectively reduce the delay jitter under data overload and improve the real-time performance of data transmission. The invention also has the characteristics of strong anti-interference and suitable for marine use.

【技术实现步骤摘要】
一种协议转换网关的转换方法
本专利技术涉及通讯协议转化领域,特别是一种适用于工业以太网通信的协议转换网关的转换方法。
技术介绍
现场总线技术类别丰富,如RS485、RS232、CAN总线。由于不同总线的结构和协议不同,故不同总线设备之间的通信需要通过协议转换网关转换不同的总线协议,实现不同通信接口的互联互通。因为船舶机舱(船上设备密集区域)空间狭小,布置在该空间的设备布局紧凑,信号互相干扰比较严重。同时协议转换器在对来自各个总线的处理时,需要对数据进行处理,故信号的实时性很重要,现有的协议转换网关采用的二进制指数退避(BEB)算法对数据传输的时效性地约束,其方法是:首先监听管道里发现出现了数据碰撞,数据双方都等待2n-1其中任意一个整数时间,然后再重新发送,如果又出现碰撞,则重新发送,否则,发送成功,n=0。上述BEB算法虽然能解决数据碰撞导致的延时问题,但是当n>10时,等待时间过长且数据传输延时抖动过多,不利于实时性问题的解决。此外,现有的协议转化网关在船舶领域的应用中还存在着电压不兼容、抗干扰性不强等问题。
技术实现思路
专利技术目的:本专利技术的目的是提供一种实时性强、抗干扰性强、适用于船舶领域应用的协议转换网关的转换方法。技术方案:一种协议转换网关的转换方法,该方法通过网关实现所述协议的转换,该方法包括以下步骤:步骤1:电源模块开始工作将电压降至各个模块的工作电压并驱动电路;步骤2:上位机发送指令通过以太网模块接收,将电信号转变为数据保存至控制器模块中的接收数组中;步骤3:控制器模块将接收数组中的数据依据协议进行数据解析提取有效数据,并将有效数据存储至控制器模块中的发送数组中;步骤4:控制器模块中的发送数组将数据发送至数据收发模块中,经过数据隔离模块,将数据转化为差分信号传输至下位机;步骤5:下位机接收到上位机发送的指令后应答,将数据通过总线发送至数据隔离模块中,数据隔离模块将电信号转化为数据并通过数据收发模块发送至控制器模块中的接收数组中;步骤6:控制器模块对接收数组中的数据进行数据封装,加上以太网控制协议报头报尾,将数据封装成Modbus/TCP数据帧格式并存至控制器模块中的发送数组中;步骤7:根据Modbus/TCP的的MAC层的CSMA/CD协议对通信信道进行载波监听,在CSMA/CD协议中,首先定义变量i表示数据帧发送冲突的次数,令i的初始值为1;定义变量attempts表示数据帧尝试发送的次数,令attempts的初始值为0;定义变量maxtimes表示最大避让指数,令maxtimes=2i-1,i=min{10,x},x≤16,令Tb为以太网的争用期时间;步骤8:数据传输过程中,若传输信道繁忙,则打包的数据帧发送时发生冲突,数据帧将根据CSMA/CD协议要求进行报文退避,同时变量i自增1,进行下次信道监听,当i<10时,下一次数据发送从[1,2i-1]Tb时间中任选一个时间进行数据发送,当i≥10时,令下一次数据发送从时间中任选一个时间进行数据发送;步骤9:重新发送的数据由以太网模块将信号传输至上位机。针对上述对通信信道繁忙时,改进的BEB算法的报文退避时间约束方法具体原理思路如下:假设协议转换器上挂载了X个数据总线,则有X个数据节点,在同一时间t内发送数据,有Xre个节点未分配到信道重新发送,Xfirst为初次发送成功的节点数,则Xfirst≤X-Xre。若各个数据节点重新发送的数据服从随机泊松分布,设泊松分布的参数为λ,则未成功到达的数据概率为e-λ,成功到达的概率为Pfirst=1-e-λ,当发生数据冲突时数据发送成功的概率为Pre=2-i,i为BEB算法中数据发送冲突的次数。综合随机数据发送服从泊松分布,初次发送数据成功的概率为:重新发送数据成功的概率为:数据节点都未发送数据的概率为:两个以上节点发送数据成功的概率为:以此类推,设E[B(i)]为第i次冲突后数据发送冲突的概率的期望值,第i次冲突退避等待的最大时间为(2i-1)Tb,Tb为以太网的争用期时间为51.2us。于是,可将E[B(i)]表示为:为了计算总的排队延迟,设Hi为从i-1次数据冲突后加上Tb和EBiTb的总时间。EBiTb为第i次冲突退避时间,数据帧长度越小,带宽浪费越严重,越容易发生数据重载的情况,改进的BEB算法是,10<i≤16时,将退避时间设置为上次传输次数对应时间的一半,而不再等待冲突次数达到16次时丢弃冲突节点,相比i>10时退避时间至少为(2i-1)Tb,改进后的退避时间为至少缩短排队时间16Tb,改进后的BEB算法可得EBi的取值为:根据离散期望值公式,多节点第i次数据冲突退避时间期望值为多节点发送数据失败的概率与从第i-1次冲突后到第i次冲突退避结束的总时间的乘积,于是,第i次数据冲突退避时间期望值为:则以太网排队延迟的期望为:当数据冲突重发时,采用改进型BEB算法对数据重发退避时间进行约束能有效减小数据传输时延抖动,提高通信实时性。有益效果:(1)本专利技术采用改进型的BEB算法报文约束方法,对于Modbus/TCP的MAC层的CSMA/CD协议中数据报文冲突而导致数据重发时产生的退避时间进行约束,有效减小数据重载下的延迟抖动,提高数据传输的实时性;(2)本专利技术根据船舶电力环境的特点,设计出适用于船舶领域使用的协议转化网关。(3)在信号干扰严重的环境下,针对总线信号的输入输出端增加了保护电路和隔离模块,能有效避免信号干扰对协议转换的影响。附图说明图1是本专利技术的控制流示意图。具体实施方式如图1,一种协议转换网关的转换方法,该方法通过网关实现所述协议的转换,该方法包括以下步骤:步骤1:电源模块工作将电压降至各个模块的工作电压并驱动电路。步骤2:上位机发送指令通过以太网模块接收,将电信号转变为数据保存至控制器模块3中的接收数组中。步骤3:控制器模块将接收数组中的数据依据协议进行数据解析提取有效数据,并将有效数据存储至控制器模块中的发送数组中。步骤4:控制器模块中的发送数组将数据发送至数据收发模块中,经过集成在同一芯片中的数据隔离模块的磁隔离,将数据转化为差分信号传输至下位机。步骤5:下位机接收到上位机发送的指令后应答,将数据通过总线发送至数据隔离模块中,隔离外部干扰信号后将电信号转化为数据通过总线数据收发模块发送至控制器模块中的接收数组中。步骤6:控制器模块对接收数组中的数据进行数据封装,加上以太网控制协议报头报尾,将数据封装成Modbus/TCP数据帧格式并存至控制器模块中的发送数组中。步骤7:根据Modbus/TCP的的MAC层的CSMA/CD协议对通信信道进行载波监听,在CSMA/CD协议中,首先定义一个变量i,i的初始值为1,用来表示数据帧发送冲突的次数,定义变量attempts为数据帧尝试发送的次数,初始值为0,定义变量maxtimes为最大避让指数,maxtimes=2i-1,i=min{10,x},x≤16,Tb为以太网的争用期时间,即为以太网CSMA/CD协议定义的单位时间。步骤8:当监听到信道繁忙时,则打包的数据帧发送时发生冲突,数据帧根据CSMA/CD协议要求进行报文退避,同时变量i自增1,进行下次信道监听。下一次数据发送从[1,2i-1]Tb时间中任选一个时间进行数本文档来自技高网...

【技术保护点】
1.一种协议转换网关的转换方法,该方法通过协议转换网关实现所述协议的转换,其特征在于该方法包括以下步骤:(1)网关中的电源模块开始工作将电压降至各个模块的工作电压并驱动电路;(2)上位机发送指令通过网关中的以太网模块接收,将电信号转变为数据保存至网关中的控制器模块中的接收数组中;(3)控制器模块将接收数组中的数据依据协议进行数据解析提取有效数据,并将有效数据存储至控制器模块中的发送数组中;(4)控制器模块中的发送数组将数据发送至网关中的数据收发模块中,经过网关中的数据隔离模块,将数据转化为差分信号传输至下位机;(5)下位机接收到上位机发送的指令后应答,将数据通过总线发送至数据隔离模块中,数据隔离模块将电信号转化为数据并通过数据收发模块发送至控制器模块中的接收数组中;(6)控制器模块对接收数组中的数据进行数据封装,加上以太网控制协议报头报尾,将数据封装成Modbus/TCP数据帧格式并存至控制器模块中的发送数组中;(7)根据Modbus/TCP的的MAC层的CSMA/CD协议对通信信道进行载波监听,在CSMA/CD协议中,首先定义变量i表示数据帧发送冲突的次数,令i的初始值为1;定义变量attempts表示数据帧尝试发送的次数,令attempts的初始值为0;定义变量maxtimes表示最大避让指数,令maxtimes=2i‑1,i=min{10,x},x≤16,令Tb为以太网的争用期时间;(8)数据传输过程中,若传输信道繁忙,则打包的数据帧发送时发生冲突,数据帧将根据CSMA/CD协议要求进行报文退避,同时变量i自增1,进行下次信道监听,当i<10时,下一次数据发送从[1,2...

【技术特征摘要】
1.一种协议转换网关的转换方法,该方法通过协议转换网关实现所述协议的转换,其特征在于该方法包括以下步骤:(1)网关中的电源模块开始工作将电压降至各个模块的工作电压并驱动电路;(2)上位机发送指令通过网关中的以太网模块接收,将电信号转变为数据保存至网关中的控制器模块中的接收数组中;(3)控制器模块将接收数组中的数据依据协议进行数据解析提取有效数据,并将有效数据存储至控制器模块中的发送数组中;(4)控制器模块中的发送数组将数据发送至网关中的数据收发模块中,经过网关中的数据隔离模块,将数据转化为差分信号传输至下位机;(5)下位机接收到上位机发送的指令后应答,将数据通过总线发送至数据隔离模块中,数据隔离模块将电信号转化为数据并通过数据收发模块发送至控制器模块中的接收数组中;(6)控制器模块对接收数组中的数据进行数据封装,加上以太网控制协议报头报尾,将数据封装成Modbus/TCP数据帧格式并存至控制器模块中的发送数组中;(7)根据Modbus/TCP的的MAC层的CSMA/CD协议对通信信道进行载波监听,在CSMA/CD协议中,首先定义变量i表示数据帧发送冲突的次数,令i的初始值为1;定义变量attempts表示数据帧尝试发送的次数,令attempts的初始值为0;定义变量maxtimes表示最大避让...

【专利技术属性】
技术研发人员:戴晓强钱金伟高宏博
申请(专利权)人:江苏科技大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1