AutoSAR的UB位

AutoSAR的UB位

作用

在AUTOSAR(汽车开放系统架构)中,UB位(Update Bit)起着非常关键的作用。它主要用于指示某个信号或信号组的数据是否已被更新。以下是UB位的几个主要功能和应用情景:

  • 信号更新指示:UB位用于指示发送端(Sender)是否已更新信号或信号组的数据。如果发送端的数据有更新,COM层会自动将相应的UB位设置为1,反之则复位为0​​。

  • 接收端处理:接收端在收到数据后,可以通过检查UB位来确定是否需要处理新接收到的数据。只有当UB位被设置为1时,接收端才会进一步处理该信号或信号组,包括过滤、通知、信号路由、字节序转换等操作​。如果UB位没有被设置,接收端可以选择使用该信号的上次值或初始值​。

  • 通信优化:通过UB位,接收端可以更好地进行算法处理,例如,如果一个消息的发送周期为10ms,而其中的某个信号的更新周期为30ms,接收端可以通过检查UB位来确定发送端是否更新了该信号的值,从而做出相应的处理​1​。

  • 通信矩阵处理:在某些情况下,通信矩阵中的信号会引入额外的UB位来处理特定的通信场景。例如,节点B在接收到特定数据后,还需要额外判断该数据的UB位是否被设置,以确定如何处理该数据​3​。

  • 信号或信号组的接收端识别:UB位帮助信号或信号组的接收端识别发送端是否在发送前更新了数据,这通过AUTOSAR的COM模块实现,它表征的是发送端在通过I-PDU传递给PDUR前,信号是否更新​4​。

通过以上的解释,可以看出UB位在AUTOSAR通信中起到了非常重要的作用,它帮助系统优化通信过程,确保数据的准确性和实时性。

原理

为了使信号/信号组的接收器能够在发送之前识别发送器是否已经更新了该信号/信号群中的数据,AUTOSAR COM模块支持更新位。

更新比特指示在包含该信号的I-PDU被发送到PDU路由器之前,发送器侧的用户(例如RTE或SwCluC)是否已经更新了信号值。

实现

发送时,SWC通过Rte_Write_xxxx更新信号,Rte_Write_xxxx调用Com_SendSignal/Com_SendSignalGroup时,对UB位进行更新。

接收时,

在这里插入图片描述

注意:这里参考https://zhuanlan.zhihu.com/p/540155789

官方图:https://www.autosar.org/fileadmin/standards/R22-11/CP/AUTOSAR_SWS_COM.pdf
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

原文

官方原文地址:AUTOSAR_SWS_COM.pdf

7.9 更新位

为了使信号/信号组的接收器能够在发送之前识别发送器是否已经更新了该信号/信号群中的数据,AUTOSAR COM模块支持更新位。

更新位指示在包含该信号的I-PDU被发送到PDU路由器之前,发送器侧的用户(例如RTE或SwCluC)是否已经更新了信号值。

如果在ComTxMode-NumberOfRepetitions大于或等于1的情况下使用传输模式DIRECT,则不允许更新位(请参见SWS_Com_00310)。

通过在发送方和接收方的配置,可以为每个信号单独添加和/或为每个信号组单独添加最多一个更新位。

更新位的位置可通过配置参数ComUpdateBitPosition(ECUC_Com_00257)来配置。ComUpdateBitPosition包含在配置容器ComSignal中。因此,确保了信号/信号组和相应的更新位始终是同一I-PDU的一部分。

[SWS_Com_00055] AUTOSAR COM模块应仅在内部处理更新位,而不是作为信号或信号组的一部分。⌋(SRS_Com_02030)

AUTOSAR软件组件无法直接看到或访问更新位。

[SWS_Com_00059] AUTOSAR COM模块应解释表7中定义的更新位。(SRS_BSW_00101, SRS_Com_02030)

在这里插入图片描述
7.9.1 发送方
更新位的初始化由SWS_Com_00117定义。

[SWS_Com_00061] 如果用户(例如RTE或SwCluC)通过调用Com_SendSignal来更新信号的值,AUTOSAR COM模块应设置该信号的更新位。(SRS_Com_02030)

[SWS_Com_00801] 如果用户(例如RTE或SwCluC)通过调用Com_SendSignalGroup来更新信号组,AUTOSAR COM模块应设置该信号组的更新位。(SRS_Com_02030)

[SWS_Com_00062] 如果I-PDU的参数ComTxIPduClearUpdateBit配置为Transmit,则AUTOSAR COM模块应在该I-PDU通过PduR_ComTransmit发出且PduR_CompTransmit返回E_OK后清除所有包含信号和信号组的所有更新位。(SRS_Com_02030)

[SWS_Com_00577] 如果I-PDU的参数ComTxIPduClearUpdateBit配置为Confirmation,则AUTOSAR COM模块应在该I-PDU通过PduR_ComTransmit发出后清除所有包含的信号和信号组的所有更新位,PduR_CompTransmit返回E_OK并且I-PDU被成功确认。(SRS_Com_02030)

[SWS_Com_00578] 如果I-PDU的参数ComTxIPduClearUpdateBit配置为TriggerTransmit,则在Com_TriggerTransmit成功请求该I-PDU的内容后,AUTOSAR COM模块应清除所有包含信号和信号组的所有更新位。(SRS_Com_02030)

7.9.2 接收器侧

[SWS_Com_00324] 如果接收到带有附加更新位的信号或信号组,AUTOSAR COM模块应仅处理该信号,即,如果设置了信号的更新位,则滤波器、通知、基于信号的网关、字节交换。(SRS_Com_02030)

[SWS_Com_00802] 如果接收到带有附加更新位的信号或信号组,且未设置更新位,AUTOSAR COM模块应丢弃该信号。(SRS_Com_02030)

如果信号尚未更新,则信号将不会通过信号网关进行路由。它只会被丢弃。
如果用户(例如RTE或SwCluC)读取到具有相关清除更新位的信号,则返回初始值或最后接收到的值。

[SWS_Com_00067] 如果信号附有更新位,并且设置了最新位的值,AUTOSAR Com模块应将信号/信号组解释为已更新。(SRS_Com_02030)

有关接收截止日期监控对具有更新位的信号的行为,请参见第7.3.6.1章。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值