本帖最后由 北汇信息 于 2022-5-22 16:15 编辑

说起CANoe,大家一定不会觉得陌生;CANoe(CAN open environment)是Vector公司推出的一款总线开发工具,它作为全球汽车电子设计的利器,主要为汽车总线的开发、仿真、测试、诊断和分析而诞生。它强大丰富的功能,在汽车行业可谓家喻户晓。CANoe不仅自身武艺超群,它还有许多得力干将。

今天我们就来聊一聊其中一位猛士——Option AMD/XCP模块,为CANoe开拓了读写ECU内部参数的新世界。它扩展了CANoe的功能领域,使其具备快速加载A2L文件,并通过ASMA官方定义的标准协议XCP/CCP来访问以及修改ECU内存参数的能力。在该模块的加持之下,我们可以对参数修改后系统的响应结果进行监测;以实现总线信号和ECU内部参数同时分析的功能。

1、基本概念

在正式使用该功能前,我们先来看看相关基本概念。


  • AMD(AUTOSAR Measurement and Debugging):基于AUTOSAR架构测量和调试
  • AUTOSAR(Automotive Open System Architecture):汽车开放式系统架构
  • ASAM(Association for Standardization of Automation and Measuring Systems):自动化及测量系统标准化协会
  • XCP协议(eXtended Calibration Protocol):应用在CAN、Ethernet、Flexray、LIN 、etc.
  • CCP协议(CAN Calibration Protocol):应用在CAN总线上
  • A2L文件:ECU描述文件,包含内部数据对象信息
  • Seed&key文件:ECU访问保护文件

forum.jpg
图1 访问机制

2、功能窗口

说了这么多,让我们进入正题一起操作。

首先,我们在使用时需要license,并在软件中激活该功能模块,方可显示此功能图标(以CANoe14为例)。

forum.jpg
图2 模块激活

正确激活后,会在CANoe上方菜单功能页Diagnostics&XCP中添加XCP/CCP功能模块。

forum.jpg
图3 功能图标

打开XCP/CCP窗口,我们可以方便地添加A2L文件,查看并修改设备中的详细信息。如果ECU被写保护,我们需要添加相应的Seed&Key文件来确保正确通讯。

forum.jpg
图4 设备配置

在Measurement Groupe窗口中可以根据需要配置不同的变量,及其读取方式。激活Configuration的变量后,在CANoe中的Environment\System Variables会自动创建相应的系统变量。A2L中变量名包含的“.”“()”等会用“_”代替。其中,Maps和Curves类型变量会以Structs类型变量显示。

forum.jpg
图5 变量配置

forum.jpg
图6 系统变量

在我们与ECU正常建立起通讯后,启动工程,便可以读取ECU的数据。对于ECU内部定义的标定量可以对其进行修改,对测量量可以读取相应的数值。

forum.jpg
图7 变量信息

3、变量调用

被激活的变量会自动生成CANoe工程中的系统变量,我们可以基于此进行变量调用。

1)在观测窗口中调用

例如我们在Data Window,右键选择变量,添加A2L文件中被激活的信号。

forum.jpg
图8 Data窗口

forum.jpg
图9 添加变量

当然我们也可以在不同窗口中进行观测,如Graphic窗口。

forum.jpg
图10 Graphic窗口

对于所添加的系统变量,可以通过鼠标右键选择Change Value,即可在值的区间内进行修改,并同时进行观测。

forum.jpg
图11 面板调用

2)在CAPL中调用

作为系统变量,我们也能在CAPL脚本中对我们的信号调用。

例如:

1.读取:sysGetVariableInt/sysGetVariableFloat
2.赋值:sysSetVariableInt/sysSetVariableFloat
3.读取、赋值也可以使用:@Namespace::Variable

示例:

1.intValue = @Namespace1::Parameter2;  //取值
2.@Debug::MotorValues::EngineSpeed = $EngineSpeed;  //赋值

总结

CANoe软件有了Option AMD/XCP功能模块的加持后如虎添翼,能够对ECU内存参数进行读写。但在面对专业的标定应用场景时,例如:需要快速保存参数集文件、标定数据集管理、MAP/Curve数组标定等,则会显得吃力。此时我们就需要将重心转移到另一款强大的测量和标定工具——CANape上了。针对标定,您或许还有更多疑问:如果系统与ECU通讯需要大量的数据吞吐?需要快速的信息交互?或者CANape标定功能强大在哪里?

北汇信息作为Vector中国合作伙伴,不仅提供相应的工具、技术支持服务及培训,还针对不同的应用场景提供专业的解决方案。欢迎联系北汇信息,为您答疑解惑!