详解CAN总线:CAN总线报文格式—帧间隔
Posted 不脱发的程序猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解CAN总线:CAN总线报文格式—帧间隔相关的知识,希望对你有一定的参考价值。
CAN总线上传输的信息称为报文,当总线空闲时任何连接的单元都可以开始发送新的报文。
CAN通信是通过以下5种类型的帧进行的:
- 数据帧
- 遥控帧
- 错误帧
- 过载帧
- 帧间隔
另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有 11 个位的标识符(Identifier: 以下简称 ID), 扩展格式有 29 个位的 ID。
各种帧的用途如下表所示:
近期打算写5篇文章,分别详细介绍这5种类型的CAN总线报文格式,本篇博文将详细讲解CAN帧间隔格式,创作不易,请各位朋友多多点赞、收藏、关注支持~
关注公众号:美男子玩编程,优先推送最新技术博文~
帧间隔是用于分隔数据帧和遥控帧的帧。数据帧和遥控帧可通过插入帧间隔将本帧与前面的任何帧(数据帧、遥控帧、错误帧、过载帧)分开,过载帧和错误帧前不能插入帧间隔。
帧间隔的构成如下图所示:
帧间隔由间隔段、总线空闲段和延迟传送段组成,具体说明如下所示:
- 间隔段:间歇由3个隐性位构成。在间歇期间,不允许任何节点发送数据帧或远程帧。唯一可以执行的操作是通报超载状态;
- 总线空闲段:总线空闲时间长短不限。总线一经确认处于空闲状态,则任何节点都可以访问总线来传送信息。因另一帧正在传送而延期发送的帧是从间歇之后的第一位开始送出的。通过对总线进行检测,出现在总线空闲期间的显性位将被认为是帧起始;
- 延迟传送段:处于错误认可状态的节点完成其发送动作后,在被允许发送下一帧以前,它要在间歇之后送出8个隐性位。如果间歇期间执行了(由另一个节点引起的)发送动作,此节点将会变成正被发送的帧的接收器。
以上是关于详解CAN总线:CAN总线报文格式—帧间隔的主要内容,如果未能解决你的问题,请参考以下文章