久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【圖解UDS】UDS汽車診斷開(kāi)發(fā)流程及Vector解決方案工具鏈介紹

 邢開(kāi)走 2023-06-12 發(fā)布于上海

目錄

為了便于學(xué)習(xí)ISO 14229 UDS診斷協(xié)議,提供三個(gè)資源鏈接:

0 前言

1 診斷用例

2 Vector診斷解決方案

2.1 診斷解決方案 - CANdelaStudio

2.2 診斷解決方案 - ODXStudio

2.3 診斷解決方案 – CANdelaStudio/ODXStudio建議

2.4 診斷解決方案 – 嵌入式診斷

2.5 診斷解決方案 –自動(dòng)生成的測(cè)試

2.6 診斷解決方案 – 手動(dòng)測(cè)試支持

2.7 診斷解決方案 – 刷寫(xiě)工具

3 結(jié)尾


為了便于學(xué)習(xí)ISO 14229 UDS診斷協(xié)議,,提供三個(gè)資源鏈接:

a)  【圖解UDS】UDS汽車診斷標(biāo)準(zhǔn)協(xié)議(ISO 14229)帶你入門到精通

b)   ISO 14229 -Part1,,2,3,,4,,5,6,,7 UDS最新標(biāo)準(zhǔn)文件獲取路徑

c)   ISO 14229 Road vehicles — Unified diagnostic services (UDS)標(biāo)準(zhǔn)各Part部分修訂和發(fā)布狀態(tài)匯總

0 前言

下面給大家介紹的是Vector診斷全流程解決方案,。講解主要分為以下幾個(gè)部分:診斷的使用案例;Vector解決方案以及小結(jié),。

汽車診斷目的是為了在有限的時(shí)間和成本下,,快速獲取ECU和車輛的故障信息,便于維修維護(hù),。Vector在整個(gè)診斷流程中,,提供診斷方法和診斷工具以及有關(guān)的診斷服務(wù)。

1 診斷用例

診斷功能的實(shí)現(xiàn)以及測(cè)試,,在車輛開(kāi)發(fā)中越來(lái)越重要,,原因呢,是因?yàn)楝F(xiàn)在的汽車網(wǎng)絡(luò)越來(lái)越復(fù)雜,,ECU越來(lái)越多,,控制策略越來(lái)越復(fù)雜,每個(gè)國(guó)家也對(duì)汽車排放有相關(guān)的法規(guī)要求,,為了避免故障無(wú)法排查等問(wèn)題,,就需要在開(kāi)發(fā)階段對(duì)車輛的診斷功能的實(shí)現(xiàn)和驗(yàn)證進(jìn)行嚴(yán)格的處理,避免后端無(wú)法很好的使用診斷功能,。

在診斷流程中,,ECU供應(yīng)商根據(jù)整車廠的診斷需求以及ECU自身功能需求開(kāi)發(fā)的診斷功能,生產(chǎn)售后會(huì)使用ECU或者說(shuō)整個(gè)車輛的一個(gè)診斷功能,。

診斷通信是Tester和車輛的一個(gè)直接通信,,所以診斷功能的實(shí)現(xiàn),實(shí)際上就是兩種通信的一個(gè)規(guī)則實(shí)現(xiàn),,而通信規(guī)則就是由我們常說(shuō)的診斷協(xié)議來(lái)定義的,,它定義了診斷請(qǐng)求響應(yīng)的格式,ECU對(duì)診斷請(qǐng)求處理的邏輯等等,,現(xiàn)在行業(yè)內(nèi)常用的診斷協(xié)議,,ISO 14229 UDS協(xié)議;ISO 15765 CAN總線診斷的傳輸層協(xié)議,;ISO15031排放相關(guān)的OBD協(xié)議,;ISO 14230 部分整車廠還會(huì)使用到的kwp2000的協(xié)議,這個(gè)協(xié)議在UDS之前常用的一種診斷協(xié)議,。

診斷功能實(shí)現(xiàn)后,,當(dāng)然也需要進(jìn)行測(cè)試驗(yàn)證,診斷測(cè)試通常有幾個(gè)部分的測(cè)試:診斷協(xié)議的測(cè)試,,例如報(bào)文格式的測(cè)試,;傳輸層的測(cè)試,例如傳輸層相關(guān)時(shí)間參數(shù)的測(cè)試,;第3個(gè)就是診斷應(yīng)用的測(cè)試,,例如會(huì)話安全集轉(zhuǎn)換的一個(gè)測(cè)試;DID具體數(shù)值的測(cè)試等等,。

診斷流程遵循“V-L型”的一個(gè)開(kāi)發(fā)和使用流程,,“V”是指開(kāi)發(fā)階段,從需求定義到代碼實(shí)現(xiàn),,到集成測(cè)試,;L是指生產(chǎn)售后階段是使用診斷功能的一個(gè)階段。

傳統(tǒng)的診斷開(kāi)發(fā)流程中,,診斷數(shù)據(jù)的交互都是使用機(jī)器不可讀的格式文件,,比如Excel,PDF等,,那么在整個(gè)的開(kāi)發(fā)流程當(dāng)中會(huì)涉及到整車廠,,系統(tǒng)供應(yīng)商,不同的公司,,不同的部門,,每個(gè)工程師根據(jù)自己的經(jīng)驗(yàn),對(duì)于同一份診斷需求文件的解讀,,有可能會(huì)出現(xiàn)偏差,,例如開(kāi)發(fā)工程師和測(cè)試工程師對(duì)同一句話的理解不同,則會(huì)導(dǎo)致測(cè)試不通過(guò),,然后又需要重新回到需求定義的部分去完善或者解釋這條需求,,從而導(dǎo)致需求定義時(shí)間過(guò)長(zhǎng),致使整個(gè)開(kāi)發(fā)周期延長(zhǎng),。

就好比驛站傳書(shū)這個(gè)游戲一句話或者一幅圖,,每個(gè)人用自己的語(yǔ)言描述給下一個(gè)人,往往最后一個(gè)人描述的東西和第一個(gè)人會(huì)有很大的一個(gè)偏差,。

2 Vector診斷解決方案

基于這樣的問(wèn)題,Vector提出一種以機(jī)器可讀的診斷數(shù)據(jù)庫(kù)為核心的診斷開(kāi)發(fā)全流程解決方案。

因?yàn)闄C(jī)器對(duì)于數(shù)據(jù)的解讀,,不會(huì)像人工解讀有那么多經(jīng)驗(yàn)理解在里面,,可以很好的把數(shù)據(jù)傳遞到每一個(gè)階段,從而保證整個(gè)開(kāi)發(fā)階段的數(shù)據(jù)的一致性,有效的縮短開(kāi)發(fā)周期,機(jī)器可讀的診斷數(shù)據(jù)庫(kù)其實(shí)就是將傳統(tǒng)的Excel調(diào)查表等信息編輯成CDD或ODX文件。CDD是Vector私有的一種診斷數(shù)據(jù)庫(kù)格式,;ODX是國(guó)際標(biāo)準(zhǔn)的診斷數(shù)據(jù)交互格式。CANdelaStudio編輯CDD文件,,以及也可以導(dǎo)出ODX文件,,ODX Studio用于編輯ODX文件,診斷數(shù)據(jù)庫(kù)的編輯其實(shí)就是診斷需求的定義,。在需求定義完后,,代碼實(shí)現(xiàn)可以通過(guò)診斷數(shù)據(jù)庫(kù)生成診斷相關(guān)的代碼以及應(yīng)用層接口函數(shù)。Vector的診斷部分代碼包括:Non_Autosar標(biāo)準(zhǔn)的CANdesk,;以及Autosar標(biāo)準(zhǔn)的MICROSAR DIAG,。

功能實(shí)現(xiàn)后我們有CANOE.Diva,通過(guò)獲取診斷數(shù)據(jù)庫(kù)中的數(shù)據(jù)定義,,自動(dòng)生成測(cè)試用例,,然后CANOE執(zhí)行測(cè)試用例并生成測(cè)試報(bào)告,CANOE,,CANalyzer ,,CANape可以導(dǎo)入診斷數(shù)據(jù)庫(kù)后手動(dòng)收發(fā)診斷服務(wù)或者編寫(xiě)診斷腳本,Indigo是Vector的一個(gè)參數(shù)化的診斷儀,,另外與診斷相關(guān)的功能的刷寫(xiě)功能,,Vector也提供刷寫(xiě)上位機(jī)工具vFlash,下面我們就具體來(lái)看一下相關(guān)的工具,。

2.1 診斷解決方案 - CANdelaStudio

CANdelaStudio用于編輯機(jī)器可讀的診斷數(shù)據(jù)庫(kù)CDD文件的工具,,在編輯CDD文件的時(shí)候我們需要有一個(gè)Template,也就是CDDt來(lái)保證我們CDD文件的一個(gè)有效性,。

CDDt所對(duì)應(yīng)的其實(shí)是主機(jī)廠提供的一個(gè)整車級(jí)別的診斷需求規(guī)范,,而每一個(gè)CDD文件對(duì)應(yīng)的是每一個(gè)ECU的一個(gè)診斷需求規(guī)范,所以CDDt通常會(huì)有兩種可能,,第1種,,有一些主機(jī)廠向Vector定制了他們相對(duì)應(yīng)的這個(gè)CDDt文件,或者他們自己有自己編輯好的這個(gè)相對(duì)應(yīng)的CDDt文件,,他可以直接釋放給系統(tǒng)供應(yīng)商去編輯CDD文件,,另外也會(huì)有一些主機(jī)廠,它不提供CDDt文件。

所以Vector CANdelaStudio工具里面會(huì)自帶這個(gè)Vector標(biāo)準(zhǔn)的一個(gè)CDDt文件,,那么,,在用戶在編輯的時(shí)候,可以基于Vector標(biāo)準(zhǔn)的CDDt文件去編輯自己需要的CDDt,,然后再建立自己需要的一個(gè)CDD文件,。

診斷數(shù)據(jù)庫(kù)里面有3大部分的內(nèi)容:ECU Information通信參數(shù)的部分;Diagnostic class診斷服務(wù)的部分,;States定義的就是我們會(huì)話安全集的部分。

我們下面具體來(lái)看這幾個(gè)窗口,,首先,,ECU Information當(dāng)中的Interfaces接口,它定義的是不同接口下的通信參數(shù),,比如說(shuō)CAN接口相關(guān)的通信參數(shù),;以太網(wǎng)接口相關(guān)的通信參數(shù),那都定義在我們相對(duì)應(yīng)的這個(gè)接口信息里面,,那所有的接口都需要在CDDt里面定義好,,也就是編輯CDD文件的時(shí)候,不需要新建這個(gè)相關(guān)的接口,,只需要激活你相對(duì)應(yīng)的總線的接口,,然后編輯你相對(duì)應(yīng)的通信參數(shù)。

服務(wù)的部分,,每一條服務(wù)都有一個(gè)窗口來(lái)進(jìn)行一個(gè)編輯,,那每一個(gè)服務(wù)下面相對(duì)應(yīng)的這個(gè)參數(shù)呢,也都有相對(duì)應(yīng)的標(biāo)簽頁(yè)來(lái)進(jìn)行編輯,,比如說(shuō)當(dāng)前這個(gè)窗口里面就是我們DTC的一個(gè)編輯的界面,。

第3個(gè)部分我們會(huì)話和安全集狀態(tài)的一個(gè)設(shè)置,會(huì)話和安全集是兩個(gè)獨(dú)立的狀態(tài),,這兩個(gè)狀態(tài)呢,,在CDD文件里面會(huì)有兩個(gè)獨(dú)立的表格,在這個(gè)表格里面可以針對(duì)你每一條服務(wù)精確到每個(gè)Subfunction,,精確到每一個(gè)DID,,來(lái)建立你在某一個(gè)會(huì)話,某一個(gè)安全集下,,是否可以執(zhí)行,,或者涉及到相應(yīng)的狀態(tài)跳轉(zhuǎn),在狀態(tài)跳轉(zhuǎn)機(jī)制設(shè)置好后,,我們可以有圖形化的顯示,,來(lái)顯示你相對(duì)應(yīng)的狀態(tài)之間,通過(guò)什么樣的服務(wù)來(lái)進(jìn)行跳轉(zhuǎn),那我們可以直觀的去檢查,,我們的狀態(tài)跳轉(zhuǎn)是否正確,。

除了我們上面說(shuō)的3個(gè)部分呢,是我們描述一個(gè)診斷需求規(guī)范必要的三個(gè)部分,,另外呢CANdelaStudio也可以用來(lái)描述需求,,也就是我們可以做一個(gè)需求的匹配,比如說(shuō)我們從我們另外一個(gè)provision里面可以導(dǎo)出我們的診斷需求文件CSV,,在這個(gè)需求文件里面定義了我有10條DID的一個(gè)需求,,那我就可以映射到我現(xiàn)在定義的在CDD文件里面定義的相關(guān)的DID,然后我實(shí)際需求文檔里面的DID,,然后做一個(gè)匹配,,然后來(lái)看一下我現(xiàn)在的CDD文件是否已經(jīng)滿足我所有的一個(gè)需求。

CANdelaStudio除了可以去建立CDD文件以外,,也可以支持多種文件的一個(gè)導(dǎo)入和導(dǎo)出,,在這里呢,大家可能比較關(guān)心的一個(gè)是CDD可以導(dǎo)出ODX文件,,另外呢就是CDD可以導(dǎo)出ARXML文件,,那CDD可以導(dǎo)出的是國(guó)際標(biāo)準(zhǔn)的ODX 2.0.1,2.1.0和2.2.0,。

那當(dāng)然,,這里導(dǎo)出的呢,只是符合相關(guān)的ISO標(biāo)準(zhǔn)的,,如果說(shuō)某一個(gè)企業(yè)它有自己的一個(gè)定制化的ODX標(biāo)準(zhǔn),,那么這個(gè)時(shí)候我們是需要做一個(gè)定制化的開(kāi)發(fā),來(lái)保證相關(guān)的CDD文件可以導(dǎo)出符合這個(gè)企業(yè)級(jí)的ODX實(shí)現(xiàn)指南的,。

另外呢CDD導(dǎo)出的arxml文件,,這里的arxml文件包含的是Autosar標(biāo)準(zhǔn)里面所說(shuō)的dext,也就是dextract僅僅只診斷的這個(gè)相關(guān)的部分,。

2.2 診斷解決方案 - ODXStudio

ODX全稱Open Diagnostic Data Exchange (開(kāi)放式的診斷數(shù)據(jù)交互格式),,一開(kāi)始是由ASAM組織提出的,那也就是我們通常所說(shuō)的什么ODX 2.0.1,,ODX 2.2.0,,其實(shí)指的是ASAM當(dāng)時(shí)定義的ODX的一個(gè)標(biāo)準(zhǔn)編號(hào)。

現(xiàn)在我們所讀到的ISO 22901這個(gè)ODX標(biāo)準(zhǔn)是基于ASAM的ODX 2.2.0來(lái)進(jìn)行定義的,,ODX標(biāo)準(zhǔn)里面,,它定義4個(gè)部分的內(nèi)容,第一個(gè)是UML建模,,通過(guò)這種建模語(yǔ)言,,來(lái)描述不同的層級(jí)不同的參數(shù)之間的一個(gè)關(guān)聯(lián)關(guān)系,,那在實(shí)際使用的時(shí)候呢,是將UML建模轉(zhuǎn)換成XML結(jié)構(gòu),,也就是ODX文件,,實(shí)質(zhì)上是一種XML語(yǔ)言結(jié)構(gòu)的一個(gè)文件。

第3個(gè)部分當(dāng)然會(huì)有一些文本的描述在標(biāo)準(zhǔn)里面,,第4個(gè)部分呢就是我們的校驗(yàn)規(guī)則,,ODX作為一種國(guó)際標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)交互格式,不同的層級(jí)存放什么樣的內(nèi)容,,怎么樣怎么樣去定義,,我相應(yīng)的這些數(shù)據(jù)都是有相應(yīng)的一些規(guī)則的,那么都是需要進(jìn)行校驗(yàn)的,。

ODX文件它包含幾大類的數(shù)據(jù),,首先第一個(gè)ODX-D描述了診斷數(shù)據(jù)和診斷服務(wù);ODX-C描述了通信參數(shù),;ODX-V描述了整車的拓?fù)浣Y(jié)構(gòu),這三個(gè)部分呢是描述的診斷數(shù)據(jù)庫(kù)的部分,,除此以外還可以描述其他和診斷相關(guān)的一些文件,,比如說(shuō)ODX-F描述的是刷寫(xiě)數(shù)據(jù)文件,在加載傳統(tǒng)Hex,S19,,bin文件以后呢,,可以添加一些Check sum,或者security等等相關(guān)的一些信息,,把他封裝成一個(gè)標(biāo)準(zhǔn)的ODX-F文件,;ODX-E更多的呢用在主機(jī)廠生產(chǎn)車間里面,在車輛出廠前,,對(duì)車輛進(jìn)行相應(yīng)的一些配置,,那ODX-E描述的就是這些配置的相關(guān)數(shù)據(jù);ODX-FD功能導(dǎo)向的一個(gè)ODX文件,,在4S店里面通常售后階段,,我們需要不是某一個(gè)ECU相關(guān)的數(shù)據(jù),而是車輛某一個(gè)功能的集合的這樣一個(gè)數(shù)據(jù),,所以O(shè)DX-FD通常會(huì)使用在售后階段,,尤其是像4S店里面;ODX-M多ECU的Jobs,,這個(gè)部分現(xiàn)在行業(yè)內(nèi)已經(jīng)沒(méi)有人使用了,,所以我們現(xiàn)在最多會(huì)用到的ODX文件會(huì)包含以下的6個(gè)部分。

在描述一個(gè)ODX文件的時(shí)候,,我們需要注意的是,,ODX標(biāo)準(zhǔn)本身它定義的很寬泛,你可以把它想象成它是描述了一個(gè)100%的內(nèi)容,而每一個(gè)工具,,不同家的工具在實(shí)現(xiàn)ODX的時(shí)候,,它可能都會(huì)滿足其中的可能70~80%這樣一個(gè)需求,就會(huì)造成工具A和工具B之間能夠相互兼容其實(shí)只有每個(gè)中間的一部分并不能夠相互兼容彼此的100%,,那這個(gè)時(shí)候當(dāng)然我們主機(jī)廠在使用ODX這個(gè)文件的時(shí)候,,肯定是希望我所有的工具供應(yīng)商都能滿足我釋放的同一份ODX文件,所以這個(gè)時(shí)候需要定義企業(yè)級(jí)的ODX規(guī)范,,也就是ODX  Guide line,,也就是ODX實(shí)現(xiàn)指南,來(lái)定義好我這家企業(yè)所需要的ODX文件是什么樣的,,然后來(lái)讓我不同的工具供應(yīng)商來(lái)基于這份企業(yè)級(jí)規(guī)范滿足不同一個(gè)ODX需求,。

ODX Studio是我們用于編輯ODX文件的一個(gè)工具,它可以同時(shí)編輯ODX 2.0.1和ODX 2.2.0 兩個(gè)格式,,這兩個(gè)版本之間是相互不兼容的,。

ODXStudio的一個(gè)編輯界面,每個(gè)層級(jí)都是一個(gè)獨(dú)立的標(biāo)簽頁(yè),,ODX-D,,-C,-V,,-F,,-E,-FD,。

那每一個(gè)層級(jí):-D定義出來(lái)我可以把它保存成一個(gè)ODX-D的文件,;-F可以保存成ODX-F的文件等等,當(dāng)然我們通常在使用一個(gè)ODX文件的時(shí)候,,可能同時(shí)需要ODX-D和ODX-C包含在一起,,所以這個(gè)時(shí)候在標(biāo)準(zhǔn)里面還有一種格式,就是PDX,,Pack的ODX,,打包的ODX文件,這個(gè)格式文件可以一個(gè)或多個(gè)的ODX文件,,后綴名就是.pdx,。

剛剛我們介紹的CDD,ODX 是兩種診斷數(shù)據(jù)庫(kù)文件,,那我們?cè)谑裁礃拥那闆r下,,去使用哪一種數(shù)據(jù)庫(kù)文件呢,Vector有如下的一種建議,。

2.3 診斷解決方案 – CANdelaStudio/ODXStudio建議

我們建議在開(kāi)發(fā)階段使用CDD文件,,而在生產(chǎn)后售后階段使用ODX文件,,為什么會(huì)有這樣的建議呢,我們?cè)陂_(kāi)發(fā)階段數(shù)據(jù)會(huì)一直變動(dòng),,或者說(shuō)我們的數(shù)據(jù)庫(kù)文件會(huì)一直需要不斷的進(jìn)行修改,,那相較于ODX文件,CDD文件是面向工程性的,,所以它的可編輯性更強(qiáng),,而且行業(yè)內(nèi)大部分人對(duì)CDD文件還是比較熟悉的,所以它編輯起來(lái)會(huì)更簡(jiǎn)單更容易一些,,而到了我們生產(chǎn)售后階段,,我們可能會(huì)有不同的Tester的一個(gè)應(yīng)用,那么這個(gè)時(shí)候我們需要一種國(guó)際標(biāo)準(zhǔn)的格式能夠被不同的Tester去進(jìn)行使用,,去進(jìn)行調(diào)用,,那么這個(gè)時(shí)候我們就可以選擇從前期開(kāi)發(fā)階段的CDD文件導(dǎo)出相對(duì)應(yīng)的ODX文件,來(lái)應(yīng)用到我們生產(chǎn)和售后階段,,然后適應(yīng)我們不同Tester的需求,。

這樣一個(gè)建議會(huì)涉及到我們整個(gè)數(shù)據(jù)交互的流程,這個(gè)數(shù)據(jù)交互流程的核心是CDD文件,,而CDD來(lái)源于實(shí)際的診斷規(guī)范,。

對(duì)于ECU供應(yīng)商而言,我們主要是做ECU開(kāi)發(fā),,那么我們可以用CDD文件來(lái)導(dǎo)入到我們GENy相關(guān)的這個(gè)代碼配置工具里面去做相應(yīng)的代碼生成,也可以把它放到我們的CANOE.Diva或者CANOE Indigo像這些工具里面去做相應(yīng)的測(cè)試,。

而對(duì)于主機(jī)廠這邊,,首先主機(jī)廠可能也會(huì)開(kāi)發(fā)一部分的ECU,所以我們也可以同樣的流程通過(guò)CDD文件導(dǎo)入到我們的代碼配置工具里面去做相應(yīng)的代碼生成以及我們相應(yīng)的CANOE等工具里面去做這個(gè)測(cè)試的部分,,另外到生產(chǎn)售后階段,,我們每一個(gè)主機(jī)廠都會(huì)有自己的不同的Tester,甚至說(shuō)每個(gè)階段都會(huì)有不同的Tester,,那么我們可以通過(guò)CDD格式文件通過(guò)CANdela Studio導(dǎo)出符合相對(duì)應(yīng)的Tester需求的一些數(shù)據(jù)庫(kù)文件,,比如說(shuō)ODX比如說(shuō)主機(jī)廠自定義診斷數(shù)據(jù)庫(kù)格式來(lái)應(yīng)用我們不同的Tester里面。

這樣的一個(gè)“”是經(jīng)歷過(guò)相應(yīng)的一些實(shí)際案例的一個(gè)檢驗(yàn)的,,首先我們來(lái)看福特,,福特有自己的一個(gè)格式MDX,這個(gè)診斷數(shù)據(jù)庫(kù)文件它不是通過(guò)福特的某一個(gè)工具直接生成的,,而是通過(guò)CANdela Studio定義的CDD文件導(dǎo)出福特自己的MDX文件,,那福特在前期ECU開(kāi)發(fā)的時(shí)候或者說(shuō)他建議他的ECU供應(yīng)商去進(jìn)行ECU開(kāi)發(fā)的時(shí)候會(huì)使用CDD,然后使用我們的CANdesk這個(gè)這樣一個(gè)代碼包,,然后來(lái)做相應(yīng)的診斷功能的開(kāi)發(fā),。

到了他的生產(chǎn)售后階段,,它們會(huì)有自己的MDX相應(yīng)的一些驗(yàn)證工具,會(huì)有他們自己相應(yīng)的一些售后工具,,EOL工具等等,,那他們就通過(guò)CDD導(dǎo)出的MDX文件來(lái)應(yīng)用到它們不同的一些部門里面,應(yīng)用到不同的工具里面,,那這個(gè)呢也符合我們剛剛說(shuō)的前期開(kāi)發(fā)階段使用CDD文件,。而生產(chǎn)售后階段呢,就使用它們自定義的格式文件,。

另外一個(gè)使用案例呢,,是歐洲的兩個(gè)主機(jī)廠之間有一個(gè)合作的項(xiàng)目,那么這個(gè)時(shí)候呢,,在合作以前,,OEM1它使用的CDD文件,而OEM2它使用的ODX文件,,那么這個(gè)時(shí)候,,它們兩之間相互交互的時(shí)候呢?OEM1就選擇用CDD導(dǎo)出相應(yīng)的ODX文件,,來(lái)跟OEM2之間來(lái)進(jìn)行交互,,以及相應(yīng)的一些工作,那ODX本身這個(gè)文件也可以用在不同公司不同的部門之間相互的一個(gè)交互,,而我們?cè)镜腃DD文件,,也可以用在我們一開(kāi)始的開(kāi)發(fā)流程當(dāng)中,不用改變它自身已有的相關(guān)的一些流程,。

剛剛說(shuō)到的是主機(jī)廠,,那么對(duì)于系統(tǒng)供應(yīng)商呢?采埃孚之前也有定制過(guò)相應(yīng)的它們自己的一個(gè)CDD文件,,這個(gè)CDD文件用于他們前期的開(kāi)發(fā)和測(cè)試的工作,,而到了交付給主機(jī)廠或者他們后端自己需要的一些工具的時(shí)候,就會(huì)把CDD導(dǎo)出相對(duì)應(yīng)的ODX文件,,或者主機(jī)廠需要的一些CDD文件交付給主機(jī)廠,,然后或者是采埃孚可以通過(guò)他們自己的CDD,導(dǎo)出相對(duì)應(yīng)的一些工具需要的ODX文件,,XML,,Excel相對(duì)應(yīng)的一些Template。

這個(gè)是我們對(duì)于兩種數(shù)據(jù)庫(kù)文件的一個(gè)建議,,在我們需求定義好以后,,下面一步就是做代碼的實(shí)現(xiàn),那么在代碼實(shí)現(xiàn)的部分,,Vector提供有嵌入式代碼,。

2.4 診斷解決方案 – 嵌入式診斷

嵌入式代碼首先第一種Nun Autosar標(biāo)準(zhǔn)的Command代碼,,Command里面診斷的部分叫做CANdesc,它的一個(gè)實(shí)現(xiàn)方式就是將CDD文件導(dǎo)入到我們的GENy工具里面,,然后去生成診斷相關(guān)的一些底層代碼,,以及應(yīng)用層接口。

另外一種就是我們Autosar解決方案MICROSAR,,其中的MICROSAR DIAG診斷的部分包含我們的DCM,,DEM和FIM相關(guān)的這些模塊,那它的一個(gè)實(shí)現(xiàn)方式也是將我們的CDD或者ODX文件導(dǎo)入到我們的配置工具“達(dá)芬奇”里面,,自動(dòng)生成和診斷相關(guān)的一些底層代碼,,以及應(yīng)用層接口。

在診斷功能實(shí)現(xiàn)以后,,我們就要對(duì)它來(lái)進(jìn)行測(cè)試,,那有兩種測(cè)試方法,第1種是自動(dòng)化測(cè)試,,第2種是手動(dòng)測(cè)試,,我們首先來(lái)看自動(dòng)化測(cè)試。

2.5 診斷解決方案 –自動(dòng)生成的測(cè)試

自動(dòng)化測(cè)試是實(shí)現(xiàn),,我們可以用CANOE.Diva這個(gè)工具,,他可以在導(dǎo)入診斷數(shù)據(jù)庫(kù)ODX或者CDD文件的基礎(chǔ)上去,去自動(dòng)生成診斷相關(guān)的測(cè)試用例,,可以覆蓋UDS,,KWP,GMW3110或者OBD等相關(guān)的一些測(cè)試用例,。

我們可以看到這張圖里面就是歐洲一個(gè)主機(jī)廠,,他一個(gè)車型平臺(tái)上面通過(guò)手動(dòng)測(cè)試和自動(dòng)測(cè)試分別所耗費(fèi)的時(shí)間的一個(gè)對(duì)比圖,灰色就是他手動(dòng)測(cè)試所花費(fèi)的時(shí)間,;紅色就是它自動(dòng)測(cè)試所花費(fèi)的時(shí)間,,我們可以看到自動(dòng)測(cè)試所消耗的時(shí)間,,只有他手動(dòng)測(cè)試的1/3,,甚至更少。

CANOE.Diva的一個(gè)流程,,把CDD和ODX文件導(dǎo)入到Diva工程當(dāng)中,,然后去通過(guò)一些相應(yīng)的配置,點(diǎn)一個(gè)按鈕自動(dòng)生成診斷相關(guān)的一些測(cè)試用例,,那這部分測(cè)試用例實(shí)際是CANOE的一個(gè)測(cè)試模塊,,所以需要把Diva的工程導(dǎo)入到CANOE當(dāng)中去連接ECU,去執(zhí)行這些測(cè)試用例,,最終自動(dòng)生成相應(yīng)的測(cè)試報(bào)告,。

Diva生成的測(cè)試用例,,分兩個(gè)部分,首先一個(gè)部分呢是標(biāo)準(zhǔn)工具自帶的相應(yīng)的測(cè)試點(diǎn)與我們的需求進(jìn)行一個(gè)匹配,,相交叉的這個(gè)點(diǎn)就會(huì)生成相對(duì)應(yīng)的測(cè)試用例,,那當(dāng)然我不能保證這里生成的測(cè)試用例可以滿足你100%的需求,比如說(shuō)像NRC的優(yōu)先級(jí),,就是我們標(biāo)準(zhǔn)的CANOE.Diva工具測(cè)不了的,。

那么這個(gè)時(shí)候,我們可以由用戶自己來(lái)提供相應(yīng)的測(cè)試需求或者說(shuō)測(cè)試規(guī)范,,我們以項(xiàng)目服務(wù)的方式來(lái)開(kāi)發(fā)CANOE.Diva Plugin,,來(lái)擴(kuò)展Diva自動(dòng)化測(cè)試的測(cè)試用例,那目前呢,,我們?cè)谌蛞呀?jīng)有超過(guò)給15家這個(gè)OEM定制過(guò)相應(yīng)的Diva擴(kuò)展的測(cè)試用例,。

標(biāo)準(zhǔn)的Diva可以測(cè)到點(diǎn),包括:物理尋址和功能尋址的測(cè)試,;P2,,P2*,S3時(shí)間參數(shù)的測(cè)試,;請(qǐng)求格式,,響應(yīng)格式,22服務(wù)里面同時(shí)讀取多個(gè)DID等等相應(yīng)的測(cè)試,;具體數(shù)據(jù)內(nèi)容的測(cè)試,;ECU應(yīng)用相關(guān)的測(cè)試;以及會(huì)話安全集相關(guān)轉(zhuǎn)換的等等相關(guān)的測(cè)試,。

Diva當(dāng)中的配置主要包括,,像工程配置,工程配置包括像我們是否這個(gè)工程是CAN的網(wǎng)絡(luò),,然后我們的27服務(wù)使用到的Dil文件的加載,,以及CANOE環(huán)境文件加載等等。

另外一個(gè)是測(cè)試配置,,主要是配置我們測(cè)試當(dāng)中的用到的一些時(shí)間參數(shù),,還有我們這些診斷服務(wù)是否要測(cè)以及我們的測(cè)試深度等等

那關(guān)于DTC這部分的配置,我們主要是通過(guò)加載DBC文件來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)相關(guān)的故障注入,,也可以通過(guò)像VT系統(tǒng),,來(lái)注入一些短路,斷路,,或者電壓等等相關(guān)的一些IO故障注入,。

那對(duì)于刷寫(xiě)的測(cè)試呢,我們是從CANOE.Diva 4.0版本開(kāi)始支持的,,它需要調(diào)用我們的vFlash工具所做的一個(gè)vFlash一個(gè)工程,,完整的一個(gè)刷鞋的工程來(lái)進(jìn)行測(cè)試,,它可以對(duì)有效的刷寫(xiě)流程進(jìn)行測(cè)試,也可以在刷寫(xiě)流程當(dāng)中去制造一些故障,,然后來(lái)看我們的刷寫(xiě)是否會(huì)被停止,,以及我們的ECU是否可以重新被刷寫(xiě)等等。

CANOE.Diva是自動(dòng)生成診斷和刷寫(xiě)相關(guān)的測(cè)試用例的工具,;而我們另外一個(gè)工具vTESTstudio是用來(lái)去編輯測(cè)試用例這樣一個(gè)工具,,并且他們的執(zhí)行環(huán)境都是CANOE,現(xiàn)在我們可以把CANOE.Diva的工程,,直接導(dǎo)到vTESTstudio里面,,把他們合并到同一個(gè)測(cè)試工程,并且在此基礎(chǔ)上添加一些Diva可能暫時(shí)還不支持的一些測(cè)試用例,。

這個(gè)界面顯示的呢,,就是我們生成的一個(gè)測(cè)試報(bào)告的一個(gè)界面,那我們具體的每一條測(cè)試用例是否通過(guò),,具體的測(cè)試條目,,具體的一些測(cè)試步驟以及相對(duì)應(yīng)的trace窗口,都會(huì)在我們報(bào)告當(dāng)中去顯示,。

下面來(lái)看手動(dòng)測(cè)試的部分,,

2.6 診斷解決方案 – 手動(dòng)測(cè)試支持

CANOE,CANape,,這些工具不是主要用來(lái)做診斷的,,但是呢,他們都可以在加載數(shù)據(jù)庫(kù)的基礎(chǔ)上手動(dòng)收發(fā)一些診斷服務(wù),,或者去編寫(xiě)一些診斷相關(guān)的腳本,,那我們現(xiàn)在具體介紹Indigo工具,Indigo是我們參數(shù)化的診斷儀,,但是它是一個(gè)基于PC機(jī)的診斷儀,。

Indigo這個(gè)工具是以我們的USKS作為一個(gè)導(dǎo)向,也就是說(shuō)我們平常的診斷儀,,手持式的診斷儀,,可能是針對(duì)我們每一個(gè)車型來(lái)定制相對(duì)應(yīng)的診斷儀的功能,但是Indigo這個(gè)工具,,它是更換不同的車型,,我只需要跟換我車型相對(duì)應(yīng)的這個(gè)CDD或者ODX文件就可以,。以此來(lái)生成相對(duì)應(yīng)的數(shù)據(jù)導(dǎo)向的功能,。

同時(shí)呢,它也可以加載C#腳本所編輯的一個(gè)Vector Diagnostic Scripting來(lái)管理相應(yīng)的診斷序列,。

這個(gè)是Indigo的一個(gè)GUI界面,,可以看到在這個(gè)界面里面,,DTC Auditor顯示是每個(gè)ECU分別由多少個(gè)DTC,當(dāng)然這邊還有一個(gè)可以由另外一個(gè)窗口具體顯示我每一個(gè)ECU里面具體一些DTC的信息,,這個(gè)窗口描述的是,,我們DID相對(duì)應(yīng)的一些數(shù)據(jù),當(dāng)然這個(gè)是我們Trace的原始報(bào)文,,而這邊顯示的呢,,是我們已經(jīng)解析好的相對(duì)應(yīng)的一些數(shù)據(jù),那我們可以看到Indigo為了更好的方便我們中國(guó)用戶的使用,,所以我們Indigo從4.6版本開(kāi)始,,是支持中文的一個(gè)界面。

Indigo除了是現(xiàn)場(chǎng)的一個(gè)診斷儀以外,,它也可以支持一個(gè)遠(yuǎn)程的介入,,通常我們的整車試驗(yàn)場(chǎng)或者說(shuō)我們車輛可能在外地,然后我們的診斷專家他可能在另外一個(gè)城市,,那這個(gè)時(shí)候如果診斷專家需要去獲取到車輛的一些信息的時(shí)候,,我診斷專家通常都是出差到本地去做一些診斷的工作,但是這個(gè)時(shí)候我診斷專家比較忙,,現(xiàn)場(chǎng)也比較緊急,,這樣一些情況的話,這個(gè)時(shí)候通過(guò)遠(yuǎn)程的方式來(lái)連接,,那現(xiàn)場(chǎng)端 Indigo Access Point這個(gè)現(xiàn)場(chǎng)端然后連接我們的這個(gè)接口卡,,然后去連接我們的車輛,然后通過(guò)WiFi連上后臺(tái)的服務(wù)器,,遠(yuǎn)程專家這端也是任然應(yīng)用的Indigo這個(gè)工具,,只是帶有Indigo Remote license,然后去用WIFI連上我們后臺(tái)的服務(wù)器,,兩個(gè)之間相互對(duì)接上,。

我們的 Indigo Access Point這端會(huì)有一個(gè)賬戶和密碼,我的遠(yuǎn)程端去輸入這個(gè)賬戶跟密碼,,就可以知道我是跟哪一個(gè) Indigo Access Point端去進(jìn)行連接,,那這個(gè)時(shí)候我們還會(huì)有一個(gè)問(wèn)題,就是現(xiàn)場(chǎng)這個(gè)車輛上面放一臺(tái)電腦放一個(gè)接口卡其實(shí)是不太方便的,,所以這個(gè)時(shí)候我們有另外一個(gè)自帶操作系統(tǒng)的接口卡VN8810,,它可以直接替代我的現(xiàn)場(chǎng)端和接口卡的兩個(gè)部分,直接連上車輛的OBD口,,并且OBD直接給它供電,,同時(shí)通過(guò)WIFI連上后臺(tái)的服務(wù)器,那還是一樣的,我的remote遠(yuǎn)程專家發(fā)送相應(yīng)的指令,,獲取相應(yīng)的一些診斷信息,。

這個(gè)就是VN8810自帶操作系統(tǒng)的智能設(shè)備,以及它相關(guān)的性能參數(shù),,那么這個(gè)VN8810應(yīng)用用場(chǎng)景主要就是遠(yuǎn)程診斷以及刷寫(xiě),。

那么這個(gè)是我們傳統(tǒng)的兩端都基于PC機(jī)的Indigo Remote系統(tǒng)的一個(gè)界面。

我們現(xiàn)在從需求定義到代碼實(shí)現(xiàn),,以及到測(cè)試的部分,,整個(gè)的診斷開(kāi)發(fā)全流程已經(jīng)覆蓋到了。接下來(lái)一個(gè),,就是跟我們的診斷功能息息相關(guān)的,,也就是我們ECU另外一個(gè)刷寫(xiě)的功能。

2.7 診斷解決方案 – 刷寫(xiě)工具

刷寫(xiě)功能的實(shí)現(xiàn),,首先是我們ECU本身也需要有Bootloader的代碼,,來(lái)支撐這個(gè)刷寫(xiě)的功能,當(dāng)然Vector也提供相應(yīng)的flash Bootloader的代碼包,,另外我們的vFlash是一種通用型的上位機(jī)工具,,為什么說(shuō)它是通用型的呢?因?yàn)槲覀兛梢灾С植煌目偩€,,包括CAN,,DoIP,F(xiàn)lexRay等等,,我們支持不同的刷寫(xiě)格式,,比如傳統(tǒng)的Intel-Hex,Motorola-s,,Binary等等,,以及ODX-F相關(guān)的這個(gè)格式,也可以支持不同的OEM刷寫(xiě)規(guī)范刷寫(xiě)序列,。

為什么呢,?因?yàn)槲覀冊(cè)谑褂胿Flash的時(shí)候需要一個(gè)基于刷寫(xiě)規(guī)范定制的vFlash Template,這個(gè)vFlash Template是基于這個(gè)刷寫(xiě)規(guī)范定制化開(kāi)發(fā)的,,所以它的獲取方式通常會(huì)有幾種,。首先一個(gè)是購(gòu)買了Vector Flash BootLoader我們會(huì)隨包帶相對(duì)應(yīng)的vFlash Template;另外只是購(gòu)買vFlash這個(gè)工具的話,,我們可以以項(xiàng)目的形式定制化開(kāi)發(fā)相對(duì)應(yīng)的vFlash Template,;其次我們?cè)谌蛞呀?jīng)有給很多的主機(jī)廠定制了相對(duì)應(yīng)的vFlash Template,那主機(jī)廠也可以把這個(gè)vFlash Template釋放給你相對(duì)應(yīng)的系統(tǒng)供應(yīng)商,。建立vFlash這個(gè)工程的時(shí)候,,我們只需要選擇對(duì)應(yīng)的vFlash Template,,然后加載我們的刷寫(xiě)數(shù)據(jù),然后去配置一些ECU相關(guān)的配置,,比如說(shuō)我們CANID的定義等等(CANID,波特率等等填寫(xiě)),,來(lái)建立一個(gè)完整的刷寫(xiě)工程,。

那我們可以將我們的這個(gè)刷寫(xiě)工程保存成一個(gè)Pack&Go的一個(gè)格式,也就是vFlash Pack,,這個(gè)vFlash 相當(dāng)于是一個(gè)打包好的一個(gè)工程,,然后這個(gè)工程里面會(huì)包含你的,比如說(shuō)Seed&Key文件,,你的刷寫(xiě)文件,,你的vFlash Template等等,全部包含在里面,,那這個(gè)vFlash Pack可以直接被vFlash打開(kāi),,然后去進(jìn)行刷寫(xiě)執(zhí)行,也可以被其他的工具比如說(shuō)Diva進(jìn)行直接的調(diào)用,。

這個(gè)是vFlash一個(gè)刷寫(xiě)過(guò)程的一個(gè)界面,,它會(huì)顯示我當(dāng)前已經(jīng)刷到了已經(jīng)執(zhí)行到了哪一個(gè)階段,然后已經(jīng)刷到了我的data的部分,,然后當(dāng)前還剩多長(zhǎng)時(shí)間,,我的一個(gè)刷新速率等等。

vFlash是針對(duì)單個(gè)ECU進(jìn)行刷寫(xiě),,尤其是像在產(chǎn)線上1對(duì)1的刷寫(xiě)的話效率是不太高的,,所以我們有另外一個(gè)license,就是vFlash station,。vFlash station可以調(diào)用vFlash Pack實(shí)現(xiàn)對(duì)多個(gè)的同時(shí)刷寫(xiě),,最多的是8個(gè)ECU,也就是8個(gè)獨(dú)立的物理通道,。vFlash station它提供的不是一個(gè)標(biāo)準(zhǔn)的含GUI的工具,,而是一個(gè)函數(shù)庫(kù),這個(gè)函數(shù)庫(kù)包含C和C#的API,,那么你在產(chǎn)線上通常會(huì)有一個(gè)中控機(jī)制,,那你可以把這個(gè)vFlash station功能嵌入到你相對(duì)應(yīng)的這個(gè)中控機(jī)制里面,那采用這個(gè)C或者是C#上的一個(gè)API去調(diào)用相對(duì)應(yīng)的功能,。

除了vFlash station以外,,它還有另一個(gè)擴(kuò)展的License,就是vFlash Remote,,它和我們剛剛講到的Indigo Remote類似,,是一個(gè)遠(yuǎn)程刷寫(xiě)的方案,。那么我們需要一個(gè)vFlash 的現(xiàn)場(chǎng)端,現(xiàn)場(chǎng)端提供這個(gè)ID和密碼,,讓我遠(yuǎn)程端去輸入我的IP和密碼,,同時(shí)連上服務(wù)器,那么我就知道我們兩端可以連接上,,然后我的vFlash Remote這一端,,加載我的這個(gè)vFlash Pack工程,然后傳輸?shù)轿业默F(xiàn)場(chǎng)端,,然后去執(zhí)行相應(yīng)刷寫(xiě)的動(dòng)作,。

同樣的我們的現(xiàn)場(chǎng)端也可以用VN8810直接去連接我們的車輛。

3 結(jié)尾

歡迎大家給我留言,,如果覺(jué)得好,,動(dòng)動(dòng)你的手指,“點(diǎn)贊”+“收藏

END

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(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)論公約

    類似文章 更多