基于CANoe的高性能测试系统解决方案

描述

随着对于汽车功能性、安全性、舒适性等需求的日益增长,汽车上的ECU功能也变得越来越强大。部分ECU开始采用多核处理器,需要处理多个通信系统并执行复杂的控制算法,一些应用对实时性能有着极高的要求。与此同时,多总线通信的需求日益增长,通信数据量也逐步增多。这样的趋势导致测试系统对于测试工具性能的要求也随之提高。为了满足这些需求,除了配置高性能电脑外,CANoe也提供多种解决方案供用户选择,以应对不同的应用场景。

01VTP设备

VTP(Vector Tool Platform)设备中内置处理器以及操作系统,并可通过连接网络接口卡进行总线通信。VTP设备与上位机之间通过USB或网线连接,上位机通过CANoe自带的VTP或是独立的Vector Platform Manager工具即可与VTP设备进行交互,如连接、配置、控制、数据传输等。在VTP设备上,由于受第三方软件的影响较少,系统拥有更高的定时器精度和更低的延迟。VTP设备在分布式模式(Distributed Mode)下仅运行CANoe的Runtime Kernel,可减少分析窗口和图形系统对实时部分的影响,特别适用于对实时性能要求较高的应用场景。此外,部分VTP设备还额外支持扩展实时模式(Extended Real Time Mode),包含额外的实时操作系统用于执行实时任务,可进一步改善定时器精度和延迟,提升系统的整体性能。

ecu

图1 VTP设备

目前常用的VTP设备及各自支持的运行模式如下:

ecu

 

分布式模式

为了解耦实时操作,CANoe可拆分为分析部分和仿真执行部分。前者用于执行分析功能以及相关GUI的显示,后者则是CANoe的Runtime Kernel,用于执行仿真和测试功能。通常情况下,用户会采用PC+硬件接口卡的连接方式,此时这两部分都运行在同一台电脑上,称为接口卡模式(Interface Mode),如图2所示。如果采用PC+VTP设备+硬件接口卡的连接方式,则可让分析和仿真分别运行在不同的设备上,其中上位机仅运行分析部分,仿真部分在VTP设备上运行,这就是分布式模式(图3)。

ecu

图2 接口卡模式

ecu

图3 分布式模式

扩展实时模式

扩展实时模式下,VTP设备内部会分为两个逻辑区域,一个用于常规仿真测试的执行,另一个用于实时任务的执行,可大幅提高实时性能,如下图所示。扩展实时模式可在实时条件下执行CAPL程序和MATLAB仿真模型,此时程序和模型的执行间隔可达到微秒级。此外,部分CAN/CAN FD总线接口卡也支持搭配VTP设备工作在扩展实时模式下,在仿真发送短周期报文时拥有更稳定的表现。扩展实时模式下,用户也可以使用VT板卡实现对I/O信号的读写,可对测量值进行更高频率的采样,传输周期可低至200μs。

ecu

图4 扩展实时模式

02Multi CANoe

如果使用一台计算机以及配合VTP设备仍然无法满足仿真、分析和测试任务对性能的需求,另一种解决方案是切换到Multi CANoe环境。即将一个CANoe工程拆分成多个不同的实例,运行在同一台或多台计算机上,从而充分利用多核处理器以及多台计算机的资源。任务可以按需分配到不同的Multi CANoe实例中,每个CANoe实例均有自己的用户界面和Runtime Kernel,CANoe实例之间可通过自动建立的FDX(Fast Data Exchange)连接进行数据交换。

所有CANoe实例中会有一个作为Master,其他则充当Slave。仅Master需要CANoe Pro/Run的License,Slave端使用价格更低的CANoe Slave License即可。作为Master的CANoe实例可以控制所有实例的运行,通过同步线及同步盒的连接,可使不同CANoe实例使用的接口卡设备之间实现时戳同步。

ecu

图5 Multi CANoe环境

运行同步

任意Multi CANoe实例尝试启动工程时,都会向Master发送Start请求。Master随后将Start命令发送给所有Multi CANoe实例,它们在收到Master的Start命令后都会启动各自的工程,并将状态反馈给Master。在此期间,CANoe实例处于准备运行状态,但并不会处理任何事件。当Master检测到所有CANoe实例都反馈了准备启动状态后,会通过硬件同步线发送同步脉冲作为所有实例的初始时戳0,此后CANoe实例才会正式启动并开始处理事件,从而实现所有CANoe实例的同步运行。

时间同步

不同CANoe实例使用的总线通信硬件接口卡通常都是不一样的,接口卡之间可以通过同步线或是同步盒连接来实现时间同步。作为Time Master的接口卡会从同步口发出同步脉冲,其他接口卡通过检测该脉冲实现同步。接口卡数量越多,传输同步脉冲耗费的时间就越长,脉冲的跳变沿质量也越差,这种情况下可以使用主动同步盒(Multi SYNCbox Active)进行补偿,通过驱动10个有源输出来放大传入的同步脉冲,确保10个输出脉冲的发送时间之间几乎不会存在偏移,并且输出相对输入的延迟是恒定的,可在测量后在CANoe的配置文件(can.ini)中设置,以便进行补偿。

ecu

图6 基于Multi SYNCbox Active的时间同步

03测试配置示例

目前,汽车电子电气架构正在向集中化和区域化的趋势转变,高性能计算机(HPC)和区域控制器(ZCU)也将扮演越来越重要的角色。在对HPC/ZCU进行测试的过程中,需要用到的CAN/CANFD、LIN、Ethernet等总线通道的数量较多,每个总线通道上需要仿真的环境或使用的模型都可能很复杂,传输的数据量通常也非常巨大。此时,在一台电脑上运行所有的仿真很可能会遇到性能瓶颈。对于这种场景,用户可以考虑将Multi CANoe与VTP设备结合使用,根据实际的复杂度将工程分解为合适数量的CANoe实例,分别运行在不同的VTP设备或PC中,从而满足HPC/ZCU等复杂控制器的仿真测试需求。

下图展示了一个测试配置的示例,整个测试工程被拆分成4个CANoe实例,其中实例CANoe1运行在VTP设备(RT Rack1)上,连接多块VN7572用于多路CAN/CAN FD/LIN总线通信,外接的上位机PC1用于运行CANoe1的分析部分;实例CANoe2和实例CANoe3运行在同一台工控机IPC2上,分别使用VN1531和VN5650用于CAN/CAN FD和Ethernet通信;实例CANoe4运行在一台单独的工控机IPC3上,连接VN5650专门用于Ethernet通信。

ecu

图7 测试配置示例

04展望

CANoe架构一直在不断的优化和升级,CANoe版本及服务包的每次更新,都伴随着性能的显著提升。以Ethernet通信为例,在复杂工程中进行大量数据交互的场景中,CANoe17相较CANoe15已实现了超过3倍的性能优化。未来的软件版本还将持续更新优化,逐步支持多进程、多核运行等,以便充分利用处理器资源,实现性能的进一步提升。

 

  审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分