我們清楚Autosar網(wǎng)絡(luò)管理,也知道收到網(wǎng)絡(luò)管理報(bào)文會(huì)喚醒網(wǎng)絡(luò),但是網(wǎng)絡(luò)管理如果上PN功能的話,就只能是指定的網(wǎng)絡(luò)管理報(bào)文才可以喚醒網(wǎng)絡(luò)。這個(gè)指定網(wǎng)絡(luò)管理報(bào)文是如何過濾的呢?來,我們看看Autosar怎么做的。
1、縮寫詞
Acronym/abbreviation | Description |
CBV |
Control Bit Vector |
PN |
Partial Network |
PNC | Partial Network Cluster |
PNI | Partial Network Information |
PNC解釋
為便于理解,以最常見的Can總線為例,其它總線同理。比如在某個(gè)Can網(wǎng)段內(nèi),有3個(gè)ECU,其中ECU1包含3路Can,即Node1、Node2、Node3,ECU2包含兩路Can,即Node4、Node5,ECU3包含1路Can,即Node6。如下所示:
假設(shè),我們示例中的Can網(wǎng)段設(shè)計(jì)了5個(gè)PNC,分別定義PNC ID為:0x01、0x02、0x03、0x04、0x05。一個(gè)Node可以加入一個(gè)PNC,也可以加入多個(gè)PNC。這里的PNC類似Ethernet的多播組概念。舉個(gè)例子:我的微信里有100個(gè)好友,但是我要將一些事情告訴某些好友,而不是全部好友。于是,我將好友1、2、3拉了一個(gè)小群,設(shè)置標(biāo)簽PNC1;我又拉了好友1、2、5、6組建了另一個(gè)小群,設(shè)置標(biāo)簽PNC2。我發(fā)朋友圈的時(shí)候,選擇PNC1標(biāo)簽的好友可見我的消息,即使我的所有朋友都會(huì)看朋友圈,但是只有我的好友1、2、3可以看到我的消息(即喚醒Node1、Node2、Node3)。
假設(shè)需求如下所示:
PNC1:Node1、Node5、Node6
PNC2:Node2、Node4、Node6
PNC3:Node2、Node6
PNC4:Node1、Node2、Node3、Node4、Node5
PNC5:Node2、Node5
需求可以進(jìn)行如下分配:
PNC1 (0x01) |
PNC2 (0x02) |
PNC3 (0x03) |
PNC4 (0x04) |
PNC5 (0x05) |
|
Node1 |
1 |
0 |
0 |
1 |
0 |
Node2 |
0 |
1 |
1 |
1 |
1 |
Node3 |
0 |
0 |
0 |
1 |
0 |
Node4 |
0 |
1 |
0 |
1 |
0 |
Node5 |
1 |
0 |
0 |
1 | 1 |
Node6 |
1 |
1 |
1 |
0 |
0 |
注釋:
1 表示使能Node,0 表示不使能Node。
2、NM PDUFormat
一般來說,CAN網(wǎng)絡(luò)管理報(bào)文的PDU格式如下所示:
Byte0:節(jié)點(diǎn)ID,比如Node ID為0x509(假設(shè)網(wǎng)絡(luò)管理報(bào)文:0x500~0x5FF),工具配置時(shí),此字節(jié)設(shè)置0x09即可。因?yàn)?x05是網(wǎng)段標(biāo)識(shí),底層收到0x05xx的報(bào)文即可知道是網(wǎng)絡(luò)管理報(bào)文,之后根據(jù)偏移值(本例:0x09)即可知道是哪個(gè)Node。
Byte1:控制位向量。
Byte2~Byte7:用戶數(shù)據(jù)
這里只討論和PN功能相關(guān)的Bit6。
Bit6 = 1,表示有PN請(qǐng)求,如果有PN請(qǐng)求,則后面要判斷收到的網(wǎng)絡(luò)管理報(bào)文的PNC,判斷該節(jié)點(diǎn)是否在此PNC內(nèi);
Bit6 = 0,表示沒有PN請(qǐng)求,一般收到網(wǎng)絡(luò)管理報(bào)文就直接喚醒網(wǎng)絡(luò)。
3、NMPDU過濾算法
前面的討論為本小節(jié)做了鋪墊,那我們就好奇一個(gè)問題了:如果節(jié)點(diǎn)有PN功能,如果判斷收到的網(wǎng)絡(luò)管理報(bào)文可以喚醒當(dāng)前節(jié)點(diǎn)的網(wǎng)絡(luò)?
這里就涉及到了PDU的過濾算法問題。
示例
CanNmPnInfoOffset =4,PnInfo在PDU中偏移的距離
CanNmPnInfoLength = 2,Pn Info在PDU中的長度
Byte0 |
Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 | Byte7 |
NID |
CBV |
User Data |
PN Info |
User Data |
|||
0x09 |
0x40 |
0xFF |
0xFF |
0x12 |
0x8E |
0xFF |
0xFF |
如何識(shí)別出網(wǎng)絡(luò)管理報(bào)文可以喚醒該節(jié)點(diǎn)呢?Autosar中使用了屏蔽掩碼過濾的方式,如上例,Pn Info的長度為2byte,對(duì)應(yīng)設(shè)置2個(gè)Mask,比如:
CanNmPnFilterMaskByteIndex= 0,設(shè)置CanNmPnFilterMaskByteValue = 0x01;
CanNmPnFilterMaskByteIndex= 1,設(shè)置CanNmPnFilterMaskByteValue = 0x97。
之后對(duì)每個(gè)Pn Info采用位與運(yùn)算,運(yùn)算結(jié)果如下所示:
Filter Mask Value(Byte) |
Compared to received PNinfo |
Resulting |
0x01(byte0) |
0x12(NM PDU Byte4) |
0x00 (no relevant PN information) |
0x97(byte1) |
0x8E(NM PDU Byte5) | 0x86(relevant PN information) |
其中,有一個(gè)字節(jié)與結(jié)果不為0,表示該報(bào)文可以喚醒當(dāng)前節(jié)點(diǎn)。如果兩個(gè)字節(jié)的比較均為0x00,則當(dāng)前節(jié)點(diǎn)網(wǎng)絡(luò)不被喚醒,忽略該網(wǎng)絡(luò)管理報(bào)文。
提示:
有些transceiver有PNC過濾功能,也可以在硬件上設(shè)置此過濾功能。針對(duì)NXP TJA1145 Transceiver而言,只能過濾通信速率在1Mbps的報(bào)文,因此要注意項(xiàng)目中的網(wǎng)絡(luò)管理報(bào)文速率,如果使用的是CANFD,且速率是500Kbps/2Mbps,則NXP TJA1145 Transceiver硬件過濾功能可能就不能使用。也許在不久的將來,硬件變速率過濾功能也將成為現(xiàn)實(shí)。
審核編輯:劉清
-
CAN總線
+關(guān)注
關(guān)注
145文章
1956瀏覽量
131119 -
網(wǎng)絡(luò)管理
+關(guān)注
關(guān)注
0文章
122瀏覽量
27757 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
363瀏覽量
21792
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
TSMaster 中不同總線報(bào)文消息過濾的操作方式
![TSMaster 中不同總線<b class='flag-5'>報(bào)文</b>消息<b class='flag-5'>過濾</b>的操作方式](https://file.elecfans.com/web2/M00/40/07/pYYBAGJrUk2AaMaTAAAQONQtdzo461.jpg)
AUTOSAR CAN網(wǎng)絡(luò)管理
網(wǎng)絡(luò)管理NMT與特殊協(xié)議報(bào)文
AUTOSAR CAN網(wǎng)絡(luò)管理狀態(tài)機(jī)介紹
AUTOSAR信息安全框架和關(guān)鍵技術(shù)相關(guān)資料介紹
AUTOSAR_SWS_CAN網(wǎng)絡(luò)管理規(guī)范標(biāo)準(zhǔn)4.3.1
CAN網(wǎng)絡(luò)管理規(guī)范 AUTOSAR CP中文版
CAN網(wǎng)絡(luò)管理規(guī)范 AUTOSAR CP英文版
AUTOSAR CAN網(wǎng)絡(luò)管理協(xié)議
網(wǎng)絡(luò)管理報(bào)文的收/發(fā)與網(wǎng)絡(luò)管理時(shí)間配置參數(shù)解析
![<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>管理</b><b class='flag-5'>報(bào)文</b>的收/發(fā)與<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>管理</b>時(shí)間配置參數(shù)解析](https://file.elecfans.com/web2/M00/66/5B/pYYBAGMMkEaAOBfvAACGZDfBxkM610.png)
OSEK與AUTOSAR標(biāo)準(zhǔn)分別是怎么實(shí)現(xiàn)網(wǎng)絡(luò)管理功能的
AUTOSAR CAN網(wǎng)絡(luò)管理報(bào)文的數(shù)據(jù)場格式
科普系列:AUTOSAR與OSEK網(wǎng)絡(luò)管理比較(下)
![科普系列:<b class='flag-5'>AUTOSAR</b>與OSEK<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>管理</b>比較(下)](https://file.elecfans.com/web2/M00/52/D4/pYYBAGLNkrKAeFJaAAAjXRuImx0496.png)
詳解CAN總線的AUTOSAR網(wǎng)絡(luò)管理報(bào)文
![詳解CAN總線的<b class='flag-5'>AUTOSAR</b><b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>管理</b><b class='flag-5'>報(bào)文</b>](https://file1.elecfans.com/web2/M00/8E/6E/wKgZomTHKhiAO8MpAAEAjnxQ1Sc646.jpg)
一文解析AUTOSAR CAN網(wǎng)絡(luò)管理
![一文解析<b class='flag-5'>AUTOSAR</b> CAN<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>管理</b>](https://file1.elecfans.com/web2/M00/A2/4A/wKgZomT72geADA97AAAmCuU1zj4140.png)
評(píng)論