既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
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.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 节点错误状态
- 主动错误状态
节点处于主动错误状态可以正常通信;
处于主动错误状态的节点(可能是接收节点也可能是发送节点)在检测出错误时,发出主动错误标志; - 被动错误状态
节点处于被动错误状态可以正常通信;
处于被动错误状态的节点(可能是接收节点也可能是发送节点)在检测出错误时,发出被动错误标志; - 总线关闭状态
节点处于总线关闭状态,那么该节点不能收发报文;
处于总线关闭状态的节点,只能一直等待,在满足一定条件的时候,再次进入到被动错误状态。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
[外链图片转存中…(img-2m5F4zAu-1715709499523)]
[外链图片转存中…(img-dMoiVIwf-1715709499525)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新