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

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

3天内不再提示

RPB(Repeat Message Request Bit)干啥用的?

冬至子 来源:开心果 Need Car 作者:开心果 Need Car 2022-11-15 14:59 次阅读

提示 :基于Can总线讨论

1

RPB的作用

首先,确定一下RPB的位置,RPB在CBV字节的Bit0,如下所示:

图片

RPB的作用是什么呢?看一下Autosar的官方解释,如下所示:

图片

意思就是:RPB = 1,有RMS(Repeat Message State)请求,否则没有RMS请求。这里我们需要从收/发两个层面理解:

  • 接收 :如果接收到的网络管理报文中,RPB = 1,请求当前的节点进入RMS状态。
  • 发送 :如果本节点的上层逻辑主动请求进入RMS,则会主动调用接口CanNm_RepeatMessageRequest(),之后本节点外发的网络管理报文中RPB = 1。提示:RPB置位与否的操作需要静态配置CANNM_NODE_DETECTION_ENABLED参数

CanNm_RepeatMessageRequest()接口声明如下所示:

图片

2

RPB的使用场景

这里我们假设一种工况:某个网段存在3个ECU:ECU1、ECU2、ECU3,且ECU3具有PN功能,ECU1对应的网络管理报文0x501,ECU2对应的网络管理报文0x502,ECU3对应的网络管理报文0x503。三个ECU在总线上的拓扑关系如下所示:

图片

具体解释3个节点的网络状态切换时序:

t0时刻 :ECU1和ECU2正常通信,两者均处于NOS(Normal Operation State)状态,发送的网络管理报文中,RPB未置位(RPB = 0)。ECU3处于BSM(Bus-Sleep Mode)状态(ECU3具有PN功能,因为收到的网络管理报文中,对应的PNC未置位,所以此时ECU3处于休眠状态)。

t1时刻ECU1主动调用接口CanNm_RepeatMessageRequest()请求进入RMS(Repeat Message State)状态,此时:

  1. ECU1进入RMS状态,ECU1发送的网络管理报文中, PNI(Partial Network Information Bit)置位(PNI = 1) ,且关联ECU3的 PNC_ECU3 = 1 ,ECU3网络被唤醒;
  2. 且RPB = 1,随即ECU2和ECU3进入RMS状态;
  3. ECU2和ECU3发送的网络管理报文中,RPB = 1,且稍微晚于ECU1。

t2时刻: ECU1、ECU2、ECU3依次进入NOS状态,且三者的RPB = 0。

如下所示:

图片

注意 :同一网段内的所有节点,对应的CANNM_MSG_CYCLE_TIME、CANNM_REPEAT_MESSAGE_TIME、CANNM_WAIT_BUS_SLEEP_TIME、NM-TIME_OUT时间参数需要保持一致,以便于网段内所有节点在近似相等的时间内进入相同的网络状态。

综上述:RPB具有协调不同ECU节点状态切换的作用,以便于网段内所有节点在近似相等的时间内进入相同的网络状态。

RPB是否还有其他使用场景?期待你不同的看法。

审核编辑:刘清

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

    关注

    145

    文章

    1926

    浏览量

    130602
  • AUTOSAR
    +关注

    关注

    10

    文章

    350

    浏览量

    21453
  • RMS
    RMS
    +关注

    关注

    2

    文章

    137

    浏览量

    35737
收藏 人收藏

    评论

    相关推荐

    干啥

    干啥
    发表于 03-05 23:18

    求救,错误输入到底是干啥的啊

    文件i/o中的那个错误输入到底是干啥的啊?感觉看不懂啊
    发表于 11-06 23:01

    请问command message与status message的意思是什么

    The motor command message must be sent at a minimum 1 second rate.The motor status message
    发表于 01-30 09:49

    FPGA_165B_Repeat_DigitalIO

    FPGA_165B_Repeat_DigitalIO,好东西,喜欢的朋友可以下载来学习。
    发表于 02-22 16:03 0次下载

    FPGA_165A_Repeat_DigitalIO

    FPGA_165A_Repeat_DigitalIO,好东西,喜欢的朋友可以下载来学习。
    发表于 02-22 16:03 0次下载

    request对象的常用方法

    Request对象的作用是与客户端交互,收集客户端的Form、Cookies、超链接,或者收集服务器端的环境变量。request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。
    发表于 11-16 16:14 8523次阅读
    <b class='flag-5'>request</b>对象的常用方法

    PHP中REQUEST和POST及GET有什么区别

    PHP中有$_REQUEST与$_POST、$_GET用于接受表单数据。 一、$_REQUEST与$_POST、$_GET的区别和特点 $_REQUEST[]具$_POST[]
    发表于 02-19 14:26 2次下载
    PHP中<b class='flag-5'>REQUEST</b>和POST及GET有什么区别

    Request ADAU1452 MiniZ Software

    Request ADAU1452 MiniZ Software
    发表于 01-29 15:53 2次下载
    <b class='flag-5'>Request</b> ADAU1452 MiniZ Software

    Request ADAU1452 MiniZ Software

    Request ADAU1452 MiniZ Software
    发表于 03-03 10:37 4次下载
    <b class='flag-5'>Request</b> ADAU1452 MiniZ Software

    请问一下RPB干啥

    注意:同一网段内的所有节点,对应的CANNM_MSG_CYCLE_TIME、CANNM_REPEAT_MESSAGE_TIME、CANNM_WAIT_BUS_SLEEP_TIME、NM-TIME_OUT时间参数需要保持一致,以便于网段内所有节点在近似相等的时间内进入相同的网络状态。
    的头像 发表于 08-30 10:19 5786次阅读
    请问一下<b class='flag-5'>RPB</b>是<b class='flag-5'>干啥</b><b class='flag-5'>用</b>的

    RL78/G14RPB 原理图s

    RL78/G14 RPB 原理图s
    发表于 04-12 18:56 1次下载
    RL78/G14<b class='flag-5'>RPB</b> 原理图s

    RL78/G14RPB 快速入门指南(YRPBRL78G14)

    RL78/G14 RPB 快速入门指南(YRPBRL78G14)
    发表于 07-21 11:17 1次下载
    RL78/G14<b class='flag-5'>RPB</b> 快速入门指南(YRPBRL78G14)

    RL78/G14RPB 原理图s

    RL78/G14 RPB 原理图s
    发表于 07-26 18:32 0次下载
    RL78/G14<b class='flag-5'>RPB</b> 原理图s

    verilog中repeat必须用begin和end吗

    在Verilog中,repeat语句不需要使用begin和end块。repeat语句是一种循环控制语句,允许重复执行一个代码块指定的次数。它的一般语法如下: repeat (n) statement
    的头像 发表于 02-23 10:14 1077次阅读

    PCI-E TLP学习笔记(2)

    ,configuration,message request、completetion(Memory Request Package、I/O Request 包、Configurati
    的头像 发表于 11-06 09:16 162次阅读
    PCI-E TLP学习笔记(2)