一种自适应多总线融合方法

文档序号:7756637阅读:127来源:国知局
专利名称:一种自适应多总线融合方法
技术领域
本发明属于计算机领域,涉及了多总线融合方法,具体涉及了一种自适应多总线 融合方法,可用于实现多种现场总线的数据传输。
背景技术
多种现场总线标准并存的现实、工业应用需求的多样化以及技术发展的连续性和 延迟性,必然导致基于多现场总线融合的控制系统的实现成为技术发展的趋势。图1给出了多现场总线控制系统的结构,它主要包括控制模块、多总线融合方法 模块、分任务模块。其中分任务模块由RS-422分任务模块、1553B分任务模块、RS485分任 务模块、ARINC429分任务模块、CAN总线分任务模块构成。各分任务模块分别通过相应的现 场总线,经过多总线融合模块与控制模块实现数据通信。该系统的核心在于如何实现多总 线的融合。目前,多总线融合方法主要有以下两种方法之一,基于OPC技术的多总线融合方法。OPC技术将各种现场总线的底层硬件 驱动程序和上层应用程序有效地分割开,使用统一的OPC标准接口实现不同总线协议的数 据互访。OPC技术的实现包括OPC服务器及OPC客户端(这里即控制模块)两个组成部分。 OPC服务器是一种典型现场数据远程程序,它收集各分任务系统的数据信息,通过标准OPC 接口传给OPC客户端(控制模块)。从而实现各分任务系统与控制系统的数据通信,OPC客 户端(控制模块)通过OPC标准接口与OPC服务器通信,获取OPC服务器的各种信息,实现 控制模块对各分任务模块的控制。实现这种方法的缺点是需要另外开发OPC服务器,其开 发过程复杂且成本高,不能实现对数据传输速率的自动检测。方法之二,基于网关技术的多总线融合方法。在该方法中,通过协议转换式网关将 它所连接的两种不同总线的各层协议进行转换,包括应用层数据和所涉及的相关服务等, 可以比较彻底地屏蔽总线差异,从而实现两种现场总线数据传输的目的。但是这种方法只 适用于两种现场总线协议之间的转换,需要专门的协议转换式网关,且不能实现对数据传 输波特率的自动检测。

发明内容
本发明的目的在于克服上述已有技术的不足,提供一种自适应多总线融合方法, 以在无需开发专门的协议转换器或者OPC服务器的条件下,实现多现场总线协议之间的转 换,且能实现对数据传输波特率的自动检测。为了达到上述目的,本发明的技术方案包括(1)数据传输波特率的自动检测步骤;la)使用串行通信接口 SCIA通道,接收分任务模块发送的数据传输波特率检测字 符00000001,其中0为低电平,1为高电平;lb)将SCIA通道没有接收到数据时空闲位设为高电平,当SCIA通道接收到检测字
3符的第一位低电平时,在空闲位到第一位低电平之间的下降沿处启动定时器TimerO开始 计时;Ic)当SCIA通道接收到检测字符的第一位高电平时,在低电平和第一位高电平之 间的上升沿处停止定时器TimerO计时,得到计时时间为t ;Id)通过波特率表选取最接近Ι/t的波特率,将其设置为SCIA通道当前数据传输 的波特率;Ie)以当前数据传输波特率,由SCIA通道向分任务模块发送确认信息0x55AA,当 SCIA通道接收到分任务模块回发的确认信息0x55AA时,表示自动数据传输波特率检测成 功;(2)多总线协议格式和标准以太网协议格式之间的转换步骤;2a)将TCP/IP数据帧中的数据域划分为RS422总线子数据域、1553B总线子数据 域、RS485总线子数据域、ARINC429总线子数据域和CAN总线子数据域,并分别设置RS-422 总线子数据域的帧头格式为0x0110,1553B总线子数据域的帧头格式为0x0120,RS485总线 子数据域的帧头格式为0x0130,ARINC429总线子数据域的帧头格式为0x0140,CAN总线子 数据域的帧头格式为0x0150 ;2b)当SCIA通道接收到各分任务模块发来的不同总线的数据时,对其进行拆包, 提取各现场总线的数据位,将其直接添加到TCP/IP数据帧中的相应子数据域,并通过标准 以太网接口将TCP/IP数据帧发送到控制模块,实现将多总线数据帧格式转换为TCP/IP数 据帧格式;2c)当SCIA通道接收到控制模块的数据时,对TCP/IP数据帧中的数据域进行解 包,提取各个子数据域的数据,通过判断各子数据域的帧头格式,将相应子数据域内的数据 经过组包添加到相应的总线数据帧格式中,并通过相应总线接口将其发送到各分任务模 块,实现将TCP/IP数据帧格式转换为多种总线数据帧格式。本发明与现有技术相比具有如下优点(1)本发明由于使用了多总线协议格式和标准以太网协议格式转换的方法,从而 克服了现有技术需要开发专门的协议转换器或者OPC服务器的缺点,能够方便地实现多现 场总线协议之间的转换。(2)本发明由于使用串行通道SCIA和计时器TimerO,对接收来自分任务模块的 数据传输波特率检测字符进行计时,通过计算和查波特率表实现数据传输波特率的自动检 测,无需预先设定双方数据传输波特率。


图1是多现场总线控制系统的结构框图;图2是本发明的流程图.
具体实施例方式下面结合附图对本发明的具体实施方式
进行详细的说明。参照图2,本发明的实现步骤如下步骤1,数据传输速率的自动检测。
4
la)使用SCIA通道接收分任务模块发送的数据传输波特率检测字符00000001,其 中0为低电平,1为高电平;lb)将SCIA通道没有接收到数据时空闲位设为高电平,当SCIA通道接收到检测字 符的第一位低电平时,在空闲位到第一位低电平之间的下降沿处启动定时器TimerO开始 计时;Ic)当SCIA通道接收到检测字符的第一位高电平时,在低电平和第一位高电平之 间的上升沿处停止定时器TimerO计时,得到计时时间为t ;Id)通过波特率表选取最接近Ι/t的波特率,将其设置为SCIA通道当前数据传输 的波特率,其中,Ι/t即为检测得到的数据传输波特率,由于由于定时器计数误差,Ι/t所计 算得到的波特率必然存在偏差,此时通过查波特率表,选取最接近Ι/t的波特率设置为 SCIA通道当前数据传输波特率消除误差;Ie)以当前数据传输波特率,由SCIA通道向分任务模块发送确认信息0x55AA,当 SCIA通道接收到分任务模块回发的确认信息0x55AA时,表示自动数据传输波特率检测成功。步骤2,多总线协议格式和标准以太网协议格式之间的转换。2a)将TCP/IP数据帧中的数据域划分为RS422总线子数据域、1553B总线子数据 域、RS485总线子数据域、ARINC429总线子数据域和CAN总线子数据域,并分别设置RS-422 总线子数据域的帧头格式为0x0110,1553B总线子数据域的帧头格式为0x0120,RS485总线 子数据域的帧头格式为0x0130,ARINC429总线子数据域的帧头格式为0x0140,CAN总线子 数据域的帧头格式为0x0150 ;2b)当SCIA通道接收到各分任务模块发来的不同总线的数据时,对其进行拆包, 提取各现场总线的数据位,将其直接添加到TCP/IP数据帧中的相应子数据域,并通过标准 以太网接口将TCP/IP数据帧发送到控制模块,实现将多总线数据帧格式转换为TCP/IP数 据帧格式,所述的拆包,是依据各种现场总线数据帧格式的特征,将数据包拆分成各种现场 总线的数据帧格式,再分别对各种现场总线的数据帧进行去除帧头、帧尾、校验位的处理, 得到各种现场总线的数据位。2c)当SCIA通道接收到控制模块的数据时,先对TCP/IP数据帧中的数据域进行 解包,提取出RS-422总线子数据域、1553B总线子数据域、RS485总线子数据域、ARINC429 总线子数据域和CAN总线子数据域的数据;再依据步骤2a)中对各个子数据域帧头格式的 设置,判断子数据域的帧头格式当帧头格式为0x0110时,将子数据域的数据经过组包添 加到RS-422总线数据帧格式中,通过RS-422总线接口将其发送到RS-422分任务模块;当 帧头格式为0x0120时,将子数据域的数据经过组包添加到1553B总线数据帧格式中,通过 1553B总线接口将其发送到1553B分任务模块;当帧头格式为0x0130时,将子数据域的数 据经过组包添加到RS485总线数据帧格式中,通过RS485总线接口将其发送到RS485分任 务模块;当帧头格式为0x0140时,将子数据域的数据经过组包添加到ARINC429总线数据帧 格式中,通过ARINC429总线接口将其发送到ARINC429分任务模块;当帧头格式为0x0150 时,将子数据域的数据经过组包添加到CAN总线数据帧格式中,通过CAN总线接口将其发送
5到CAN分任务模块,从而实现将TCP/IP数据帧格式转换为多种总线数据帧格式。
所述的解包,是先对TCP/IP数据帧进行去除帧头、帧尾、校验位的处理,提取出 TCP/IP数据帧的数据域;再依据步骤2a)所述的对TCP/IP数据帧数据域的划分,将提取到 的TCP/IP数据域拆分成RS-422总线子数据域、1553B总线子数据域、RS485总线子数据域、 ARINC429总线子数据域和CAN总线子数据域,得到各个子数据域的数据。
权利要求
一种自适应多总线融合方法,包括(1)数据传输波特率的自动检测步骤1a)使用串行通信接口SCIA通道,接收分任务模块发送的数据传输波特率检测字符00000001,其中0为低电平,1为高电平;1b)将SCIA通道没有接收到数据时空闲位设为高电平,当SCIA通道接收到检测字符的第一位低电平时,在空闲位到第一位低电平之间的下降沿处启动定时器Timer0开始计时;1c)当SCIA通道接收到检测字符的第一位高电平时,在低电平和第一位高电平之间的上升沿处停止定时器Timer0计时,得到计时时间为t;1d)通过波特率表选取最接近1/t的波特率,将其设置为SCIA通道当前数据传输的波特率;1e)以当前数据传输波特率,由SCIA通道向分任务模块发送确认信息0x55AA,当SCIA通道接收到分任务模块回发的确认信息0x55AA时,表示自动数据传输波特率检测成功;(2)多总线协议格式和标准以太网协议格式之间的转换步骤2a)将TCP/IP数据帧中的数据域划分为RS422总线子数据域、1553B总线子数据域、RS485总线子数据域、ARINC429总线子数据域和CAN总线子数据域,并分别设置RS 422总线子数据域的帧头格式为0x0110,1553B总线子数据域的帧头格式为0x0120,RS485总线子数据域的帧头格式为0x0130,ARINC429总线子数据域的帧头格式为0x0140,CAN总线子数据域的帧头格式为0x0150;2b)当SCIA通道接收到各分任务模块发来的不同总线的数据时,对其进行拆包,提取各现场总线的数据位,将其直接添加到TCP/IP数据帧中的相应子数据域,并通过标准以太网接口将TCP/IP数据帧发送到控制模块,实现将多总线数据帧格式转换为TCP/IP数据帧格式;2c)当SCIA通道接收到控制模块的数据时,对TCP/IP数据帧中的数据域进行解包,提取各个子数据域的数据,通过判断各子数据域的帧头格式,将相应子数据域内的数据经过组包添加到相应的总线数据帧格式中,并通过相应总线接口将其发送到各分任务模块,实现将TCP/IP数据帧格式转换为多种总线数据帧格式。
2.根据权利要求1所述的自适应多总线融合方法,其中步骤2b)所述的当SCIA通道接 收到各分任务模块发来的不同总线的数据时,对其进行拆包,是依据各种现场总线数据帧 格式的特征,将数据包拆分成各种现场总线的数据帧格式,再分别对各种现场总线的数据 帧进行去除帧头、帧尾、校验位的处理,得到各种现场总线的数据位。
3.根据权利要求1所述的自适应多总线融合方法,其中步骤2c)所述的当SCIA通道接 收到控制模块的数据时,对TCP/IP数据帧中的数据域进行解包,是先对TCP/IP数据帧进行 去除帧头、帧尾、校验位的处理,提取出TCP/IP数据帧的数据域;再依据步骤2a)所述的对 TCP/IP数据巾贞数据域的划分,将提取到的TCP/IP数据位拆分成各个子数据域,得到各个子 数据域的数据。
全文摘要
本发明公开了一种自适应多总线融合方法,主要克服现有多总线融合需要开发专门的网关或OPC服务器问题。其步骤为依据SCIA通道接收到的检测字符00000001电平变化,控制定时器Timer0开启和关闭,得到计数时间,实现数据传输波特率的自动检测;将TCP/IP数据帧的数据域划分为各种总线子数据域,对不同总线数据帧,通过拆包,提取各总线的数据位添加到相应TCP/IP数据帧的子数据域中,实现不同总线数据帧格式转换为TCP/IP数据帧格式,对TCP/IP数据帧通过解包,提取各个子数据域的数据,通过组包添加到相应的总线数据帧格式,实现TCP/IP数据帧格式转换为不同总线数据帧格式。本发明可在无需专门开发网关或OPC服务器条件下实现多总线融合,可用于实现多种现场总线的数据传输。
文档编号H04L12/26GK101917322SQ201010251458
公开日2010年12月15日 申请日期2010年8月10日 优先权日2010年8月10日
发明者上官瑞春, 刘校伟, 徐连军, 相征 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1