1 引言
随着车用网络中被控节点数量和控制复杂度的不断增加,为了满足控制要求、降低控制系统开发成本,汽车生产厂商和汽车设计单位对车用嵌入式软件开发工具的要求越来越高。目前,市场上已经存在一些针对这一应用领域的软件开发技术和软件开发工具,例如基于快速原型的软件设计技术和MATLAB/Simulink、dSPACE开发工具。基于快速原型的软件设计技术是指软件设计者通过创建和维护嵌入式软件的功能模型来描述软件功能,并且使用面向微处理器的自动代码生成技术实现下位机代码快速生成的软件开发方法。使用这一技术可以提高嵌入式软件的开发效率,降低开发成本。
但是目前的软件开发工具都侧重于单电控单元(ECU)建模和验证软件在单ECU环境下的执行效率和性能;对控制策略在网络场景下的鲁棒性和特征分析支持有限。另一方面,网络协议仿真和分析工具,如OPNET虽然可以提供网络场景下协议性能的分析[6],但是由于OPNET上开发的仿真代码无法直接移植到控制器上,所以开发工作不能方便地实现针对目标系统的重用。
如果我们针对车用CAN总线网络的应用场景,将基于快速原型的嵌入式软件设计和基于网络仿真的分析相结合,实现车用CAN总线网络的快速原型。在设计前期用模型定义的虚拟硬件代替没有设计完成或者拥有成本太高的实际硬件,进行初期的系统设计分析;当相应的硬件到位后,替换虚拟硬件,将模型代码转化成面向目标系统的目标代码,进行更接近实际系统的验证分析;最后当所有实际控制软件、控制器硬件和被控硬件都完成时,进行集成的全系统实时仿真。这样可以解决使用相互独立的工具开发模型和进行仿真验证所存在的问题。
本文通过对车用CAN总线网络快速原型的设计实现,提供了一种对车用CAN总线网络进行设计、仿真和性能分析的系统;系统使用虚拟硬件的方法,通过在Simulink中构造典型车用环境相关的控制器模型和被控对象模型,以及在Windows环境下构造CAN卡仿真程序TH-CAN-Vcard和CAN总线分析工具TH-CAN_Scope,针对车用CAN总线网络场景,实现了CAN总线网络环境下控制策略仿真分析和控制代码生成的有机结合。
2 系统设计与实现
2.1 车用CAN总线网络的特征分析
CAN 总线是一种串行通信总线。使用带有冲突检测的载波侦听多路访问方式(即CSMA/CD)进行总线仲裁与控制。为了对车用CAN总线在网络场景下的性能进行规范,国际标准化组织ISO和美国汽车工程师协会SAE对CAN通信诊断的基准环境都制订了相关的国际标准。这些标准依据CAN协议的分层结构,从不同层次定义基准测试要求。例如:SAE J2012和ISO/DIS 15031-6对应应用层故障诊断的定义;[3] [7]ISO/DIS15765-2对应网络层通信协议,通过定义无应答分段数据传送协议(USDT)提供长消息数据分段/重组、带流量控制的数据传输和板上控制单元与板外测试工具间消息的超时处理控制。[2]
另一方面,各个汽车生产厂家也根据这些国际标准制订了自己的企业标准,用以规范ECU产品供应商的产品。如戴姆勒克莱斯勒-奔驰集团的CAN通信标准软件模型分为车辆诊断相关的模块和与车辆诊断无关的模块两部分。其中车辆诊断相关的模块又分为诊断协议服务(KWP2000)和网络传输协议服务 (ISO-15765-2) ,分别对应应用层服务和网络层服务的功能描述,定义相关的基准环境参数和测试消息序列。[2]
这些标准对于车用环境下基于CAN总线的诊断服务的内容、网络传送消息序列间的逻辑关系和时延要求给出了详细定义。而依据这些要求,提供一个CAN总线网络快速原型,真实地模拟具有给定特征的消息序列和数据流,再现可能出现的干扰和误码信号就是本设计的核心技术工作。这一工作成果可以提供对网络流量、网络效率和网络响应间相互关系的分析功能,仿真和验证车用CAN网络环境中ECU控制代码的鲁棒性和实时性。
2.2 快速原型系统的结构与实现
本快速原型系统有三类节点:有物理CAN硬件接口的实际CAN节点、由TH-CAN-Vcard与Simulink模型组成的虚拟CAN节点和运行TH-CAN-Scope分析工具的监控节点。在设计仿真实验时,节点的数目没有限制,仅受具体的CAN应用层的编址方案影响。第一类节点是我们通常使用的CAN节点,这里重点描述后两类节点的实现。
2.2.1 虚拟CAN节点
虚拟CAN节点由TH-CAN-Vcard与Simulink模型组成,节点实现如图1所示。当物理CAN卡不存在时,采用虚拟硬件技术,通过选择CAN卡驱动库提供的虚拟CAN通道,同时将开发的VCANCtrl控制对象实例化成COM服务器(COM Server)就可以在单机下建立COM服务器与MATLAB中模型(作为COM客户机)间的联系。虚拟接收/发送CAN消息到CAN总线的过程,为Simulink下建立的模型提供基本的CAN通信测试功能。
------------ ---------- ----------- ---------- --------- -------- ------- ------ ----- ---- --- -- - - -