0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

冬至子 ? 來源:開心果 Need Car ? 作者:開心果 Need Car ? 2022-11-15 14:59 ? 次閱讀

提示 :基于Can總線討論

1

RPB的作用

首先,確定一下RPB的位置,RPB在CBV字節(jié)的Bit0,如下所示:

圖片

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

圖片

意思就是:RPB = 1,有RMS(Repeat Message State)請(qǐng)求,否則沒有RMS請(qǐng)求。這里我們需要從收/發(fā)兩個(gè)層面理解:

  • 接收 :如果接收到的網(wǎng)絡(luò)管理報(bào)文中,RPB = 1,請(qǐng)求當(dāng)前的節(jié)點(diǎn)進(jìn)入RMS狀態(tài)。
  • 發(fā)送 :如果本節(jié)點(diǎn)的上層邏輯主動(dòng)請(qǐng)求進(jìn)入RMS,則會(huì)主動(dòng)調(diào)用接口CanNm_RepeatMessageRequest(),之后本節(jié)點(diǎn)外發(fā)的網(wǎng)絡(luò)管理報(bào)文中RPB = 1。提示:RPB置位與否的操作需要靜態(tài)配置CANNM_NODE_DETECTION_ENABLED參數(shù)。

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

圖片

2

RPB的使用場(chǎng)景

這里我們假設(shè)一種工況:某個(gè)網(wǎng)段存在3個(gè)ECU:ECU1、ECU2、ECU3,且ECU3具有PN功能,ECU1對(duì)應(yīng)的網(wǎng)絡(luò)管理報(bào)文0x501,ECU2對(duì)應(yīng)的網(wǎng)絡(luò)管理報(bào)文0x502,ECU3對(duì)應(yīng)的網(wǎng)絡(luò)管理報(bào)文0x503。三個(gè)ECU在總線上的拓?fù)潢P(guān)系如下所示:

圖片

具體解釋3個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)切換時(shí)序:

t0時(shí)刻 :ECU1和ECU2正常通信,兩者均處于NOS(Normal Operation State)狀態(tài),發(fā)送的網(wǎng)絡(luò)管理報(bào)文中,RPB未置位(RPB = 0)。ECU3處于BSM(Bus-Sleep Mode)狀態(tài)(ECU3具有PN功能,因?yàn)槭盏降木W(wǎng)絡(luò)管理報(bào)文中,對(duì)應(yīng)的PNC未置位,所以此時(shí)ECU3處于休眠狀態(tài))。

t1時(shí)刻ECU1主動(dòng)調(diào)用接口CanNm_RepeatMessageRequest()請(qǐng)求進(jìn)入RMS(Repeat Message State)狀態(tài),此時(shí):

  1. ECU1進(jìn)入RMS狀態(tài),ECU1發(fā)送的網(wǎng)絡(luò)管理報(bào)文中, PNI(Partial Network Information Bit)置位(PNI = 1) ,且關(guān)聯(lián)ECU3的 PNC_ECU3 = 1 ,ECU3網(wǎng)絡(luò)被喚醒;
  2. 且RPB = 1,隨即ECU2和ECU3進(jìn)入RMS狀態(tài);
  3. ECU2和ECU3發(fā)送的網(wǎng)絡(luò)管理報(bào)文中,RPB = 1,且稍微晚于ECU1。

t2時(shí)刻: ECU1、ECU2、ECU3依次進(jìn)入NOS狀態(tài),且三者的RPB = 0。

如下所示:

圖片

注意 :同一網(wǎng)段內(nèi)的所有節(jié)點(diǎn),對(duì)應(yīng)的CANNM_MSG_CYCLE_TIME、CANNM_REPEAT_MESSAGE_TIME、CANNM_WAIT_BUS_SLEEP_TIME、NM-TIME_OUT時(shí)間參數(shù)需要保持一致,以便于網(wǎng)段內(nèi)所有節(jié)點(diǎn)在近似相等的時(shí)間內(nèi)進(jìn)入相同的網(wǎng)絡(luò)狀態(tài)。

綜上述:RPB具有協(xié)調(diào)不同ECU節(jié)點(diǎn)狀態(tài)切換的作用,以便于網(wǎng)段內(nèi)所有節(jié)點(diǎn)在近似相等的時(shí)間內(nèi)進(jìn)入相同的網(wǎng)絡(luò)狀態(tài)。

RPB是否還有其他使用場(chǎng)景?期待你不同的看法。

審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1952

    瀏覽量

    130837
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    362

    瀏覽量

    21618
  • RMS
    RMS
    +關(guān)注

    關(guān)注

    2

    文章

    138

    瀏覽量

    35828
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    干啥

    干啥?
    發(fā)表于 03-05 23:18

    求救,錯(cuò)誤輸入到底是干啥的啊

    文件i/o中的那個(gè)錯(cuò)誤輸入到底是干啥的啊?感覺看不懂啊
    發(fā)表于 11-06 23:01

    請(qǐng)問command message與status message的意思是什么

    The motor command message must be sent at a minimum 1 second rate.The motor status message
    發(fā)表于 01-30 09:49

    FPGA_165B_Repeat_DigitalIO

    FPGA_165B_Repeat_DigitalIO,好東西,喜歡的朋友可以下載來學(xué)習(xí)。
    發(fā)表于 02-22 16:03 ?0次下載

    FPGA_165A_Repeat_DigitalIO

    FPGA_165A_Repeat_DigitalIO,好東西,喜歡的朋友可以下載來學(xué)習(xí)。
    發(fā)表于 02-22 16:03 ?0次下載

    request對(duì)象的常用方法

    Request對(duì)象的作用是與客戶端交互,收集客戶端的Form、Cookies、超鏈接,或者收集服務(wù)器端的環(huán)境變量。request對(duì)象是從客戶端向服務(wù)器發(fā)出請(qǐng)求,包括用戶提交的信息以及客戶端的一些信息。
    發(fā)表于 11-16 16:14 ?8573次閱讀
    <b class='flag-5'>request</b>對(duì)象的常用方法

    PHP中REQUEST和POST及GET有什么區(qū)別

    PHP中有$_REQUEST與$_POST、$_GET用于接受表單數(shù)據(jù)。 一、$_REQUEST與$_POST、$_GET的區(qū)別和特點(diǎn) $_REQUEST[]具$_POST[]
    發(fā)表于 02-19 14:26 ?2次下載
    PHP中<b class='flag-5'>REQUEST</b>和POST及GET有什么區(qū)別

    Request ADAU1452 MiniZ Software

    Request ADAU1452 MiniZ Software
    發(fā)表于 01-29 15:53 ?2次下載
    <b class='flag-5'>Request</b> ADAU1452 MiniZ Software

    Request ADAU1452 MiniZ Software

    Request ADAU1452 MiniZ Software
    發(fā)表于 03-03 10:37 ?4次下載
    <b class='flag-5'>Request</b> ADAU1452 MiniZ Software

    請(qǐng)問一下RPB干啥

    注意:同一網(wǎng)段內(nèi)的所有節(jié)點(diǎn),對(duì)應(yīng)的CANNM_MSG_CYCLE_TIME、CANNM_REPEAT_MESSAGE_TIME、CANNM_WAIT_BUS_SLEEP_TIME、NM-TIME_OUT時(shí)間參數(shù)需要保持一致,以便于網(wǎng)段內(nèi)所有節(jié)點(diǎn)在近似相等的時(shí)間內(nèi)進(jìn)入相同的網(wǎng)絡(luò)狀態(tài)。
    的頭像 發(fā)表于 08-30 10:19 ?5920次閱讀
    請(qǐng)問一下<b class='flag-5'>RPB</b>是<b class='flag-5'>干啥</b><b class='flag-5'>用</b>的

    RL78/G14RPB 原理圖s

    RL78/G14 RPB 原理圖s
    發(fā)表于 04-12 18:56 ?1次下載
    RL78/G14<b class='flag-5'>RPB</b> 原理圖s

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

    RL78/G14 RPB 快速入門指南(YRPBRL78G14)
    發(fā)表于 07-21 11:17 ?1次下載
    RL78/G14<b class='flag-5'>RPB</b> 快速入門指南(YRPBRL78G14)

    RL78/G14RPB 原理圖s

    RL78/G14 RPB 原理圖s
    發(fā)表于 07-26 18:32 ?0次下載
    RL78/G14<b class='flag-5'>RPB</b> 原理圖s

    verilog中repeat必須用begin和end嗎

    在Verilog中,repeat語(yǔ)句不需要使用begin和end塊。repeat語(yǔ)句是一種循環(huán)控制語(yǔ)句,允許重復(fù)執(zhí)行一個(gè)代碼塊指定的次數(shù)。它的一般語(yǔ)法如下: repeat (n) statement
    的頭像 發(fā)表于 02-23 10:14 ?1256次閱讀

    PCI-E TLP學(xué)習(xí)筆記(2)

    ,configuration,message request、completetion(Memory Request Package、I/O Request 包、Configurati
    的頭像 發(fā)表于 11-06 09:16 ?348次閱讀
    PCI-E TLP學(xué)習(xí)筆記(2)