Autosar 组件通信
一个端口可以是
- PPort( 提供的接口 )
- RPort( 需要的接口 )
当 PPort 提供一个接口时,表示端口所属的组件
- 属性中定义的操作的实现客户机 - 服务器接口
- 生成面向数据的 SenderReceiver 接口中描述的数据 。
当组件的 RPort 需要 AUTOSAR 时接口,组件可以
- 当接口是 Client-Server 时调用操作
- 读取 Sender-Receiver 接口中描述的数据元素
基本的沟通模式
—— 客户端 - 服务器(Sender-Receiver)
接口指定
- 发送端和接收端通信传输什么信息
- 客户端 - 服务器通信可以使用哪些参数调用哪些服务
接口的正式描述在软件组件模板中,还包括可使用的数据类型和接口兼容性
基本通信模式的详细行为由属性指定。通过这些属性,例如数据队列的长度和接收者 ( 阻塞、非阻塞等 ) 和发送者 ( 循环发送等 ) 的行为都可以被定义
客户端 - 服务器通信
服务器是服务的提供者,而客户机是服务的用户
客户端发起通信,请求服务器执行服务,并在必要时传输参数集。
服务器等待来自客户机的传入通信请求,执行请求的服务并向客户机的请求发送响应
初始化方向用于对是否 一个 AUTOSAR 软件组件是一个客户端或服务器。单个组件可以是客户机,也可以是服务器,这取决于软件的实现
启动服务请求后,直到接收到服务器的响应
- 阻塞 ( 同步通信 )
- 非阻塞 ( 异步通信 )
客户端 - 服务器通信:符号
在 VFB 模型视图中,一个由三个软件组件和两个连接组成的客户 - 服务器通信示例
Sender-receiver communication
用于异步信息分发的模型,其中发送方将信息分发给一个或多个接收者
发送方不会被阻塞 ( 异步通信 ) ,既不期望也不从接收方获得响应 ( 数据或控制流 ) ,发送方只是提供信息,而接收方自主决定何时以及如何使用它
分发信息是通信基础设施的责任。
发送者不知道接收者的身份或数量
在 AUTOSAR 中如何建模发送方 - 接收方通信的示例
AUTOSAR 组件:通信行为
AUTOSAR 软件组件通信通过虚拟功能的总线。他们需要表达关于交换数据的需求和功能的方法,这目前可以通过两种属性实现
通信属性,允许指定影响 RTE 生成或运行时发生的实际通信的通信参数。此类属性的一个例子是前面提到的连接器上的传输时间
应用程序级属性,允许描述交换数据的属性,这些属性不会影响 RTE 的生成,但可以向开发人员指示需要如何处理数据。这种属性的一个例子是一个标志,无论数据是 “ 过滤的 ” 还是 “ 原始的 ” 。
AUTOSAR 组件 : 传感器 / 执行器组件
传感器 / 执行器组件是特殊的 AUTOSAR 软件封装应用程序对特定传感器或执行器的依赖关系的组件
AUTOSAR 基础设施负责隐藏的细节单片机 ( 这样做是 MCAL, 单片机的抽象层 , 它是 AUTOSAR 的一部分基础设施上运行 ECU) 和 ECU 电子 ( 这是由 ECU-Abstraction 也是的一部分 AUTOSAR 基本软件 )
虚拟功能总线是整个车辆互连的 AUTOSAR 软件组件的抽象。不同软件组件之间以及软件组件与其环境 ( 如硬件驱动程序、操作系统、服务等 ) 之间的通信可以独立于任何底层硬件 ( 如通信系统 ) 进行指定。 VFB 的功能是由通信模式提供的
RTE 负责 AUTOSAR 软件组件的生命周期管理。它必须调用软件组件的启动和关闭功能。
例如,如果将引入一个新的通信系统,一般没有 AUTOSAR 驱动程序可以控制通信控制器。为了能够通过这种媒体进行通信,驱动程序将在复杂设备驱动程序中专有地实现。如果通信请求通过该媒体,通信服务将调用复杂设备驱动程序而不是通信硬件抽象来通信