天天看點

【DBC】DBC中CAN信号多路複用DBC檔案信号多路複用詳解

DBC檔案信号多路複用詳解

1何時定義

有些信号比較長,但是又不常用,就可以定義多路複用信号以節約空間。

2具體定義

2.1定義一個短信号來當做“控制開關”。

【若定義1bit,則有2種可能0x00和0x01,複用兩路】

【若定義2bit,則有4種可能0x00和0x01和0x10和0x11,複用四路】…

是以說,這個短信号的長度和你想複用多少路有關,多長?放在什麼位置?由定義者決定

2.2節約空間是如何展現的

現在有兩個信号都是8bit【信号A】【信号B】,都不怎麼常用,現在想複用這兩路信号,把他們放在同樣的位置,再定義一個1bit的短信号,用于控制。這樣原來需要8+8=16bit空間,現在隻需要8+1=9bit空間。

3CANoe-DBCEditor上如何配置

輕按兩下Messages下某個幀的某個信号

【DBC】DBC中CAN信号多路複用DBC檔案信号多路複用詳解

下拉框有三種

1.signal就是普通信号,不複用

2.multiplexor signal是作為【控制開關】的信号

3.multiplexed signal是複用的信号,還需要設定multiplex value

【DBC】DBC中CAN信号多路複用DBC檔案信号多路複用詳解

【信号X】設定成multiplexor signal

【信号A】設定成multiplexed signal并且multiplex value=0x01,

【信号B】設定成multiplexed signal并且multiplex value=0x02

當【信号X】的值為0x01時,【信号A】表示顯性

當【信号X】的值為0x02時,【信号B】表示顯性

4DBC檔案上的顯示

BO_ 110 MessageName: 8 Vector__XXX

SG_ Signal_X M : 23|[email protected] (1,0) [0|0] “” Vector__XXX

SG_ Signal_A m1 : 7|[email protected] (1,0) [0|0] “” Vector__XXX

SG_ Signal_B m2 : 7|[email protected] (1,0) [0|0] “” Vector__XXX

注:小m後面跟的是十進制數

繼續閱讀