CANoe創(chuàng)建CAN DataBase(DBC文件)
常用的創(chuàng)建和編輯CAN DataBase(DBC文件)有兩種方法,一種是下載CANdb++,Vector免費(fèi)的工具;另一種就是使用CANoe創(chuàng)建,不過需要付費(fèi)購(gòu)買軟硬件。兩種方法創(chuàng)建DBC文件的方式都是一樣的。
本篇博文講解如何使用CANoe軟件創(chuàng)建和編輯DBC文件。
1
新建DBC文件
打開CANoe,進(jìn)入Tools菜單欄,點(diǎn)擊CANdb++Editor打開DBC編輯軟件。
在DBC編輯器中,點(diǎn)擊File -> Create DataBase,選擇合適的DBC模板,并選擇一個(gè)文件夾作為DBC文件的保存路徑。
我一般選擇CANoeTemplate或者CAN Template。
新建成功效果如下:
2
新建節(jié)點(diǎn)
在Network nodes處右擊,選擇New新建一個(gè)節(jié)點(diǎn)(ECU),為其命名,例如ECU01和ECU02等。
節(jié)點(diǎn)創(chuàng)建好后,界面如下所示:
3
創(chuàng)建CAN報(bào)文
在Messages處右擊,選擇New新建一個(gè)報(bào)文。
在Name處輸入本條CAN message的名稱,注意(不得使用中文,不得以數(shù)字開頭)。
在Type處選擇CAN Standard或者CAN Extended。
在ID處填入此CAN報(bào)文的CAN ID。
DLC處寫入此報(bào)文的長(zhǎng)度(單位是字節(jié))。
CAN報(bào)文創(chuàng)建成功如下所示:
根據(jù)需要可以創(chuàng)建多個(gè)報(bào)文。
4
創(chuàng)建CAN報(bào)文的信號(hào)
在Signals處右擊,選擇New新建一個(gè)信號(hào)。
在Name處鍵入此信號(hào)的名稱。
Length處填入此信號(hào)的長(zhǎng)度(單位為Bit)。
Byte Order(字節(jié)序)選擇以Intel型填充還是以Motorola型填充。
Intel型 :小端字節(jié)序,字節(jié)內(nèi)部bit排序從高位開始。
Motorola型:大端字節(jié)序,字節(jié)內(nèi)部bit排序從低位開始。
ValueType:值的類型,有符號(hào)整數(shù)和無符號(hào)整數(shù)以及浮點(diǎn)數(shù)類型。
Factor:比例因子,表示數(shù)值需要乘以這個(gè)因子進(jìn)行轉(zhuǎn)換。
Offset:偏移量,表示數(shù)值需要加上這個(gè)偏移量進(jìn)行轉(zhuǎn)換。
Minimum:參數(shù)的最小值。
Maximum:參數(shù)的最大值。
Calculate minimum and maximum:點(diǎn)擊這個(gè)按鈕可以計(jì)算最小值和最大值。
Value Table:值表的名稱,當(dāng)前為空,表示沒有關(guān)聯(lián)的值表。
這些參數(shù)共同定義了一個(gè)8位有符號(hào)整數(shù)的LED信號(hào)參數(shù),包括其長(zhǎng)度、字節(jié)順序、數(shù)據(jù)類型、初始值、比例因子、偏移量、最小值和最大值。
CAN報(bào)文信號(hào)創(chuàng)建成功如下所示:
根據(jù)需要可以創(chuàng)建多個(gè)信號(hào)。
6
將報(bào)文和信號(hào)關(guān)聯(lián)
雙擊報(bào)文,進(jìn)入報(bào)文界面,切換到Signals欄,點(diǎn)擊Add將信號(hào)添加到報(bào)文中。
如果CAN報(bào)文DLC設(shè)置得比添加進(jìn)去的信號(hào)所占的字節(jié)數(shù)多,就會(huì)彈出這個(gè)窗口,點(diǎn)擊否(N)即可,如果點(diǎn)擊是(Y),系統(tǒng)會(huì)修改這條CAN報(bào)文的長(zhǎng)度為剛剛添加進(jìn)去的信號(hào)所占的字節(jié)數(shù)。
添加完成后如下圖所示,右邊會(huì)列出這個(gè)報(bào)文里所有的信號(hào),以及信號(hào)所占的字節(jié)和起始位。
如果設(shè)置信號(hào)在CAN報(bào)文中的起始位和位置,雙擊信號(hào),在Startbit處修改起始位。
也可以在這條CAN報(bào)文的Layout中通過鼠標(biāo)拖動(dòng)修改信號(hào)所處的位置。
雙擊左側(cè)CAN報(bào)文,在彈出的窗口中點(diǎn)擊Layout,鼠標(biāo)按住方框中標(biāo)記的信號(hào)拖動(dòng)即可改變信號(hào)所在的位置。
6
設(shè)置CAN報(bào)文發(fā)送者和接收者
雙擊節(jié)點(diǎn)ECU1,在Mapped RX Sig中添加需要接收的報(bào)文中的信號(hào),在Tx message中添加該節(jié)點(diǎn)發(fā)送的報(bào)文。
此時(shí)我們展開左側(cè),可以看到ECU1節(jié)點(diǎn)已經(jīng)有了對(duì)應(yīng)的發(fā)送和接收?qǐng)?bào)文以及信號(hào)。
以上就是如何在CANoe中新建和使用CAN DataBase(DBC文件)的基本步驟。通過這些步驟,你可以創(chuàng)建一個(gè)簡(jiǎn)略版的CAN DBC。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。