赞
踩
目录
CAN协议帧的格式十分重要,部分MCU中的CAN外设寄存器就是根据对应帧结构来进行设计的。
(1)帧起始:标识一个数据帧的开始,用于同步,一个显性位,只有在总线空闲期间节点才能发送SOF
(2)仲裁段(场):ID、RTR、IDE、SRR
以Renesas RH850的用户手册中的Receive Rule ID Register举例:其中就设计到CAN数据帧的相关设置
(3)控制段(场):主要用于表示数据段有多少个字节
(4)数据段(场):CAN数据帧要发送的数据内容
(5)CRC段(场):用于进行CRC校验
(6)ACK段(场):确定报文被至少一个节点正确接收
发送节点在ACK发送隐性位(逻辑1):
发送节点检测应答位是否被显性电平覆盖(即ACK变为显性位,逻辑0)
(7)帧结束:7个连续的隐性位(逻辑1),表示帧结束;节点在检测11个连续的隐性位后,认为总线空闲
具体各位信息可以参考数据帧
(1)CAN中的错误检测:
发送节点的产生错误一般有:位错误、格式错误、ACK错误
接收节点的产生错误一般有:填充错误、格式错误、CRC错误
(2)CAN中的错误帧:
一般流程:检测错误=》发送错误帧=》通知报文错误
主动错误与被动错误的区别:
错误帧的发送
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。