一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种CAN总线容错设计方法与流程

2022-03-26 16:32:57 来源:中国专利 TAG:

一种can总线容错设计方法
技术领域
1.本发明属于航空电子设计技术领域,具体涉及一种can总线容错设计方法。


背景技术:

2.目前航空电子设备之间多采用can总线完成设备间或设备内部硬件模块间的简单数据传输。但是标准的can总线协议只规定了单条总线的的物理层及数据链路层协议,只具备单条总线数据错误的检测能力,不具备数据实时容错传输和物理线路容错能力。
3.航空电子设备随载机工作在高温、低温、电磁干扰等复杂的环境,且对数据传输的可靠性有很高的要求,标准的can总线设计不能满足航空电子设备的高可靠实时数据传输的应用要求。


技术实现要素:

4.为了克服现有技术的不足,本发明提供了一种can总线容错设计方法,首先基于标准can总线,在应用系统所有的通信节点之间扩展冗余的can总线通道;然后在can2.0协议规定29位扩展帧帧id的基础上,定义帧id的最低2位为冗余can总线通道的消息通道标识;在数据发送和接收节点,分别采用基于多通道的数据并行发送和多路有效数据检出的机制保证数据的容错传输。本发明由于采用了多冗余传输通道和基于多通道的数据并行发送和有效数据检出的机制,当由一路通道上的一包消息发生传输错误时,接收方可通过数据校验机制检出消息错误,并将错误消息丢弃,同时可从其它备份通道上接收同一消息并报送给应用层,不需要发送方重新发送,因此可以实现偶发数据错误的实时容错。
5.本发明解决其技术问题所采用的技术方案包括如下步骤:
6.步骤1:基于标准can总线,在应用系统所有的通信节点之间扩展冗余的can总线通道;
7.步骤2:在can2.0协议规定29位扩展帧帧id的基础上,定义帧id的最低2位为冗余can总线通道的消息通道标识;
8.消息通道标识和冗余can总线通道的对应关系如下:
9.1)消息通道标识0代表can总线通道a;
10.2)消息通道标识1代表can总线通道b;
11.3)消息通道标识2代表can总线通道c;
12.4)消息通道标识3代表can总线通道d;
13.步骤3:在数据发送和接收节点,分别采用基于多通道的数据并行发送和多路有效数据检出的机制保证数据的容错传输;
14.步骤3-1:所有can总线消息定义如表1,具备消息计数字段与校验和字段;
15.表1 can总线消息定义
[0016][0017]
步骤3-2:数据发送节点对数据的并行发送处理机制如下:
[0018]
1)同一包消息需同时在所有的can总线进行发送;
[0019]
2)同一消息id的消息,每次发送前,消息计数字段累加1发送,消息计数字段从0到255循环累加;
[0020]
3)所有发送的消息需根据消息内容计算校验和,填入校验和字段随消息发送;
[0021]
步骤3-3:数据接收节点对数据的多路检出机制如下:
[0022]
1)每次从所有的can总线通道中读取can总线消息;
[0023]
2)对每个can总线接收的消息进行数据校验,错误的消息丢弃,并向应用层软件报1次消息校验错误;
[0024]
3)对比每个can校验正确的can总线消息的消息计数,将消息计数值最新的消息作为有效检出消息报送给应用层软件。
[0025]
进一步地,所述校验和算法采用crc8。
[0026]
本发明的有益效果如下:
[0027]
(1)本发明由于采用了多冗余传输通道和基于多通道的数据并行发送和有效数据检出的机制,当由一路通道上的一包消息发生传输错误时,接收方可通过数据校验机制检出消息错误,并将错误消息丢弃,同时可从其它备份通道上接收同一消息并报送给应用层,不需要发送方重新发送,因此可以实现偶发数据错误的实时容错。
[0028]
(2)当所有can总线通道的其中1路的硬件链路发生失效时,接收方通过该通道上发送的周期消息的消息计数停止变化可以判断出该通道传输功能失效。并发数据传输机制仍可以保证数据从未故障通道传输,保证系统正常的通信功能。因此,可以实现1路或多路can总线硬件链路传输失效的故障容错。
附图说明
[0029]
图1为本发明方法冗余can总线连接拓扑图。
[0030]
图2为本发明方法增加通道标识字段的can总线扩展帧id格式图。
[0031]
图3为本发明方法多路数据并发传输协议示意图。
[0032]
图4为本发明方法容错can总线应用实例图。
具体实施方式
[0033]
下面结合附图和实施例对本发明进一步说明。
[0034]
本发明的目的是提供能一种能够实现传输数据偶发数据容错和单条物理传输线路失效容错的can总线设计,该方法用于机载电子设备及其它工业领域的关键设备,可提升设备间can总线通信功能的可靠性,提升机载电子设备应用环境下can总线抗环境因素干扰能力。
[0035]
为实现can总线高可靠性实时容错传输,基于标准can2.0协议规定的物理层和数据链路层协议,对标准can总线的应用技术标准进行了扩展,提出一种在物理层采用多冗余传输通道实现数据通信链路的冗余备份的机制和一种基于多通道的数据并行发送和有效数据检出机制,可以实现can总线偶发数据错误的实施容错和单通道硬件链路失效的故障容错。
[0036]
一种can总线容错设计方法,包括如下步骤:
[0037]
步骤1:冗余can总线的连接拓扑结构如图1所示,基于标准can总线,在应用系统所有的通信节点之间扩展冗余的can总线通道;实现硬件通信链路的余度备份;
[0038]
步骤2:如图2所示,在can2.0协议规定29位扩展帧帧id的基础上,定义帧id的最低2位为冗余can总线通道的消息通道标识;用于can总线数据监控系统、数据通信接口识别不同的can总线通道,最多支持4路can总线冗余通道;
[0039]
消息通道标识和冗余can总线通道的对应关系如下:
[0040]
1)消息通道标识0代表can总线通道a;
[0041]
2)消息通道标识1代表can总线通道b;
[0042]
3)消息通道标识2代表can总线通道c;
[0043]
4)消息通道标识3代表can总线通道d。
[0044]
步骤3:在数据发送和接收节点,分别采用基于多通道的数据并行发送和多路有效数据检出的机制保证数据的容错传输;数据传输协议示意图如图3所示;
[0045]
步骤3-1:所有can总线消息定义如表1,具备消息计数字段和校验和字段;
[0046]
步骤3-2:数据发送节点对数据的并行发送处理机制如下:
[0047]
1)同一包消息需同时在所有的can总线进行发送;
[0048]
2)同一消息id的消息,每次发送前,消息计数字段累加1发送,消息计数字段从0到255循环累加;
[0049]
3)所有发送的消息需根据消息内容计算校验和,填入校验和字段随消息发送;校验和算法采用crc8
[0050]
步骤3-3:数据接收节点对数据的多路检出机制如下:
[0051]
1)每次从所有的can总线通道中读取can总线消息;
[0052]
2)对每个can总线接收的消息进行数据校验,错误的消息丢弃,并向应用层软件报1次消息校验错误;
[0053]
3)对比每个can校验正确的can总线消息的消息计数,将消息计数值最新的消息作为有效检出消息报送给应用层软件。
[0054]
具体实施例:
[0055]
以一种设备应用该方法实现设备间通信的设计过程为例说明本发明的实施方式,
如图4所示,具体步骤如下:
[0056]
1)完成冗余can总线硬件设计
[0057]
根据can2.0b协议标准选择各通信节点的接口芯片和满足协议标准规定的can总线电缆。完成各通信节点的硬件电路设计和连接电缆设计。为保证can总线硬件链路传输失效的容错设计,每个can总线通道应采用独立的can总线芯片接口。
[0058]
2)完成各can总线节点通信控制软件开发
[0059]
根据本发明规定的通信协议要求,完成各can总线节点通信控制软件的开发,数据发送方具备多通道并行发送功能,数据接收方具备多通道数据检出功能。
[0060]
3)对can总线的冗余容错功能进行测试
[0061]
在数据发送方注入偶发消息错误,测试数据接收方能否有效检出错误并实现冗余通道中正确消息的接收和报送;断开1路或多路can总线,测试系统的can总线通信功能是否正常。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献