【车载开发系列】AutoSar中的组件相关知识

这篇具有很好参考价值的文章主要介绍了【车载开发系列】AutoSar中的组件相关知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【车载开发系列】AutoSar中的组件相关知识

一.SWC的概念

SWC(Software Component)是最常见到的一个概念了,软件组件是封装了部分或者全部汽车电子功能的模块。软件组件包括了其具体的功能实现以及与对应的描述。各个软件组件(SWC)通过虚拟功能总线进行交互,从而形成一个AUTOSAR应用软件。
细分的话还可以分成Atomic SWC和Composition SWC。一般单独说的SWC指的是Automic SWC。SWC最形象的对比就是一个.C文件了,那么Composition SWC顾名思义就是.C文件的集合,体现在代码上,就是保存.C文件的文件夹。

二.Port的概念

Port是依附在SWC上的概念,比如配置工具配置SWC后,需要配置这个SWC的Port。
可以这样理解,如果将SWC看做一个C文件的话,这个C文件当中是需要一些对外的接口用来完成交互用。所以必然在SWC上配置上输入(R-Port)的或者输出(P-Port)的Port。SWC之间是如何进行交互的?可以将Port想象成一个全局变量,可以发现,如果我们为SWC1和SWC2之间配置了一个SR的interface的话,SWC1中会有一个函数Rte_Write(),里面会对一个全局变量进行赋值。而另一边SWC2的里面会有一个Rte_Read()的函数,来读取这个全局变量。通过这种方式,达到了数据的交互。
Port一般可以分为以下的两种类型。

1.SR-Port

发送者/接收者接口定义了一系列的数据元素用于在虚拟功能总线上进行接收和发送。在代码层面上SR-Port(Sender-Reciever)主要是进行数据的传输
SR是对一个全局变量的操作,当然如果只涉及SWC内部的传输的话,就变成Static变量了。

2.CS-Port

客户端/服务器接口定义了一系列的操作,这些由包含该接口的供型端口所在的软件组件来实现,并提供给包含该接口的需型端口所在的软件组件调用。
CS-Port(Client-Server)是调用另一个SWC中的服务,或者理解成调用另一个函数。CS的则是在函数中调用另一个函数,特别是另一个SWC的函数才会需要经过RTE来调用,这个另一个SWC可以是本ECU内部的,也可以是跨ECU的。不过对于调用方的SWC,跨不跨ECU并没有什么区别。

三.Interface的概念

Interface它是一个抽象的概念,是一个无法直接在代码中对应的概念。如果SWC可以比较准确的对应为.C文件,Interface在配置工具的语境下包含了输入输出Port,以及两个Port之间的连接关系的一个集合。
在工具中,会为一个Interface命名,再将输入输出Port连接到这个Interface上,这样RTE层内部如何实现两个Port之间的代码维度的连接,就是工具在生成的了,这个时候内部生成的不管是全局变量抑或是宏定义等等,都会基于这个Interface的元名称进行扩展。正因此,才会需要在工具层面上具象化Interface,并给他一个命名。总结为一句话就是Port Interface是将两个Component连接起来的桥梁。

四.Runnable Entity的概念

它是可运行实体,其实就是.C文件内的函数。软件组件(SWC)的功能就是通过运行实体(Runable Entity)来表现的。
一个SWC可以包含多个Runnable Entity,就是一个.C文件可以包含多个函数,每个函数可以执行一个特定的操作。
并且Runnable Entity必须要挂在Task上,就像函数如果只是放在那里没有被调用的话,也不起作用,总归是要挂在某个Task上才会被运行

五.VFB的概念

虚拟功能总线(Virtual Function Bus,VFB)是AUTOSAR中的另一个重要概念。虚拟功能总线(VFB)是对AUTOSAR提供的所有通信机制的一种抽象,是所有软件组件(SWC)进行交互的桥梁。通过虚拟功能总线,软件组件之间的通讯细节被抽象出来,软件组件通过AUTOSAR定义的接口对通讯进行描述,即可最大程度地独立于具体的通讯机制,实现与其他软件组件(SWC)或硬件的交互。
通过虚拟功能总线(VFB),无论软件组件(SWC)使用的是单ECU的内部通信还是ECU间的外部通信,对于应用软件的设计者来说没有本质区别。内部通信与外部通信的区别只有等到系统配置阶段,将软件组件(SWC)分配到不同的ECU之后,才能体现出来。而在这种情况下,虚拟功能总线(VFB)的真实通信实现可以由运行时环境和基础软件来保证。
在虚拟功能总线(VFB)的帮助下,应用软件的各个软件组件不需要关注通信的区别,从而可以在独立的情况下设计开发软件组件。

六.PortPrototype的概念

AUTOSAR中的应用软件被组织在称为 AtomicSwComponentTypes的独立单元中。 此类AtomicSwComponentType封装了其功能和行为的实现,并且仅向外界公开了定义良好的连接点,称为PortPrototype。
PortPrototype可以理解是端口,定义两个不同Component组件的连接点,用于两者之间通信。PortPrototype可以是Port提供者(PPortPrototype)或Port的接收者(RPortPrototype)。SwComponentType 的PortPrototype应该用于连接SwConnector,从而在SwComponentPrototype之间建立实际连接

七.概念总结

应用软件层(Application Software Layer,ASW)包含若干个软件组件(Software Component,SWC),软件组件之间通过端口(Port)进行交互。端口之间是通过Interface进行了连接。每个软件组件可以包含一个或多个运行实体(Runnable Enity,RE),运行实体中封装了相关控制算法,其可由RTE事件(RTE Event)触发。
每个端口虽然定义了软件组件(SWC)间通信内容及其方向,但是通信内容以及用于交互的操作却仍不得而知。AUTOSAR中使用端口接口(Port-Interface)来描述端口之间的供需关系。文章来源地址https://www.toymoban.com/news/detail-433951.html

到了这里,关于【车载开发系列】AutoSar中的组件相关知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • android多屏触摸相关的详解方案-安卓framework开发手机车载车机系统开发课程

    直播免费视频课程地址:https://www.bilibili.com/video/BV1hN4y1R7t2/ 在做双屏相关需求开发过程中,经常会有对两个屏幕都要求可以正确触摸的场景。但是目前我们模拟器默认创建的双屏其实是没有办法进行触摸的 静态修改方案 使用命令查看display2即副屏的信息情况 adb shell dumpsys d

    2024年02月11日
    浏览(51)
  • 车载网络 - Autosar网络管理 - 网络管理报文

            NM报文的ID一般定义为:基础ID+源地址,每个节点应分配一个唯一的标识符(ECU地址)Node_ID,网络管理报文一般会统一一个基地址,这个是根据主机厂不同而不同,有些是用0x400 - 0x4FF或者0x500 - 0x5FF,也有0x600 - 0x6FF,这个根据实际情况来确认。不过Node_ID的取值范围

    2023年04月14日
    浏览(49)
  • 【车载开发系列】UDS诊断---读取数据($0x22)

    该服务的英文简称为ReadDataByIdentifier 。 根据ISO14119-1标准中所述,诊断服务22主要用于Client向Server(ECU)通过DID的方式读取相关的数据。这些数据可以输入输出的数字信号,模拟信号,内部数据以及其他的系统状态信息。作为诊断服务种的基础服务,可以简单理解为就是一个用于

    2023年04月19日
    浏览(60)
  • 【车载开发系列】UDS诊断---安全访问服务($0x27)

    该服务提供了一种保护机制,该机制用来保护访问限制的诊断服务。 加密策略采用种子和密钥相关联的方法。采用随机产生的种子,通过安全算法得到唯一的秘钥。 若秘钥匹配正确则可以调用受到保护的诊断服务。这个服务解锁的是处在某个安全等级下的服务。 诊断工具请

    2024年02月03日
    浏览(74)
  • 【车载开发系列】UDS诊断---动态定义DID($0x2C)

    动态定义数据标识符 DynamicallyDefineDataIdentifier(2Ch) 此服务允许诊断工具在ECU的内部动态定义一个数据标识符,一个临时的DID,可以通过这个DID读取一段内存的数据,也可以通过改DID一次性读取多个原有DID的数据。 该数据标识符还可以被读取数据服务22h或读取数据(周期标识

    2024年02月02日
    浏览(68)
  • 【车载开发系列】UDS诊断---读取DTC信息($0x19)

    UDS可以简单理解为一套完整的通讯协议框架,其目的在于规范各种行车电脑和ECU之间的通讯。0x19服务其实是读取DTC信息的服务。 1)DTC概念 故障存储相关的0x19和0x14服务。 当系统检测到了一个错误或者是一个故障发生的时候,会将相对应的数值故障码进行存储,那么这个对应

    2024年01月15日
    浏览(57)
  • Autosar CAN开发11-1(CAN控制器相关参数,位时间、Tq、采样点等)

            生活不易,猫咪叹气。好久没更新,距离上次更新已经是快半年前了。毕业到现在,已经在这家公司呆了快2年了。快的话一个月,慢的话两个月,马上就是提桶的日子了。                            说回我们的正题。                 平时在工作上,对于通

    2024年02月03日
    浏览(44)
  • 第十篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:涉及到的相关基础知识介绍和示例

    第一篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:从helloworld开始 第二篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:天气应用 第三篇【传奇开心果系列】Ant Design Mobile of React 开发移动应用:健身追踪 第四篇【传奇开心果系列】Ant Design Mobile of React 开发移

    2024年01月20日
    浏览(52)
  • Autosar诊断实战系列09-Dem中Event的Debounce开发介绍

    在本系列笔者将结合工作中对诊断实战部分的应用经验进一步介绍常用UDS服务的进一步探讨及开发中注意事项, Dem/Dcm/CanTp/Fim模块配置开发及注意事项,诊断与BswM/NvM关联模块的应用开发及诊断capl测试脚本开发等诊断相关实战内容。 Autosar诊断实战导读快速链接:Autosar诊断实

    2024年02月12日
    浏览(47)
  • AUTOSAR从入门到精通-【应用篇】基于动态数据压缩算法的车载CAN总线安全协议设计

    目录 前言 国内外研究现状 CAN总线及加密与认证算法 2.1引言 2.2常用车载总线网络

    2024年02月13日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包