在汽車電子和CAN總線開發(fā)領(lǐng)域,DBC文件(Database Container)是定義CAN通信協(xié)議的核心文件,正確編輯和優(yōu)化DBC文件,對(duì)于車輛網(wǎng)絡(luò)通信的穩(wěn)定性、數(shù)據(jù)解析的準(zhǔn)確性至關(guān)重要。對(duì)于剛接觸TSMaster的工程師來說,如何快速掌握DBC編輯技巧,并應(yīng)用于實(shí)際項(xiàng)目開發(fā),仍存在一定的學(xué)習(xí)門檻。本文將從基礎(chǔ)功能解析到使用示例演示,系統(tǒng)介紹TSMaster DBC編輯器的核心操作。
本文關(guān)鍵詞:TSMaster,DBC,數(shù)據(jù)庫
目錄
Catalog
1. 符號(hào)說明
2.功能概要
3.DBC 編輯器窗體
4. 使用示例
1
符號(hào)說明
本文中所用到的一些樣式和符號(hào),可以參考以下表格說明。
2
功能概要
DBC編輯器可以用于CAN DBC數(shù)據(jù)庫的創(chuàng)建、修改以及保存等,詳細(xì)的功能如下:
▲創(chuàng)建CAN DBC數(shù)據(jù)庫
▲打開CAN DBC文件,查看數(shù)據(jù)庫中的節(jié)點(diǎn)、報(bào)文、信號(hào)、屬性等信息
▲編輯CAN數(shù)據(jù)庫內(nèi)容
▲導(dǎo)出CAN數(shù)據(jù)庫到DBC文件
▲檢查數(shù)據(jù)庫內(nèi)容是否符合一致性要求
3
DBC 編輯器窗體
DBC編輯器主要包含以下五個(gè)功能區(qū):
▲菜單欄(1)
▲數(shù)據(jù)庫總覽區(qū)(2)
▲屬性配置區(qū)(3)
▲節(jié)點(diǎn)總覽和報(bào)文布局區(qū)(4)
▲日志區(qū)(5)
圖1:DBC編輯器初始界面
3.1 菜單欄
菜單欄包括新建、打開、保存、另存為、一致性檢查、撤銷和重做7個(gè)按鈕,各圖標(biāo)說明如下。
3.2 數(shù)據(jù)庫總覽區(qū)
數(shù)據(jù)庫總覽區(qū)包括數(shù)據(jù)庫節(jié)點(diǎn)搜索區(qū)和數(shù)據(jù)庫節(jié)點(diǎn)區(qū)。
3.2.1 數(shù)據(jù)庫節(jié)點(diǎn)搜索區(qū)
在搜索框內(nèi)輸入節(jié)點(diǎn)名稱,可以高亮顯示,如下圖:
圖2:搜索節(jié)點(diǎn)高亮顯示
窗體圖標(biāo)說明如下:
3.2.2 數(shù)據(jù)庫節(jié)點(diǎn)分類
數(shù)據(jù)庫節(jié)點(diǎn)包括以下8類:
圖3:數(shù)據(jù)庫總覽區(qū)節(jié)點(diǎn)圖
3.2.3 數(shù)據(jù)庫節(jié)點(diǎn)拖拽功能
數(shù)據(jù)庫總覽區(qū)的部分節(jié)點(diǎn)支持拖拽功能,支持拖拽功能的節(jié)點(diǎn)如下。
▲信號(hào)拖拽到報(bào)文,如下圖所示,將信號(hào)New_Signal_0拖拽到New_Message_0時(shí),會(huì)將信號(hào)New_Signal_0添加到New_Message_0下。
圖4: 信號(hào)拖拽到報(bào)文(場(chǎng)景1)
如果信號(hào)已經(jīng)綁定了報(bào)文,這種情況下拖拽信號(hào)到新的報(bào)文上,則會(huì)復(fù)制一個(gè)同名的信號(hào)。
圖5: 信號(hào)拖拽到報(bào)文(場(chǎng)景2)
▲報(bào)文拖拽到節(jié)點(diǎn),如下圖所示,將信號(hào)New_Message_0拖拽到New_Network_0或者其下的【Tx Messages】時(shí),會(huì)將信號(hào)New_Messages_0添加到【Tx Messages】下。
圖6: 報(bào)文拖拽到節(jié)點(diǎn)
▲信號(hào)拖拽到節(jié)點(diǎn),如下圖所示,將信號(hào)New_Messages_0下的New_Signal_0信號(hào)拖拽到New_Network_0或者其下的【Mapped Rx Signals】時(shí),會(huì)將信號(hào)New_Signal_0添加到【Mapped Rx Signals】下,New_Messages_0添加到【Rx Messages】下。
圖7:信號(hào)拖拽到節(jié)點(diǎn)
▲環(huán)境變量拖拽到ECU,如下圖所示,將環(huán)境變量New_Envar_0拖拽到ECUs下的New_Network_0或其下的【Environment Variables】時(shí),會(huì)將環(huán)境變量New_Envar_0添加到【Environment Variables】下。
圖8:環(huán)境變量拖拽到ECU
3.3 屬性配置區(qū)
屬性配置區(qū)包括數(shù)據(jù)庫文件信息展示區(qū)和屬性配置區(qū)兩個(gè)部分。
3.3.1 數(shù)據(jù)庫文件信息展示區(qū)
未導(dǎo)入DBC數(shù)據(jù)庫時(shí),該區(qū)域會(huì)提示導(dǎo)入或創(chuàng)建DBC數(shù)據(jù)庫的信息。當(dāng)創(chuàng)建或?qū)隓BC數(shù)據(jù)庫后,該區(qū)域會(huì)顯示DBC文件的路徑。當(dāng)DBC數(shù)據(jù)庫發(fā)生修改時(shí),則在DBC文件路徑后面額外增加一個(gè)“*”。如果修改的內(nèi)容被完全撤回時(shí),或者文件被另存為時(shí),“*”將消失。
圖9:導(dǎo)入DBC數(shù)據(jù)庫后顯示文件路徑
3.3.2 數(shù)據(jù)庫屬性
可以配置數(shù)據(jù)庫的名稱,選擇數(shù)據(jù)庫類型,和配置屬性的值。
圖10:數(shù)據(jù)庫屬性頁
3.3.3 節(jié)點(diǎn)屬性
可以配置節(jié)點(diǎn)的名稱,地址和配置屬性的值。
圖11:節(jié)點(diǎn)屬性頁
3.3.4 報(bào)文屬性
配置報(bào)文的屬性,具體屬性字段及其說明如下。
圖12:報(bào)文屬性頁(非J1939)
圖13:報(bào)文屬性頁(J1939)
3.3.5 信號(hào)屬性
配置信號(hào)的屬性,具體屬性字段及其說明如下。
圖14: 信號(hào)屬性頁(非信號(hào)復(fù)用)
圖15:信號(hào)屬性頁(信號(hào)復(fù)用)
3.3.6 數(shù)值表屬性
數(shù)值表用于對(duì)信號(hào)或者環(huán)境變量進(jìn)行編碼。數(shù)值表的屬性及其說明如下。
圖16: 數(shù)值表屬性頁
3.3.7 特性屬性
特性用于對(duì)信號(hào),報(bào)文,節(jié)點(diǎn),數(shù)據(jù)庫以及環(huán)境變量等綁定額外的屬性,其可編輯的屬性字段和說明如下。
圖17: 特性屬性頁(未激活最大最小值編輯框)
圖18: 特性屬性頁(激活最大最小值編輯框)
圖19: 特性屬性頁(激活枚舉表)
3.3.8 環(huán)境變量屬性
配置環(huán)境變量的屬性,可配置屬性字段和說明如下。
圖20: 環(huán)境變量屬性頁
3.4節(jié)點(diǎn)總覽和報(bào)文布局區(qū)
3.4.1 節(jié)點(diǎn)總覽
點(diǎn)擊不同節(jié)點(diǎn),會(huì)在總覽區(qū)域顯示當(dāng)前節(jié)點(diǎn)下的預(yù)覽內(nèi)容。
圖21:報(bào)文總覽頁面
3.4.2 報(bào)文布局
報(bào)文布局區(qū)可以展示報(bào)文中信號(hào)在報(bào)文中的位置排列和長(zhǎng)度,當(dāng)所選節(jié)點(diǎn)為報(bào)文時(shí),布局才能被選擇,此時(shí)布局按鈕為激活狀態(tài),否則為未激活狀態(tài)。
圖22: 報(bào)文布局頁面
▲復(fù)用器: 選擇報(bào)文的復(fù)用器名稱,為未使用/無復(fù)用器。
▲復(fù)用值: 選擇復(fù)用器下的復(fù)用值,為未使用/無復(fù)用值。
通過選擇不同的復(fù)用器和復(fù)用值,布局中會(huì)顯示對(duì)應(yīng)的信號(hào)排列。
3.5 日志區(qū)
顯示當(dāng)前操作的狀態(tài)和數(shù)據(jù)庫信息完整度的信息,包括以下3種類型。
▲常規(guī)信息:用于提示當(dāng)前操作狀態(tài)的信息。
▲警告信息:提示當(dāng)前操作或者數(shù)據(jù)庫有異常但又構(gòu)成嚴(yán)重錯(cuò)誤的信息。
▲錯(cuò)誤信息:提示當(dāng)前操作或數(shù)據(jù)庫有嚴(yán)重錯(cuò)誤的信息。
圖23:日志區(qū)頁面
對(duì)于一致性檢查的日志信息,點(diǎn)對(duì)應(yīng)的行時(shí),會(huì)跳轉(zhuǎn)到該行信息所對(duì)應(yīng)的數(shù)據(jù)庫節(jié)點(diǎn)。
4
使用示例
4.1創(chuàng)建DBC數(shù)據(jù)庫
該部分示例演示創(chuàng)建CAN數(shù)據(jù)庫,包括創(chuàng)建CAN節(jié)點(diǎn)、報(bào)文、信號(hào)以及環(huán)境變量,將信號(hào)綁定到報(bào)文,為報(bào)文添加發(fā)送節(jié)點(diǎn),為環(huán)境變量添加訪問節(jié)點(diǎn)等。
步驟1:創(chuàng)建CAN DBC數(shù)據(jù)庫,點(diǎn)擊菜單欄的【新建】按鈕。
步驟2:選擇數(shù)據(jù)庫模板。在彈出的DBC模板選擇框中,選擇需要?jiǎng)?chuàng)建的DBC數(shù)據(jù)類型,支持CAN,CANFD,J1939,然后點(diǎn)擊【確認(rèn)】。
圖24:DBC模板選擇頁面
步驟3:選擇/輸入DBC文件路徑。在未保存DBC數(shù)據(jù)庫之前不會(huì)創(chuàng)建新的DBC文件,或覆蓋原來的DBC文件。
步驟4:右擊【Network Nodes】,創(chuàng)建節(jié)點(diǎn)New_Network_0。
圖25: 新建CAN網(wǎng)絡(luò)節(jié)點(diǎn)
步驟5:右擊【Messages】,創(chuàng)建報(bào)文New_Message_0。
圖26:新建CAN報(bào)文
步驟6:右擊【Signals】,創(chuàng)建New_Signal_0。
圖27: 新建CAN信號(hào)
步驟7:右擊【Environment Variables】,創(chuàng)建New_Envar_0
圖28: 新建環(huán)境變量信號(hào)
步驟8:在左邊的樹結(jié)構(gòu)中,將New_Signal_0拖拽到New_Message_0,然后將New_Message_0拖拽到New_Network_0。通過將New_Envar_0拖拽到ECUs下的New_Network_0節(jié)點(diǎn)或New_Network_0的【Environment Variables】節(jié)點(diǎn),為環(huán)境變量New_Envar_0添加訪問節(jié)點(diǎn)。
圖29: 將信號(hào)綁定到報(bào)文、為報(bào)文添加發(fā)送節(jié)點(diǎn)和為環(huán)境變量添加訪問節(jié)點(diǎn)
步驟9:點(diǎn)擊【保存】按鈕。
4.2編輯DBC數(shù)據(jù)庫
該部分示例演示導(dǎo)入CAN數(shù)據(jù)庫并進(jìn)行編輯,以及如何創(chuàng)建數(shù)值表和特性。
步驟1:導(dǎo)入DBC文件。點(diǎn)擊菜單欄的【打開】按鈕,導(dǎo)入4.1章節(jié)保存的DBC文件。
步驟2:修改CAN節(jié)點(diǎn),報(bào)文、信號(hào)以及環(huán)境變量名稱。
▲修改CAN節(jié)點(diǎn)名稱。點(diǎn)擊【ECUs】/【Network Nodes】下的New_Network_0,在右側(cè)的屬性編輯區(qū)中找到【名稱】編輯框,輸入ecu0并按下回車鍵。對(duì)于該界面其它的屬性字段,也可以類似的方式修改。
圖30:修改CAN網(wǎng)絡(luò)節(jié)點(diǎn)名稱
▲修改CAN報(bào)文名稱。點(diǎn)擊【Messages】下的報(bào)文節(jié)點(diǎn),在屬性編輯區(qū)找到【名稱】輸入框,輸入msg0并回車。對(duì)于該界面其它的屬性字段,也可以類似的方式修改。
圖31:修改CAN報(bào)文名稱
▲修改CAN信號(hào)名稱。點(diǎn)擊【Signals】下的信號(hào)節(jié)點(diǎn)/【Messages】下報(bào)文中的信號(hào)節(jié)點(diǎn),在屬性編輯區(qū)找到【名稱】輸入框,輸入sig0并回車。對(duì)于該界面其它的屬性字段,也可以類似的方式修改。
圖32: 修改CAN信號(hào)名稱
▲修改環(huán)境變量名稱。點(diǎn)擊【Environment Variables】下的環(huán)境變量節(jié)點(diǎn),在屬性編輯區(qū)找到【名稱】輸入框,輸入env0并回車。對(duì)于該界面其它的屬性字段,也可以類似的方式修改。
圖33: 修改環(huán)境變量名稱
步驟3:創(chuàng)建數(shù)值表。右擊【Value Table】點(diǎn)擊【新建】,在屬性編輯界面的值-描述表格中點(diǎn)擊新建,創(chuàng)建2對(duì)值-描述字段。
圖34: 創(chuàng)建數(shù)值表
步驟4:為信號(hào)/環(huán)境變量添加數(shù)值表。點(diǎn)擊信號(hào)或者環(huán)境變量節(jié)點(diǎn),在屬性編輯區(qū)找到【數(shù)值表】下拉框,選擇New_Vt_0。
圖35:為環(huán)境變量和信號(hào)添加數(shù)值表
步驟5:創(chuàng)建報(bào)文特性。右擊【Attributes】點(diǎn)擊【新建】,創(chuàng)建特性。在屬性編輯區(qū)修改名稱為msgAttr0,目標(biāo)類型為報(bào)文,其它字段為默認(rèn)。
圖36:創(chuàng)建報(bào)文特性
此時(shí)點(diǎn)擊【Messages】下的msg0節(jié)點(diǎn),在屬性編輯區(qū)可以查看到msgAttr0的值,也可以在該區(qū)域?qū)sgAttr0進(jìn)行編輯。
圖37:報(bào)文特性查看和編輯界面
其它目標(biāo)如信號(hào)、環(huán)境變量、以及綁定節(jié)點(diǎn)的信號(hào)、報(bào)文、環(huán)境變量等可以通過選擇【目標(biāo)類型】的下拉框進(jìn)行綁定。特性也支持不同的數(shù)值類型,通過【數(shù)值類型】下拉框進(jìn)行選擇。
步驟6:編輯完成后,保存該DBC數(shù)據(jù)庫到DBC文件。
-
汽車電子
+關(guān)注
關(guān)注
3037文章
8349瀏覽量
170179 -
DBC
+關(guān)注
關(guān)注
2文章
59瀏覽量
8106 -
編輯器
+關(guān)注
關(guān)注
1文章
822瀏覽量
32050
發(fā)布評(píng)論請(qǐng)先 登錄
TSMaster 的 CAN UDS 診斷操作指南(上)

TSMaster 的 CAN UDS 診斷操作指南(下)

【使用指南】Markdown編輯器常用語法功能
一分鐘帶你了解TSMaster小程序編輯代碼智能提示功能

TSMaster 中 Hex 文件編輯器使用詳細(xì)教程

vim編輯器如何使用
vim編輯器命令模式使用方法
圖紙編輯器的基本操作

Vim編輯器的基本操作

評(píng)論