ker矩阵是什么意思_如何理解CAN通信矩阵
什么是CAN通信矩陣
CAN通信矩陣(CAN Communication Matrix)通常由整車廠完成定義,車輛網絡中的各個節點需要遵循該通訊矩陣才能完成信息的交互和共享。
我們知道CAN總線是一種通信形式,ISO 11898協議僅僅規定了數據鏈路層和物理層,也就是說傳什么ID、傳什么數據是沒有定義的,這留給了大家很多遐想空間。對于乘用車來說,滿足UDS和尾氣排放協議之后,還剩余了絕大部分的ID段。這些ID段由主機廠自主來進行分配,分配好之后會形成一個.xls格式的表格。有了CAN通信矩陣,開發人員就知道他設計的零部件應該接收什么ID的數據,需要發出什么ID的數據。
如何閱讀CAN通信矩陣
下面我們詳細介紹下怎么閱讀一份通信矩陣。
信號名稱:一般是以發送節點的名字開頭,“_”后面是具體指代的內容。如BMS_GeneralStatus。
信號長度:該信號的長度,單位是bit,位。
精度/偏移量:描述信號值如何轉變成信號物理值。比如精度是2,偏移量是5,那么信號的真實物理值 = 信號值 * 2 + 5。
物理值范圍:經過物理值轉換后的最大最小值。
其他的一些矩陣中還會有這樣的表述。
起始字節:起始位所在的字節序號。Byte0-Byte7。
起始位:信號LSB(least significant bit)所在的位置。通常這個位置是按照下面這個圖來說明的。
CAN矩陣的核心圖信號類型:Boolean 還是 Unsigned。
以上是CAN數據矩陣的基本內容。可以看出來,如何通過起始字節、起始位、數據長度,將數據矩陣中的內容對應到這64個小格子中是理解CAN數據矩陣的關鍵。
如何填格子
我們可以用Vector的CAN db++打開ZLG送的j1939.dbc文件。我們在Signals和Layout面板中看到,對于EEC1這個Message來說,它有8個Signal,填充時是從右向左填充的,比方說EngStarterMode這個信號,初始是第48位,長度是4,它的LSB自然就應該在Byte6的第48個位,之后向左填充,MSB是第51位。大家自行填充一下。
j1939.dbcj1939.dbc矩陣中的EEC1信號下面說下EngSpeed這個奇葩信號,它跨行了,即跨字節了,這就產生了先后的問題。
注意我們填格子的方式分為Intel和Motorola兩種。如果你的Signals都沒有跨字節的問題,那么Intel和Motorola格式出來的效果是一樣的。當然這不可能,你無法確保不跨字節。
Intel格式也即小端,MSB存放在高字節單元,反映到矩陣圖中就是以起始位為原點,自上而下填充。
Intel格式,MSB在LSB下面Motorola格式也即大端,MSB存放在低字節單元,反映到矩陣圖中就是以起始位為原點,自下而上填充。
Motorola格式,MSB在LSB上面New_Signal_5自下而上填充,Motorola具體采用哪種格式,聽主機廠的,這個無絕對,兩種格式都需要理解。但從經驗上來看以Motorola格式為主。我們回看下EngSpeed這個信號,起始位是24bit,先填充Byte3,之后向下填充Byte4,MSB在39bit上。因此是Intel格式。
EEC1中的EngSpeed是Intel格式,Byte3是低有效,Byte4是高有效名詞解釋:什么是信號的高位?什么是信號的低位?什么是信號的起始位?
信號的高位(most significant bit),即最能表達信號特性的因子。比如轉速2000rpm,0x7D0,即011111010000b。最左側的位,數量級最大,牽一發動全身,即高位。
信號的低位(least significant bit),即最不能表達信號特性的因子。剛才轉速中,最右側的0,即低位。就好像老板說給你每個月漲薪5元,你毫不在乎。
信號的起始位其實就是信號的最低位。主機廠在定義整車CAN總線通信矩陣時,每一個信號都從其最低位開始填寫。
報文封裝原則(恒潤)
1.同一個報文的所有信號須由同一個節點提供。
2.同一個報文所有信號的發送時機盡可能相同。
3.小于或等于8位的信號,不應跨越字節邊界。
不大于8位,不應跨越字節邊界4.小于或等于16位的信號,不應跨越字邊界。
5.信號從每個字節的起始位開始排列。
要從每個字節的起始位開始排列6.信號排列應當緊湊。
碼字不易,轉載請注明出處,感謝。
參考資料:
1.汽車CAN總線通信矩陣設計 - 圖文 - 百度文庫(恒潤)
2.如何進行汽車 CAN 總線開發?(柏老師)
3.CAN總線信號的編碼格式-Intel與Motorola的區別 - 圖文 - 百度文庫
4.https://www.cnblogs.com/yao-zhang/p/10220665.html
總結
以上是生活随笔為你收集整理的ker矩阵是什么意思_如何理解CAN通信矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【分层实验框架】阿里妈妈大规模在线分层实
- 下一篇: WebDav的几种应用方法