CAN ID 中的J1939-PGN
PGN是引數組編號,對於制定CAN協議來說十分重要,很多ECU在接受報文時識別的就是PGN而不是報文的ID,
報文ID作為報文的名字,是沒一條報文專有的名字,而一個PGN不僅僅對應一條報文。CAN的擴充套件幀使用29位識別符號,報文ID共有四個位元組32位,PGN共有3個位元組24位,兩者有重合但是PGN並不是ID的一部分。
PGN的24位分別是:6個bits的0,一個擴充套件資料頁(EDP)、資料頁(DP)、PF、GE。當PF<240的時候,GE=0,否則GE正常取值。下面是兩個例子:
報文ID:18FECA17
第一個位元組是18,轉換為二進位制是0001 1000 ,可以看到優先順序是110(十進位制的6),DP=0,R=0
第二個位元組是PF=FE(十進位制是254>240),
第三個位元組是GE,
第四個位元組是17
這裡因為PF>240,所以GE=CA,所以PGN=FECA
報文ID:0CDAEE17
第一個位元組是0C,轉換為二進位制為 0000 1100,優先順序011(十進位制的3),DP=0,R=0
第二個位元組是PF=DA(十進位制是218<240)
第三個位元組是GE
第四個位元組是17
這裡因為PF<240,所以GE=0,所以PGN=DA00
例如:0x18 FE DF 00 = 110 | 0 0 | 11111110 | 11011111 | 00000000
P R DP PF PS SA
具體引數即為資料段(0-64).
優先順序為 P = 110(2)或6(10)
PF>240則引數組(PGN)編號為 FEDF(16)或65247(10)
注意:PF<240 , PGN低位元組置零.
個人練習:
EEC1 0x0CF00400 PGN = F004(16) 61444(10)
EEC2 0x0CF00300 PGN = F003(16) 61443(10)
EEC3 0x18FEDF00 PGN = FEDF(16) 65247(10)
LFE 0x18FEF200 PGN = FEF2(16) 65266(10)
應答訊息 0x18E8FF00 PGN = E800(16) 59392(10) (PF<240)
相關文章
- Can GoldenGate Replicate An Oracle Table That Contains Only CLOB Column(s)? (Doc ID 971833.1)GoOracleAI
- RMAN restore fails with ORA-01180: can not create datafile 1 (文件 ID 1265151.1)RESTAI
- HTML中的tag、element、class、name、idHTML
- 分散式系統中ID的需求分散式
- NR中各種ID
- Android Studio中的package name和application IDAndroidPackageAPP
- Linux 中如何使用 id 命令Linux
- 【MySQL】七、再說MySQL中的 table_idMySql
- CSS中的class與id區別及用法CSS
- z-tree 回顯所有選中的id
- 在 JDBC 中獲取插入 IDJDBC
- 列表中,相同id分一組
- mysql中last_insert_id()用法MySqlAST
- CAN_NM
- CAN協議協議
- NVIDIA Xavier CAN
- ash報告中無sql_id的情況SQL
- OB運維 | 連線 kill 中的 session_id運維Session
- mysql中You can’t specify target table for update in FROM clMySql
- minipcie介面CAN卡在AGV小車專案中工控機的應用
- 如何配置 CAN 轉 PN 閘道器實現與 can 裝置的連線
- why you can be in netherland
- CAN過濾器過濾器
- id
- js去掉json中重複的id 重新push新的物件屬性JSON物件
- Only AI Flow Can Do!AI
- 在Linux上使用CANLinux
- [golang]-根據json中的某個key的值輸出對應的idGolangJSON
- iOS Device ID 的前世今生iOSdev
- 隱藏你的 ID 吧!
- 自增ID的實現
- CAN匯流排分析儀工具-CAN轉USB智慧協議轉換器協議
- 計算CAN波特率
- C# kvaser can 通訊C#
- Can匯流排介紹
- STM32——CAN通訊
- npm A complete log of this run can be found inNPM
- TypeError: can‘t concat str to bytesError