CN100387016C - 信息处理装置之间的异构多总线数据传输方法 - Google Patents
信息处理装置之间的异构多总线数据传输方法 Download PDFInfo
- Publication number
- CN100387016C CN100387016C CNB2005100105269A CN200510010526A CN100387016C CN 100387016 C CN100387016 C CN 100387016C CN B2005100105269 A CNB2005100105269 A CN B2005100105269A CN 200510010526 A CN200510010526 A CN 200510010526A CN 100387016 C CN100387016 C CN 100387016C
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- information processor
- data transmission
- result
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
信息处理装置之间的异构多总线数据传输方法,本发明公开信息处理装置之间的多总线数据传输方法。它克服了现有的同类冗余设置的总线可靠性低的缺陷。本发明的方法是把CAN、I2C和SPI总线划分为三个不同的传输优先级,同一时刻系统内只有传输优先级别高的总线用于数据的传输,一条总线进行热备份,随时准备在当前有效总线传输失效时接替数据传输,如果当前有效总线上发生了导致数据传输故障的错误,则由总线控制装置判断出故障并立即发出总线切换命令,关闭当前最高优先级上的总线,启用下一优先级的总线进行传输。异构总线冗余系统相对于传统的同构冗余系统能够更好的弥补软件缺陷和抵抗环境干扰,能够更有效的保证容错系统的长时间可靠运行。
Description
技术领域
本发明涉及信息处理装置之间的多总线数据传输方法。
背景技术
在信息化蓬勃发展的今天,网络已经延伸到社会的方方面面。信息的传输要求准确和及时,因此要求传输信息的总线应该具有连续运行的能力,即高可用性。申请号是98806346的《冗余串行总线及其运行方法》专利公开了同类总线冗余设置的总线方式,该总线虽然具有一定的容错功能,但由于冗余设置的总线结构相同,当外部出现影响某种总线传输的干扰时,所有的总线都不能正常工作,因此这样的总线可靠性低。
发明内容
本发明的目的是提供一种信息处理装置之间的异构多总线数据传输方法,它能克服现有的同类冗余设置的总线可靠性低的缺陷。本发明包括如下步骤:A、总线控制装置(1)对冗余设置在发送端信息处理装置(2)与接收端信息处理装置(3)之间的CAN总线、I2C总线和SPI总线中无故障的总线进行状态设置,具有最高优先级别的总线标示为当前的有效总线,把优先级别处于第二位的总线进行热备份,总线控制装置(1)默认CAN总线优先级别最高,SPI总线优先级别最低;B、总线控制装置(1)判断其内部的发送缓冲区(1-1)中是否有发送端信息处理装置(2)传递来的需要发送的数据;若结果为否,则返回步骤A;若结果为是,则执行步骤C;C、通过当前的有效总线把发送端信息处理装置(2)传递到发送缓冲区(1-1)中的数据发送给接收端信息处理装置(3);D、根据接收端信息处理装置(3)从该总线反馈回的信号判断发送数据是否成功;若结果为是,则返回步骤A;若结果为否,则执行步骤E;E、总线控制装置(1)把当前的有效总线切换掉,把原来做热备份的总线作为当前有效总线,同时把优先级别最低的总线改变为热备份状态;F、用当前有效总线传递数据,返回步骤A。
本发明的方法中采用了不同于同类总线冗余的由CAN、I2C、SPI总线构成的异构总线冗余来传递数据,异构总线冗余既可避免因总线控制程序的缺欠而导致某些情况下总线传输异常的软件失效,又可以避免因同类总线控制器故障或外部出现影响某种总线传输的干扰而造成的硬件失效,能够有效提高系统的可用性。三条总线的功能等价,每条总线都可以独立完成处理器间的数据传输。三条总线划分为三个不同的传输优先级,同一时刻系统内只有一条总线用于数据的传输,如果当前有效总线上发生了导致数据传输故障的严重错误,则由总线控制装置发出总线切换命令,关闭当前最高优先级上的总线,启用下一优先级的总线进行传输,这种待命方式可有效的增加系统工作时间,使系统能够长时间正常运行。三条总线属于三个种类,抗干扰能力优于三条总线属于一种总线的形式。本发明设计合理、工作可靠,具有较大推广价值。
附图说明
图1是本发明方法的流程示意图,图2是本发明方法所应用的装置的结构示意图,图3是实施方式二的流程示意图,图4是实施方式三的流程示意图。
具体实施方式
具体实施方式一:下面结合图1和图2具体说明本实施方式。本发明包括如下步骤:A、总线控制装置(1)对冗余设置在发送端信息处理装置(2)与接收端信息处理装置(3)之间的CAN总线、I2C总线和SPI总线中无故障的总线进行状态设置,具有最高优先级别的总线标示为当前的有效总线,把优先级别处于第二位的总线进行热备份,总线控制装置(1)默认CAN总线优先级别最高,SPI总线优先级别最低;B、总线控制装置(1)判断其内部的发送缓冲区(1-1)中是否有发送端信息处理装置(2)传递来的需要发送的数据;若结果为否,则返回步骤A;若结果为是,则执行步骤C;C、通过当前的有效总线把发送端信息处理装置(2)传递到发送缓冲区(1-1)中的数据发送给接收端信息处理装置(3);D、根据接收端信息处理装置(3)从该总线反馈回的信号判断发送数据是否成功;若结果为是,则返回步骤A;若结果为否,则执行步骤E;E、总线控制装置(1)把当前的有效总线切换掉,把原来做热备份的总线作为当前有效总线,同时把优先级别最低的总线改变为热备份状态;F、用当前有效总线传递数据,返回步骤A。
总线控制装置1通过每条总线上控制标志的不同得出当前各条总线所处的状态,并按总线状态控制总线的数据传送和控制。各条总线自身的控制器(CAN总线控制器、I2C总线控制器、SPI总线控制器)在三总线系统中具有相同的意义和特性,它们负责单个总线的数据可靠传输,包括数据传输前和接收后对数据的CRC校验,总线上的数据重发控制,判断此次接收的数据是否已经接收过以及把接收到的数据放入总线控制装置1的发送和接收缓冲区中并置控制信息给总线控制装置1,在发生不可修复的数据传输故障后主动和被动要求总线控制装置1进行总线切换(主动总线切换就是发送端主机发现数据传输问题,产生切换请求信号,由总线控制装置1处理总线的切换;被动总线切换就是当其它处理器发现总线传输问题并进行了总线切换,导致与发送端主机有效总线不同的总线上收到数据,这时由收到数据的总线进行对应的总线切换)。
步骤D中是这样判断发送数据是否成功的:通常总线上数据传输可能产生的问题有如下几类:1、无数据应答:没有收到数据应答或数据应答响应超时。2、数据包冲突:同一时刻总线上有多个设备进行数据传输。3、数据包错误:在总线上传输的数据包中包含有无效的数据。4、数据包丢失:目标设备没有接收到源设备发送的数据包。5、数据包冗余:总线进行切换和应答丢失时可能会重复发送数据包,造成数据包冗余。为了检查出这些总线数据传输中可能产生的问题,首先使用各个总线原有的总线传输协议中所提供的容错机制进行数据检测,
1.CAN总线协议提供的检测特性:CAN总线是一种采用差分传输方式的现场总线,具有较高的可靠性与故障容限和和较强的监视与测控能力,CAN总线自身的控制器具有很强的自动化能力,可以完成CAN总线协议规定其具有的如下功能:1)报文不包含源地址或目标地址,仅用标志符来指示功能、信息优先级信息;2)可根据报文的ID决定接收或屏蔽该报文;3)可靠的错误处理和检错机制(CRC校验和应答);4)发送的信息遭到破坏后,可自动重发;5)节点在错误严重的情况下具有自动退出总线的功能;6)具有多主和总线仲裁的的功能,能通过总线仲裁通过竞争机制为总线上多个同时发送数据的设备分配时间段;
由于CAN总线数据报文中没有地址码项,因而所有连接在总线上的CAN设备都能对每一个数据报文进行接收并应答,这就导致了当某个节点CAN端口失效时,其它端口不能通过向其发送数据是否收到应答来判断它的状态,不利于对CAN总线及各节点状态进行详细的检测,不能保证对数据包丢失的检测和故障节点的定位。本发明采用在CAN总线应答机制之上再加上一个应答数据包,即每个数据帧传输完毕后通过是否接收到目标节点发送的数据包来实现精确的应答和点对点的传输。
2.I2C总线协议提供的检测特性:I2C是一种简单高效的串行总线,常用于智能控制,它具备一些简单的容错机制,按协议规定其具有如下功能:1)每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址主机,可以作为主机发送器或主机接收器;2)如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏;3)每字节传输数据都有应答信号;4)具有总线上的超时检测能力,可以发现和处理总线死锁;
I2C总线不具备对总线传输的数据进行检测的能力,同时其数据应答只能表示接收到了对应的一字节数据,不能反映出整个数据帧的状况。为增强I2C总线的数据检测能力使用CRC校验算法对每次发送的数据进行编码。在发送端,把要发送的数据在I2C总线内的控制装置中应用CRC算法进行编码,编码结果连同数据打包成一数据帧。在接收端,把接收到的数据进行校验然后把校验结果的状态码发送给发送端,发送端按照返回的状态码再进行相应的操作。
3.SPI总线系统是一种简单的同步串行总线接口,通过外部物理连线控制片选,它的所有操作都要由软件控制,且SPI协议基本不提供错误检验方面的功能。为增强SPI总线的数据检测能力使用CRC校验算法对每次发送的数据进行编码。在发送端,把要发送的数据在SPI总线内的控制装置中应用CRC算法进行编码,编码结果连同数据打包成一数据帧。在接收端,把接收到的数据进行校验然后把校验结果的状态码发送给发送端,发送端按照返回的状态码再进行相应的操作。对于应答和校验结果的传输,利用SPI总线在传输每字节数据时候MISO数据线会由接收端读入一字节数据的特性,在接收端中预设一个状态字节,在每字节数据传输后通过读入的这一字节判断传输是否成功,同样在一个数据帧传输完毕后,发送端通过一个额外的空白帧来读取接收端的校验结果。
具体实施方式二:下面结合图3具体说明本实施方式。本实施方式与实施方式一的不同点是:若步骤D中的判断结果为否,则不直接执行步骤E,而执行如下步骤:D+1、进行若干有限次数的数据重发;D+2、根据该总线反馈回的信号判断数据发送是否成功;若结果为是,则返回步骤A;若结果为否,则执行步骤E。
对于切换下来的总线,首先会对故障总线端口进行复位、置位操作,从而判断其是否为可恢复的端口逻辑故障,如可恢复并进行恢复工作后,对总线控制装置1中的状态存储单元进行设置,然后把恢复后的总线重新加入总线队列,如果恢复不了,则由维护人员来修复或直接更换。
具体实施方式三:下面结合图4具体说明本实施方式。本实施方式与实施方式一的不同点是:在E和步骤F之间还包括步骤E+1、在切换之后的总线上重新进行当前的数据传输,以保证数据不丢失,在数据传输中,在帧上采用帧标识(用0和1区分帧的发送,1帧后是0帧,0帧后是1帧,没有连续的0帧和1帧),当在接收端发现接收到的连续帧标识,则表明该帧已经接收过了,这时直接把该次传输的数据丢弃来解决数据的接收冗余问题。然后进入步骤F。如此设置,1.保证总线发生故障时总线上正在传输的数据不丢失;2.保证在总线进行切换时不产生数据的接收冗余(即同一数据不会被接收端收到两次)。
Claims (3)
1.信息处理装置之间的异构多总线数据传输方法,其特征在于它包括如下步骤:A、总线控制装置(1)对冗余设置在发送端信息处理装置(2)与接收端信息处理装置(3)之间的CAN总线、I2C总线和SPI总线中无故障的总线进行状态设置,具有最高优先级别的总线标示为当前的有效总线,把优先级别处于第二位的总线进行热备份,总线控制装置(1)默认CAN总线优先级别最高,SPI总线优先级别最低;B、总线控制装置(1)判断其内部的发送缓冲区(1-1)中是否有发送端信息处理装置(2)传递来的需要发送的数据;若结果为否,则返回步骤A;若结果为是,则执行步骤C;C、通过当前的有效总线把发送端信息处理装置(2)传递到发送缓冲区(1-1)中的数据发送给接收端信息处理装置(3);D、根据接收端信息处理装置(3)从该总线反馈回的信号判断发送数据是否成功;若结果为是,则返回步骤A;若结果为否,则执行步骤E;E、总线控制装置(1)把当前的有效总线切换掉,把原来做热备份的总线作为当前有效总线,同时把优先级别最低的总线改变为热备份状态;F、用当前有效总线传递数据,返回步骤A。
2.根据权利要求1所述的信息处理装置之间的异构多总线数据传输方法,其特征在于若步骤D中的判断结果为否,则不直接执行步骤E,而执行如下步骤:D+1、进行若干有限次数的数据重发;D+2、根据该总线反馈回的信号判断数据发送是否成功;若结果为是,则返回步骤A;若结果为否,则执行步骤E。
3.根据权利要求1所述的信息处理装置之间的异构多总线数据传输方法,其特征在于在步骤E和步骤F之间还包括步骤E+1、在切换之后的总线上重新进行当前的数据传输,以保证数据不丢失,在数据传输中,在帧上采用帧标识,当在接收端发现接收到的帧标识错误,则表明该帧已经接收过了,这时直接把该次传输的数据丢弃来解决数据的接收冗余问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100105269A CN100387016C (zh) | 2005-11-11 | 2005-11-11 | 信息处理装置之间的异构多总线数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100105269A CN100387016C (zh) | 2005-11-11 | 2005-11-11 | 信息处理装置之间的异构多总线数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1758622A CN1758622A (zh) | 2006-04-12 |
CN100387016C true CN100387016C (zh) | 2008-05-07 |
Family
ID=36703815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100105269A Expired - Fee Related CN100387016C (zh) | 2005-11-11 | 2005-11-11 | 信息处理装置之间的异构多总线数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100387016C (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100420228C (zh) * | 2006-08-22 | 2008-09-17 | 哈尔滨工业大学 | 不同优先级can报文发送和接收显示系统及检测方法 |
CN101059930B (zh) * | 2007-03-30 | 2011-01-26 | 北京巨数数字技术开发有限公司 | 显示系统、显示单元以及其控制方法 |
JP5324908B2 (ja) | 2008-08-22 | 2013-10-23 | パナソニック株式会社 | カードホストlsiを有するセット機器、およびカードホストlsi |
CN101447904B (zh) * | 2008-10-31 | 2011-06-22 | 中国电力科学研究院 | 一种基于单个can卡的多地址接收、发送方法 |
US8176209B2 (en) | 2009-11-05 | 2012-05-08 | Electronics And Telecommunications Research Institute | Data communication system |
CN102173289B (zh) * | 2011-02-12 | 2012-11-28 | 广州汽车集团股份有限公司 | 一种倒车时汽车音响音量自动静音的控制方法 |
CN103353715B (zh) * | 2013-06-26 | 2016-01-20 | 许继集团有限公司 | 监控系统冗余保护测控数据传输方法 |
CN104506402B (zh) * | 2014-12-01 | 2018-04-13 | 闫晓峰 | 一种基于多链路的数据传输系统及实现方法 |
CN111478841A (zh) * | 2020-04-15 | 2020-07-31 | 联合华芯电子有限公司 | 一种采用特殊编码方式的数据传输系统和方法 |
CN111478842A (zh) * | 2020-04-15 | 2020-07-31 | 联合华芯电子有限公司 | 一种高速数据传输系统和方法 |
CN111314192A (zh) * | 2020-04-15 | 2020-06-19 | 联合华芯电子有限公司 | 一种高速总线结构和通信节点间传输数据的方法 |
CN111314191A (zh) * | 2020-04-15 | 2020-06-19 | 联合华芯电子有限公司 | 一种数据传输系统和方法 |
CN112821991B (zh) * | 2020-12-30 | 2022-03-11 | 惠州华阳通用电子有限公司 | 一种数据传输方法及装置 |
CN113364782B (zh) * | 2021-06-09 | 2023-05-02 | 苏州智加科技有限公司 | 一种提高数据传输安全性的方法及系统 |
CN113867127A (zh) * | 2021-10-12 | 2021-12-31 | 江苏清盐智能科技有限公司 | 无人战车控制系统冗余构架总线 |
CN114675529A (zh) * | 2022-04-13 | 2022-06-28 | 中国兵器装备集团自动化研究所有限公司 | 一种基于can总线电平接口的并行冗余系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727173A (en) * | 1995-12-05 | 1998-03-10 | National Semiconductor Corporation | Toggle bus circuit |
DE19645861A1 (de) * | 1996-11-07 | 1998-07-23 | Colour Control Farbmestechnik | Plattformunabhängiges Kommunikations-Verfahren für heterogenes Netzwerk |
CN1260930A (zh) * | 1997-06-20 | 2000-07-19 | 哈特曼及布劳恩两合公司 | 冗余串行总线及其运行方法 |
CN1592283A (zh) * | 2003-08-27 | 2005-03-09 | 汤姆森许可贸易公司 | 与异类网络相连的设备之间的控制方法和实现该方法的设备 |
-
2005
- 2005-11-11 CN CNB2005100105269A patent/CN100387016C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5727173A (en) * | 1995-12-05 | 1998-03-10 | National Semiconductor Corporation | Toggle bus circuit |
DE19645861A1 (de) * | 1996-11-07 | 1998-07-23 | Colour Control Farbmestechnik | Plattformunabhängiges Kommunikations-Verfahren für heterogenes Netzwerk |
CN1260930A (zh) * | 1997-06-20 | 2000-07-19 | 哈特曼及布劳恩两合公司 | 冗余串行总线及其运行方法 |
CN1592283A (zh) * | 2003-08-27 | 2005-03-09 | 汤姆森许可贸易公司 | 与异类网络相连的设备之间的控制方法和实现该方法的设备 |
Also Published As
Publication number | Publication date |
---|---|
CN1758622A (zh) | 2006-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100387016C (zh) | 信息处理装置之间的异构多总线数据传输方法 | |
CN100366029C (zh) | 通信控制器、主机端控制器、通信设备、通信系统和方法 | |
CN103634150B (zh) | 一种冗余的高安全性can总线通信方法 | |
CN109993958B (zh) | 一种rs485总线的数据采集系统及方法 | |
EP2237162B1 (en) | PCI.Express communication system and communication method thereof | |
CN102984059B (zh) | 千兆以太网冗余网卡及其链路切换条件判定结果控制方法 | |
CN101807076B (zh) | 基于profibus现场总线的具有协同热备份功能的双模冗余容错高可靠控制系统 | |
CN101286940A (zh) | 双冗余can总线通信系统及其通信方法 | |
JP2007188521A5 (zh) | ||
JPS5947906B2 (ja) | ル−プ伝送システム | |
CN101980171B (zh) | 一种软件系统故障自恢复方法及其使用的软件看门狗系统 | |
CN103957155A (zh) | 报文传输方法、装置及互联接口 | |
CN103744753B (zh) | 一种双机系统的数据交互方法与装置 | |
US8307137B2 (en) | Remote communication method of a network | |
CN100571108C (zh) | 用于在计算节点之间进行数据通信的系统和方法 | |
CN116578521B (zh) | 一种单总线通信方法、装置、系统及设备 | |
CN102868583B (zh) | 一种具有故障诊断功能的FlexRay总线节点 | |
JPH0769545A (ja) | マルチプレクサおよびその出力切替方法 | |
US8533307B2 (en) | Method and device for monitoring a data transmission | |
CN111431668B (zh) | 基于多节点uart通讯的波特率切换方法、空调系统及处理器 | |
CN104714909A (zh) | 处理总线挂死的装置、方法、总线结构及系统 | |
JP2011151769A (ja) | データ通信システム及びデータ通信方法 | |
CN106789495B (zh) | 一种单控制器主从式网络总线控制器在线切换方法 | |
US8291143B1 (en) | Single line communication | |
JP2008211536A (ja) | リモートio伝送システム |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080507 Termination date: 20091211 |