一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

如何理解CAN通信矩陣

 牛牽花 2021-10-15

什么是CAN通信矩陣

CAN通信矩陣(CAN Communication Matrix)通常由整車廠完成定義,車輛網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)需要遵循該通訊矩陣才能完成信息的交互和共享。

我們知道CAN總線是一種通信形式,ISO 11898協(xié)議僅僅規(guī)定了數(shù)據(jù)鏈路層和物理層,也就是說傳什么ID、傳什么數(shù)據(jù)是沒有定義的,這留給了大家很多遐想空間。對(duì)于乘用車來說,滿足UDS和尾氣排放協(xié)議之后,還剩余了絕大部分的ID段。這些ID段由主機(jī)廠自主來進(jìn)行分配,分配好之后會(huì)形成一個(gè).xls格式的表格。有了CAN通信矩陣,開發(fā)人員就知道他設(shè)計(jì)的零部件應(yīng)該接收什么ID的數(shù)據(jù),需要發(fā)出什么ID的數(shù)據(jù)。

如何閱讀CAN通信矩陣

下面我們?cè)敿?xì)介紹下怎么閱讀一份通信矩陣。

圖片

信號(hào)名稱:一般是以發(fā)送節(jié)點(diǎn)的名字開頭,“_”后面是具體指代的內(nèi)容。如BMS_GeneralStatus。

信號(hào)長度:該信號(hào)的長度,單位是bit,位。

精度/偏移量:描述信號(hào)值如何轉(zhuǎn)變成信號(hào)物理值。比如精度是2,偏移量是5,那么信號(hào)的真實(shí)物理值 = 信號(hào)值 * 2 + 5。

物理值范圍:經(jīng)過物理值轉(zhuǎn)換后的最大最小值。

圖片

其他的一些矩陣中還會(huì)有這樣的表述。

起始字節(jié):起始位所在的字節(jié)序號(hào)。Byte0-Byte7。

起始位:信號(hào)LSB(least significant bit)所在的位置。通常這個(gè)位置是按照下面這個(gè)圖來說明的。

圖片

CAN矩陣的核心圖

信號(hào)類型:Boolean 還是 Unsigned。

以上是CAN數(shù)據(jù)矩陣的基本內(nèi)容。可以看出來,如何通過起始字節(jié)、起始位、數(shù)據(jù)長度,將數(shù)據(jù)矩陣中的內(nèi)容對(duì)應(yīng)到這64個(gè)小格子中是理解CAN數(shù)據(jù)矩陣的關(guān)鍵。

如何填格子

我們可以用Vector的CAN db++打開ZLG送的j1939.dbc文件。我們?cè)赟ignals和Layout面板中看到,對(duì)于EEC1這個(gè)Message來說,它有8個(gè)Signal,填充時(shí)是從右向左填充的,比方說EngStarterMode這個(gè)信號(hào),初始是第48位,長度是4,它的LSB自然就應(yīng)該在Byte6的第48個(gè)位,之后向左填充,MSB是第51位。大家自行填充一下。

圖片

j1939.dbc

圖片

j1939.dbc矩陣中的EEC1信號(hào)

下面說下EngSpeed這個(gè)奇葩信號(hào),它跨行了,即跨字節(jié)了,這就產(chǎn)生了先后的問題。

注意我們填格子的方式分為Intel和Motorola兩種。如果你的Signals都沒有跨字節(jié)的問題,那么Intel和Motorola格式出來的效果是一樣的。當(dāng)然這不可能,你無法確保不跨字節(jié)。

Intel格式也即小端,MSB存放在高字節(jié)單元,反映到矩陣圖中就是以起始位為原點(diǎn),自上而下填充。

圖片

Intel格式,MSB在LSB下面

Motorola格式也即大端,MSB存放在低字節(jié)單元,反映到矩陣圖中就是以起始位為原點(diǎn),自下而上填充。

圖片

Motorola格式,MSB在LSB上面

圖片

New_Signal_5自下而上填充,Motorola

具體采用哪種格式,聽主機(jī)廠的,這個(gè)無絕對(duì),兩種格式都需要理解。但從經(jīng)驗(yàn)上來看以Motorola格式為主。我們回看下EngSpeed這個(gè)信號(hào),起始位是24bit,先填充Byte3,之后向下填充Byte4,MSB在39bit上。因此是Intel格式。

圖片

EEC1中的EngSpeed是Intel格式,Byte3是低有效,Byte4是高有效

名詞解釋:什么是信號(hào)的高位?什么是信號(hào)的低位?什么是信號(hào)的起始位?

信號(hào)的高位(most significant bit),即最能表達(dá)信號(hào)特性的因子。比如轉(zhuǎn)速2000rpm,0x7D0,即011111010000b。最左側(cè)的位,數(shù)量級(jí)最大,牽一發(fā)動(dòng)全身,即高位。

信號(hào)的低位(least significant bit),即最不能表達(dá)信號(hào)特性的因子。剛才轉(zhuǎn)速中,最右側(cè)的0,即低位。就好像老板說給你每個(gè)月漲薪5元,你毫不在乎。

信號(hào)的起始位其實(shí)就是信號(hào)的最低位。主機(jī)廠在定義整車CAN總線通信矩陣時(shí),每一個(gè)信號(hào)都從其最低位開始填寫。

報(bào)文封裝原則

1.同一個(gè)報(bào)文的所有信號(hào)須由同一個(gè)節(jié)點(diǎn)提供。

2.同一個(gè)報(bào)文所有信號(hào)的發(fā)送時(shí)機(jī)盡可能相同。

3.小于或等于8位的信號(hào),不應(yīng)跨越字節(jié)邊界。

圖片

不大于8位,不應(yīng)跨越字節(jié)邊界

4.小于或等于16位的信號(hào),不應(yīng)跨越字邊界。

5.信號(hào)從每個(gè)字節(jié)的起始位開始排列。

圖片

要從每個(gè)字節(jié)的起始位開始排列

6.信號(hào)排列應(yīng)當(dāng)緊湊。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    激情内射亚洲一区二区三区 | 国产真人无遮挡免费视频一区| 色涩一区二区三区四区| 午夜视频免费观看成人| 欧美成人欧美一级乱黄| 精品亚洲av一区二区三区| 成人免费在线视频大香蕉| 免费性欧美重口味黄色| 尤物天堂av一区二区| 亚洲欧美国产中文色妇| 一区二区三区免费公开| 99久久免费看国产精品| 亚洲妇女作爱一区二区三区| 国产av熟女一区二区三区蜜桃| 女人高潮被爽到呻吟在线观看| 久久精品福利在线观看| 日韩不卡一区二区在线| 欧美日韩精品综合一区| 国产高清视频一区不卡| 亚洲妇女作爱一区二区三区| 九九热九九热九九热九九热| 粉嫩国产美女国产av| 亚洲av成人一区二区三区在线| 韩国日本欧美国产三级| 青草草在线视频免费视频| 高潮少妇高潮久久精品99| 日韩aa一区二区三区| 国产一区二区三区口爆在线| 熟女白浆精品一区二区| 大香蕉精品视频一区二区| 欧美日韩久久精品一区二区| 午夜国产精品国自产拍av| 国产成人av在线免播放观看av | 国产精品视频一级香蕉| 高清不卡一卡二卡区在线| 亚洲欧美日韩精品永久| 久草国产精品一区二区| 中文字幕乱码一区二区三区四区 | 日韩在线免费看中文字幕| 亚洲视频在线观看免费中文字幕| 男人和女人干逼的视频|