大数跨境

基于Adaptive AUTOSAR的SOA仿真介绍(上篇)

基于Adaptive AUTOSAR的SOA仿真介绍(上篇) 怿星科技
2021-01-15
1
导读:通过搭建仿真工程、仿真程序设计、查看仿真结果三个环节来介绍在CANoe13.0中实现基于Adaptive AUTOSAR描述文件的SOA仿真过程

为适应汽车的发展趋势(智能化、网联化等),应对汽车E/E系统开发面临的新的挑战(高性能处理器的应用,自动驾驶的软件实现,高带宽通信需求,车与外界的互联互通等),AUTOSAR组织在2017年推出了AUTOSAR Adaptive。随着PREEvision9.5的发布,基于Adaptive AUTOSAR的SOA(面向服务的架构)的实现与落地将不再是构想。


越来越多的小伙伴开始使用PREEvision的AUTOSAR Adaptive Explorer开发设计SOA,并最终将我们的设计转换为AUTOSAR描述文件(包含Application Description以及各类Manifest)。AUTOSAR描述文件是其他仿真、验证以及代码生成工具的输入与源头,如下图所示为Vector Adaptive AUTOSAR工具链示意图。关于如何在PREEvision中设计Adaptive AUTOSAR,请参考我们公众号另外两篇文章《基于PREEvision的AUTOSAR Adaptive设计——上篇》以及《基于PREEvision的AUTOSAR Adaptive设计——下篇》



图1 Vector Adaptive AUTOSAR 工具链(图片源于vector)


小怿将基于CANoe13.0来介绍如何使用PREEvision工具生成的Application Description.arxml文件实现基于Adaptive AUTOSAR的SOA仿真。自CANoe12.0开始推出了一种全新的配置环境,即Communication Setup,支持基于Adaptive/Classic AUTOSAR的仿真与测试,并提供了vCDL工具链,用于SOA数据库的设计,如下图所示。关于Communication Setup与vCDL的更多介绍可参考我们公众号另外一篇文章《换个方式在CANoe中实现SOA仿真》


图 2 Unified CANoe Communication Model(图片源于vector)


接下来,小怿将通过搭建仿真工程、仿真程序设计、查看仿真结果三个环节来介绍在CANoe13.0中实现基于Adaptive AUTOSAR描述文件的SOA仿真过程。


1

搭建仿真工程


在环境配置环节我们将通过创建工程并导入数据库、仿真模型的校验与完善、配置Participants的状态、Network Binding、配置硬件接口卡(可选项)等步骤来搭建基于Adaptive AUTOSAR描述文件的SOA仿真工程。


新建工程

小怿介绍的是基于Communication Setup这种新模式下的仿真,如下图所示,在新建工程的时候要选择Network-Based的模板,比如“ASR4_Ethernet”或者“Ethernet”模板。有“legacy”后缀的代表的是“Channel-Based”模板。


图 3 仿真工程模板选择


导入ARXML数据库

打开Communication Setup窗口,如下图所示,选择Import Data Source将从PREEvision导出的同时包含一个或者多个服务的Server与Client Application Description的ARXML导入到CANoe工程中。


PS:当ARXML文件只包含Server或Client 的Application时,在 Communication Setup会自动生成一个名称为Env 的Participant,模拟ARXML文件中所包含的Application的对端服务


图 4 Communication Setup窗口

仿真模型的校验与完善

这一步,我们将通过Communication Setup窗口验证我们上一步导入的ARXML文件中是否有错误信息,并配置仿真节点的MAC地址。


在Communication Setup窗口中单击“Edit Communication Model”打开Model Editor。可以通过Model Editor的检查功能对导入的ARXML数据库从CANoe仿真的角度进行错误检查,如下图所示,单击“Validate”按钮即可检查出ARXML中的一些错误或者警告配置项,如果没有错误检查项则继续,否则返回到PREEvision中根据错误提示修改模型。


图 5 验证ARXML的错误或警告项


如下图所示,在Model Editor中选择Network Settings在窗口右侧Network Elements窗口中选择要配置节点的IP地址,然后单击编辑按钮,最后在弹出的MAC Addresses对话框中检查参与仿真的节点的MAC地址是否重复,是否与定义的一致?根据实际情况去配置每一个参与仿真的节点的MAC地址。


图 6 修改仿真节点MAC地址


配置Participants的状态

在Communication Setup中设置Participant(可以理解成一个Machine/ECU或者一个APP)的状态,如下图所示,选择Service Provider所在的Participant,将其状态设置为Simulated,再选择Service Consumer所在的Participant,将其状态设置为Simulated。如果是半实物仿真则需要将代表真实Machine/ECU的Participant的状态设置为Remote。


图 7 配置Participants的状态


配置Network Binding

目前在CANoe中可以将服务Binding到SOME/IP上实现网络通信仿真,当然也可以将服务Binding到“Abstract”上实现仅对服务接口的仿真。选择一个Communication Object(可以是服务、PDU或者信号),在Binding下拉框中选择SOME/IP即可。在Adaptive AUTOSAR中一个Communication Object是一个服务角色。


图 8 配置Network Binding方法一


除了图8所示的Network Binding之外还可以通过在Communication Setup的System Setup窗口单击Configure Binding,在弹出的Bindings对话框中,如下图所示,直接将服务拖拽到SOME/IP或者Abstract即可实现SOME/IP Binding或者Abstract Binding。如果是SOME/IP Binding还需要将其模式设置为Ethernet PRBS Mode。


图 9 配置Network Binding方法二


配置硬件接口卡(可选项)

PS:在半实物仿真,或者ARXML文件只包含Server或者Client的Application且使用CANoe14.0以下版本时,才需要用到硬件接口卡。


从CANoe 12.0/Hardware Driver 11.1版本开始以太网接口卡(VN5XXX系列)配置方式逐渐向基于网络模式(Network-based mode)的方式转变。在配置硬件接口卡之前需要确保您的Vector设备驱动版本在11.1以上。


下面以VN5640为例,介绍在Network-based模式下的硬件配置方法:

首先打开Vector Hardware Configuration窗口;在Hardware列表中选择VN5640;右键选择Ethernet access mode configuration打开下图所示以太网访问模式配置窗口;将硬件模式切换为Network-based mode。


图 10 以太网访问模式配置


切换到Network-based模式以后,右键点击VN5640设备,选择Ethernet device configuration即可进入全新配置界面Vector Ethernet Device Configuration。如下图所示,在该界面需要根据真实的仿真网络拓扑,并通过交换机、物理端口、虚拟端口等组件来配置硬件接口卡内部的仿真网络环境,最后单击左上角的Write保存配置。对于Network-based mode这种新的硬件配置方式中一些组件的含义可查看CANoe Help文档。


图 11 Vector Ethernet Device Configuration


然后打开Port Configuration窗口,选择硬件配置所用到的物理端口(或虚拟端口)通过Add Selection选项将其添加到Measurement Ports中。如此才能在Trace窗口中看到已添加的物理端口(或虚拟端口)的收发情况。


图 12 Port Configuration


最后通过Channel Mapping将仿真工程与之前配置的Network映射即可。


图 13 Application Channel Mapping


那么今天就介绍到这里啦,以上内容中如有不理解的地方,下方评论区我们一起来探讨。刚刚关注我们的小伙伴们,文章中链接的几篇关联文章也是很值得一看的哦,希望各位都能从这些文章中有所收获。下期我们继续介绍仿真程序设计和如何查看仿真结果,请大家继续关注小怿,我们下周见啦~


更多精彩推荐:
基于PREEvision的AUTOSAR Adaptive设计——上篇
基于PREEvision的AUTOSAR Adaptive设计——下篇
说说AUTOSAR数据类型的那些事儿
浅谈汽车SOA架构开发和实施过程中的微服务化
PREEvision之报告用法介绍
如何用PREEvision设计E2E通信保护
换个方式在CANoe中实现SOA仿真
CANoe13.0新功能解锁,速来收藏
总线仿真,还可以这样玩!

【声明】内容源于网络
0
0
怿星科技
让智能汽车研发更高效!
内容 428
粉丝 0
怿星科技 让智能汽车研发更高效!
总阅读993
粉丝0
内容428