汽车CAN通信解析(二)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

CAN 最早出现在 80 年代末的汽车工业中,由德国 Bosch 公司最先提出,全称是“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。随着汽车电子装置越来越多,它们之间的通信的控制也越来越复杂,CAN总线在汽车上的应用也越来越多。做为汽车电器开发人员或是汽车检修人员,很有必要掌握CAN的相关知识,本系列将重点介绍CAN通信解析方面的内容,通过读取报文,知道各电子装置的工作状态。


一、用CANTest在线读取报文信息

1、硬件连接:将CAN分析仪的2个通道分别接到要测试的CAN网络中,USB线接到电脑上。
2、打开CANTest,点选“选择设备”菜单下的“USBCAN2”,打开下一窗口。
在这里插入图片描述
3、选择“同时打开全部CAN通道”,即可打开设备的2个通道,同时侦测。在“波特率”标签后选择CAN网络的实际波特率值,再点击“确定并启动CAN”,即可启动测试。
在这里插入图片描述
4、窗口左上部的通道0和通道1,用于两个通道之间的切换。主窗口显示接收和发送的报文信息,包括时间、ID、帧格式、类型、数据长度、实时数据等。下半部分的“基本操作”,用于向CAN网络发送一条报文。也可点击左下角的“高级操作”标签,切换到发送报文的高级模式。
在这里插入图片描述
5、在“高级操作”模式下,可同时设置多条报文内容,再控制发送模式。
在这里插入图片描述
6、将一段时间内的报文信息保存到文件中:点击“实时保存”,弹出“另存为”窗口,依次选择保存位置,输入文件名,选择文件类型,再点击保存。其中文件类型最好选择“ASC File(*.asc)”,以便于用CANalyzer软件离线分析,其它格式一般只能看文件。
在这里插入图片描述
7、要结束保存文件时,点击“停止保存”即可,上述定义的报文文件就生成完了。
在这里插入图片描述
8、窗口中的报文正常是实时滚动,按“暂停”可以停止滚动显示,便于查看当前数据。按“继续显示”就恢复继续滚动显示。
在这里插入图片描述
9、按上图中的“DBC”按钮,打开DBC查看窗口,点选“加载协议”,选择DBC文件加载,点开每行最左侧的“+”号,即可展开显示出各个信号的状态。
在这里插入图片描述

二、报文解析说明

1、一般情况下,一条报文消息包含8个字节的数据,共64位。
比如上图第一行中,ID为0x18FFC5A9的消息数据是:05 00 01 09 00 00 00 08,数据格式是16进制数,从左到右是第一个字节到第八个字节,也有称为每0个字节到第7个字节的。
2、8个字节数据的布局图如下:每一行代表一个字节,每个单元格代表一个位。第一个字节包含bit0bit7,第二个字节包含bit8bit15,依此类推。
在这里插入图片描述
3、比如第一个字节数据0x05,转换到布局图上的值是下图:
在这里插入图片描述
4、当一个信号的数据比较大时,超过8位,这就出现了跨字节的情况,这时就存在两种数据方向的类型。一种叫Intel格式,另一种叫做Motorola格式。
(1)Intel格式
假设上面举例中:05 00 01 09 00 00 00 08的第三、第四字节代表的是转速数据,格式是Intel格式,分辨率是1,偏移量是0。
数据的解码计算方法:实际值 = 数字量分辨率 + 偏移量
数字量:报文中的实际数值,一般要转换成十进制数;
分辨率:单位数值代表的实际值;
偏移量:数值为0时的实际值;
本例中:十六进制数字量即为0x0901,转换成十进制数是2305,所以转速 = 2305
1+0=2305。数据按位排列如下图所示:
在这里插入图片描述
(2)Motorola格式
Motorola格式的数据方向与Intel格式相反,如下图:
同样为上述数据,十六进制数字量变为0x0109,转换成10进制数是265,所以转速 = 265*1+0=265。
在这里插入图片描述
由以上两图可以看出,如果信号在同一个字节内,两种格式的方向是一样的。


总结

本篇介绍了用CANTest在线读报文方法,以及报文的数据解析方法。

  • 16
    点赞
  • 118
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

嵌入式老学不会

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

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

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

打赏作者

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

抵扣说明:

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

余额充值