APP下载

电动汽车CAN报文的解析及应用

2017-07-12钟文浩

汽车电器 2017年6期
关键词:偏移量通信协议报文

钟文浩

(惠州经济职业技术学院,广东 惠州 516057)

电动汽车CAN报文的解析及应用

钟文浩

(惠州经济职业技术学院,广东 惠州 516057)

为了更准确地确定电动汽车有关充电部分的故障范围,熟练掌握电动汽车CAN报文非常重要。本文论述CAN报文定义、接收CAN报文的方法以及CAN报文的组成与帧结构;通过实例解析电动汽车整车控制与电池管理系统之间CAN通信报文的含义,并分析如何应用CAN报文的解析来诊断有关电动汽车的故障。

电动汽车;CAN报文;解析;应用

1 CAN报文的定义

CAN报文是指发送单元向接受单元传送数据的帧。我们通常所说的CAN报文是指在CAN线(内部CAN、整车CAN、充电CAN)上利用ECU和CAN卡接收到的十六进制报文。

2 如何接收CAN报文

1)所需的工具和软件:①手提电脑;②周立功CAN卡;③安装ZLGCANTest软件。

2)接收CAN报文的方法:①找到需要的CAN线(如果接收整车报文则要接整车CAN),连接CAN线和CAN卡,确认CANH与CANL未接反;②连接CAN卡和电脑,确认USB接头与CAN卡连接可靠;③打开ZLGCANTest软件,点击打开设备设置波特率(常用的波特率一般为250 kbit/s和500 kbit/s2种);④点击启动CAN接收报文;⑤如需保存报文分析,则点击保存。

3 CAN报文的组成

通常接收到的CAN报文由很多部分组成(图1),解析报文时用到的主要是帧ID和数据两部分。

3.1 帧ID的组成

接收到的十六进制的ID实际上是由29位标识符转换而来,目前大多数的通信协议中都直接给出了相应的帧ID,不需要换算。如表1所示。

表1 帧ID的组成

表1中,P为优先级,有3位,可以有8个优先级(0~7);R为保留位,有1位,固定为0;DP为数据页,有1位,固定为0;PF为报文的代码,有8位;PS为报文的目标地址(也就是报文的接收方),有8位;SA为报文的源地址(也就是报文的接收方),有8位。

图1 CAN报文的组成

根据通信协议换算一个帧ID。如表2所示。

表2中,P为优先级,6转为二进制110;R、DP固定为0;PF为8位的报文代码,24转为二进制00011000;PS为8位的目标地址,即整车控制器的地址,在协议中它的地址定义为208,转化为二进制11010000;SA为8位的源地址,即BMS的地址,在协议中它的地址为243,转化为二进制11110011。

这些代码合起来为11000000110001101000011110011,转化为十六进制为1818D0F3。以上就是29位标识符(ID)的由来。其中,29位标识符,如表3所示。

表2 BMS与VCU之间的报文

表3 BMS与VCU之间29位标识符

3.2 数据段的组成

数据段一般由1~8个字节(Byte)组成,来代表通信协议中相应的含义。每个字节有2个字符,分为高4位和低4位。有的数据需要相邻的2个字节组合才能表示,则需要分为高字节和低字节。

例如,收到表2所示通信协议中需要的报文(ID:1818D0F3):1818D0F3 ce 0d 00 7d 00 6d 11 00。第1个字节ce中的c为高4位,e为低4位。第1、2字节表示总电压,而且注明Byte1为低字节,Byte2为高字节,那么解析时就应该为:0dce。

4 CAN报文的解析

根据需要收到CAN报文之后,需要根据具体的通信协议解析,然后分析解析出的数据是否正确。下面进行报文实例解析。数据类型定义如表4所示。

表4 数据类型定义

报文内容如表2所示。收到的报文为:1818D0F3 ce 0d 00 7d 00 6d 11 00。

1)协议中规定报文的第一、二字节表示总电压,高字节在前,低字节在后。又总电压的单位为0.1 V。所以在上面的数据中0dce代表总电压,转为十进制为3 534,乘以0.1 V的单位,则得到总电压值为353.4 V。

2)协议中规定报文的第三、四字节表示总电流,又总电流的单位为0.1 A,偏移量为32 000。所以在上面的数据中7d00代表总电流,转为十进制为32 000,乘以0.1再减去3 200的偏移量等于0,则说明此时电池组没有被充电或放电,电流为0。

3)协议中规定报文的第六、七字节表示最高电池电压及位置。单体电池电压单位为0.01 V。最高4位代表箱号。所以在上面的数据中116d 代表最高电池电压及位置,其中1代表箱号,即最高电池电压在第1箱。116d代表最高电池电压,转为十进制为365,乘以0.01 A的单位,则得到最高电池电压为3.65 V。

5 解析CAN报文在处理电动汽车故障时的应用

5.1 案例1:江淮3代车仪表无SOC和电池总压

1)首先找到相应的通信协议,如表5所示。

2)然后通过整车CAN收到相应报文,如表6所示。

表5 江淮3代电动汽车BMS通信协议

3)接着找到ID:180460F4的报文(180460F4 数据帧扩展帧 0x08 60 5f 00 07 0c 76 07 d0)进行解析。①当前SOC= 95(5f转换为十进制)×1 %(分辨率)+0(偏移量)=95 %。②电池组电压=3190(0c76转换为十进制)×0.1(分辨率)+0(偏移量)=319。

最后得出结论:BMS已经正常发送SOC和电池总压至整车CAN,仪表未显示可能是仪表本身问题或者仪表连接整车CAN线路出了问题。

5.2 案例2:江淮4代车无法进行慢充

1)首先插上充电枪后确认充电回路已形成(充电机直流输出端能测到电池电压)。

2)再找到通信协议中BMS的慢充部分,如表7所示。

3)然后通过整车CAN接收到报文,如表8所示。

4)接着找到ID:403(0x00000403 数据帧 标准帧 0x08 03 00 3c 0d 8e 00 00 00)进行解析。①控制指令:03转换为二进制为11—充电器开启,说明BMS允许充电。②充电电流需求=60(003c转换为十进制)×0.1(分辨率)+0(偏移量)=6 A。③充电电压需求=3470(0d8e转换为十进制)×0.1(分辨率)+0(偏移量)=347 V。

最后可以得出结论:在充电回路形成、BMS允许充电、充电需求正常的情况下,充电机仍然无输出,肯定是充电机本身有问题。

表7 江淮4代电动汽车BMS慢充部分通信协议

表8 通过VCU收到的CAN报文

[1]刘永木,刘望生,李洪泽.SAE J1939标准下的汽车CAN通信报文/帧格式[J].长春工业大学学报(自然科学版),2003(1):53-55.

[2]合肥国轩高科动力能源有限公司.正宇纯电动车电池管理系统与整车系统CAN通信协议(GX-ZY-CAN-V1.00)[Z].

(编辑 凌 波)

Analysis and Application of Electric Vehicle CAN Message

ZHONG Wen-hao
(Huizhou Economics and Polytechnic College, Huizhou 516057, China)

To accurately determine the fault area in electric vehicle charging part, familiarity with electric car CAN message is essential. This article introduces the definition of the electric car CAN message, its receiving method,composition and frame structure; analyzes the meaning of CAN message between electric vehicle controller and battery management system based on real cases, and discusses how to apply CAN message analysis to conduct fault diagnosis.

electric vehicle; CAN message; analysis; application

U463.6

B

1003-8639(2017)06-0013-04

2017-02-23

钟文浩(1971-),男,广东五华人,高级讲师,硕士,主要从事新能源汽车技术专业的教学与研究。

猜你喜欢

偏移量通信协议报文
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
基于格网坐标转换法的矢量数据脱密方法研究
基于报文类型的限速值动态调整
浅析反驳类报文要点
基于AutoLISP的有轨起重机非圆轨道动态仿真
卷烟硬度与卷接、包装工序相关性分析
以南北地震带为例研究面向地震应急的宏观震中与微观震中偏移模型
奖状训练器飞行管理系统研究
基于R8C的汽车OBD通用故障诊断仪设计