ISO 11898-1:2015 协议详细定义了CAN网络报文的格式,包含了传统CAN与CANFD帧格式。

如果需要接受大量数据,则需要带有缓存,否则不需要。
隐性电平为1,显性电平为2,多节点同时发送时,遵行线与逻辑。
1位sof:网络节点同步。
11位id:数字越低优先级越高。
1位rtr:远程帧, 远程传输请求,该标志用于区分数据帧0还是远程帧1报文。数据帧优先级高于远程帧。
1位ide:扩展帧标识符,扩展帧的id可以有29位,同一个网络,标准帧和扩展帧只有一个。
1位r:传统扩展帧里面的保留位。
4位dlc:规定数据场长度,数据最大8个字节。
16位crc:校验场计算sof到dlc数据,15位校验位+1位界定符。
2位ack:应答位,用于指示CAN报文已经被目标节点接收,收到显性位验证。
7位eof:结束标志,7位隐性位。
3位itm:帧间隔,等待帧间隔后才能发消息。


扩展帧标识符扩展了18位,可以容纳更多的设备。
CAN FD帧和CAN帧:两种帧的相同与区别
首次同步sof发起
NRZ编码,没有时钟线
重同步:位填充机制,不予许发送5个相同的电平,会在中间插入1个相反的电平。利用隐性位到显性位的边沿进行重同步。
通过id进行竞争,每个节点在进行发送时会对总线电平进行监控,如果自己id号是1隐性,而总线是0显性,说明自己优先级不够,如果检测到总线信号和自己id号相同则获得发送权,这是能够实现通过id来进行竞争的原因
NRZ编码减少干扰发射
双绞线canh canl差分信号消除共模干扰
终端电阻消除电缆高频传输时传输末端的反射
位填充stuffcheck
帧格式formcheck(crc,ack,eof)
显性隐形bit monitoring
错误帧,发6个显性电平,总线最多会产生12个显性电平,监测到总线恢复到隐性电平后,发送8个位隐性电平代表错误结束。
鉴别是否是永久性的错误,如果错误太多会进入总线丢失状态。只有重启或接收128*11位的隐性位之后,才回到总线工作。发送错误计算器,接收错误计算器。
成功发送一条消息,计数器减一
发送错误计算器,检测到错误,如果是发送方,+8