关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯
来源:美男子玩编程
CAN总线上传输的信息称为报文,当总线空闲时任何连接的单元都可以开始发送新的报文。
CAN通信是通过以下5种类型的帧进行的:
数据帧
遥控帧
错误帧
过载帧
帧间隔
另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有 11 个位的标识符(Identifier: 以下简称 ID), 扩展格式有 29 个位的 ID。
各种帧的用途如下表所示:
数据帧由7个段构成,图解说明如下所示:
帧起始:表示数据帧开始的段;
仲裁段:表示该帧优先级的段,根据仲裁段ID码长度的不同,分为标准帧(CAN 2.0A)和扩展帧(CAN 2.0B);
控制段:表示数据的字节数及保留位的段;
数据段:数据的内容,可发送0~8个字节的数据;
CRC段:检查帧的传输错误的段;
ACK段:表示确认正常接收的段;
帧结束:表示数据帧结束的段。
1
2
3
4
5
6
间隔段:间歇由3个隐性位构成。在间歇期间,不允许任何节点发送数据帧或远程帧。唯一可以执行的操作是通报超载状态;
总线空闲段:总线空闲时间长短不限。总线一经确认处于空闲状态,则任何节点都可以访问总线来传送信息。因另一帧正在传送而延期发送的帧是从间歇之后的第一位开始送出的。通过对总线进行检测,出现在总线空闲期间的显性位将被认为是帧起始;
延迟传送段:处于错误认可状态的节点完成其发送动作后,在被允许发送下一帧以前,它要在间歇之后送出8个隐性位。如果间歇期间执行了(由另一个节点引起的)发送动作,此节点将会变成正被发送的帧的接收器。
关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时关注智能汽车电子与软件最新资讯