CAN协议使用的是短消息,最大的实用字节为94bits,消息中没有特定的地址信息,但是,CAN总线的信息是contented-addressed,也就是说,CAN信息中已经暗示了地址的信息。
信息帧格式:
1)数据帧(Data Frame)
2)远程帧(Remote Frame)
3)错误帧(Error Frame)
4)过载帧(Overload Frame)
一)数据帧(Data Frame)
数据帧是最常用的信息帧,它由以下几个主要部分构成(因为是简单介绍所以省略了一部分内容)
1)Arbitration Field, 当2个或以上的节点在总线上时,它决定了信息的优先级,Arbitration Field包括了:
i) CAN 2.0A, 11-bit Identifier 和 1 bit 的RTR bit,RTR bit 在数据帧中起了主导作用
ii)CAN 2.0B, 29-bit Identifier (包含SRR位和IDE位),1 bit的RTR bit
2)Data Field,包含0到8 bytes 的数据
3)CRC Field,包含15 bits 的校验(checksum),这个校验也用来检测error
4)ACK slot, 成功接收CAN信息的控制器会在信息的最后添加一位ACK bit发送出去,发射器会检测ACK bit是否存在,如果没有,则重新发送一遍信息。
注1)ACK bit的存在并不意味着所有需要的节点都接收到