CAN报文:数据帧详解 您所在的位置:网站首页 扩展CAN报文的ID CAN报文:数据帧详解

CAN报文:数据帧详解

2023-07-26 13:53| 来源: 网络整理| 查看: 265

CAN报文:数据帧详解 CAN报文CAN帧类型数据帧帧起始(Start Of Frame)仲裁段控制段数据段CRC段ACK段帧结束(End Of Frame)

CAN报文

CAN使用的是两条差分信号线,只能表达一个信号,简洁的物理层决定了CAN必然要配上一套复杂的协议。

CAN协议对数据、操作命令(如读/写)以及同步信号进行打包,打包后的这些内容称为报文

打包的过程就是在原始数据的基础上再加上帧起始段、仲裁段、控制段、CRC校验、应答和帧结束,把这些内容按特定的格式打包好,就可以用一个通道表达各种信号了,当数据包被发送时,只要接收方按约定格式去解读,就能还原出原始数据

为了更有效地控制通讯,CAN一共规定了5种类型的帧

CAN帧类型 帧类型帧用途数据帧发送单元向接收单元传送数据的帧遥控帧接收单元向发送单元请求数据的帧错误帧检测出错误时向其它单元通知错误的帧过载帧接收单元通知其尚未就绪的帧间隔帧将数据帧及遥控帧与前面的帧分离开来的帧

数据帧和遥控帧有标准格式和扩展格式两种格式,标准格式有 11 个位的标识符ID,扩展格式有 29 个位的 ID

数据帧

数据帧由帧起始、仲裁段、控制段、数据段、CRC、ACK、帧结束共7个段构成

在这里插入图片描述

帧起始(Start Of Frame)

表示帧开始的段,1个位的显性位 标准格式与扩展格式相同

仲裁段

表示数据帧优先级的段 标准格式与扩展格式的构成有所不同,均禁止高7位为隐性(ID=1111111XXXX…)

仲裁段的内容主要为本数据帧的ID,标准格式的ID 有11 个位,扩展格式的 ID 有29 个位,在CAN协议中,ID决定着数据帧发送的优先级,也决定着其它节点是否会接收这个数据帧。CAN总线不对挂载在它之上的节点分配优先级和地址,对总线的占有权是由信息的ID决定的,即对于重要的信息,优先级高的ID,能够优先发送出去

RTR位(Remote Transmission Request Bit)

译作远程传输请求位,它是用于区分数据帧和遥控帧的,当它为显性电平时表示数据帧,隐性电平时表示遥控帧。

IDE位(Identifier Extension Bit)

译作标识符扩展位,它是用于区分标准格式与扩展格式,当它为显性电平时表示标准格式,隐性电平时表示扩展格式

SRR位(Substitute Remote Request Bit)

只存在于扩展格式,它用于替代标准格式中的RTR位,由于扩展帧中的SRR位固定为隐性位,RTR在数据帧中为显性位,所以两个ID相同的标准格式与扩展格式,标准格式的优先级较高

控制段

控制段由 6 个位构成,表示数据段的字节数 标准格式和扩展格式的构成有所不同

保留位(r0、r1)必须全部以显性电平发送。 数据长度码(DLC),数据的字节数必须为 0~8 字节

数据段

标准格式和扩展格式相同 数据段可包含 0~8 个字节的数据,从MSB(最高位)开始输出

CRC段

标准格式与扩展格式相同 CRC 段是检查帧传输错误的段,由15 个位的CRC值和1 个位的CRC界定符(隐性分隔位)构成

CRC是根据多项式生成的CRC值,CRC的计算范围包括帧起始、仲裁段、控制段、数据段 接收方以同样的方式计算CRC值并进行比较,不一致时利用错误帧请求重新发送

ACK段

标准格式与扩展格式相同 ACK段包括ACK槽位、ACK界定符位2个位

发送单元的ACK 段:发送单元在 ACK 段发送2 个位的隐性位 接收单元的ACK 段:接收到正确消息的单元在ACK 槽发送显性位,通知发送单元正常接收结束,这称作“发送ACK”或者“返回ACK”

帧结束(End Of Frame)

标准格式与扩展格式相同 帧结束是表示该帧结束的段,由发送节点发送 7 个位的隐性位构成



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有