0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈CANoe实现SOA仿真测试

北汇信息POLELINK 2022-08-01 14:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

2021年,汽车界的热门话题层出不穷:互联网企业进军汽车界,软件定义汽车,某斯拉事件,全球芯片短缺等等。

这次文章的关键词与软件定义汽车有关:SOA。

我们这次来聊一聊怎么通过我们熟悉的CANoe工具去实现SOA的相关功能。

什么是SOA

SOA的全称是面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。(来源:百度百科)

SOA里面涉及服务,接口、服务提供者、服务消费者等概念。

  • 服务:实现某种功能的函数或方法,是一个可远程访问并独立执行和更新的离散功能单元;
  • 接口:能够被其他模块调用的函数名称或一个封装的API
  • 服务提供者:提供服务功能 如算法,数据源;
  • 服务消费者:如消费数据,使用功能。

但是SOA的架构为什么要在汽车上应用?

我们可以通过下面的例子进行思考,并分析传统架构与面向服务架构的异同。

pYYBAGLmNZqAfXz6AAE3Cfau6rg319.png

根据上面的例子我们可以清晰的看出:

对于传统面向信号的架构来说,增加新功能所需要的步骤更加繁琐,增加了我们对于开发本身的成本,也可以透过整个流程看出,面向信号的架构对于系统本身的利用率并不高。

面向服务的架构对于ECU的更新版本、更新信号库、代码修改等过程更加简便和灵活。简化成了注册服务与调用API。节约了时间成本,让整个系统的功能可扩展性极大扩张。

汽车在不断提高智能化水平;引入智能驾驶,V2X等技术的同时,也更加关注用户的体验与需求。软件的迭代、OTA等功能的使用也越来越广泛和频繁。在我们传统的电子电气架构下,我们可扩展的功能越来越有限,我们需要一个功能可扩展性强、软硬件松散耦合、标准化接口、支持异构系统集成的电子架构。这也就是为什么我们要在汽车上使用SOA架构。

System and Communication Setup功能介绍

CANoe中System and Communication Setup功能主要的使用场景是建立SOA仿真通信。SOA的核心是服务,任何功能都可以链接到“服务”,并且服务的提供者和消费者都可以自由地改变。因此Communication Setup功能主要是在环境中实现不同的服务的链接,这些服务链接不仅局限于数据库中的定义,可以在CANoe仿真环境中动态地建立连接。

在Communication Setup中将应用层与实际传输介质分离。我们在这里使用通信对象来描述应用层信息,通信对象可以是服务、PDU或者信号。在此环境下,通信对象可以完全独立于网络通信介质,在CANoe中进行纯粹的模拟通信。

通信对象可以通过绑定链接到传输介质。绑定的方式也分为两种。

  • 第一种是采用以太网传输,绑定SOME/IP通信。我们可以通过以太网协议实现端对端的Server与Client仿真相关的SOA功能。
  • 第二种是通过抽象绑定,这类绑定一般是在开发的早期阶段,通过抽象绑定,无需定义底层协议,注重的是应用的通信

pYYBAGLmNb-AfBs0AAGpiYDSiH8626.png

我们可以通过以上表格了解传统工程仿真的元素与SOA仿真元素的对应关系。

配置流程介绍

打开CANoe后即进入仿真标签,找到左上角系统与通信窗口。

poYBAGLmNeGAagswAACCksnXvbM315.png

之后进入到配置界面

poYBAGLmNfmAe1emAACm6L2L4S4942.png

首先我们需要加载数据源文件。

poYBAGLmNgeAPuMQAADRtv5tzgc714.png

pYYBAGLmNhSABJY9AAFtfgxau4k927.png

选取ARXML或者是vCDL等文件。

加载完成后进入下一步,可在数据库加载完成后提前定义好数据库中属于被测系统以及测试环境的元素有哪些。

poYBAGLmNiGAEvGjAAGVRuvBcjA206.png

poYBAGLmNjWABJKhAAGF8LQ9lQM996.png

导入完成后回到配置界面

添加应用模型文件(.CAN/.CS/.DLL等)。

pYYBAGLmNkOAeviJAADFRFhEIlw929.png

poYBAGLmNlGAQQfZAADLvRSrAMQ539.png

如果你使用的是CANoe 14.0版本,模型导入完成后需要进行通信绑定的配置。

pYYBAGLmNneATAZMAAEb6X-pMKM605.png

绑定界面可将未定义的元素进行拖动定义,绑定分为抽象绑定或SOME/IP绑定。

poYBAGLmNpOAQMf0AACnTXauYiM536.png

完成后点击OK保存。

在CANoe 15.0版本中,通过读取ARXML或vCDL等数据文件,文件预先设置了节点角色,可直接进入服务查看通信绑定状态。

如绑定SOME/IP

pYYBAGLmNquAGb_0AACAJ9096iA691.png

或者是抽象绑定

poYBAGLmNsuATUUxAADNVD7ezFs016.png

基本配置完成后,之后我们再进入系统浏览器,查看之前加载好的所有数据。

左侧的菜单栏中对我们的测试功能进行了分类,分为系统定义与预定义。

poYBAGLmNuiANW5fAADGX4q7Mgc341.png

预定义的分类下是我们在数据库导入的时候定义好的。

poYBAGLmNvqAPbxbAAA4cuzb6Bg323.png

poYBAGLmNwSAWTP8AABStlNmcqk110.png

我们可以在窗口右上角切换用例的运行环境。

如果我们的被测对象是真实设备,并且已经与CANoe进行了连接,可以将右上角的用例状态切换为environment simulation。

poYBAGLmNxCAIA4SAADJcOoxKjk696.png

切换后我们再将state的信息切换为REAL(Device)。此时我们的被测系统是真实的,而环境是仿真出来的。

pYYBAGLmNzuAZBxXAAD2rg7gB28032.png

如果我们也没有真实的硬件设备,我们把右上角状态切换为test the tester。

pYYBAGLmN0aAGjOzAADte580ysU363.png

切换后我们的state的信息会切换为simulated。此时我们的被测系统和环境都是仿真出来的。

我们也可以借助此窗口查看系统的通信关系。

poYBAGLmN1OAEMKgAACK_wpgJW0301.png

通信的拓扑图可以直观查看到。

pYYBAGLmN2qATNdfAAB9wchfJTE688.png

工具栏也可查看选择的端点内包含的通信对象。

配置完成后,点击熟悉的黄色闪电⚡按钮,就可以进行CANoe的SOA功能仿真啦。

poYBAGLmN4SAMQCBAAGIok_RxGs667.png

知识补充

1、在SOA仿真中我们看到了一种新的数据源格式:vCDL

首字母缩写词 vCDL代表 Vector Communication Description Language,是一种域特定语言 (DSLClosed),用于描述 CANoe中的通信对象。 vCDL允许通过用于简单和基于文本的通信对象配置的工具扩展 CANoe通信概念。 通信对象及其各自的参数以类似于最常见编程语言的语法定义。 该语言的主要设计目标是能够用很少的语言元素映射简单的结构。 如果需要复杂的配置,扩展语法允许通过属性补充定义(类似于 C#中常用的属性)。

我们可以使用系统自带的 vCDL Editer实现文件的生成与编辑。

poYBAGLmN6WAUWJyAAB8xhZKLds205.png

poYBAGLmN7CATcTTAACvOMahTHE603.png

2、CANoe可以编辑和生成ARXML了?

我们在编辑系统数据的功能窗口发现,我们可以查看ARXML的部分信息,如PDU、DATA Types、Encodings等。

poYBAGLmN8KAdKO9AAEM9asw72c062.png

目前模型编辑窗口修改的ARXML参数只是应用于当前工程内部,修改参数值和相关内容并不会改变ARXML数据库文件本身的内容,也无法生成新的ARXML文件。

此窗口更多的协助用户校对和匹配通信对象,以及更改修正关于以太网通信参数(如SOME/IP参数) 等场景使用。

5、为什么绑定功能中SOME/IP也作为绑定的一类?

SOME/IP (Scalable service-Oriented Middlewareover IP),即“运行于IP之上的可伸缩的面向服务的中间件”,是车载以太网中存在于应用层的高层协议。 “中间件”可以是操作系统,也可以是应用程序,也可以是某个服务功能。SOME/IP属于应用层协议,它提供面向服务的通讯接口。服务接口包含请求/响应方法(R/R Method),单向请求方法(F&F Method),通知事件(Notification Events),字段(Fields)。可以支持请求/响应模式的远程服务调用,也可以支持订阅/发布模式的消息通知。SOMP/IP-SD服务发现功能可以发现服务提供者的信息以及检查服务的状态。

服务是SOME/IP的最核心概念,在一个服务中,定义了服务端(Server)和客户端(Client)两个角色:服务端提供服务,客户端调用服务。对于同一个服务,只能存在一个服务端,但可以同时存在多个客户端调用服务。

poYBAGLmN_qAVsQWAABksOxP03E838.png

SOA本身的特性就是面向服务,并需要通过协议调用一个或多个服务进行数据交互来满足系统的业务需求。

一个是面向服务的架构,一个是面向服务的通信协议。SOA架构中的服务可借助SOME/IP在不同的软件平台或操作系统之间共享资源,两者在此功能中集合是一种必然。

在车载以太网普及度逐年攀升的时代,在实车上实现SOA以及进行测试通常会运用到SOME/IP协议。

6、总结

CANoe Communication Setup功能为实现SOA模型的交互和模型测试提供了全新的接口。用户可以通过CANoe更加灵活地实现面向服务架构的仿真。

汽车新四化的发展,汽车的功能由过去的靠特定功能硬件实现转向为越来越多靠功能执行模块实现,软件对汽车的功能和性能起着决定性作用。

面对未来全新的架构,CANoe可以继续极大程度简化测试与开发流程,帮助用户高效开发。

CANoe是德国Vector公司出的一款总线开发环境,是网络和ECU开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统开发过程;其丰富的功能和配置选项被OEM和供应商的网络设计工程师、开发工程师和测试工程师所广泛使用。

北汇信息作为Vector中国的合作伙伴,不仅提供相应的工具和技术支持服务及培训,还针对不同的应用提供相应的解决方案,助力中国客户的研发效率提升。

注:部分图片来源于Vector。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CANoe
    +关注

    关注

    4

    文章

    82

    浏览量

    9536
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SOA应用-光子集成

    SOA
    天津见合八方光电科技有限公司
    发布于 :2025年12月02日 14:50:11

    CANoe.Diva典型使用问题五则

    .Diva不符合标准协议测试逻辑问题问题举例:在使用CANoe导入Diva工程自动化测试时,下图这个用例,ECU回复0x78之后从CANoe的Trace中显示回复了正响应,但上
    的头像 发表于 11-27 09:51 1664次阅读
    <b class='flag-5'>CANoe</b>.Diva典型使用问题五则

    SOA增益饱和特性仿真分析

    SOA仿真,通常离不开载流子速率方程、传输方程、以及增益方程这三大方程,本文根据增益方程分析行波半导体光放大器TW-SOA的增益饱和特性。
    的头像 发表于 10-31 09:29 265次阅读
    <b class='flag-5'>SOA</b>增益饱和特性<b class='flag-5'>仿真</b>分析

    爆肝整理!CANoe选型不再纠结,3分钟快速上手!#CANoe

    CANoe
    北汇信息POLELINK
    发布于 :2025年07月30日 16:36:44

    CANoe中ADAS功能集介绍

    高级驾驶辅助系统(ADAS)在汽车中的应用日益增长,为了满足工程师对于ADAS的分析、仿真测试等功能的需求,CANoe从15.0版本开始提供ADASFeatureSet(ADAS功能集,简称AFS
    的头像 发表于 07-10 14:55 1056次阅读
    <b class='flag-5'>CANoe</b>中ADAS功能集介绍

    CANoe产品体系19版本新特性及新增Option(上)

    、10BASE-T1S和CANFDLight赋能当下预研工作,全面综合增强全球充电系统的仿真和验证有效支撑新能源车出海,全新的V2X设备满足车联网测试验证,满足SOA架构下透传
    的头像 发表于 06-11 10:03 2535次阅读
    <b class='flag-5'>CANoe</b>产品体系19版本新特性及新增Option(上)

    OptiSystem应用:宽带SOA特性

    本案例的目的是通过仿真表征半导体光放大器(SOA)。 首先,我们将描述SOA对输入信号功率变化的响应。 图1显示了仿真中使用的系统布局。将连续激光器的功率参数置于扫描模式下,在-40
    发表于 06-10 08:45

    CANoe产品体系19版本新功能(下)

    NET 8.0现已支持测试脚本、应用模型和仿真节点的开发,支持C# 12,可使用async/await进行等待,本机编译实现快速加载,改进应用层对象的API实现处理复杂数据类型,并支持
    的头像 发表于 05-29 14:05 2035次阅读
    <b class='flag-5'>CANoe</b>产品体系19版本新功能(下)

    OptiSystem应用:SOA波长变换器(XGM)

    携带信息转换到λ2上,通过滤波器取出λ2光信号,即可实现从λ1到λ2的全光波长转换。输入信号和CW信号可以被双向或反向地发射到SOA中。这里考虑了一种传播方案。 为了实现这一想法,强度调制的输入信号
    发表于 05-20 08:46

    OptiSystem应用:宽带SOA特性

    本案例的目的是通过仿真表征半导体光放大器(SOA)。 首先,我们将描述SOA对输入信号功率变化的响应。 图1显示了仿真中使用的系统布局。将连续激光器的功率参数置于扫描模式下,在-40
    发表于 05-19 08:48

    OptiSystem应用:SOA波长变换器(XGM)

    携带信息转换到λ2上,通过滤波器取出λ2光信号,即可实现从λ1到λ2的全光波长转换。输入信号和CW信号可以被双向或反向地发射到SOA中。这里考虑了一种传播方案。 为了实现这一想法,强度调制的输入信号
    发表于 04-01 09:35

    CANoe仿真HTTP节点的实战秘籍大公开

    在汽车电子系统测试中,CANoe作为主流的仿真测试工具,常需与云端服务器、第三方软件或物联网设备进行交互。随着CANoe与外部软件、服务器或
    的头像 发表于 03-05 10:04 906次阅读
    <b class='flag-5'>CANoe</b><b class='flag-5'>仿真</b>HTTP节点的实战秘籍大公开

    OptiSystem应用:宽带SOA特性

    本案例的目的是通过仿真表征半导体光放大器(SOA)。 首先,我们将描述SOA对输入信号功率变化的响应。 图1显示了仿真中使用的系统布局。将连续激光器的功率参数置于扫描模式下,在-40
    发表于 02-05 09:29

    OptiSystem应用:SOA波长变换器(XGM)

    携带信息转换到λ2上,通过滤波器取出λ2光信号,即可实现从λ1到λ2的全光波长转换。输入信号和CW信号可以被双向或反向地发射到SOA中。这里考虑了一种传播方案。 为了实现这一想法,强度调制的输入信号
    发表于 01-06 08:51

    SOA整车电子电气仿真测试解决方案

    经纬恒润TESTBASE 硬件在环(HIL)仿真测试平台可以为SOA电子电气系统提供高效自动化测试的一站式解决方案,为SOA车型电子电气系统
    的头像 发表于 12-12 16:46 1955次阅读
    <b class='flag-5'>SOA</b>整车电子电气<b class='flag-5'>仿真</b><b class='flag-5'>测试</b>解决方案