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

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

3天内不再提示

请问一下RPB是干啥用的

冬至配饺子 来源:开心果 Need Car 作者:开心果 Need Car 2022-08-30 10:19 次阅读

此问题源于群内小伙伴的讨论,本文将该问题带来的思考分享给大家。

1、RPB的作用

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

pYYBAGMNcv-AFbv4AACv4P4DsD4811.png

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

pYYBAGMNcxKASrraAAB5FBwBt8Q401.png

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

接收:如果接收到的网络管理报文中,RPB = 1,请求当前的节点进入RMS状态。

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

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

poYBAGMNcyeAHQgOAAELFy9Scr0926.png

2、RPB的使用场景

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

poYBAGMNcziAZplVAABNKeA54EQ337.png

具体解释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)状态,此时:

ECU1进入RMS状态,ECU1发送的网络管理报文中,PNI(Partial Network Information Bit)置位(PNI= 1),且关联ECU3的PNC_ECU3 = 1,ECU3网络被唤醒;

且RPB = 1,随即ECU2和ECU3进入RMS状态;

ECU2和ECU3发送的网络管理报文中,RPB = 1,且稍微晚于ECU1。

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

如下所示:

pYYBAGMNc0qAMF_KAACa8qLNexM061.png

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

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

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


审核编辑:刘清

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

    关注

    145

    文章

    1812

    浏览量

    129587
  • 网络管理
    +关注

    关注

    0

    文章

    107

    浏览量

    27502
  • AUTOSAR
    +关注

    关注

    9

    文章

    327

    浏览量

    21129
  • RMS
    RMS
    +关注

    关注

    2

    文章

    134

    浏览量

    35373
收藏 人收藏

    评论

    相关推荐

    请问一下睡眠模式怎么WFI进入中断?

    请问一下睡眠模式怎么WFI进入中断,还有进入睡眠模式说的CPU时钟关闭,对其它时钟及模拟时钟无影响是什么意思,除了PWR时钟开启,其他关闭吗,什么是模拟时钟
    发表于 04-23 07:57

    请问一下pspiceA/D中 E 这个仿真模块怎么

    请问一下pspiceA/D中 E 这个仿真模块怎么
    发表于 11-28 09:46

    不好意思了 还得求助一下大家呢

    麻烦问一下大家 个MOSFET(开关型的)的漏极和栅极接有电阻和双二极管的并联电路是个啥电路啊 有啥作用呢。这个图片上器件没有用过啊是干啥的了呢
    发表于 04-08 16:48

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

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

    请问一下怎么FPGA实现汽车视频和图形控制?

    请问一下怎么FPGA实现汽车视频和图形控制?
    发表于 04-29 06:12

    请问一下Picoammeter测量能有多快?

    请问一下Picoammeter测量能有多快?
    发表于 05-14 06:29

    请问一下LoRaWAN部署物联网就定安全?

    请问一下LoRaWAN部署物联网就定安全?
    发表于 06-10 10:28

    请问下图的这个比较器结构主要是干啥的?

     咨询一下,下图的这个比较器结构主要是干啥的?  比较器左端输入是1.2V bandgap,右端输入是VDD分压过来的;  初始状态比较器不工作,比较器的开关打开,将输出拉低,右端输入电压默认
    发表于 06-24 07:53

    STM32CubeMx是干啥子的

    工欲利其事,必先利其器,今天就先来利利STM32CubeMx这个器吧; 先说一下STM32CubeMx是干啥子的吧,它能帮你建工程,生成部分代码,你只要往相应的代码里面添加你的功能便可以了,总之
    发表于 08-05 06:12

    请问一下fanin是什么意思

    请问一下fanin是什么意思?
    发表于 10-29 07:14

    请问一下怎样cubemx去配置stm32定时器呢

    请问一下怎样cubemx去配置stm32定时器呢?求解
    发表于 11-23 07:27

    请问一下ARM为什么可以伪操作NOP实现短暂延时呢?

    请问一下ARM为什么可以伪操作NOP实现短暂延时呢?
    发表于 07-18 15:44

    请问一下STM32H750BV哪个包好?

    请问一下,STM32H750BV哪个包好?看了一下3.1.3的BSP包里面没有STM32H750这个板级支持。不知道 兼容性怎么样。
    发表于 02-23 15:01

    RL78/G14RPB 原理图s

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

    RL78/G14RPB 原理图s

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