本文讲解关于Autosar的另外两个设计模式:仲裁模式和信号质量模式,上篇花大量篇幅讲解了《传感器执行器模式》。
1.仲裁模式
为了解决多个不同提供者或请求者之间的仲裁问题,引入一个新的组件,这个组件的作用是管理所有来自不同请求者或提供者的请求。
当使用发送者 / 接收者接口时,仲裁组件需要为每个请求者或提供者设置不同的请求或提供端口,为不同的请求或提供者设置唯一的名称,各端口的数据类型保持一致。
请求者仲裁
提供者仲裁
例程演示
多个设定点请求的例程,多个SWC的请求,经过仲裁SWC仲裁后,将仲裁结果发送到抽象设备。
多个请求者
RTE下多个请求
多个合并值传递
多个抽象设备上传的合并值,经过仲裁,传递到应用SWC。
2.信号质量状态模式
该设计模式不涉及相关的接口实现,是为了达成对信号质量的通用理解,并对信号质量可能呈现出的各种状态进行标准化定义。
在整个系统中建立统一的信号质量评估标准,使得不同的组件和模块能够依据相同的规则来处理和判断信号的有效性和可靠性。
在信号传输过程中,对于每个信号 ,除了传递信号本身的值之外,相应的质量信息也需要一同被传递。
定义的信号质量如下:
信号质量值 | 相关信号的状态 | 含义 |
未定义:UNDEFINED | 未定义值 | 完全没有关于质量的任何信息。意味着信号质量未被定义,且信号值未初始化/未计算,或者不再计算(例如期望的功能停用) |
有效:VALID | 有效值 | 来自主信号源的可信赖的值 |
替换:REPLACEMENT | 具有降低有效性的替换值 | 是一个替换值,可能是建模值或定义的常量值,没有关于该信号值有效性的信息 |
冻结:FROZEN | 冻结值 | 是一个冻结的值,之前必须已经计算出一个有效的值,但不知道该值已被冻结多长时间 |
无效:INVALID | 无效值 | 值不可信赖,不能使用 |
汽车行业,域控软件架构师🚘。
熟悉汽车电子和嵌入式软件开发测试✍🏻️。
关注我,领取汽车电子嵌入式入门宝典。
https://mv0qxzpryx9.feishu.cn/wiki/TPvDwYGcAizCVEkH3fVci48nn9f?from=from_copylink 密码:8M&78193