【车辆CAN通讯系列】2 CAN通讯基础——数据链路层概述_can链路层数据帧图(1)

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取


1.2 数据帧


数据帧有两种类型,标准帧和扩展帧。
在这里插入图片描述


1.2.1 帧起始和帧结束

帧起始和帧结束用于界定一个数据帧。无论是标准数据帧或扩展数据帧都包含这两个段。
在这里插入图片描述
如何同步呢?


1.2.2 仲裁段

CAN总线并没有规定节点的优先级,但通过仲裁段帧ID规定了数据帧的优先级。根据CAN2.0标准版本不同,帧ID分为11位和29位两种。
在这里插入图片描述
CAN控制器在发送数据的同时监控测试数据线的电平是否与发送数据对应电平相同,如果不同,则停止发送并做其他处理。
在这里插入图片描述
假设节点AB和C都发送相同格式相同类型的帧,如标准格式数据帧,它们竞争总线发送权的过程如下图:
在这里插入图片描述

  • 从该分析过程得出结论是:帧ID值越小,优先级越高;
  • 对于同为扩展格式数据帧、标准格式远程帧和扩展格式远程帧的情况相同。

由于数据帧的RTR位为显性电平,远程帧的RTR位为隐性电平,所以帧格式和帧ID都相同情况下,数据帧的优先级比远程帧优先级高:
在这里插入图片描述
由于标准帧的IDE位为显性电平,扩展帧的IDE位为隐性电平,对于前11位ID相同的标准帧和扩展帧,标准帧优先级比扩展帧高。
在这里插入图片描述


1.2.3 控制段

在这里插入图片描述
注意:接收节点对DLC = 9~15的情况并不视为错误


1.2.4 数据段

一个数据帧传输的数据量为0~8个字节,这种短帧结构使得CAN总线实时性很高,非常适合汽车和工控应用场合。
在这里插入图片描述
与其他总线相比,CAN总线的短帧结构具有以下优势:

  1. 数据量小,发送和接收时间短,实时性高;
  2. 数据量小,被干扰的概率小,总线的抗干扰能力强。

1.2.5 CRC段

CAN总线使用CRC校验进行数据检错,CRC校验值存放于CRC段。CRC校验段由15位CRC值和1位CRC界定符构成。
在这里插入图片描述
CRC段判断过程:


1.2.6 ACK段


1.3 远程帧


在这里插入图片描述
数据帧与远程帧的区别如下:
在这里插入图片描述
远程帧的应用


1.4 错误帧


1.4.1 错误类型

尽管CAN总线是可靠性很高的总线,但依然可能出现错误;CAN总线的错误类型共有5种。
在这里插入图片描述
错误检测区域


1.4.1.1 位错误

发送节点将自己发送到总线上的电平与同时从总线上回读到的电平进行比较,如果发现二者不一致,则该发送节点就会报出一个位错误。
下列三种情况不属于位错误:

  • 在仲裁区,节点向总线发送隐性位却回读到显性位,则不认为是位错误,这种情况表示该节点仲裁失败;
  • 在ACK槽,节点向总线发送隐性位却回读到显性位,则不认为是位错误,这种情况表示该节点当前发送的这帧报文至少被一个其他节点正确接收;
  • 该节点发送被动错误标志,节点Node_A向总线发送连续6个隐性位(被动错误标志)却回读到显性位,则不认为是位错误。因为被动错误的标志就是6个连续的隐性位,所以在总线上按照线与机制,有可能这个6个连续隐性位被其他节点发送的显性电平“吃掉”。

1.4.1.2 ACK错误

在一帧报文(数据帧或者遥控帧)发出之后,如果接收节点Node_B成功接收了该帧报文,那么接收节点Node_B就要在该帧报文ACK槽对应的时间段内向总线上发送一个显性位来应答发送节点Node_A。这样发送节点Node_A就会在ACK槽时间段内从总线上回读到一个显性位。因此,当发送节点Node_A在ACK槽时间段内没有回读到显性位,那么发送节点Node_A就会检测到一个ACK应答错误。这表示没有一个节点成功接收该帧报文。
在这里插入图片描述


1.4.1.3 填充错误

在需要执行位填充原则的帧段(数据帧、远程帧的SOF~CRC序列),检测到连续6个同性位,则检测到一个填充错误。


1.4.1.4 格式错误

在一帧报文发送时,如果在必须发送预定值的区域内检测到了非法值,那么检测到一个格式错误。CAN报文中,有预定值的区域包括:

  • 数据帧和远程帧的CRC界定符、ACK界定符;
  • 错误帧界定符;
  • 过载帧界定符。

1.4.2 错误通知

当出现上述5种错误类型之一时,发送或接收节点将发送错误帧。错误帧的结构如下,其中错误标识分为主动错误标识和被动错误标识。
在这里插入图片描述


1.4.3 节点错误状态

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

[外链图片转存中…(img-4yqwxRhK-1715709462819)]
[外链图片转存中…(img-jyomsbQ9-1715709462820)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

  • 21
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值