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

    文章

    66

    浏览量

    8637
收藏 人收藏

    评论

    相关推荐

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

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

    智驾仿真测试实战之自动泊车HiL仿真测试

    汽车进入智能化时代,自动泊车功能已成为标配。在研发测试阶段,实车测试面临测试场景覆盖度不足、效率低下和成本高昂等挑战。为解决这些问题,本文提出一种自动泊车HiL仿真
    的头像 发表于 10-10 08:05 2697次阅读
    智驾<b class='flag-5'>仿真</b><b class='flag-5'>测试</b>实战之自动泊车HiL<b class='flag-5'>仿真</b><b class='flag-5'>测试</b>

    【干货分享】硬件在环仿真(HiL)测试

    技术,通过接入真实的控制器,采用或者部分采用实时仿真模型来模拟被控对象和系统运行环境,实现整个系统的仿真测试。实时仿真硬件(也称HIL
    的头像 发表于 09-19 17:15 884次阅读
    【干货分享】硬件在环<b class='flag-5'>仿真</b>(HiL)<b class='flag-5'>测试</b>

    SOA架构开发小助手PAVELINK.SOA-Converter V1.4.2新版本发布

    PAVELINK.SOA-Converter转换工具,用于衔接基于SOA的控制器设计、开发及测试过程中所常见的各类软件工具。PAVELINK.SOA-Converter能提供IDL及服
    的头像 发表于 08-07 15:10 539次阅读
    <b class='flag-5'>SOA</b>架构开发小助手PAVELINK.<b class='flag-5'>SOA</b>-Converter V1.4.2新版本发布

    车辆动力学模型DYNA4与CANoe集成操作演示#CANoe #车辆动力学仿真

    模型CANoe
    北汇信息POLELINK
    发布于 :2024年06月20日 18:35:52

    CANoe中Logging模块使用方法及妙招

    Logging是CANoe软件中的数据记录模块,主要在台架测试中使用,支持CAN/CANFD、LIN、FlexRay以及车载以太网总线的数据记录。常用的数据记录仪还有GL数据记录仪,GL有自己单独
    的头像 发表于 05-23 08:25 1181次阅读
    <b class='flag-5'>CANoe</b>中Logging模块使用方法及妙招

    仿真测试与软件测试的区别

    在当今软件开发和验证的领域中,测试是保证软件质量的关键环节。而在测试的众多方法中,仿真测试和软件测试是两种常见且重要的手段。虽然它们都是为了
    的头像 发表于 05-17 14:33 858次阅读

    CANoe新版本18正式发布

    新版本持续为电动智能软件开发测试带来系列化的新功能,新版本CANoe产品体系包括具有GUI交互的桌面版本、可部署在服务器后云端的服务器版本、HIL台架专业版本:强化ADAS目标可视化分析与测试、新增
    的头像 发表于 05-09 08:25 3536次阅读
    <b class='flag-5'>CANoe</b>新版本18正式发布

    PAVELINK.SOA-Converter-应用场景介绍#SOA #IDL转化 #汽车架构开发

    SOA
    北汇信息POLELINK
    发布于 :2024年04月29日 18:56:30

    汽车电子电气架构SOA如何实现

    在车载环境中,SOME/IP基本解决了SOC,但SORS呢?SOS呢?仅有SOC的SOA是没有灵魂的,是不完整,也不可能实现SOA的目标,故而,若认为SOA=SOME/IP的话,你真的
    发表于 04-11 10:01 331次阅读
    汽车电子电气架构<b class='flag-5'>SOA</b>如何<b class='flag-5'>实现</b>?

    CANoe软件的使用操作说明

    本文档是CANoe软件的使用操作说明,方便刚接触CANoe的伙伴们快速上手使用这个软件。
    的头像 发表于 02-25 14:30 1.2w次阅读
    <b class='flag-5'>CANoe</b>软件的使用操作说明

    如何理解IGBT的四种SOA

    如何理解IGBT的四种SOA? IGBT的四种SOA表示了IGBT器件在不同工作状态下的安全操作区域。这四种SOA是:Continuous SOA、Limited
    的头像 发表于 02-18 11:04 1058次阅读

    CanoE和TC3x7应用套件之间建立通信,如何实现通过串行通信从CanoE收到的数据帧?

    我想在 CanoE 和 TC3x7 应用套件之间建立通信。 我希望开发板打印它通过串行通信从 CanoE 收到的数据帧。 我该怎么做? 我是初学者,请帮忙。
    发表于 01-31 06:36

    soa光放大器原理 soa光放大器增益测试

    )的工作原理,以及相关的增益测试方法,带领读者更深入地了解SOA光放大器的特性和应用价值。 一、SOA光放大器的工作原理 半导体光放大器(Semiconductor Optical Amplifier,简称
    的头像 发表于 01-25 09:48 3765次阅读

    soa光放大器增益测试

    附近产生复合发光,进而增强光信号的强度。SOA光放大器具有宽带宽、高增益、低噪声等特点,因此在光通信和光网络中有广泛的应用。 为了确保SOA光放大器的质量和性能,需要进行增益测试。增益测试
    的头像 发表于 01-10 13:38 960次阅读