乐于分享
好东西不私藏

车软开发——CANoe工具下载及使用

车软开发——CANoe工具下载及使用

引言

CANoe。这是我们在车载网络开发、仿真、测试和分析中最核心的工作平台。

第一,CANoe是什么、能干什么、怎么安装和激活——让大家对这个工具有一个整体认识,知道它能覆盖从需求到系统实现的全过程。

第二,怎么用CANoe做CAN总线的测量与分析——这是最基础也是最常用的场景,包括怎么打开项目、怎么看仿真设置、怎么运行、怎么通过各个分析窗口查数据。

第三,怎么用CANoe做车载以太网的测量与分析——随着新车架构向域控制器和中央计算发展,以太网越来越普遍,我们会看一个包含SOME/IP通信和ADAS功能的示例项目。

第四,怎么用CANoe做LIN总线的测量与分析——LIN总线在车身控制领域仍然大量使用,我们会看一个车门、车窗、后视镜控制的示例项目。


一、CANoe概述与安装

1.1 什么是CANoe

CANoe的全称是CAN open environment,是德国Vector公司推出的总线开发环境。最初主要为CAN总线开发,现在已扩展到支持LIN、FlexRay、MOST和Ethernet等多种网络。

它的定位是:网络和ECU开发、测试和分析的专业工具,覆盖从需求分析到系统实现的整个开发过程。

1.2 版本类型

工作中会遇到三种版本:

版本
特点
适用场景
Full/Pro版
完整功能,可编写、修改、编译CAPL脚本
开发和调试
Run版
只能运行CAPL脚本,不能修改和编译
执行测试用例、产线测试
Demo版
体验功能,有使用限制
学习评估

目前企业普遍使用较多的版本是12.0

1.3 安装与激活

安装包从Vector官网下载,或从我们内部获取。运行autorun.exe开始安装。

安装完成后,运行CANoe会显示"ViewOnly",说明尚未激活。需要使用Vector License Client进行在线激活:

1. 输入邮件中收到的激活码

2. 选择要激活的主机名

3. 点击激活

如果遇到"Max. number of activations already reached"的错误提示,说明激活次数已达上限。解决方法是:在Vector License Client中点击Open Settings,显示所有Licenses,尝试用不同的Product进行激活。如果都不行,就需要重新申请下载链接和激活码。

激活成功后,重新运行CANoe,可以看到demo版已激活,不再显示ViewOnly。


二、CAN总线测量与分析

2.1 打开示例项目

安装包自带示例项目,方便快速上手。点击File → Open,选择easy.cfg,这是一个CAN总线的全仿真项目。

这个项目模拟了两个域:

• 娱乐域:仪表发动机转速显示

• 车身域:头灯和双闪灯控制

2.2 仿真设置——Simulation Setup

切换到Setup标签页,可以看到Simulation Setup窗口,这是整个仿真架构的核心视图。

当前1个CAN通道,上面有仿真节点:

• Engine节点:仿真发动机ECU,与控制面板的Engine界面连接

• Light节点:仿真车灯控制ECU,与控制面板的Light界面连接

• Display节点:仿真仪表和车灯显示ECU,与Display面板连接

所有仿真逻辑都通过CAPL代码实现。

2.3 测量设置——Measurement Setup

同样在Setup标签页,Measurement Setup窗口是总线测量与分析的关键配置区域。

这个窗口的配置逻辑可以理解为一条数据流水线

数据源 → 过滤器 → 分析窗口 → 记录模块

如果是正式版软件,这里会显示Real(真实硬件)而不是Sim(仿真)。

2.4 数据源

测量数据可以来自:

• 在线数据(Online):仿真节点产生,或来自VN1630A/VN1640A等硬件接口

• 离线数据(Offline):已录制的数据文件回放

2.5 过滤器

为了聚焦于关心的数据,可以通过五种方式过滤:

1. CAPL编程过滤

2. 通道过滤

3. 事件过滤

4. 变量过滤

5. 触发条件过滤

2.6 分析窗口

经过过滤的数据在各个分析窗口中呈现。每种窗口都可以添加多个,并支持重命名:

窗口
用途
Statistics
总线负载率、错误帧统计
Trace
逐条查看收发报文、信号解析
Data
查看信号的原始值、物理值及换算关系
State Tracker
跟踪信号状态变化
Graphics
信号随时间变化的图形化曲线
Logging Block
数据记录,保存为文件供离线分析

2.7 数据库文件

测量数据通过DBC文件进行解析。

• EngineState:包含OnOff和EngineSpeed两个信号

• LightState:包含HeadLight和FlashLight两个信号

可以使用Tools菜单中的CANdb++ Editor查看和编辑DBC文件。

2.8 运行与操作

点击Home → Start运行项目。

面板操作仿真实际驾驶行为:

• Ignition:点火/熄火

• Speed:发动机转动

• HeadLight:头灯开关

• Hazard:双闪灯开关

2.9 实操检查项

运行后通过以下方式检查:

1. Write窗口

查看测量过程中的系统信息输出,以及CAPL中定义的提示输出,用于排查警告或错误。

2. Trace窗口

记录所有总线活动,包括收发报文、错误帧、系统变量、环境变量和诊断服务。配置DBC后,可以解析出每个报文和信号的具体取值。

3. Graphic窗口

以图形化曲线显示信号随时间的变化,适合观察趋势。

4. Data窗口

显示信号的数值、单位等信息,可以看到原始值和物理值的换算关系。

2.10 自定义报文发送——CAN IG

可以用CAN IG(InterGenerator)模块自定义发送报文,用于测试异常数据或超大数据。

使用方法:

1. 在Simulation Setup中添加CAN IG节点

2. 注意:需要将原有节点设置为无效,避免多个数据源冲突

3. 双击CAN IG节点,添加要自定义发送的报文

4. 运行项目,点击CAN IG节点中的Send按钮

2.11 实际工作场景小结

CAN总线测量分析在日常工作中有两种应用场景:

场景一:操作→观察→检查

对汽车进行操作,检查汽车的响应和显示,同时用CANoe检查CAN报文和信号取值是否正确。

• 例:加速→检查仪表车速显示→检查相应CAN报文和信号

• 例:打开空调→检查空调是否打开→检查相应CAN报文和信号

• 例:打开左转向灯→检查左转向灯和仪表指示灯→检查相应CAN报文和信号

场景二:发报文→检查响应

用CANoe向汽车零部件发送CAN报文,检查零部件的响应。

• 例:给仪表发送超高速CAN报文→检查仪表显示是否异常

• 例:给车机发送包含空调模式的CAN报文→检查车机空调模式显示


三、车载以太网测量与分析

3.1 打开示例项目

点击File → Open,选择EthernetSystem.cfg,这是一个车载以太网的全仿真项目,带有ADAS功能。

3.2 面板说明

项目包含多个控制面板:

• Concept Car:汽车外观,显示头灯、双闪灯、转向灯

• Head Unit:简单车机(收音机),4个频道切换

• Instrument Cluster:仪表,显示车速

• Console Light:灯控开关

• LRR:远程雷达探测障碍物的可视化

• CAMF:前向摄像头探测车道线和交通标识

• Console Control:转向刹车控制

• GPS轨迹:汽车位置变化

3.3 仿真节点

以太网通道上有7个仿真节点:

• VGW:网关ECU,连接以太网和动力总成CAN,转发数据、控制灯光转向

• IC:仪表ECU

• CAMF:前向摄像头ECU

• LRR:远程雷达ECU

• ADAS:ADAS控制器ECU,融合CAMF和LRR数据实现ADAS功能

• AMP:音频放大器ECU

• HU:车机ECU

仿真通过CAPF代码实现(CAPL的以太网扩展)。

3.4 数据库文件

以太网数据通过ARXML文件解析。可以使用AUTOSAR Explorer查看。

项目中的以太网数据包含多个PDU,例如EMotorStatus的I-PDU包含4个信号:

• EMotorSpeed

• EMotorTemperature

• EMotorCurrent

• EMotorPower

3.5 运行与操作

点击Home → Start运行项目,操作包括:

• Start:点火/熄火

• Head Lights:头灯开关

• Hazards:双闪灯

• Turn Signal:转向灯

• Accelerator position:油门位置

• Brake:刹车

项目还包含自动化执行功能(Drive Cycle),在Setup标签页中点击执行按钮即可自动运行预设的测试序列。

3.6 以太网Trace窗口的特殊之处

车载以太网的帧结构包含多层协议头。在Trace窗口中,切换布局设置为Ethernet Services,可以聚焦于应用层数据。

本项目使用SOME/IP协议(基于发布/订阅的通信协议),包含:

• 服务注册

• 服务查询

• 服务订阅

• 服务通知

从测试角度,重点查看的是服务订阅后获得的PDU中的信号取值

3.7 实操检查项

运行后检查:

1. 面板显示:仪表车速、Concept Car灯光、LRR障碍物、CAMF车道线、GPS轨迹

2. PDU信号取值:在Trace或Data窗口中查看

3.8 实际工作场景小结

车载以太网测量分析在ADAS测试中应用广泛:

• 例:前向摄像头识别到限速标识→检查仪表是否显示限速标识→检查车速是否降至限速以下→用Graphic窗口观察车速与限速标识变化的关联


四、LIN总线测量与分析

4.1 打开示例项目

点击File → Open,选择LINSystem.cfg,这是一个LIN总线的全仿真项目。

4.2 面板说明

项目包含多个标签页:

• Door标签页:左前门控制开关(Door Opener)和汽车外观(Exterior View)

• Remote Control标签页:Remote Key面板用于钥匙解锁/锁定

注意:操作Door Opener的前提是汽车已解锁,需先在Remote Control中用钥匙操作。

项目仿真了车门、车窗、后视镜、天窗、车灯、雨刮器、座位记忆等多种车身控制功能。

4.3 仿真节点

每个标签页对应一条LIN总线。以Door标签页为例,该LIN通道上有7个节点:

• GWI(网关内部):主机节点,包含主机任务和从机任务

• DWF_Left:左前门窗ECU(从机)

• DWR_Left:左后门窗ECU(从机)

• RVM_Left:左后视镜ECU(从机)

• DWF_Right:右前门窗ECU(从机)

• DWR_Right:右后门窗ECU(从机)

• RVM_Right:右后视镜ECU(从机)

仿真通过CAPL代码实现。

4.4 LIN总线的帧类型

通过LDF文件解析LIN数据。可以使用LDF Explorer查看和编辑。

LIN帧包含四种类型:

1. 无条件帧:常规通信

2. 诊断帧:诊断服务

3. 事件触发帧:多从机共享帧头

4. 偶发帧:主机按需发送

4.5 LIN通信的特殊性

LIN总线报文分为帧头应答两部分:

• 帧头由主机节点发送

• 应答可由主机或从机发送,或无人回复

4.6 实操检查项

运行后检查:

1. 面板显示:Door Opener操作→Exterior View显示左前门开/关

2. 报文和信号取值:Trace窗口中查看LIN帧应答部分的信号值

4.7 实际工作场景小结

LIN总线测量分析在车身控制测试中应用广泛:

• 例:测试车灯控制→按键操作→检查车灯亮灭→在CANoe中检查LIN帧应答部分信号取值是否正确


结语

CANoe整体定位——一个覆盖CAN、LIN、以太网等多种总线的开发、仿真、测试和分析平台,贯穿从需求到实现的整个开发周期。

CAN总线测量——通过Simulation Setup配置节点,Measurement Setup配置数据流水线,配合Trace、Graphic、Data等窗口检查报文和信号,并通过CAN IG自定义发送测试报文。

以太网测量——核心在于SOME/IP协议的服务订阅和PDU信号解析,结合ADAS场景做功能验证,Trace窗口切换到Ethernet Services布局聚焦应用层。

LIN总线测量——注意LIN的主从结构,主机发帧头、从机或主机填应答,Trace窗口查看的是应答部分,通过LDF文件解析信号。

加入群聊可获得

面试

资料

100+企业面试案例

学习

路线

汽车开发学习路线

学习

指导

多名10年+大厂经验

工程师在线指导

学习

交流

众多开发者一起交流

助力你提升技能

王老师的小程序👇👇点击即达!!!
扫码直接进入汽车嵌入式交流群