前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CAN总线的帧是???

CAN总线的帧是???

作者头像
Hello工控
发布2024-10-28 12:21:39
1290
发布2024-10-28 12:21:39
举报
文章被收录于专栏:Hello工控

我们对CAN总线的通信内部消息机制需要进行重点介绍下,了解背后通信的具体内容。

CAN Frame

通过CAN总线进行通信是通过CAN帧完成的。

下面是一个带有11位标识符(CAN 2.0A)的标准CAN帧,这是大多数汽车中使用的类型。扩展的29位标识符帧(CAN 2.0B)除了更长的ID外是相同的。例如,它在重型车辆的J1939协议中使用。

请注意CAN ID和数据部分——这些在记录CAN总线数据时很重要,稍后我们将看到原因。

CAN总线协议的8个消息字段包括:

● SOF:帧起始(Start of Frame)是一个'主导0',用来告诉其他节点一个CAN节点打算发送信息。

● ID:ID是帧标识符——值越低,优先级越高。

● RTR:远程传输请求(Remote Transmission Request)表示一个节点是发送数据还是请求从另一个节点接收特定数据。

● 控制:控制字段包含标识符扩展位(IDE),对于11位标识符是'主导0'。它还包含4位数据长度码(DLC),指定要传输的数据字节长度(0到8字节)。

● 数据:数据字段包含数据字节,也称为有效载荷,其中包括可以提取和解码以获取信息的CAN信号。

● CRC:循环冗余校验(Cyclic Redundancy Check)用于确保数据的完整性。

● ACK:确认(ACK slot)表示节点是否已确认并正确接收了数据。

● EOF:帧结束(EOF)标记了CAN帧的结束。

Extended CAN

扩展CAN帧使用29位标识符以及一些额外的位。在11位标识符之后,扩展消息有一个替代远程请求(Substitute Remote Request,SRR)位,它作为占位符以保持与标准CAN相同的结构。这一次,标识符扩展(IDE)位应该是隐性的,表示随后是扩展标识符。远程传输请求(RTR)位在18位ID之后,紧接着是第二个保留位r1。消息的其余部分保持不变。

扩展CAN消息与标准消息相同,增加了以下内容:

  • SRR - 替代远程请求(Substitute Remote Request,SRR)位替换了标准消息中的位置作为扩展格式中的占位符。
  • IDE - 标识符扩展(Identifier Extension,IDE)中的隐性位表示有更多标识符位跟随。18位扩展位跟在IDE之后。
  • r1 - 在RTR和r0位之后,新增了一个保留位,位于DLC位之前。

参考链接:

  1. https://www.ti.com/lit/an/sloa101b/sloa101b.pdf
  2. https://www.allaboutcircuits.com/technical-articles/introduction-to-can-controller-area-network/
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hello工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档