
如何使用Q-Tester Sequence控件低代码实现ECU自定义刷写?
背景
随着汽车电子电气架构从分布式向集中式、域控制器架构演进,车载控制器数量呈指数级增长。目前,单车型控制器已普遍超过30个,覆盖动力、底盘、座舱、智驾等全场景功能。功能复杂度的飙升使得软件代码量突破亿级,版本迭代周期也从传统的以年为单位压缩至以周为单位。
在开发控制器测试环节中,工程师需高频验证功能逻辑并优化跨控制器协同策略。然而,传统的“预设脚本+固定流程”的刷写方式难以满足灵活测试需求。
因此,那些具备自主编辑刷写流程能力的工程诊断仪将会为测试工作带来极大助力——工程师可根据测试场景动态调整刷写策略,更好地完成刷写任务。
在Q-Tester中编写刷写序列实现刷写
风丘科技自主研发的Q-Tester.Expert工程诊断仪集成了全新设计的Sequence Editor功能。该功能基于ODX诊断数据库构建起可视化、标准化诊断服务接口,将服务转化为可配置的模块化组件,可大大降低序列编写难度,且整个编辑过程完全可由工程师自由定义,无需添加代码。编辑好的序列能够在VehicleFlash插件中进行调用,一键即可触发诊断仪执行刷写任务,形成“编辑-调用-执行”闭环。由此,可为车辆开发测试阶段提供自主可控、便捷有效的刷写解决方案。
解决方案细节描述
在VehicleFlash插件中,可导入需要刷写的文件,刷写文件会以控制器为单位进行分组。
(图1 刷写文件导入)
在插件配置界面中,需要调用在Sequence Editor中编辑好的序列,通过这些调用的序列能够实现刷写任务。
(图2 刷写流程配置)
除了必要的刷写流程外,软件还配置了Button Config按键栏,能够在刷写之前、刷写之后执行必要的序列,优化刷写流程。
(图3 VehicleFlash功能栏)
在执行刷写任务时,VehicleFlash插件会提取刷写任务的变量列表,并将以下表中的变量信息作为输入参数传入调用的Sequence序列中:
(图4 刷写文件变量表)
用户可根据接收的变量值自定义编辑刷写流程。以EraseMemory服务举例:在获取到刷写文件的数值之后,可通过下图所示的Sequence流程将Uint类型的数据转化Bytefield类型,并直接赋值给EraseMemory服务中相应的参数,从而实现刷写文件的内存擦除任务。
(图5 Uint转Bytefield类型计算流程)
(图6 EraseMemory服务输入参数)
此外,服务的响应结果可直接通过服务输出列表中的变量获取,作为判断服务是否成功执行的依据,使刷写流程能够更好地实现自定义。
(图7 服务响应判断)
总结
随着汽车电子架构向集中式演进,传统的固定刷写流程难以满足高频迭代需求。风丘自研的Q-Tester.Expert工程诊断仪通过VehicleFlash插件,配合Sequence Editor工具,使工程师对刷写流程只需输入极低的代码量,即可自定义刷写流程,完成所有执行刷写任务。得益于Q-Tester.Expert,工程师们能够更快速、有效地优化刷写流程,助力控制器以及整车的刷写任务顺利完成。
往期回顾