CANoe开发从入门到精通
上QQ阅读APP看书,第一时间看更新

2.3 CANoe在ECU项目开发中的作用

CANoe在ECU项目开发中的作用,根据车载ECU项目的开发进度可以分为以下三个阶段。

2.3.1 第一阶段:全仿真网络系统

在开发的初期阶段,CANoe可以用于建立仿真模型,在此基础上进行ECU的功能评估,这样就可以尽早地发现问题并解决问题。CANoe主要是针对有具体数据定义的报文进行事件处理,也就是借助CAPL实现网络节点的行为。CAPL是专门为CANoe设计的一种类似于C的语言,利用它可以对报文的接收、系统变量/环境变量的改变、错误的出现等事件进行处理。同时由于CANoe的开放性,用户可以使用现有的成熟算法、函数和模型扩充自己函数的功能。对于复杂模型,甚至还可以通过其他的建模工具(如MATLAB)。另外,在这个阶段,可以利用所设计的完整网络仿真系统进行离线的仿真,检验各个节点功能的完整性及网络的合理性。图2.3为CANoe全仿真网络系统示意图,所有节点均为仿真节点。

图2.3 第一阶段:全仿真网络系统

2.3.2 第二阶段:真实节点和部分仿真节点共存

在第一阶段结束后,用户能得到整个网络的系统功能模型。接下来,用户可以将自己开发的真实ECU节点替换仿真系统中对应的仿真节点,利用总线接口和CANoe剩余的节点相连接,测试自己节点的功能,如通信、纠错等。出于这样的原因,在很多场合项目组成员习惯将CANoe仿真工程称为RBS(Rest Bus Simulation,剩余总线仿真),某些地方使用Remaining Bus Simulation。这样,每个供应商的节点可以并行开发,不受其他节点开发进程的影响。图2.4为CANoe真实节点和部分仿真节点共存的网络系统示意图,部分节点已经被真实节点替换。

图2.4 第二阶段:真实网络节点和部分仿真节点共存

2.3.3 第三阶段:全真实节点的网络系统

在开发的最后阶段,所有ECU的真实节点都被逐一地连接到总线系统中,此前的仿真节点会被逐一从总线上断开。开发者可以在真实节点的条件下,验证总线的负载情况和其他的设计要求是否满足。在这个阶段,CANoe主要充当网络系统分析、测试和诊断的工具。在这个过程中,整个系统包括各个功能节点都能被详细地检查到。由于利用仿真节点代替真实的网络节点是最理想的状态,所以通过这两种状态的切换可以交叉检查相关功能,快速定位问题的根源。图2.5为CANoe全真实节点的网络系统示意图,所有节点已经被真实节点替换。

图2.5 第三阶段:全真实节点的网络系统