0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何理解和使用Update bit呢?

谈思实验室 来源:开心果 Need Car 作者:开心果 Need Car 2023-10-07 16:04 次阅读

随着汽车智能化发展,整车通信矩阵越来越复杂,即:不同电控单元之间需要交互的信息越来越多,这些信息通过报文(Message)传输。

Message中携带的信号(Signal)最终要传递给软件的上层模块,参与算法处理,之后再将处理后的信息形成Signal发送出去。

Autosar通信栈,简化示意如下:

a72b5114-5f78-11ee-939d-92fbcf53809c.png

不管车辆通信变得如何复杂,均需要确保车辆运行的安全性,而车辆是否能按照预期状态工作,离不开控制器对Signal的及时响应,所以,及时的获取Signal状态尤为重要。

为了满足此需求,在Autosar的架构中,对于发送端(Sender)和接收端(Receiver)设计了不同的信号状态处理策略。其中,超时机制(Timeout)与信号更新机制(UB,Update bit)最为典型。

提示:由于Signal Group UB与Signal UB实现类似,本文侧重Signal UB的讨论。

1、UB概念

UB:表示发送端(Sender)所发送信号(Signal)/信号组(Signal Groups)数据是否有更新,如果发送端发送的Signal/Signal Groups有更新,由COM层自动置位对应的UB(=1),反之,复位UB(=0)。

为什么需要用UB位表示Signal/Signal Groups的数据有没有更新呢?假设如下场景,报文Message_A包含信号Signal_A、Signal_B等,Message_A的发送周期为10ms,而Signal_A的更新周期为30ms,示意如下:

a73ca392-5f78-11ee-939d-92fbcf53809c.png

面对如上的场景,接收端(Receiver)应当检测Sender是否更新过Signal_A的值,以便于Receiver更好的进行算法处理。因此,为了表示Signal/Signal Groups数据是否有更新,设计了UB,UB需要消耗Message中的资源。举例:设计Signal_A_UB信号用于表示Signal_A数据是否更新过。

a75752dc-5f78-11ee-939d-92fbcf53809c.png

由于UB需要消耗Message资源,因此,可以根据工程场景,对重要信号进行UB配置,对非重要信号,不配置UB,即:UB是一个选配项。同时,UB本身也是一个Signal。在如上的表述中,Sender和Receiver如何理解呢?

(一)同一网段Signal传输

如果Sender、Receiver在同一个局域网内,两者之间的信号传输如下所示:

a76d6932-5f78-11ee-939d-92fbcf53809c.gif

(二)跨网段Signal传输

如果Sender、Receiver在不同局域网内,两者之间的信号传输如下所示:

a7749252-5f78-11ee-939d-92fbcf53809c.gif

2、UB在发送端的处理

如果为某个信号配置UB时,需要思考两个问题:

1、何时置位发送端的UB位?

2、何时复位发送端的UB位?

(一)何时置位发送端的UB位?

当上层软件模块(Upper Layer)需要发送Signal时,会通过RTE(Run-Time Environment)调用COM层的发送接口Com_SendSignal()/Com_SendSignaGroup()更新Signal或者Signal Group值,与此同时,COM模块自动将Signal/Signal Group对应的UB置位,示意如下:

a77df8f6-5f78-11ee-939d-92fbcf53809c.png

(二)何时复位发送端的UB位?

在Autosar的架构设计中,何时复位发送端的UB信号,有三种模式供开发者选择:Transmit、Confirmation、TriggerTransmit。而这三种模式的选择,通过参数ComTxIPduClearUpdateBit配置。如何理解这三种模式呢?

1、Transmit模式复位UB

配置参数ComTxIPduClearUpdateBit = Transmit,当COM模块请求PduR模块发送接口PduR_ComTransmit()发送数据,当该接口返回E_OK时,COM模块复位UB,具体流程如下:

a786fd70-5f78-11ee-939d-92fbcf53809c.png

2、Confirmation模式复位UB

配置参数ComTxIPduClearUpdateBit = Confirmation,当Message成功发送到总线以后,从驱动层通过Callback层层向上通知,直到COM模块收到Message成功发送到总线的确认信息,COM模块复位UB,具体流程如下:

a82dcb64-5f78-11ee-939d-92fbcf53809c.png

3、TriggerTransmit模式复位UB

此种模式在工程中,不多见,本文不做过多讨论。

3、UB在接收端的处理

Receiver成功从总线接收到目标Message以后,驱动层通过Callback层层向上通知,直到COM模块收到Message,PduR模块通Com_RxIndication()接口将数据通知COM某块,示意如下:

a83b3678-5f78-11ee-939d-92fbcf53809c.png

其中,接收到的UB信息在Com_RxIndication()接口中进行处理,具体的处理如下所示:

a84a37cc-5f78-11ee-939d-92fbcf53809c.png

接收处理解读:

1、当Message信息层层向上传递到COM模块时,Com_RxIndication()处理UB相关操作,如果在Receiver中配置了I-PDU Callout,则程序进行Callout处理,Callout主要进行用户自定义处理。

如果Receiver中未配置I-PDU Callout,则进行后续处理;

2、进行UB检查,如果UB = 0,COM丢弃UB对应的信号。如果UB = 1,程序进行后续的字节序转化(针对跨字节信号),Signal路由等操作。

提示:Autosar架构中,COM层处理Signal级别路由,PduR处理PDU(可以看作帧)的路由。

(一)Receiver何时复位UB

Receiver处理收到的UB,需要与reception deadline monitor逻辑配合处理,即:如果信号deadline超时,则对应信号的UB位需要复位(=0)。reception deadlinemonitor属于选配项,如果信号没有配置reception deadlinemonitor,则接收端接收到的UB信号值会一直保持上次的接收值。

4、UB对应的工程问题

UB看起来似乎不难,但是,当其成为通信栈的一部分时,可能会因系统工程的复杂性,而引发各种各样的问题。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    67

    文章

    16682

    浏览量

    219919
  • 控制器
    +关注

    关注

    110

    文章

    13898

    浏览量

    168291
  • 接收机
    +关注

    关注

    8

    文章

    973

    浏览量

    52002
  • AUTOSAR
    +关注

    关注

    6

    文章

    260

    浏览量

    20931
  • PDU
    PDU
    +关注

    关注

    0

    文章

    83

    浏览量

    16711
收藏 人收藏

    评论

    相关推荐

    怎么生成update.itb这个文件

    update.itb,怎么生成这个文件,有没有相关教程?谢谢!
    发表于 12-30 07:54

    如何去解决update_mbr failed的问题

    update_mbr失败p=soc c=snddaudio1 state=0 p
    发表于 01-13 09:44

    如何在RK3288 Ubuntu上制作升级包update.img

    update.img
    发表于 03-10 08:02

    USB232-9 Driver Update

    发表于 08-08 21:53 29次下载

    华硕 Update自动升级BIOS程序7.13.05版

    Update自动升级BIOS程序7.13.05版.zip
    发表于 01-27 14:19 3次下载

    华硕 Update在线升级BIOS工具7.15.13版

    Update在线升级BIOS工具7.15.13版.zip
    发表于 01-27 15:49 16次下载

    微星 Live Update 3在线升级工具3.98版

    Update 3在线升级工具3.98版.zip
    发表于 02-03 14:55 10次下载

    华硕 Update自动升级BIOS程序7.07.06版

    Update自动升级BIOS程序7.07.06版.exe
    发表于 02-05 15:50 3次下载

    华硕 Update自动升级BIOS程序7.07.08版

    Update自动升级BIOS程序7.07.08版.zip
    发表于 02-05 15:50 4次下载

    华硕 Update自动升级BIOS程序7.12.03版

    Update自动升级BIOS程序7.12.03版.zip
    发表于 02-05 15:51 7次下载

    DAC5672,pdf(Dual 14-Bit 275 MS

    bit, high-speed DAC with on-chip voltage reference.
    发表于 06-09 09:58 36次下载

    DAC2904,pdf(Dual, 14-Bit, 125

    bit, dual-channel, high-speed Digital-to-Analog Converter (DAC
    发表于 06-09 10:03 19次下载

    MKT_Update_05.2

    Update 05.2,有需要的下来看看。
    发表于 02-19 16:30 10次下载

    Vivado中综合实现和出bit文件步骤教程

    bit文件。各Block都搭建完成后,选中这个bd右键,Generate Output Products主要是把IP参数和连接信息update到project中,同时也会检查错误。
    的头像 发表于 07-05 01:21 3.6w次阅读
    Vivado中综合实现和出<b>bit</b>文件步骤教程

    rpi-update 与 系统升级

    update是一个命令行应用程序,可以将您的Raspberry Pi操作系统内核和VideoCore固件更新到最新的预发布版本。
    的头像 发表于 06-30 10:57 93次阅读