在汽车电子控制系统开发过程中会有遇到很多的模型架构,通过MATLAB/Simulink进行模型的构建和验证仿真是一种比较常用的方案。Vehicle Spy是一款专业的汽车总线仿真测试软件,适合用于进行汽车总线测试验证。本期,上海蔚赫信息为大家带来一种在Vehicle Spy中使用MATLAB/Simulink模型的解决问题方案,使用此方案可以在模型中实现收发报文等对总线的操作,方便使用Vehicle Spy进行模型仿真和验证并进行测试工作。

1   框架

图1 模型调用架构图

上图是使用Vehicle Spy进行MATLAB/Simulink模型搭建的架构图。使用MATLAB/Simulink搭建模型,通过使用API接口在Vehicle Spy中调用搭建好的模型,这样可以进行图形化编程并自动生成代码,再通过英特佩斯硬件进行与总线之间的通信。同时我们也可以在模型中增加报文收发等对总线的操作步骤,方便工程师对模型进行测试和验证。

2  模型搭建

MATLAB/Simulink是实现动态系统建模和仿真的软件工具。首先,在MATLAB/Simulink中搭建模型。下图是我们开发的网络管理测试工程的状态机图的一部分。这是一个具有网络管理功能的虚拟节点,可以用在虚拟节点与待测ECU建立通信中,从而进行各项测试。复杂的状态机转移使用图形的形式画出来比手写的代码要更加直观也更加可靠。

图2 模型示意图

3  Vehicle Spy调用

模型搭建好之后,就可以在Vehicle Spy中调用API接口来运行模型以及模型生成的代码。这里我们首先运行状态机模型,然后使用硬件与待测ECU相连,测试结果如下图所示,我们可以看到模型和待测ECU之间不断收发网络管理报文,这样我们的模型就通过Vehicle Spy和待测ECU建立了稳定的通信。

图3 连接硬件运行结果

通过上述几步我们就实现了在模型中通过Vehicle Spy与待测ECU互相收发报文从而建立通信的功能。同样我们可以在模型中增加更加复杂的对总线的操作,进一步使用Vehicle Spy以及英特佩斯的硬件设备进行硬件级别的仿真测试。

图4 英特佩斯硬件设备

本期小编和大家分享了使用Vehicle Spy调用MATLAB/Simulink模型的解决方案。通过此方案我们可以使用Vehicle Spy调用模型,这样通过图形化编程可以大大减少手写代码的数量,并且可以增强代码的可靠性。同时,我们可以在模型中增加报文收发等对总线的函数操作,方便我们验证和测试模型。大家在以后的工作中也可以使用这种方案。关于Vehicle Spy使用过程中遇到的问题或者想法可以随时与我们联系,蔚赫信息会继续为大家服务,让汽车通信更美好。