总线仿真工程贯穿于ECU开发的整个过程,涉及需求分析、软件开发、软件测试、环境测试、硬件验证、生产检验、失效分析、客户支持等职能部门。对于功能复杂的ECU,其对测试环境的要求也很复杂,往往更加依赖于仿真环境。
1.总线仿真工程开发流程
仿真工程开发的一般流程:
2.总线仿真工程开发策略
这里需要特别说明的是:由于读者在面对不同的整车厂和不同的产品的时候,需要对需求做进一步分析并制定一些策略,否则可能所设计出来的仿真工程无法满足项目的需要。以下是作者根据多年的自身项目经验,总结出来的一些注意点。
(1)力争拿到整车厂的原始的DBC文件:可以节约大量的时间,又能确保数据库的准确性。
(2)做好前期产品开发文档的分析:找出与网络相关的功能、相关的报文和相关的节点。
(3)听取项目成员的需求:软件开发人员的需求、功能测试人员的需求、网络/诊断测试的需求、自动化测试的需求、硬件验证与环境测试的需求、现场技术支持人员的需求等。
(4)了解关键节点的仿真和真实节点的切换计划:了解项目的样品计划、是否在开发阶段可以得到其他ECU的真实节点以及整车厂是否提供测试车等信息。
(5)对于关键的节点,要力争拿到对应的ECU模块样品:因为仿真在某种情况下,可能无法替代真实节点,须尽可能避免存在的风险。
(6)简化拓扑结构,规划面板和代码设计。
①对于关键节点,要保证其独立性,可以独立地仿真关键功能,也可以随时关闭,用真实节点代替。
②对于次要节点(数据交换不多)或间接节点(不在同一条总线上)可将相关仿真功能放在一个面板上。
③对于待测节点(本项目需要开发的ECU),可以根据项目的需要,决定是否开发相关的仿真功能,若无须做任何前期的仿真评估等,可以考虑不开发(直接在Simulation Setup中将该节点关闭)。
(7)根据第3项,发布前需要考虑工程内部人员的一些特殊要求,做好配置和兼顾不同CANoe版本的兼容性。
(8)发布仿真工程前,可以对代码等做一些防护措施,避免其他人员任意修改。
(9)发布仿真工程时,需要附带释放文档,并做好版本控制。