基于TSMaster的商用车ESC传感器标定
2023-05-24黄河赵掌柱蔡振辉韩畅铭翟明磊田雪毅
黄河 赵掌柱 蔡振辉 韩畅铭 翟明磊 田雪毅
【摘 要】本文主要阐述国产汽车总线开发工具TSMaster中数据库信号的操作功能,应用快捷键事件机制实现了对商用车ESC传感器的标定,并对标定结果进行测试验证,为商用车ESC传感器标定提供一种参考方案。
【关键词】国产总线开发工具;数据库信号操作;快捷键事件;ESC传感器标定
中图分类号:U463.6 文献标志码:A 文章编号:1003-8639( 2023 )05-0037-03
【Abstract】This paper describes the database signal operation function of the TSMaster which is a domestic automobile bus development tool. The quick key event mechanism is used to calibrate the ESC sensor of commercial vehicle,and the calibration result has been verified. It provides a reference scheme for ESC sensor calibration.
【Key words】domestic bus development tool;signal operation based on database;shortcut event;ESC sensor calibration
作者簡介
黄河(1989—),男,硕士,工程师,主要从事汽车底盘控制系统设计、智能驾驶系统设计工作;赵掌柱(1987—),男,主要从事汽车电气原理设计、智能驾驶系统设计工作;蔡振辉(1999—),男,主要从事智能驾驶系统设计工作。
近年来,随着汽车智能化的高速发展,主动安全技术为提升车辆运行安全、预防和减少道路交通事故、降低事故伤害创造了有利条件,尤其是商用车领域,在法规的不断驱动下,车辆主动安全技术得到了显著推广应用。其中,电子稳定性控制系统(Electronic Stability Control System,简称ESC)能够纠正车辆偏离理想行驶轨迹的倾向,防止车辆出现转向不足或转向过度等失稳状态,改善车辆的转向响应性和侧向稳定性[1],其主动安全作用被逐步广泛认可;ESC传感器性能表现与其标定状态高度相关,因此在整车下线、测试试验、售后维修等环节中需要对ESC传感器逐一进行标定。商用车ESC系统传感器普遍采用分立形式并安装在车辆质心附近一定范围内,这增加了其维修标定的需求。为应对各种场景ESC传感器的标定需求,高效、灵活、可靠的标定方案成为一种迫切需求。
汽车总线开发工具TSMaster支持连接、配置并控制所有的同星硬件工具、设备,实现汽车总线监控、仿真、诊断、标定、BootLoader、I/O控制、测量测试、EOL等多种场景的功能需求。同时,它可以支持Vector、Kvaser、PCAN、英特佩斯、周立功总线系列产品硬件及市场上主流的仪器,其灵活性满足ESC传感器上述多场景标定需求。
本文应用TSMaster快捷键事件机制实现对商用车ESC传感器的标定,并通过基于RBS(Remaining Bus Simulation)的数据库信号操作完成标定结果的读取确认。
1 基于RBS的数据库信号读取
TSMaster提供了一套基于RBS的数据库信号操作机制,允许用户直接根据信号路径读取和设置信号值,操作简单方便。若采用这种方式,前提是要启动CAN RBS仿真。根据传感器通信协议,ESC传感器需要关注的信号见表1。
1.1 添加数据库
根据传感器通信协议完成对应的dbc.文件设计,并在Analysis选项卡中Database工具中将dbc.文件添加到对应的通道中,如图1所示。加载完数据库后,在脚本编辑器的快捷提示窗口可以看到所有的数据库报文以及信号。
1.2 启动RBS仿真
在Simulation选项卡CAN RBS Simulation工具中,激活ECU节点后总线结构中对应节点ECU名称会有彩色填充。建议打开Auto star选项,以便在后续启动物理总线时同步启动RBS仿真。启动RBS仿真如图2所示。
这样就可以通过com.can_rbs_get_signal_value_by_address函数直接读取数据库中的任意信号,并进行操作。关于该函数中CAN信号字符串的组成与解析,以信号ESCModuleCalibrated为例,“com.can_rbs_get_signal_value_by_address("0/ESC_DBC4/EMBC/Yaw_STA2/ESCModuleCalibrated",&d);”中的参数解析如表2所示。
2 快捷键事件触发
TSMaster中,每一个测试脚本,可以把它形象理解为一个MCU,其内部的代码框架采用前后台程序架构,主要包含一个大循环,也就是所谓的后台,该后台程序默认不断运行;前台则包含各基于事件驱动的中断机制。C脚本以step函数为主循环,各事件驱动的中断事件包括CAN的接收(或发送)完成事件OnCANRx/ OnCANTx、定时器触发事件OnTimer以及通过快捷键触发执行的函数事件OnShortCut等。
本文选择OnShortCut作为标定数据帧发送的触发事件,创建脚本流程如图3所示。Simulation->C Code Editor->Open C ScriptEditor,在树结构中的OnShortCut节点上单击右键新建OnShortCut事件,设置快捷键事件的名称和快捷键为字母“C”,将该触发时间键盘“C”键关联。完成事件定义后单击新建的OnShortCut事件“C”选择“Edit Selected”进入事件函数的编辑。
3 ESC传感器标定及验证
添加数据库、启动RBS仿真并添加快捷键事件之后,接下来需要编辑快捷件事件函数体,快捷键事件函数体内容直接表达ESC标定交互过程。
3.1 ESC标定流程
ESC传感器标定的基本过程是:首先发送第1帧报文YAS_CAL(ID为0x18EF490B),将传感器设置为未标定状态,并激活编程模式;然后再次发送标定报文YAS_CAL(根据标定协议,发动的标定报文为同一ID,但是数据域不完全相同),标定传感器当前位置为LateralAcc、YawRate、LongAcc信号值为初始位置(信号物理值为0),此时传感器处于已标定状态,同时进入常规模式。
特别提示:整车下线、测试试验、售后维修等环节中,ESC传感器安装完成后需要进行标定,标定好的位置和角度是不允许被修改的。
3.2 快捷键事件函数编辑
如上所述,快捷键事件函数体中,首先需要创建第1帧报文YAS_CAL的结构体(f0),并根据标定协议填充数据域,调用异步发送函数(com.transmit_can_async(&f0))将其发出,等待150ms;然后根据基于RBS的数据库信号操作读取标定标志信号(Module Cali)值以判断ESC传感器是否已经设置为未标定状态,这里要用到com.can_rbs_get_signal_value_by_address函数;如果未成功将标定标志位置为未标定状态,则需要检查第1帧标定报文YAS_CAL的狀态是否正确及其他条件是否满足,并停止后续操作;在标定标志位成功置为未标定状态后,进行第2帧标定报文的发送,并再次根据标定ESC传感器反馈的标定标志位判断并输出标定结果。快捷键函数体内容如图4所示。
3.3 测试验证
在台架上对标定的交互过程进行验证,标定结果如图5所示。标定后LateralAcc、YawRate、LongAcc信号值为初始位置(信号物理值为0)。
分别选取加速、减速、左转、右转、上下坡道等典型工况进行实车测试。其中,直线+加速+左转掉头测试场景下ESC传感器各信号值曲线如图6所示。
数据显示ESC传感器输出报文生命值信号正常;ESC传感器标定后在实车急加速前,纵向加速度信号LongAcceleration值趋近于0;急加速过程中该信号值显著增大(最大时达到2.13m/s2),在两次换挡操作间歇过程中该信号值再次趋近于0;在后续制动过程中,该信号值显著减小且最小时达到-3.4m/s2;在左转掉头过程中,横向加速度信号LateralAcceleration值与横摆角速度Yaw_Rate信号值有显著变化,且最大值分别达到1.03m/s2、24.02degree/s;信号值变化趋势与实际工况一致。经验证,标定后的ESC传感器能够准确表达车辆姿态。
4 总结
本文介绍了国产汽车总线开发工具TSMaster中数据库信号操作功能,应用快捷键事件机制实现了对商用车ESC传感器的标定,并对标定结果进行了测试验证。通常情况,ESC传感器标定工作应该由供应商或主机厂使用专用标定工具来进行,但在试制、维修或问题排查中,受场地、周期等方面限制,需要更为灵活、高效的标定方案,因此本文给出了一种应急参考方案[2]。本文针对国产汽车总线工具TSMaster工具的使用抛砖引玉,希望对相关人员有一定帮助。
参考文献:
[1] 康拉德·莱夫. BOSCH车辆稳定系统和驾驶员辅助系统[M]. 北京:北京理工大学出版社,2015.
[2] 唐键,胡艳峰. 基于CANoe的转角传感器零位标定[J]. 汽车电器,2019(7):42-44.
(编辑 凌 波)