CN101917322B - 一种自适应多总线融合方法 - Google Patents
一种自适应多总线融合方法 Download PDFInfo
- Publication number
- CN101917322B CN101917322B CN2010102514586A CN201010251458A CN101917322B CN 101917322 B CN101917322 B CN 101917322B CN 2010102514586 A CN2010102514586 A CN 2010102514586A CN 201010251458 A CN201010251458 A CN 201010251458A CN 101917322 B CN101917322 B CN 101917322B
- Authority
- CN
- China
- Prior art keywords
- data
- subdata
- bus
- territory
- tcp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种自适应多总线融合方法,主要克服现有多总线融合需要开发专门的网关或OPC服务器问题。其步骤为:依据SCIA通道接收到的检测字符00000001电平变化,控制定时器Timer0开启和关闭,得到计数时间,实现数据传输波特率的自动检测;将TCP/IP数据帧的数据域划分为各种总线子数据域,对不同总线数据帧,通过拆包,提取各总线的数据位添加到相应TCP/IP数据帧的子数据域中,实现不同总线数据帧格式转换为TCP/IP数据帧格式,对TCP/IP数据帧通过解包,提取各个子数据域的数据,通过组包添加到相应的总线数据帧格式,实现TCP/IP数据帧格式转换为不同总线数据帧格式。本发明可在无需专门开发网关或OPC服务器条件下实现多总线融合,可用于实现多种现场总线的数据传输。
Description
技术领域
本发明属于计算机领域,涉及了多总线融合方法,具体涉及了一种自适应多总线融合方法,可用于实现多种现场总线的数据传输。
背景技术
多种现场总线标准并存的现实、工业应用需求的多样化以及技术发展的连续性和延迟性,必然导致基于多现场总线融合的控制系统的实现成为技术发展的趋势。
图1给出了多现场总线控制系统的结构,它主要包括控制模块、多总线融合方法模块、分任务模块。其中分任务模块由RS-422分任务模块、1553B分任务模块、RS485分任务模块、ARINC429分任务模块、CAN总线分任务模块构成。各分任务模块分别通过相应的现场总线,经过多总线融合模块与控制模块实现数据通信。该系统的核心在于如何实现多总线的融合。
目前,多总线融合方法主要有以下两种:
方法之一,基于OPC技术的多总线融合方法。OPC技术将各种现场总线的底层硬件驱动程序和上层应用程序有效地分割开,使用统一的OPC标准接口实现不同总线协议的数据互访。OPC技术的实现包括OPC服务器及OPC客户端(这里即控制模块)两个组成部分。OPC服务器是一种典型现场数据远程程序,它收集各分任务系统的数据信息,通过标准OPC接口传给OPC客户端(控制模块)。从而实现各分任务系统与控制系统的数据通信,OPC客户端(控制模块)通过OPC标准接口与OPC服务器通信,获取OPC服务器的各种信息,实现控制模块对各分任务模块的控制。实现这种方法的缺点是:需要另外开发OPC服务器,其开发过程复杂且成本高,不能实现对数据传输速率的自动检测。
方法之二,基于网关技术的多总线融合方法。在该方法中,通过协议转换式网关将它所连接的两种不同总线的各层协议进行转换,包括应用层数据和所涉及的相关服务等,可以比较彻底地屏蔽总线差异,从而实现两种现场总线数据传输的目的。但是这种方法只适用于两种现场总线协议之间的转换,需要专门的协议转换式网关,且不能实现对数据传输波特率的自动检测。
发明内容
本发明的目的在于克服上述已有技术的不足,提供一种自适应多总线融合方法,以在无需开发专门的协议转换器或者OPC服务器的条件下,实现多现场总线协议之间的转换,且能实现对数据传输波特率的自动检测。
为了达到上述目的,本发明的技术方案包括:
(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数据帧格式转换为多种总线数据帧格式。
本发明与现有技术相比具有如下优点:
(1)本发明由于使用了多总线协议格式和标准以太网协议格式转换的方法,从而克服了现有技术需要开发专门的协议转换器或者OPC服务器的缺点,能够方便地实现多现场总线协议之间的转换。
(2)本发明由于使用串行通道SCIA和计时器Timer0,对接收来自分任务模块的数据传输波特率检测字符进行计时,通过计算和查波特率表实现数据传输波特率的自动检测,无需预先设定双方数据传输波特率。
附图说明
图1是多现场总线控制系统的结构框图;
图2是本发明的流程图.
具体实施方式
下面结合附图对本发明的具体实施方式进行详细的说明。
参照图2,本发明的实现步骤如下:
步骤1,数据传输速率的自动检测。
1a)使用SCIA通道接收分任务模块发送的数据传输波特率检测字符00000001,其中0为低电平,1为高电平;
1b)将SCIA通道没有接收到数据时空闲位设为高电平,当SCIA通道接收到检测字符的第一位低电平时,在空闲位到第一位低电平之间的下降沿处启动定时器Timer0开始计时;
1c)当SCIA通道接收到检测字符的第一位高电平时,在低电平和第一位高电平之间的上升沿处停止定时器Timer0计时,得到计时时间为t;
1d)通过波特率表选取最接近1/t的波特率,将其设置为SCIA通道当前数据传输的波特率,
其中,1/t即为检测得到的数据传输波特率,由于由于定时器计数误差,1/t所计算得到的波特率必然存在偏差,此时通过查波特率表,选取最接近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数据帧中的数据域进行解包,提取出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总线接口将其发送到CAN分任务模块,从而实现将TCP/IP数据帧格式转换为多种总线数据帧格式。
所述的解包,是先对TCP/IP数据帧进行去除帧头、帧尾、校验位的处理,提取出TCP/IP数据帧的数据域;再依据步骤2a)所述的对TCP/IP数据帧数据域的划分,将提取到的TCP/IP数据域拆分成RS-422总线子数据域、1553B总线子数据域、RS485总线子数据域、ARINC429总线子数据域和CAN总线子数据域,得到各个子数据域的数据。
Claims (3)
1.一种自适应多总线融合方法,包括:
(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数据帧中的数据域划分为RS-422总线子数据域、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数据位拆分成各个子数据域,得到各个子数据域的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102514586A CN101917322B (zh) | 2010-08-10 | 2010-08-10 | 一种自适应多总线融合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102514586A CN101917322B (zh) | 2010-08-10 | 2010-08-10 | 一种自适应多总线融合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101917322A CN101917322A (zh) | 2010-12-15 |
CN101917322B true CN101917322B (zh) | 2012-07-25 |
Family
ID=43324717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102514586A Active CN101917322B (zh) | 2010-08-10 | 2010-08-10 | 一种自适应多总线融合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101917322B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523129B (zh) * | 2011-12-05 | 2014-06-11 | 西北工业大学 | 一种通用的航空总线测试分析方法及其装置 |
CN104199298B (zh) * | 2014-08-18 | 2016-10-26 | 广西师范大学 | 一种can总线波特率自适应的方法 |
CN106357617B (zh) * | 2016-08-28 | 2019-11-26 | 上海新时达电气股份有限公司 | 通讯协议的自适应方法、装置、电梯通讯系统 |
CN109407574B (zh) * | 2018-09-19 | 2020-10-30 | 北京机械设备研究所 | 一种多总线可选择输出控制装置及其方法 |
CN109274567B (zh) * | 2018-09-27 | 2021-10-08 | 潍柴动力股份有限公司 | 一种波特率的自适应方法及系统 |
CN110324356B (zh) * | 2019-07-17 | 2023-03-31 | 陕西千山航空电子有限责任公司 | 一种多类总线数据的混合数据包处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201174706Y (zh) * | 2007-11-26 | 2008-12-31 | 重庆大学 | 基于fpga技术的以太网串口转换器 |
CN101399635A (zh) * | 2008-09-28 | 2009-04-01 | 中兴通讯股份有限公司 | 通讯波特率自适应方法、装置以及主机 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040146108A1 (en) * | 2003-01-23 | 2004-07-29 | Shih-Chang Hsia | MPEG-II video encoder chip design |
-
2010
- 2010-08-10 CN CN2010102514586A patent/CN101917322B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201174706Y (zh) * | 2007-11-26 | 2008-12-31 | 重庆大学 | 基于fpga技术的以太网串口转换器 |
CN101399635A (zh) * | 2008-09-28 | 2009-04-01 | 中兴通讯股份有限公司 | 通讯波特率自适应方法、装置以及主机 |
Also Published As
Publication number | Publication date |
---|---|
CN101917322A (zh) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101917322B (zh) | 一种自适应多总线融合方法 | |
US20090119437A1 (en) | Method for Data Communication of Bus Users in an Open Automation System | |
US20130111088A1 (en) | Traffic communication module and method of forming the same | |
CN104333517A (zh) | 基于can总线的自动化设备通信方法 | |
EP2493208A2 (en) | Meter processing communication system | |
CN111064726B (zh) | 一种goose协议与hdlc协议数据转换的实现方法及系统 | |
CN102332971A (zh) | 数控系统现场总线全双工可靠通信方法 | |
CN109743242A (zh) | Can总线报文控制系统及其控制方法 | |
CN108809618B (zh) | 一种8b10b编码串行数据的时钟恢复方法 | |
CN102546070A (zh) | 使用现有网络线缆来同步网络的方法和系统 | |
CN104092515B (zh) | 兼容can2.0b协议的can总线通信方法 | |
JP2008277873A (ja) | 中継接続ユニット | |
CN103840847A (zh) | 用于电信设备的卫星接收器模块 | |
CN104079460A (zh) | 基于powerlink技术的板间通信组件 | |
CN105262655B (zh) | 一种可兼容can2.0总线的具有更高速率的通信方法 | |
CN110601941B (zh) | 一种基于EtherCAT总线的车载信号传输系统及方法 | |
CN204231390U (zh) | 基于c8051f040核微处理器的arcnet-hdlc网关 | |
CN105391666A (zh) | 基于fsk调制解调的多业务总线传输系统及传输方法 | |
KR101209005B1 (ko) | 지능형 데이터 통신 게이트웨이 장치를 포함하는 통신 시스템 | |
CN102761486B (zh) | 一种低离散性的goose单点对多点及多点对单点的收发方法 | |
TWI323998B (en) | Method and system for optimizing the design of a network controller | |
CN201467168U (zh) | 一种将MODBUS协议转换成Profibus协议的通讯协议转换器 | |
CN205179093U (zh) | 基于fsk调制解调的多业务总线传输系统 | |
CN104133447A (zh) | 一种工程机械控制系统及工程机械 | |
CN102185786A (zh) | Hdlc协议控制器ip软核 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |