作者 | 绿盟科技格物实验室 潘雨晨[email protected]
“CANoe”全称叫 CAN open environment,是德国 Vector 公司推出的一款总线开发工具,主要用于汽车总线的开发、仿真、测试、诊断和分析。CANoe 软件版本分为正式版和 Demo 版,正式版供正式项目使用,配合 CANoe 硬件才能正常使用,Demo 版不需要 CANoe 硬件,含有丰富的 Demo 工程。
Vector CANoe软件中提供了以太网和SOME/IP协议的配置dll文件,将该dll文件分配给对应的仿真节点可实现基于SOME/IP协议的总线仿真和测试等相关工作。
下面将从CANoe 16的安装开始,介绍搭建SOME/IP仿真环境的过程。
1.1 下载安装
Vector 官网下载地址:https://www.vector.com/int/en/products/products-a-z/software/canoe/
下载当前最新版本CANoe_16_64Bit.zip 压缩包,解压后内容如下:
运行autorun.exe ,选择Install CANoe选项开始安装:
除了修改安装路径,其他可以默认,然后一路next 进行安装,安装的内容较多,会需要一些时间。
1.2 Demo 版激活
安装完成之后,我们需要通过 Vector License Client 进行激活,这里只激活使用 Demo 版。
启动 Vector Tool Manager,选择 Vector License Client。
打开 Vector License Client 界面,点击 Activate::
这里需要填入 Activation Key,demo 版 key 的获取方式如下:
访问 Vector 主页 https://www.vector.com/int/en/,找到下图路径:
在其中找到 CANoe 16 Demo
点击进去会要求填写如下内容,姓名可以随意填写,电子邮件注意填写正确,最后 Request download link:
随后就会收到 Vector 的自动回复邮件,邮件中就有提供激活码。
将激活码填入 Vector License Client 中,然后点击 Load 连接 Vector 服务,有时会连接失败,多试几次。据说下午激活成功率比较高(德国服务器可能在中国上午时间处于维护状态)。
连接失败会出现如下提示界面:
如果连接成功,勾选第一项,并选择Target Device 为本机电脑,然后点击 Activate 进行激活。激活成功后显示如下:
从 Vector Tool Manager 中打开 CANoe 16:
按照下图红框标识进行选择。
在CANoe的Simulation Setup中,整个系统会以图形化的方式显示网络、设备和所有网络节点。(Simulation Setup 和 Communication Setup 都是配置环境,用来配置SOA仿真的各个部分。)
Create Configuration 之后出现如下界面:
接下来在以太网网段里添加SOME/IP的FIBEX或ARXML数据库文件。这个数据库文件是 CANoe 安装后自带的,文件所在目录是:
C:UsersPublicDocumentsVectorCANoeSample Configurations 16.0.145EthernetSimulationSOMEIPBasicAutosarDBNetwork.arxml
点击下图红框中的 Databases,然后右键选择Add...,找到 Network.arxml 数据库文件添加到目标网络:
在AUTOSAR架构下,ARXML文件作为通用配置文件或数据库文件,在数据传输和存储中起到关键作用。
添加成功之后,Databases 下出现Vehicle_Ethernet,右键单击该数据库名称并选择Node Synchronization(节点同步)。
出现如下所示的对话框,选择需要创建的节点,点击 >> 按钮,点击下一页、完成:
在 Simulation Setup 中,右键单击总线节点,点击“Assign Module to all Network nodes” 选择文件,这里要传入的文件是 “[安装时配置的目录]Vetor_CANoe_16Exec64CANoeILNL_AUTOSAR_Eth.dll”。
至此,一个完整的仿真环境已经搭建完成。此外还可以通过右击ECU节点,选择Component configuration,修改服务的发送方式等。
配置好之后,就可以启动模拟了,Real bus表示有真实总线连接,需要把CANoe硬件通道和软件通道映射起来,本文不适用。Simulated bus表示没有外部总线,只有仿真总线,也就不需要映射软硬件通道。
选择红框中的模式:
Start 开始:
在CANoe->Trace窗口可以查看到SOME/IP的通信过程:
调整一下通信展示的布局,在下图 1处右键,选择 Field Chooser,将 Sender Node 和 Receive Node 拖拽到表头,方便后续查看:
从下面的通信中可以看出,摄像头作为服务端提供服务(offer service),ADAS 作为客户端发现服务(find service),当 ADAS 检测到服务可用时,它会向摄像头发起事件组订阅请求(subscribe eventgroup),摄像头收到订阅请求之后,会给ADAS做出响应(subscribe eventgroup acknowledgement)。
每个数据包的具体内容可以点击下图箭头所指的按钮查看:
参考链接:
[1]https://mp.weixin.qq.com/s/iVcCvr9XLXauWCzFxzwaHQ基于SOME/IP的残余总线仿真环境
[2]https://blog.csdn.net/hjt6927818/article/details/123518978 CANOe系列讲解 - CANOe基础知识介绍
[3]https://blog.csdn.net/weixin_40367126/article/details/104513874 windows10系统安装canoe
[4]https://www.e-planet.cn/news_page-105.html 换个方式在CANoe中实现SOA仿真
[5]基于SOME/IP协议的Demo小车Ethernet通信系统设计及建模仿真
原文始发于微信公众号(关键基础设施安全应急响应中心):CANoe16搭建SOME/IP通信仿真环境
- 我的微信
- 微信扫一扫
-
- 我的微信公众号
- 微信扫一扫
-
评论