一、CAN通信矩陣的定義
CAN通信矩陣通常由整車廠完成定義,定義了車輛網(wǎng)絡中的各個ECU(電子控制單元)節(jié)點需要接收和發(fā)送的報文信息。每個ECU節(jié)點遵循該通信矩陣,完成信息的交互和共享。這些ID段和數(shù)據(jù)內容的分配通常由主機廠(OEM)自主進行,分配完成后通常會形成一個.xls格式的表格,這個表格就是CAN通信矩陣。
二、CAN通信矩陣的內容
CAN通信矩陣以表格形式顯示了信號、消息和網(wǎng)絡節(jié)點之間的相互關系,內容通常包括以下幾個方面:
網(wǎng)絡節(jié)點:每個汽車控制器作為一個網(wǎng)絡節(jié)點,負責發(fā)送和接收信息。
消息:一個控制器會發(fā)出多個幀報文,每幀報文稱為一個消息。這些消息在網(wǎng)絡中傳輸,攜帶特定的數(shù)據(jù)。
信號描述:包括信號的中文名稱、數(shù)據(jù)類型(如布爾類型Boolean、無符號Unsigned、有符號Signed)、信號長度(占多少個bit位)、字節(jié)次序(Motorola格式或Intel格式)、起始字節(jié)位置和起始位位置等。
精度/偏移量:描述信號值如何轉變成信號物理值,通過公式“真實物理值 = 信號值 * 精度 + 偏移量”計算。
范圍:信號數(shù)值的范圍,以及信號值的單位(如m、km)。
信號值描述:信號數(shù)值的含義,包括初始值和無效值等。
三、報文發(fā)送類型
報文發(fā)送類型可分為周期、事件、周期事件和使能周期四種類型:
周期:報文按照固定的周期發(fā)送,例如每隔100ms發(fā)送一幀報文。
事件:當某個事件觸發(fā)后,發(fā)送出數(shù)據(jù)報文,一般規(guī)定連續(xù)發(fā)送3幀,間隔20ms。
周期事件:報文以周期時間發(fā)送,當某個事件信號觸發(fā)后,按照事件的形式立即發(fā)送,之后恢復到固定周期發(fā)送。
使能周期:報文以周期時間發(fā)送,當某個事件觸發(fā)后并且達到下一個發(fā)送周期時,按照事件發(fā)送,一般規(guī)定連續(xù)發(fā)送3幀,間隔20ms。
有些報文規(guī)定了兩個特殊的信號:RollingCounter信號和CheckSum信號。
RollingCounter信號:滾動計數(shù)值,每發(fā)送一幀報文,該信號值累加1。
CheckSum信號:檢驗值,基于某種校驗算法(如CRC算法)對報文數(shù)據(jù)進行加密處理,保護CAN報文信號數(shù)據(jù)的安全。
在處理跨平臺數(shù)據(jù)傳輸時,需要考慮字節(jié)序(Byte Order)的問題。字節(jié)序分為大端序(Big Endian)和小端序(Little Endian)兩種:
大端序(Motorola格式):最高有效字節(jié)(MSB)存儲在內存的最低地址處,最低有效字節(jié)(LSB)存儲在內存的最高地址處。
小端序(Intel格式):最低有效字節(jié)(LSB)存儲在內存的最低地址處,最高有效字節(jié)(MSB)存儲在內存的最高地址處。
CAN通信矩陣是CAN網(wǎng)絡中不可或缺的組成部分,它定義了網(wǎng)絡中各個節(jié)點之間的通信關系和數(shù)據(jù)傳輸規(guī)則。了解并掌握CAN通信矩陣對于開發(fā)、測試和維護CAN網(wǎng)絡至關重要。通過合理定義和使用CAN通信矩陣,可以確保網(wǎng)絡中各個節(jié)點之間的信息交互和共享高效、準確地進行。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.