每一輛車都有很多功能,比如智能駕駛功能、娛樂域功能。但是無論怎么發展,我們車輛傳統的診斷功能都是必須要有的,而且是十分重要的。那么什么是車輛診斷呢,簡單來說就是在通過診斷服務一問一答的方式,獲取車輛內部的參數信息。
車輛診斷過程:
![poYBAGLmKjOAaw1DAAG0wNVGanI006.png](https://file.elecfans.com/web2/M00/58/BA/poYBAGLmKjOAaw1DAAG0wNVGanI006.png)
在我們整個汽車開發、測試、生產、售后服務過程中,都需要用到車輛診斷功能。但是這些都是由不同公司或者不同部門完成的,那么在各個階段我們就需要統一診斷數據庫,去保證整個流程中診斷需求的一致性和診斷數據的復用性。診斷數據庫需要具備機器(如軟件)可讀的特性,從而使診斷自動化測試和診斷協議棧自動生成成為可能。診斷數據庫平臺還需要具備良好的交互性,便于不同格式的診斷數據庫的交互和轉換。
這里就給大家開一個速成班,讓大家了解Vector診斷產品鏈CANdelaStudio工具,是如何生成診斷數據庫文件,保持診斷規范的一致性。
一、 CANdelaStudio簡介
1.CANdelaStudio診斷規范定義
![poYBAGLmLBWAZpqbAAC-74La5vs571.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLBWAZpqbAAC-74La5vs571.png)
如上圖所示,就是一個典型的V-L模型,從前期開發到售后階段,以ECU的診斷數據庫(對應于ECU的診斷需求)為核心。在開發階段根據ECU診斷數據庫,進行ECU診斷協議棧的實現。測試階段根據ECU診斷數據庫,生成診斷測試規范和測試用例。生產階段,根據ECU診斷數據庫,開發、應用參數化的EOL設備。售后階段,根據ECU診斷數據庫,開發、應用參數化的診斷儀。不同階段,使用的診斷數據庫格式可能不一樣,但是所有的診斷數據庫都源于同一個數據源。基于機器可讀的診斷數據庫,實現診斷在開發、測試、生產和售后階段的需求一致性、數據復用性和診斷設備參數化。
CANdelaStudio用于定義ECU的診斷需求,支持用戶創建和編輯車輛ECU診斷需求,生成診斷數據庫文件(CDD),實現我們診斷需求的一致性。
![pYYBAGLmLCuAcrBNAACv6_nmHKI654.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLCuAcrBNAACv6_nmHKI654.png)
安裝CANdelaStudio軟件后,會自帶CDDT模板,CDD文件是由CDDT模板文件生成,生成的CDD文件也可以導入不同軟件中。比如基于AUTOSAR體系,CDD文件可以導入到達芬奇軟件中,生成MICROSAR Diag部分的代碼;CDD文件可以導入其他Vector軟件中(CANoe、CANape、Indigo等),進行診斷的手動測試;還可以導入CANoe.DiVa軟件中生成診斷自動化測試用例,最終在CANoe中導入CANoe.DiVa生成的測試用例進行自動化測試。
剛才說了CDD文件是由CDDT文件生成而來,那么它們之間到底有什么區別呢?CDDT文件就是CDD的模板文件。當CDD文件生成后,我們需要明確它是由哪個CDDT文件生成。
![poYBAGLmLFSAbNI3AACR47_xf9Y923.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLFSAbNI3AACR47_xf9Y923.png)
▲CDDT文件:定義宏觀-整車級通信參數類型、服務列表、結構、整車通用的會話模式、安全訪問、DID等
▲CDD文件:定義微觀-單個控制器級具體的通信參數、具體的服務參數、具體的會話模式、安全訪問、DID等
2.CANdelaStudio版本介紹
▲CANdelaStudio View:可以查看CDD文件,不能對CDD文件進行編輯
▲CANdelaStudio Standard:基于CDDT編輯CDD文件,但不可以編輯CDDT文件
▲CANdelaStudio Pro:支持多語言版本
▲CANdelaStudio Admin:權限最高版本,可以編輯CDDT文件
查看軟件版本:
![pYYBAGLmLHWAHKV8AACvaKWj3AI119.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLHWAHKV8AACvaKWj3AI119.png)
3.CANdelaStudio中診斷數據和架構介紹
1)工程創建方法:
▲點擊New選擇相應的CDDT模板來編輯數據庫保存為CDD文件
![poYBAGLmLNKAdHOvAAEc-HbK-UI284.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLNKAdHOvAAEc-HbK-UI284.png)
▲點擊Open,可以打開CDDT文件,編輯保存CDDT文件;或者打開一個CDD文件進行編輯保存。
![pYYBAGLmLOiAXzjKAADNQv38RZI990.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLOiAXzjKAADNQv38RZI990.png)
2)CDD文件結構分析:
![pYYBAGLmLPeAbWmMAACmxJWPA-I347.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLPeAbWmMAACmxJWPA-I347.png)
Variants:變體,CDD文件的核心內容,包含一個ECU當中的所有診斷服務數據。在這里出現了Base Variant和Variants,可以簡單理解為車型分高中低配,每個配置的車型對應一個Variant。在其他Vector工具(CANoe、Diva等)中導入CDD文件時可以選擇相應Variant。
每個Variant下,都需要去選擇所支持的類(Supported Classes):
![pYYBAGLmLQuAMcKxAADWjC9xTCM767.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLQuAMcKxAADWjC9xTCM767.png)
打開每個類,下面都有不同的服務,比如Sessions類,下面就包含了10會話服務。可以查看支持的子功能和服務相關參數
![poYBAGLmLRyAQ0vJAACTDb9jgCQ753.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLRyAQ0vJAACTDb9jgCQ753.png)
再打開DID相關的類,可以去勾選是否支持可寫
![poYBAGLmLSuAfcmhAADIdezEB68061.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLSuAfcmhAADIdezEB68061.png)
3)CDD數據復用性:
在CDD里面的數據內容Data Types、Variants、DTC、DID等,可以通過粘貼復制來完成數據復用,從CDD1到CDD2不用重新編輯
服務架構查看:
![pYYBAGLmLUSANU7gAAD7aBQ0l_A307.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLUSANU7gAAD7aBQ0l_A307.png)
二、編輯CDD文件工程
1.創建新工程
1)接下來,我們就來通過CDDT文件創建一個新的CDD工程:
![poYBAGLmLWiAVYcOAACaX6rmzuc083.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLWiAVYcOAACaX6rmzuc083.png)
![poYBAGLmLXiAGV0XAADx6WKrWyA096.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLXiAGV0XAADx6WKrWyA096.png)
2)編輯作者、變更歷史:Document->Revision History:
![pYYBAGLmLYaALfYuAADejTbe9hw254.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLYaALfYuAADejTbe9hw254.png)
3)ECU信息描述編輯:
![pYYBAGLmLZ2APfeAAADA9VqrTow625.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLZ2APfeAAADA9VqrTow625.png)
4)選擇相關總線接口類型:
![pYYBAGLmLa-AC7UDAACmHJI5xOo206.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLa-AC7UDAACmHJI5xOo206.png)
2.通信參數編輯
通信參數設置:需要設置請求ID、響應ID、時間參數、波特率等
![poYBAGLmLcGALAnXAAEITmQf59g098.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLcGALAnXAAEITmQf59g098.png)
3.DID編輯
DID是兩個字節的標識符,不同的DID存放的數據格式不一樣,比如存放多少字節的十進制數、ASCII碼類型數或者線性的數據等。那么在CANdelaStudio里面如何去編輯DID呢?
首先我們需要去創建DID,一般都是選擇在Base Variant里進行創建。
步驟一:新建DID
1.選擇DIDs;2.選擇New DID;3.編輯ID和名稱。
![pYYBAGLmLe2Af0DEAADjMSv9Fjs404.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLe2Af0DEAADjMSv9Fjs404.png)
步驟二:新建Data Type
1.選擇Data Type;2.選擇New;3.選擇需要的數據類型;4.編輯參數。
![poYBAGLmLfyADTiGAAE1EQXTgj8805.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLfyADTiGAAE1EQXTgj8805.png)
![poYBAGLmLhOAC6-jAACir80hoD4763.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLhOAC6-jAACir80hoD4763.png)
步驟三:DID與Data Type關聯
1.選擇DIDs,并選擇之前創建的DID;2.選擇相應的Data Type。
![pYYBAGLmLiiAG-GOAAEqmxywgUY618.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLiiAG-GOAAEqmxywgUY618.png)
為什么需要Data Type呢,因為讀取或者寫入的DID數據都是有數據類型的,所以需要進行關聯一個Data Type進行解析。常見的Data Type有Raw Value(軟硬件版本號);Text Table(枚舉型);Linear(線性的)。
步驟四:Class類關聯
1.選擇DID相關的Class類。
![poYBAGLmLlOAQJDyAAEgbpiX_fU373.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLlOAQJDyAAEgbpiX_fU373.png)
2.如果有需要定義bit的DID,先在關聯Data Type處選擇New Bitfield,然后在關聯Data Type。
![pYYBAGLmLmCASf54AABagATr1ZI186.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLmCASf54AABagATr1ZI186.png)
![poYBAGLmLm2AMuN5AAEI0ysCsTs088.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLm2AMuN5AAEI0ysCsTs088.png)
無效值定義:
在定義Data Type時,選擇Invalid Values,去定義無效值的類型。
![pYYBAGLmLoyAN54gAACupzuQHpw224.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLoyAN54gAACupzuQHpw224.png)
激活/取消激活DID:
針對我們創建的DID,可以選擇進行激活或者取消激活
![pYYBAGLmLp-ATawlAAFOALKWL_8079.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLp-ATawlAAFOALKWL_8079.png)
4.DTC故障碼編輯
在創建編輯DTC之前,我們先了解一下CDD里的DTC庫:
![poYBAGLmLtOATm-8AAG6I8fTorc202.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLtOATm-8AAG6I8fTorc202.png)
新建DTC:
1.選擇DTC數據庫;2.點擊新建DTC;3.DTC參數編輯。
![poYBAGLmLvKAL0ZuAADmu_wfl6Q111.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLvKAL0ZuAADmu_wfl6Q111.png)
DTC故障碼導入/導出:
在DTC數據庫中,可以將Excle表中的DTC直接導入CANdelaStudio中,也可以將CANdelaStudio中的DTC導出成Excle表格。
![poYBAGLmLwOATYavAAIzQPO8sN8115.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLwOATYavAAIzQPO8sN8115.png)
將DTC庫中的DTC加載到Variant中:
在Primary Fault Memory的DTC Table中,右鍵彈出的窗口中選擇Copy & Reference from Available DTCs…,即可將DTC庫中的故障碼加載至Variant中。
![pYYBAGLmLxmALDY_AAEYDZFzkqs657.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmLxmALDY_AAEYDZFzkqs657.png)
雖然選擇Copy和Reference都可以加載DTC,但是如果我們在DTC庫中有修改DTC,通過Copy的方式加載的DTC在DTC Table中不會跟著DTC庫的修改而自動更新。通過Reference的方式加載的DTC可以自動更新。
0x19服務設置:
設置需要應用的0x19服務
![poYBAGLmLzSAFW63AAFSnz8o4x0139.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmLzSAFW63AAFSnz8o4x0139.png)
狀態掩碼設置:
1.根據需求進行Status mask設置;2.設置請求的默認值
![pYYBAGLmL06Ae1Q1AADIw1baGNs266.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmL06Ae1Q1AADIw1baGNs266.png)
DTC碼總覽:
在此處所有的DTC會顯示出來,可以查看DTC碼是否被應用。
![poYBAGLmL16ANmKsAAI3TlOUOGw752.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmL16ANmKsAAI3TlOUOGw752.png)
5.快照數據編輯
步驟一:1.定義所有DTC記錄的快照數據個數;2.針對所有DTC,設置快照數據讀取的DID內容。
![poYBAGLmL3GAdePxAAE4JQ_FepA730.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmL3GAdePxAAE4JQ_FepA730.png)
步驟二:1.顯示所有的DTC,可以單獨選擇進行編輯;2.可以針對單個DTC選擇需要記錄快照的DID。
![pYYBAGLmL32AXMrNAAD_W9RqGcA088.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmL32AXMrNAAD_W9RqGcA088.png)
步驟三:顯示快照數據的個數,可設置是否支持快照數據。
![poYBAGLmL4yAKgdLAADQYQRtcZA307.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmL4yAKgdLAADQYQRtcZA307.png)
6.擴展快照數據編輯
步驟一:1.定義擴展快照數據個數;2.設置擴展快照數據內容。
![pYYBAGLmL5uAfQ0gAADmI5LEc_M167.png](https://file.elecfans.com/web2/M00/59/59/pYYBAGLmL5uAfQ0gAADmI5LEc_M167.png)
步驟二:1.顯示所有的DTC,可以單獨選擇進行編輯;2.設置是否支持擴展數據。
![poYBAGLmL6mASQTLAAD0wPFAhGs122.png](https://file.elecfans.com/web2/M00/58/BB/poYBAGLmL6mASQTLAAD0wPFAhGs122.png)
本堂課關于CANdelaStudio之CDD文件速成的分享就到這里,請繼續關注我們下堂課的分享。
Vector Informatik公司是全球領先的分布式系統設計開發工具、網絡節點測試驗證工具和嵌入式軟件組件提供商,為汽車總線網絡的設計、建模、仿真、分析、測試以及ECU的開發、測試、標定和診斷等過程提供一系列強有力的軟硬件工具和組件,支持CAN、LIN、MOST、FlexRay、以太網、SAE J1939、OSEK和AUTOSAR等多種總線系統、協議和標準。在全球范圍內,來自汽車、商用車、工程機械和控制工程領域的客戶都在應用Vector提供的解決方案和產品。
北匯信息作為Vector中國的合作伙伴,不僅提供相應的工具和技術支持服務及培訓,還針對不同的應用提供相應的解決方案,助力中國客戶的研發效率提升。歡迎聯系北匯信息,為您答疑解惑!
注:圖中部分圖片來源于Vector
發布評論請先 登錄
相關推薦
MySQL數據庫的安裝
![MySQL<b class='flag-5'>數據庫</b>的安裝](https://file1.elecfans.com/web3/M00/05/E2/wKgZPGeF2XWAe83fAAAW9lhgvGk652.jpg)
云數據庫是哪種數據庫類型?
ODX診斷數據庫轉換工具 - DDC
![ODX<b class='flag-5'>診斷</b><b class='flag-5'>數據庫</b>轉換工具 - DDC](https://file1.elecfans.com/web3/M00/04/6B/wKgZO2dzYpCAeeE_AAAZKgGWPnE390.png)
數據庫事件觸發的設置和應用
數據庫數據恢復—MYSQL數據庫ibdata1文件損壞的數據恢復案例
數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫
![<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—通過拼接<b class='flag-5'>數據庫</b>碎片恢復SQLserver<b class='flag-5'>數據庫</b>](https://file1.elecfans.com/web1/M00/F4/07/wKgaoWcjE32AbQdWAAJD_hojvJc119.png)
Oracle數據恢復—異常斷電后Oracle數據庫啟庫報錯的數據恢復案例
![Oracle<b class='flag-5'>數據</b>恢復—異常斷電后Oracle<b class='flag-5'>數據庫</b>啟<b class='flag-5'>庫</b>報錯的<b class='flag-5'>數據</b>恢復案例](https://file1.elecfans.com/web2/M00/08/B8/wKgZomb6Ns-AbiICAAFlXAFpKKU086.png)
數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例
![<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b>恢復案例](https://file1.elecfans.com/web2/M00/07/F4/wKgaombs78mANJ1GAAPeSoXHVPE244.png)
華納云:MySQL初始化操作如何創建新的數據庫
恒訊科技分析:sql數據庫怎么用?
數據庫數據恢復—SQL Server數據庫所在分區空間不足報錯的數據恢復案例
7月15日開班啦! | Cadence 高速項目設計暑假速成班
![7月15日開班啦! | Cadence 高速項目設計暑假<b class='flag-5'>速成班</b>](https://file.elecfans.com/web2/M00/27/37/poYBAGHBmA2AD7e7AAAahjWuYP4250.jpg)
數據庫數據恢復—raid5陣列上層Sql Server數據庫數據恢復案例
![<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—raid5陣列上層Sql Server<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復案例](https://file.elecfans.com/web2/M00/A2/AD/pYYBAGRLbSSAHhFWAAI9vWNRQec919.png)
評論