顶部
电车资源栏目: 商用车 乘用车

如何保证CAN数据的正确性

  • 2017-07-20 09:17
  • 来源:电动汽车资源网 ZLG致远电子

摘要:有很多用户在使用的时候担心CAN会接受到错误的信息,在数据里增加了CRC校验的部分,这种做法是否有必要,CAN会收到错误的数据吗?

电动汽车资源网EV江湖 ZLG致远电子】CANbus总线协议以高稳定性,高容错率而著称于世,然而仍有很多用户在使用的时候担心CAN会接受到错误的信息,在数据里增加了CRC校验的部分,这种做法是否有必要,CAN 会收到错误的数据吗?

信息的传递,古往今来都是人类无比关注的一个问题。从最原始的肢体语言到高端的电子信号,信息传达的方法五花八门。而对于信息安全的追求也是从古至今未有变过,我国西周时期的《太公兵法》就有过“阴符”“阴书”的设计来保证信息的安全。

如何保证CAN数据的正确性

图1 让人心忧的信息安全

而在我们的工业生产中,为了保证信号的正确传递的方法更是五花八门。而在信息传递过程中采取CAN协议是一种常见的减少出错率的方案。那么,问题来了,CAN协议何德何能能让传输的信号不出错呢?这里就让我们来深入分析一番。利用CANScope总线综合分析仪来抓取一帧CAN的报文如下:

如何保证CAN数据的正确性

图2 CANScope总线综合分析仪抓取的报文

从图中可以看出CAN协议采取了差分信号传输的方式,可以有效杜绝来自外部的屏蔽干扰。而在最后一行的协议解析部分,经过观察我们发现一帧信号被分割成了不同颜色的一段段,每一段究竟是何含义?保证信号正确传输的秘密就隐藏在这些段落里。让我们来庖丁解牛分别为大家分析下。

数据头:在数据的开始,是一个1位的数据头,表示数据帧都开始。

如何保证CAN数据的正确性

图3 数据头

仲裁段:标志了本帧数据的优先级,其中包含了一个ID码,仲裁段中的ID码值越小,帧数据的优先级就越高,CAN控制器在发送数据的同时会监听电缆上的电平状态,如果发现仲裁位的电平与本节点发出的电平不一致,则退出发送放弃总线使用权。这样的设计可以提高总线的利用率,并且能让重要的信息优先发送。

如何保证CAN数据的正确性

图4 仲裁段

控制段:共六位,用于表示数据长度。在数据的控制段存有保留位以供未来协议规则扩展。

如何保证CAN数据的正确性

图5 控制段

数据段:经过前面的铺垫,数据段所编码的即是本帧数据所需要传达的信息。一帧信号可以传送0~8位数据,每字节8位。短小精悍保证信息的实时性。

如何保证CAN数据的正确性

图6 数据段

CRC段:CRC段即是保证数据准确的一个关键所在。为防止信号由于某种原因被更改,CAN的数据链路层上加入了CRC校验。发送节点会根据发送内容计算得到一个CRC值填入CRC段进行发送,而相应的接收节点也会对接收到的数据进行计算,并将计算出的CRC值和接收到的进行比对。能够对得上暗号的才是自己人,如果对照有误那么就说明传输的信号出现了问题,需要反馈错误消息。这样的机制保证了CAN不会收到错误的信息,其安全性毋庸置疑。

如何保证CAN数据的正确性

图7 CRC段

ACK段:用于表征信号是否被正确接收,接受正常的节点在ACK的第一位会发出一个显性位。根据ACK的状态,发送节点就可以了解到数据是否被传输成功。若发送失败,发送节点会根据自身状态来决定是否重传。

如何保证CAN数据的正确性

图8 ACK段

帧结束:由7个隐性位组成,表示该帧结束。

如何保证CAN数据的正确性

图9 帧结束

经过这样一番抽丝剥茧的分析,CAN的报文结构就这样清晰的展现在我们面前。由于CRC 段的存在,CAN出错的概率十分之小。

CRC校验所使用的CRC多项式最多可以检测出5个离散错误,或发现长度在15位以下偶然出现的突发错误。CRC校验对SOF位、仲裁段、控制段和数据段的位序列进行计算,但不考虑填充位。CAN协议中规定的15位校验序列源自于BCH代码,它是一种特别适用于127位以下消息长度的循环代码。CAN协议中所应用的15位多项式如下:

如何保证CAN数据的正确性

在发送或接收收到数据场的最后一位后,CRC寄存器就会包含待传输或者待接收的CRC序列。将计算出的CRC序列与接收到的CRC序列相除,接收器就可以识别出可能存在的CRC错误。

有些工程师担心CAN 收到错误的信息,在数据中又做了CRC校验的工作,岂不知在数据链路层CAN已经自备了CRC校验的工作,在数据中再加入CRC校验实际上是没有什么必要的。

如何保证CAN数据的正确性

CAN总线不但规定了物理层的差分传输规范,还规定了数据链路层的分包校验规则,而这两个都是由硬件自动完成,接收时,无需考虑是否有错误,只要从缓冲区取出数据即可,CAN的CRC校验可以保证错误率在10的-9次方以下,毫无疑问是一种非常安全可靠的传输协议。

如何保证CAN数据的正确性

CAN总线在信号的实时传输方面具有非常好的优越性,通过CANscope总线分析仪可以很好地完成CAN总线的故障排查与检测标定。致远电子凭借自身掌握的核心技术可为用户解决工业现场的各种疑难问题,期待与您一同成长。

(来源:电动汽车资源网EV江湖 ZLG致远电子)

本文由电动汽车资源网【EV江湖】作者撰写,观点仅代表个人,不代表电动汽车资源网。

电动汽车资源网自媒体平台——EV江湖致力于打造新能源汽车产业生态与消费生态结合的新模式自媒体平台。我们以严谨而开放的态度,诚邀各路豪杰,探讨新能源汽车发展之路,见证产业发展一路风云(点击进入EV江湖),联系电话:0755-82433081 ,微信:314585903。


2017中国新能源汽车测试评价技术发展高峰论坛火热招商中

2017中国新能源汽车测试评价技术发展高峰论坛,7月26日深圳坪山金茂园酒店开幕。届时云集宇通、比亚迪、湖南中车、北汽、吉利、东风、江淮、奇瑞、长安、南京金龙、安凯汽车、北汽福田、成都雅骏、申龙客车、大小金龙、河北长安、猛狮、国轩高科、亿纬锂能、微特利、英威腾、力朗电池等企业技术总工和重庆车检院专家就整车、关键零部件测试评价及技术研讨;整车EMC测试评价系统解决方案!联系电话:13723780453(刘俏美)点击此处查看详情与报名>>>

网友评论

还可以输入 500

只用于日常代步,纯电动汽车与混动版汽车怎么选?

如果选择新能源汽车作为日常代步,到底是选择纯电动还是插电混动车型,氢云链认为这一点一定要根据自身的情况来进行选择。
关键字: 新能源汽车
2019-09-29

聊聊什么是BMS

从特斯拉自燃事件,聊聊什么是BMS?
关键字: 特斯拉 BMS
2019-06-17

一文成为动力电池“达人” ——动力电池行业系列研究第一篇(基础篇)

锂离子电池是一种二次电池,它主要依靠锂离子在正极和负极之间移动来工作。在充放电过程中,Li+在两个电极之间往返嵌入和脱嵌。
2019-05-15

电池风冷、液冷到底怎么选?看完就懂了

研究表明,当电池持续工作在45摄氏度以上时,其循环寿命明显降低,这种情况在高倍率充放电时更为明显。如果电池长时间地工作在高温环境下,其寿命会明显缩短,性能下降,甚至会出现安全事故。
关键字: 动力电池 高低温
2019-05-14

电动汽车,动能回收的效率与速度有关?

说到动能回收,我们来说一下是怎么进行工作的,其实简单的来讲,动能回收就是将汽车的时候动能转化成电能回收动力电池里面,动能回收效率是否与速度有关呢?
关键字: 电动汽车 动能回收
2019-05-13
电车资源2022年活动排期
相关车型
  • 周排行
  • 月排行
关闭
东风俊风纯电动物流车秒杀