
引言
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版 | ||
| Run版 | ||
| 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文件解析信号。

面试
资料
学习
路线
学习
指导
多名10年+大厂经验
工程师在线指导
学习
交流
众多开发者一起交流
助力你提升技能
夜雨聆风