郭佳,金鑫,邓煜
(陕西重型汽车有限公司,陕西 西安 710200)
当前汽车控制器的开发大都采用V流程开发模式。V流程大致可以用图1表示,分为系统需求分析、架构设计、模型设计、模型测试(MIL)、代码生成、代码测试(SIL)、处理器在环测试(PIL)、硬件在环测试(HIL)[1]。左边是开发流程,右边是对应的是测试流程,每个阶段的开发和测试流程都互相对应[2]。

图1 V流程开发
与V流程相对应的是汽车控制器的开发方法——基于模型设计(MBD),MBD已经成为当前汽车控制器开发的主流方法[3]。基于模型设计采用建模软件完成控制策略建模,模型完成后自动生成代码,然后控制策略代码与底层驱动代码集成,最后下载到目标控制器中。为了保证开发质量,整个开发方法中推荐有相应的测试环节:模型完成后需要进行模型测试(MIL),模型自动生成代码后需要对代码进行测试(SIL),代码经过编译器编译生成可执行文件下载到控制器中,需要处理器在环测试(PIL),还需要对整个控制器进行硬件在环测试(HIL)。整个过程环环相扣,需要一步一步按照MIL、SIL、PIL和HIL执行,只有这样才能开发出符合预期的可靠的一款控制器。否则在实车的复杂工况下可能会出现一些故障无法定位的问题。
另外,在《GB∕T 34590.6-2017 道路车辆 功能安全 第6部分:产品开发:软件层面》的9.4.6章节中指出:对于软件单元测试的测试环境,应尽可能地接近目标环境。如果软件单元测试不是在目标环境下执行,应分析目标代码与源代码的差异,以便在后续测试阶段的目标环境中,定义额外的测试。……