介绍一下AUTOSAR各个组件之间用来交换数据的基础

2023-09-13  

什么是VFB?它的作用是什么?

在AUTOSAR中,应用程序被设计为相互连接的SWC组合。虚拟功能总线是这些SWC互相交互的通讯机制。在系统配置阶段,SWC被映射到特定的ECU上。因此,SWC之间的虚拟连接被映射为本地连接(同一个ECU上),或者基于车载网络的通讯机制,如CAN,Flexray等。SWC与SWC之间以及SWC与BSW之间相互连接的接口被称为RTE。


下图即是系统配置的过程:把各个SWC映射到相应的ECU上,根据系统需求,不同的SWC可能会被映射到同一个ECU上(通过本地的RTE接口通讯),也可能被映射到不同的ECU上(通讯的RTE接口要基于CAN,Flexray等车载网络)。

图片

一个SWC包含一部分或全部的功能模块,一个SWC由代码实现和与之关联的正式描述文件组成。虚拟功能总线的概念实现了应用软件与基础软件的严格隔离。实现应用软件的SWC很大程度上独立于通讯机制,通过该机制SWC可以和其他的SWC或者硬件(比如传感器、执行器)进行交互。


通过VFB可以指定系统的完整通信,包括所有的提供者(Provider or Server)和使用者(Receiver or Client)。因此VFB可以用于检查软件组件通信的可信性。通讯连接和被连接的SWC被保存在同一个描述文件中,该描述文件会在接下来的几个阶段被用到(映射、软件配置等)。


VFB需要给实现汽车功能的SWC提供所有的基础服务:

  • 和系统中的其他SWC进行通信

  • 和系统中的传感器或执行器通信

  • 访问标准服务,如读写NVM

  • 响应工作模式变化,比如ECU的电源状态变化

  • 和系统中的标定、测量系统的交互

Port以及Interface

在VFB级别构建系统时使用的中心元素是SWC。SWC具有定义良好的Ports,通过这些Ports SWC可以和其他SWC进行交互。一个Port总是只属于一个SWC,并且表现为该SWC和与之通信的其他SWC之间的交互点。


下图展示了一个SWC定义的例子,该SWC叫做SeatHeatControl, 它根据几个输入来控制座椅内的加热单元。在这个例子中,该SWC需要以下几个信息作为输入:

  • 座椅上是否有乘客落座(通过port "SeatSwitch")

  • 座椅加热温度设置(通过port "Setting")

  • 电源状态(通过port "PowerManagement"),在特定转台下它可以禁用座椅加热功能

该SWC控制:

  • 和座椅温度调节相关的DialLED(通过port "DialLED")

  • 座椅加热单元(通过port "HeatingElement")

而且,该SWC还具有标定功能(通过port "Calibration"),需要ECU的状态(通过port "ecuMode"),还需要对NVM的访问(通过port "nv")。

图片

上面的例子中多次提到了port,那什么是port?它的作用是什么呢?

如前文所述,port是SWC之间的交互点。port总是和interface一起构成SWC之间通信的桥梁,port可以简单理解为端口,而interface可以理解为连接端口的线缆。

一个port可以是PPort, RPort, 或PRPort。一个PPort或PRPort提供在port-interface里定义的数据,而一个RPort或PRPort则获取在port-interface里定义的数据。

部分Port和Interface的类型如下表所示:

1.jpg

以上,只是列出了AUTOSAR中常用的部分Port-Interface类型,更多类型大家可以查阅AUTOSAR的手册。

当一个SWC的PPort提供client-server接口时,该组件负责实现接口中定义的操作。

在下图的例子中,SWC "SeatHeating" 实现了操作"SetPower",其他SWC可以通过port "Setting" 来调用该操作。SWC "SeatHeatingControl" 通过port "HeatingElement" 来调用操作"SetPower"。

图片

当一个SWC提供sender-receiver接口时,该组件负责提供接口中定义的值。

在下面的例子中,SWC "SeatSwitch" 通过port "Switch"为"PassengerDetected" 提供布尔值。相似的,SWC "SeatHeatingControl" 可以通过port "SeatSwitch"读取"PassengerDetected" 的状态。

图片


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。