汽车总线系统包括CAN、LIN、FlexRay和MOST,不同总线类型通过网关模块整合实现相互通信。CAN总线协议是一种基于消息广播模式的串行通信总线,可以优化信号线布置,解决了现代汽车中不断新增的电子控制装置之间的通讯。
1 CAN通信技术
1.1 CAN总线
CAN(Controller Area Network)即控制器局域网,是一种多主方式的串行通讯总线,具有低成本、高速传输效率、可靠的错误处理及检错机制,如图1所示。CAN总线已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用[1]。
图1 汽车CAN总线通讯示意图
根据应用范围将汽车车内CAN总线分为三类:1)动力CAN网络,主要控制动力相关设备,如发动机、制动、ABS等,最高传输速度500 kbps。2)信息娱乐CAN网络,主要控制收音机、电话和导航等设备,最高传输速度100 kbps。3)舒适CAN网络,主要控制车门窗、空调等设备,最高传输速度100 kbps。
1.2 OBD接口
OBD(On-Board Diagnostic System)即车载诊断系统,与CAN总线相连,OBD接口一般位于仪表盘下方或中控台附近。通过OBD接口连接诊断工具或车载诊断设备,获取车辆的各种信息,包括发动机状态、故障码、排放数据等。另一方面,该接口可以帮助维修技师快速诊断测量问题,进行故障排查和维修。
2轮速CAN信号破解
2.1 轮速ID匹配
汽车电气化智能化水平发展迅速,电控系统越来越复杂,CAN报文的容量也越来越大,从而加大了CAN信号破解的难度。基于某歀乘用轿车及CAN诊断设备搭建测试系统,CAN设备分别与OBD接口和PC机连接,发动车辆可以实时接收汽车的CAN原始报文,如图2所示。为了在众多CAN帧中找到包含轮速信息的帧ID,测试方法如下:
1)车辆静止,启动发动机,连接OBD诊断总线,实时观测各CAN帧数据波动;
2)锁定可能的ID并筛选出来单独显示,逐一考察;
3)车辆行驶,观测相应CAN帧数据是否波动。
根据轮速信号静止时不变,滚动时变化的特点匹配到了可能的轮速ID。
2.2 编码方式破解
CAN信号编码方式分为Motorola和Intel两种。Motorola格式按照高位低字节方式编码,而Intel格式采用的是高位高字节。
一帧完整的CAN报文由时间标识、ID、数据长度、数据等部分组成。如图2所示,任选两个时刻该ID的数据,默认是以16进制存储的,将其转换为二进制。每一时刻数据由8个字节构成,每个字节有8位,共计64位。具体破解方法如下:
1)车辆直线行驶一段距离,采集一段数据;
2)筛选出指定ID并转化为二进制;
3)对每个轮速信号可能占用的位数进行试凑(8、9、10、11、12、13、14、15),并尝试找寻相关规律。
图2 CAN数据拆分示意图
由于车辆在直线行驶过程中,四个轮速几乎相等,又由于四个轮速信号分布在一帧CAN报文中,因此呈现一定的重复性。根据这两个特点经过多轮尝试,最终确定每个轮速信号占用15位,4个轮速共计60位,其中第8个字节的低4位舍弃。按照每个轮速15位重新组合,最高位补0后转换为十六进制数,可以看到四个轮速信号解码后呈现一定的规律性,其中高字节相同,低字节相似。
2.3 车轮定位匹配
为了确定每个轮速与CAN报文的对应情况,使用千斤顶逐一将车轮顶起,转动其中一个车轮,保证其他3个车轮不动,实时观测轮速信号变化的字节位置,测试结果如图3所示。
图3 车轮定位匹配结果
3轮速CAN信号数值标定
CAN输出的轮速信号是车轮的线速度,由于数据存储时精度考虑,输出值与实际线速度存在一个线性比例系数,为了找到这个对应关系,采用GPS车速信号进行对标试验。测试方法如下:
1)基于某乘用轿车分别搭建轮速测试系统和GPS车速测试系统;
2)开展不同工况沿直线行驶(匀速、匀加速、变加速运动),同时采集轮速信号和车速信号;
3)数据同步处理,对比两套系统测得的速度信息进行一次线性拟合,得到的系数即为标定系数。
不同工况实车试验标定结果如图4所示,经过一次线性拟合得到A=0.01。
GPS.spd = A* Wheel.rot + B
图4 对标试验拟合结果
4 结论
本文通过对汽车CAN总线里的轮速信号在DBC文件未知的情况下进行破解,基于实车试验工况获得了标定系数。各工况下测试结果表明,轮速信号破解的准确性及可靠性,为测试系统轮速信号脉冲方式采集提供了重要的技术保障。
参考文献:
[1] 胡涛,刘雅婷,余添明.基于LCU的CAN总线技术在地铁车辆上的应用[J].电力机车与城轨车辆,2018,41(04):73-75.DOI:10.16212/j.cnki.1672-1187.2018.04.019.
作者简介:潘登,男,1990年出生,硕士研究生,主要从事测试系统开发工作。