ECU在汽车网络中通常和许多其它的ECU一起工作。如图1所示,这些ECU之间通过CAN报文交换进行通信。要验证ECU的功能,有必要对CAN报文进行仿真。这些CAN报文可以通过CAN网络在线通信来实现。
CAN网络在线通信是指控制单元和其它位于网络中的ECU进行数据交换。可以运用工具(如DTS-Monaco)对车载网络在线通信的状况进行分析。
CAN网络离线通信是指运用外部设备与位于车辆总线内部的ECU进行通信。(如测试台、OBD扫描工具、维修站等)诊断通信就是典型的“离线”通信。
图2显示了一个简单的例子。在CANBus上面,CAN报文WriteSpeed通过DTS发送出去。仪表盘评估并显示包含在这个报文里的速度信息。另外,车辆诊断仪也可通过Diagnostics总线读取车辆当前的速度。需要指出的是,CANBus和Diagnostics是两个逻辑通道,它们被认为是同一物理总线。
在DTS-Venice中配置CAN网络在线通信
为了能够在CAN网络中模拟报文,需要对数据库作如下修改(如图3):
1. 创建一条CAN总线;
2. 连接CAN总线到ECU的数据库单元中;
3. 创建CAN报文和其中的信号(符号数据内容)。
假设至少一个基于ECU的变形或现有ECU变形的协议(如DiagCAN)在数据库中得到执行。
步骤1
在定点浏览器的快捷菜单中选择“New CANBus…”以创建CAN总线。这时,会弹出一个窗口,让用户指定CAN总线的名字以及可选的描述信息。如果数据库不存在该协议,就会把这个协议从后台导入到数据库中去。
步骤2
下一步就是把CAN总线连接到ECU的数据库单元,该连接也被称为CAN网络节点。为完成任务,在CANBusses中选择CANBus,这时节点会出现在DiagnosticAtom浏览器中。这时,选择“New Diagnostic Atom…”,会弹出一个窗口,要求选择节点;接着,在ECUBaseVariant和ECUVariant列表中选择需要的ECU,然后点击确定完成。
图1:各个ECU通过CAN总线进行通信。
图2:利用CAN报文的通信。
图3:CAN节点。
步骤3
现在可以定义报文和信号了。选中刚才的ECU,并在DiagnosticAtom浏览器中打开CAN报文文件夹。在这些文件夹里,就能够创建CAN报文。图4是这个能创建CAN报文的窗口。
图4:创建CAN报文的窗口。
使用DTS解决CAN网络在线通信问题
如图5,在DTS-Monaco中在线通信的报文和诊断服务是一样的。它们能在诊断服务的HMIcontrol中被选中,并发送报文。也可周期性的发送该报文。
图5:在DTS的诊断服务中发送报文。