郑 磊, 蓝建华, 何景林, 严法东, 刘丹丹, 严 琼
(1.合肥长安汽车有限公司, 安徽 合肥 231283;2.重庆长安汽车股份有限公司, 重庆 401120)
近年来,随着国家油耗标准的提高,智能发电机和怠速启停功能开始被广泛应用,蓄电池传感器也逐渐成为汽车的标配零部件。通常,一个型号的蓄电池传感器默认对应一种蓄电池的状态,但由于车企对各个车型定位的区别及汽车配置的丰富程度差异,所用蓄电池类型不同,导致蓄电池传感器的型号也不断增加,需要根据零件号区分采购、安装,成本高,管理难。为了解决这一系列问题,开始对蓄电池传感器的通用化设计及实现方法进行研究。
当前,大多数的蓄电池传感器 (EBS) 都是通过LIN线和LIN的主节点 (通常为EMS) 进行通信,EMS通过CAN与整车其他控制器和外设进行通信。
上述架构使得基于UDS的LIN诊断开发出通用性强的智能蓄电池传感器(IBS) 成为可能[1]。整体开发思路为:EOL设备通过CAN诊断服务向EMS发送读取/写入请求,EMS收到请求后,使用LIN诊断服务对IBS发送读取/写入请求进行请求信息传递;ISB接收到请求后,对EMS进行响应,EMS在接收到IBS响应时,将响应情况通过CAN诊断服务对EOL设备进行响应,传递结果信息。
IBS集成不同的蓄电池状态检测程序,通过UDS诊断服务进行蓄电池的ID配置,并永久保存。实现程序的准确选择。
在LIN网络中,主节点(本文为EMS) 和IBS之间通信的诊断报文中的NAD为0x47。
设计IBS提供下列默认会话控制下的UDS诊断服务,见表1。
表1 IBS的读/写诊断服务列表
定义蓄电池代码的DID为0x00B2,数据长度为1Byte,如图1所示。
根据主机厂的需求将所有在用的蓄电池信息提前预设到IBS软件中,用于后续通过UDS对蓄电池Battery Code 内容改写,选择不同蓄电池ID的程序数据[2]。表2为蓄电池预置程序列表。
图1 蓄电池Code数据结构定义
表2 蓄电池预置程序列表
EOL设备/诊断仪和EMS之间通过CAN诊断会话实现交互[3]。EOL/诊断仪在配置IBS或者读取IBS信息时,EMS作为CAN/LIN之间的网关,起到EOL/诊断仪的诊断命令和IBS响应数据之间的CAN/LIN转换的作用。对EMS的服务列表进行如表3设计[4]。
表3 EMS诊断服务列表
设定EMS接收的诊断请求CAN标识符为0x7E0,EMS发送的诊断响应CAN标识符为0x7E8;IBS的LIN诊断请求标识符为0x3C,IBS的LIN诊断响应标识符为0x3D。读取IBS蓄电池ID的诊断过程如图2所示。写入IBS蓄电池ID的诊断配置过程如图3所示。
图2 读取蓄电池ID诊断方式
图3 写入蓄电池ID诊断方式
借助工厂在线EOL设备,能够根据车辆VIN,连接MASH服务器自动识别车辆配置的功能,设计电检流程如图4所示。
图4 EOL设备电检流程图
按照图4流程进行EOL设备软件开发,设备可以根据车辆VIN码自动识别电池信息,自动在线刷写对应的蓄电池ID完成IBS配置,EOL设备完成在线刷写的运行结果如图5所示。
图5 EOL设备在线刷写结果
通过基于LIN诊断的蓄电池传感器的通用化设计,配合工厂EOL设备开发对应的电检流程。能够做到针对不同车型,主机厂只采购一种蓄电池传感器,对应所有车型所应用的蓄电池,提高了生产效率,降低了物料管理成本、现场管理成本和售后备件的管理成本。实际应用中,在主机厂降本增效方面具有重要意义。