CAN协议解析

CAN 总线组网连线图

根据CAN总线的硬件特性,当一条CAN总线上挂接多个驱动器的时候,应当按照如下示意图进行连接布线。 需要在线的起点和终点上各连上一个 120Ω的电阻。并且 CAN 总线只能有一条主干线,分支的线不宜过长。
最近在弄ST和GD的课程,需要GD样片的可以加群申请:6_15061293 。
在这里插入图片描述

由上图可知,CAN通信是通过两根线完成的:
一条是黄色的CAN_High
一条是绿色的CAN_Low
CAN能够使用多种物理介质作为通信媒介,最常用的是双绞线,还可以使用光纤等材料。CAN总线信号通过两条差分电压信号线CAN_ H和CAN_ L传输,当CAN_ H和CANL信号线上的电压值处于2. 5V左右时表明此时总线处于我们所谓的逻辑电平“1”的状态,也可以称做隐性状态;当CAN_ H比CAN_ L上电压值高时表示逻辑“0”,通常该状态下两条信号线上的电压值为CAN_ H=3. 5V和CAN_ L=1. 5V,此时是显性状态。下图是双绞线CAN总线电平标称值,图中显示了逻辑高电平和逻辑低电平所对应的大致总线电压值。
在这里插入图片描述

下图是发送长度为3的数据0x111111,标准帧ID为0001。
在这里插入图片描述

可以看到在空闲状态下,电平在2.5V左右,黄线为CANL,紫线为CAN_ H,当为显性时,CAN_ H电平拉到3V左右,CAN_ L电平拉到1V左右,CAN_ H-CAN_ L=2V,橙色线为CAN_ H-CAN_ L。
在这里插入图片描述

CAN的报文格式

报文格式

首先,CAN总线协议中的报文指的是总线单元间传递的消息,消息的格式各有不同,总线上的单元想要发送新信息就要检测到总线空闲状态的位信息才可以发送。总线上的报文信息表示为几种固定的帧类型,下图列出了根据CAN总线通信中5种不同用途所设置的帧类型。

在这里插入图片描述

下表是标识符种类说明。
在这里插入图片描述

终止CAN2. 0B协议时只是不能发送扩展格式报文,总线仍可以正常工作。下面就CAN总线的各种功能帧结构对报文格式进行详细说明,数据帧由7个段构成。数据帧的构成如图所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标准CAN只有11位标识符,每帧的数据长度为44+8N位。
● SOF - 帧起始,显性(逻辑0)表示报文的开始,并用于同步总线上的节点。
● 标识符 - 标准CAN具有11位标识符,用来确定报文的优先级。此域的数值越小,优先级越高。
● RTR - 远程发送请求位,当需要从另一个节点请求信息时,此位为显性(逻辑0)。所有节点都能接收这个请求,但是帧标识符确定被指定的节点。响应数据帧同样被所有节点接收,可以被有兴趣的节点使用。
● IDE - 标识符扩展位为显性时表示这是一个标准CAN格式,为隐形表示这是扩展CAN格式。
● r0 - 保留位(可能将来标准修订会使用)
● DLC - 4位数据长度代码表示传输数据的字节数目,一帧CAN最多传输8字节用户数据
● 数据0~8 – 最多可以传输8字节用户数据
● CRC - 16位(包括1位定界符)CRC校验码用来校验用户数据区之前的(包含数据区)传输数据段。
● ACK - 2位,包含应答位和应答界定符。发送节点的报文帧中,ACK两位是隐性位,当接收器正确地接收到有效的报文,接收器会在应答位期间向发送节点发送一个显性位,表示应答。如果接收器发现这帧数据有错误,则不向发送节点发送ACK应答,发送节点会稍后重传这帧数据。
● EOF – 7位帧结束标志位,全部为隐性位。如果这7位出现显性位,则会引起填充错误。
● IFS – 7位帧间隔标志位,CAN控制器将接收到的帧正确的放入消息缓冲区是需要一定时间的,帧间隔可以提供这个时间。
在这里插入图片描述

扩展CAN

在这里插入图片描述

● 扩展CAN具有29位标识符,每帧数据长度为64+8N位。
● SRR – 代替远程请求位,为隐性。所以当标准帧与扩展帧发送相互冲突并且扩展帧的基本标识符与标准帧的标识符相同时,标准帧优先级高于扩展帧。
● IDE – 为隐性位表示标志位扩展帧,18位扩展标识符紧跟着IDE位。
● r1 – 保留

错误检测

在这里插入图片描述

波形解析

发送长度为3的数据0x111111,标准帧ID为0001。

ID

当ID为0001时候,对于二进制为000 0000 0001,由于位填充机制,发送器只要检测到有5个连续相同值的位,就会自动在下一位里添加一个相反值,接收器接受数据时会自动剔除这个添加位。
在这里插入图片描述

数据长度

RTR、IDE、R0默认情况下为0,数据长度为0011(3)。
在这里插入图片描述

数据字段

传输数据为3字节的数据,为0x111111。
在这里插入图片描述

CRC

校验位(CRC) = 15位之后有一个隐性CRC分隔符位
应答区(ACK) 2位,包括ACK槽加一个隐性ACK分隔符,ACK两位是隐性位,当接收器正确地接收到有效的报文,接收器会在应答位期间向发送节点发送一个显性位,表示应答。
CRC为0x1984(001 1001 1000 0100),CRC分隔符为1
ACK为01
在这里插入图片描述

  • 19
    点赞
  • 188
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: GBT27930CAN协议解析工具是一种用于解析CAN总线上的GBT27930标准协议的工具。GBT27930协议是中国国家标准化技术委员会发布的一种数据采集和分配系统通信标准,用于在工业控制、智能交通、智能家居等领域中,将传感器的采集数据传输到数据采集和分配系统中。 GBT27930CAN协议解析工具可以通过CAN总线上接收到的GBT27930数据,对数据进行解析,并将解析后的数据呈现出来,方便用户进行数据的分析和处理。同时,该工具还支持读取CAN总线上的实时数据,可以实现数据的实时监控和分析。 GBT27930CAN协议解析工具具有以下特点: 1. 支持多种CAN总线接口,可以适配不同类型的CAN总线设备; 2. 支持多种数据格式的输出,方便用户进行数据的分析和处理; 3. 界面简单易用,操作方便,可视化效果好; 4. 具有较高的效率和稳定性,可以保证数据的精准解析和传输。 总之,GBT27930CAN协议解析工具是一种功能强大,易于操作的软件工具,可以大大提高数据采集和分配系统的数据处理效率,为工业控制、智能交通等领域中的数据通信提供有力支持。 ### 回答2: GBT27930CAN协议解析工具是一款用于解析CAN总线数据的软件工具。GBT27930是中国国家标准委员会颁布的一项关于车辆CAN总线的标准,该协议规定了CAN总线的物理层、数据链路层的技术要求和协议规定等内容。而GBT27930CAN协议解析工具则是为了方便工程师们对于车辆CAN总线数据进行分析、测试而开发出的一款工具。 GBT27930CAN协议解析工具可以对CAN总线数据进行实时监听,捕获CAN总线上的数据,并将其解析为可读性高的信息,从而帮助工程师们了解CAN总线数据的含义和作用。同时,GBT27930CAN协议解析工具还具备一些其他的功能,比如可以将CAN数据导出成CSV、TXT等格式的文件,可进行存储和后续分析。此外,它还具有对CAN数据进行筛选、搜索、过滤等操作的功能。 总的来说,GBT27930CAN协议解析工具是一款非常有用的工具,可以帮助工程师们快速了解车辆CAN总线数据的含义,从而更好地进行车辆CAN总线的设计、开发和测试工作。这对于提高工程师们的工作效率,提高车辆CAN总线项目的质量和稳定性,都具有重要的意义。 ### 回答3: GBT27930CAN协议解析工具是一款用于解析CAN总线数据的软件工具,其主要用途是为了方便CAN协议开发和调试人员对CAN总线数据的分析和解析。 该软件工具支持GBT 27930标准协议解析,并可以对CAN数据包进行捕获、分析和解析。该工具可以在PC端运行,并通过CAN总线与车辆或设备进行连接。通过该工具,用户可以实时监测CAN总线上的数据,包括CAN ID、数据帧、错误帧等信息。 GBT27930CAN协议解析工具还具备许多实用的功能,例如数据筛选、帧过滤、定时采集、自定义显示等。用户可以根据自己的需求进行设置和调整,以便更好地适应不同的开发和调试场景。 总之,GBT27930CAN协议解析工具是一款非常实用的CAN总线数据分析工具,它能够帮助开发和调试人员更好地理解CAN总线数据,并加速开发过程,提高开发效率,从而在汽车电子、工业自动化、航空航天等领域得到广泛应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记帖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值