01 診斷相關(guān)基礎(chǔ)小知識(shí)
1.1 診斷地址
ECU的診斷地址,跟以太網(wǎng)設(shè)備間通訊地址設(shè)置不一樣。在以太網(wǎng)中每個(gè)設(shè)備都有一個(gè)唯一標(biāo)識(shí)符MAC地址。設(shè)備間的單播通訊如下圖所示:
以太網(wǎng)絡(luò)的端口地址直接對(duì)應(yīng)物理設(shè)備,設(shè)備出廠(chǎng)時(shí)Mac地址直接燒錄在網(wǎng)卡的E2PROM中,從以太網(wǎng)地址配置上也可以看出兩者間的對(duì)應(yīng)關(guān)系。ECU的診斷地址是不一樣的,不存在類(lèi)似以太網(wǎng)那樣的通訊端口,沒(méi)有像以太網(wǎng)那樣地址跟設(shè)備端口的綁定關(guān)系,廠(chǎng)商也不會(huì)有一個(gè)唯一地址在出廠(chǎng)時(shí)燒錄進(jìn)CAN處理芯片中,我們可以把它理解為邏輯上的地址。ECU接收到診斷請(qǐng)求時(shí),檢查數(shù)據(jù)幀的接收地址是否跟本ECU配置的診斷地址一致,如果一致則接收并處理,不一致就丟棄。發(fā)送數(shù)據(jù)時(shí)則在數(shù)據(jù)幀對(duì)應(yīng)位置寫(xiě)入配置好的本ECU診斷通訊響應(yīng)CANID。通過(guò)下圖我們可以直觀的看到診斷通訊關(guān)系。
1.2 物理尋址和功能尋址
在1.1章節(jié)中我們通過(guò)以太網(wǎng)的設(shè)備間單播通訊來(lái)類(lèi)比解釋了CAN網(wǎng)絡(luò)兩個(gè)ECU間的一般通訊。我們知道以太網(wǎng)有單播、組播、和廣播通訊,對(duì)應(yīng)CAN網(wǎng)絡(luò)有物理尋址(Physical Address)和功能尋址(FunctionalAddress)。
我們通過(guò)一個(gè)生活中的例子來(lái)說(shuō)明物理尋址和功能尋址的區(qū)別。比如我們?cè)诮y(tǒng)計(jì)辦公室員工的核酸檢測(cè)情況時(shí),統(tǒng)計(jì)人員分別找到每個(gè)員工進(jìn)行詢(xún)問(wèn),這種方式就類(lèi)似物理尋址,是一對(duì)一的通訊;統(tǒng)計(jì)人員在辦公室吼一嗓子“大家核酸都做過(guò)了么,分別私下跟我說(shuō)下”,然后每個(gè)員工單獨(dú)回復(fù)統(tǒng)計(jì)員,這種一對(duì)多的詢(xún)問(wèn)就類(lèi)似功能尋址。
通過(guò)上述例子,我們可以知道ECU間點(diǎn)對(duì)點(diǎn)通訊是物理尋址實(shí)現(xiàn),一對(duì)多發(fā)出請(qǐng)求是通過(guò)功能尋址實(shí)現(xiàn)。這里我們強(qiáng)調(diào)下即使請(qǐng)求報(bào)文是功能尋址,響應(yīng)端發(fā)送回復(fù)報(bào)文時(shí)依然是使用物理尋址來(lái)進(jìn)行答復(fù)(不是功能尋址答復(fù))。在實(shí)際項(xiàng)目中很多ECU的功能尋址地址通常都是0x7DF,具體項(xiàng)目中ECU地址是多少需要查閱項(xiàng)目對(duì)應(yīng)的診斷規(guī)范文檔。
通過(guò)上面兩個(gè)章節(jié)的講解,我們可以知道ECU通常情況下會(huì)有3個(gè)地址,分別對(duì)應(yīng)物理尋址的發(fā)和收,以及功能地址。
我們要注意的是CAN網(wǎng)絡(luò)是總線(xiàn)型網(wǎng)絡(luò),采用的是CSMA/CA機(jī)制。ECU間的物理尋址和功能尋址的通訊報(bào)文在物理層面上其實(shí)都是以廣播的形式存在的,所有廣播域內(nèi)的ECU均能收到該通訊報(bào)文,至于收到該廣播報(bào)文后如何處理,ECU對(duì)比報(bào)文的目的地址跟自身的物理尋址接收地址和功能尋址地址是否匹配,然后再?zèng)Q定后續(xù)操作。
02 統(tǒng)一診斷服務(wù)(UDS)
UDS的全稱(chēng)為Unified Diagnostic Services,關(guān)于UDS的詳細(xì)描述和定義,大家可以查閱ISO 14229標(biāo)準(zhǔn)的系列文件來(lái)深入了解。網(wǎng)絡(luò)上能夠找到的關(guān)于UDS的文章非常多,我們這里從通俗易懂的角度給大家進(jìn)行介紹,適合測(cè)試工程師快速入門(mén),然后在實(shí)際項(xiàng)目中有工作經(jīng)歷之后可以通過(guò)其他方式再深入了解相關(guān)知識(shí)。
之所以一直強(qiáng)調(diào)UDS功能比較重要和基礎(chǔ),是因?yàn)閁SD功能在車(chē)輛生產(chǎn)和使用過(guò)程中對(duì)很多其他功能模塊和基本操作有直接的影響。首先在車(chē)輛生產(chǎn)線(xiàn)下線(xiàn)時(shí),產(chǎn)線(xiàn)電檢會(huì)使用電檢儀通過(guò)UDS對(duì)多個(gè)ECU寫(xiě)入很多必要的預(yù)設(shè)值信息,如寫(xiě)入對(duì)應(yīng)車(chē)輛的VIN碼、零件號(hào)、物流信息等,還可以激活某些特定設(shè)置,或者鎖定一些特定狀態(tài)以防止零部件的隨意變更等等。車(chē)輛在4S店進(jìn)行維護(hù)保養(yǎng)時(shí),ECU固件的升級(jí)、故障碼的讀取和消除等等,也是通過(guò)OBD口連接使用UDS相關(guān)服務(wù)來(lái)完成的。
在上一篇文章中我們提到了,CAN網(wǎng)絡(luò)上設(shè)備間通信基本可以分為3種情況,分別是:設(shè)備周期性主動(dòng)發(fā)送一些狀態(tài)報(bào)文;某個(gè)條件發(fā)生改變并符合設(shè)定要求,從而被動(dòng)觸發(fā)型信號(hào)發(fā)送;查詢(xún)和回復(fù)型信號(hào)。這里查詢(xún)和回復(fù)型主要就是UDS功能產(chǎn)生的。
為了方便理解,我們可以不是很準(zhǔn)確地把UDS看作一個(gè)應(yīng)用層協(xié)議(實(shí)際肯定不準(zhǔn)確),因?yàn)樵陧?xiàng)目開(kāi)發(fā)、測(cè)試、標(biāo)定、排錯(cuò)等過(guò)程中接觸最多的就是應(yīng)用層相關(guān)的功能。
基于查詢(xún)和回復(fù)這種問(wèn)答式通信方法,在CAN網(wǎng)絡(luò)上可以實(shí)現(xiàn)很多功能,如獲取信息、寫(xiě)入信息、會(huì)話(huà)控制、重啟設(shè)備、上傳下載等等。我們把每種實(shí)現(xiàn)了特殊功能的查詢(xún)和回復(fù)稱(chēng)為一種服務(wù),UDS總體上有6大類(lèi),共26種不同服務(wù)。至于在具體項(xiàng)目中,網(wǎng)絡(luò)架構(gòu)工程師和系統(tǒng)設(shè)計(jì)工程師會(huì)根據(jù)實(shí)際情況對(duì)ECU支持的UDS服務(wù)種類(lèi)進(jìn)行裁剪,所以一般情況下ECU支持的服務(wù)種類(lèi)要少于26種,通常還會(huì)對(duì)服務(wù)的對(duì)子功能做自定義設(shè)計(jì)。
2.1 請(qǐng)求報(bào)文
請(qǐng)求報(bào)文的格式比較簡(jiǎn)單,通常由3部分組成,首先是Service ID固定長(zhǎng)度1字節(jié),Service ID直接表明了本服務(wù)支持的功能類(lèi)型,就是前面我們說(shuō)的26種服務(wù)中的一種,Sub-Function是對(duì)應(yīng)的具體服務(wù)的每個(gè)子功能項(xiàng)設(shè)置,有的服務(wù)有多個(gè)子功能,也有的服務(wù)沒(méi)有子功能,所以Sub-Function項(xiàng)是可選項(xiàng),最后Parameter項(xiàng)是對(duì)應(yīng)到最詳細(xì)子功能的屬性參數(shù)配置項(xiàng),屬性參數(shù)的配置也是根據(jù)實(shí)際情況來(lái)進(jìn)行配備。
圖 3
通常Parameter在具體項(xiàng)目中是工程師自定義最多的對(duì)象,也有主機(jī)廠(chǎng)在診斷規(guī)范中會(huì)自定義子服務(wù)。
我們舉一個(gè)常見(jiàn)的服務(wù)來(lái)給大家說(shuō)明下,如10服務(wù)。Service ID是10,功能是用來(lái)做會(huì)話(huà)控制,子功能通常是3個(gè),分別為01、02、03,沒(méi)有parameter參數(shù),3個(gè)子功能分別代表了3種不同會(huì)話(huà)模式。在某個(gè)主機(jī)廠(chǎng)的診斷規(guī)范中自定了子功能04,為特殊場(chǎng)景自定義了該會(huì)話(huà)模式。綜上所述10服務(wù)的請(qǐng)求報(bào)文通常會(huì)有:10 01、10 02、10 03。
2.2 響應(yīng)報(bào)文
對(duì)應(yīng)于UDS請(qǐng)求報(bào)文,ECU通常有3種不同的響應(yīng)處理。
1)Positive Response正響應(yīng)
正響應(yīng)是ECU對(duì)接收到的請(qǐng)求給予明確的成功內(nèi)容結(jié)果返回,意味著請(qǐng)求得到成功執(zhí)行。例如請(qǐng)求是讀取車(chē)輛VIN碼,正響應(yīng)就是回答VIN是XXX。
正響應(yīng)返回的報(bào)文格式跟請(qǐng)求報(bào)文類(lèi)似分為3個(gè)部分,首先是Response SID是對(duì)請(qǐng)求服務(wù)的回顯,Response SID的值為請(qǐng)求報(bào)文中SID + 0x40;其他兩部分內(nèi)容為Sub-Function和Parameter,這兩部分的內(nèi)容根據(jù)具體情況確定,在項(xiàng)目診斷規(guī)范中有明確規(guī)定。
正響應(yīng)的報(bào)文格式如下圖所示:
圖 4
例如:請(qǐng)求10 01,正響應(yīng)為50 01;請(qǐng)求22 XX XX,正響應(yīng)為62 XX XX XX。
2)Negative Response負(fù)響應(yīng)
負(fù)響應(yīng)是ECU收到請(qǐng)求之后,無(wú)法對(duì)請(qǐng)求的內(nèi)容正確執(zhí)行,回復(fù)了失敗,并附帶了失敗的原因。
負(fù)響應(yīng)回復(fù)報(bào)文的格式同樣可以分為3個(gè)部分,首先第一個(gè)字節(jié)是0x7F,表明請(qǐng)求失敗,第二個(gè)字節(jié)為請(qǐng)求的服務(wù)ID,第三個(gè)字節(jié)為失敗原因代碼NRC。NRC代碼具體對(duì)應(yīng)的失敗原因可以查閱NRC的表格來(lái)確定,在具體的項(xiàng)目中這部分內(nèi)容可以查閱項(xiàng)目中的零部件網(wǎng)絡(luò)診斷規(guī)范,在文章中我們多次提及了該文檔,這個(gè)文檔是由車(chē)型項(xiàng)目組的網(wǎng)絡(luò)電子架構(gòu)團(tuán)隊(duì)負(fù)責(zé)整體匯總發(fā)布,零部件的產(chǎn)品系統(tǒng)設(shè)計(jì)工程師負(fù)責(zé)維護(hù)和變更,所以在實(shí)際項(xiàng)目中可以找這兩個(gè)崗位的工程師獲取。
負(fù)響應(yīng)報(bào)文格式如下圖所示:
圖 5
例如:請(qǐng)求10 02,負(fù)響應(yīng)7F 10 7E,7F表明該相應(yīng)失敗,對(duì)應(yīng)的失敗服務(wù)是10,失敗原因是7E,查閱NRC表知道7E的含義是“Sub-function not supported in active session”,提醒使用請(qǐng)求10 02子功能請(qǐng)求時(shí)不應(yīng)該在當(dāng)前會(huì)話(huà)模式下,當(dāng)前的會(huì)話(huà)模式不支持10 02子功能請(qǐng)求使用。
3)無(wú)響應(yīng)
無(wú)響應(yīng)的出現(xiàn)是網(wǎng)絡(luò)架構(gòu)部門(mén)為了降低CAN網(wǎng)絡(luò)上報(bào)文環(huán)境的復(fù)雜情況而做的設(shè)計(jì)。目的是不回復(fù)請(qǐng)求方正響應(yīng)數(shù)據(jù)幀,即,當(dāng)即將答復(fù)的響應(yīng)幀為正響應(yīng)時(shí),不發(fā)送響應(yīng)幀。
無(wú)響應(yīng)是通過(guò)請(qǐng)求報(bào)文中子功能的抑制肯定響應(yīng)指示位實(shí)現(xiàn)的。在某些服務(wù)的子功能中,最高的bit7位置為1時(shí)即設(shè)置為正響應(yīng)抑制,該位置為0時(shí)關(guān)閉響應(yīng)抑制。支持響應(yīng)抑制設(shè)置的服務(wù)有10、11、28、3E、85等等。
圖 6
例如:發(fā)送10 81,當(dāng)回復(fù)是正響應(yīng)時(shí),ECU不答復(fù);發(fā)送10 82,答復(fù)7F 10 7E,同樣是請(qǐng)求帶正響應(yīng)抑制,但是ECU執(zhí)行失敗,此時(shí)則進(jìn)行了回復(fù)。
我們之前強(qiáng)調(diào),可以把UDS視為應(yīng)用層協(xié)議,各主機(jī)廠(chǎng)對(duì)規(guī)范的自定義空間比較大,可以自由進(jìn)行定制化修改。我在一個(gè)項(xiàng)目中遇到工程師設(shè)計(jì)了負(fù)響應(yīng)抑制,跟本章節(jié)我們前面內(nèi)容說(shuō)的場(chǎng)景恰好相反,前面我們細(xì)說(shuō)了當(dāng)ECU響應(yīng)為正響應(yīng)時(shí)進(jìn)行抑制,只回復(fù)失敗。在一個(gè)項(xiàng)目中我遇到的是某些特定服務(wù)ECU正常發(fā)送正響應(yīng),只有負(fù)響應(yīng)被抑制處理。所以診斷規(guī)范的自定義操作空間較大,測(cè)試設(shè)計(jì)時(shí)一定要仔細(xì)查閱相關(guān)規(guī)范。
2.3 通訊幀
在上一章節(jié)中我們使用了一些服務(wù)來(lái)舉例,實(shí)例中包含了的是有效的數(shù)據(jù)內(nèi)容,在CAN網(wǎng)絡(luò)上進(jìn)行UDS報(bào)文傳輸時(shí),CAN網(wǎng)絡(luò)的特性對(duì)于傳輸內(nèi)容長(zhǎng)度有一定要求,普通的CAN數(shù)據(jù)幀每幀8字節(jié)長(zhǎng)度,在這個(gè)長(zhǎng)度的報(bào)文上傳輸U(kuò)DS協(xié)議數(shù)據(jù)時(shí)肯定會(huì)受到相應(yīng)的限制,如果1幀報(bào)文長(zhǎng)度不滿(mǎn)足載荷需要,那就需要使用多條數(shù)據(jù)幀來(lái)信息承載。
1)單幀通訊
我們?cè)谏弦徽鹿?jié)列舉的例子內(nèi)容長(zhǎng)度均比較短,7個(gè)字節(jié)的單個(gè)數(shù)據(jù)幀足夠使用,這樣的數(shù)據(jù)幀為單幀。
我們通過(guò)工具來(lái)查看網(wǎng)絡(luò)上服務(wù)問(wèn)答真實(shí)數(shù)據(jù)報(bào)文形式,如下所示:
圖 7
我們可以看到兩條報(bào)文:報(bào)文1),Tester傳輸,ECU接收ID717,數(shù)據(jù)長(zhǎng)度8字節(jié),我們使用了SID10的會(huì)話(huà)控制服務(wù),發(fā)送了報(bào)文“02 10 01”,其中首字節(jié)“02”表明本報(bào)文后面有效數(shù)據(jù)長(zhǎng)度為2字節(jié),第二字節(jié)“10”表明服務(wù)為SID10,第三字節(jié)“01”表明子功能為01,剩余4-8字節(jié)使用AA自動(dòng)補(bǔ)全。報(bào)文2) Tester接收,ECU發(fā)送ID71F,數(shù)據(jù)長(zhǎng)度8字節(jié),正響應(yīng)SID10的會(huì)話(huà)控制服務(wù),發(fā)送了報(bào)文“02 50 01”,其中首字節(jié)“02”表明本報(bào)文后面有效數(shù)據(jù)長(zhǎng)度為2字節(jié),第二字節(jié)“50”表明SID10+0x40屬于SID10服務(wù)的正響應(yīng),第三字節(jié)“01”是對(duì)應(yīng)子功能。
2)多幀通訊
當(dāng)一個(gè)數(shù)據(jù)幀7個(gè)字節(jié)不能完成一次通訊時(shí),就需要把數(shù)據(jù)拆分到多個(gè)數(shù)據(jù)幀進(jìn)行傳輸。我們同樣通過(guò)下面的實(shí)例來(lái)進(jìn)行講解。
圖 8
我們首先看請(qǐng)求報(bào)文“03 22 F1 80”,首字節(jié)“03”表明報(bào)文后面有3字節(jié)有效數(shù)據(jù),第二字節(jié)“22”表明是SID22讀取服務(wù),22服務(wù)沒(méi)有子功能,第三、四字節(jié)是$22服務(wù)讀取的參數(shù);返回報(bào)文的首幀為“10 10 62 F1 80 56 30 2E”,第一個(gè)字節(jié)“10”表明本條回復(fù)報(bào)文是多幀的第一幀,第二字節(jié)“10”表明后繼有效數(shù)據(jù)長(zhǎng)度為0x10字節(jié),換成10進(jìn)制為16字節(jié),第三字節(jié)“62”是正響應(yīng)服務(wù)SID22+0x40,第四、五字節(jié)表明Parameter參數(shù)為F1 80,后繼的有效數(shù)據(jù)13字節(jié)的信息即為F1 80的讀取值;第三幀報(bào)文“30 00 00 00 00 00 00 00”,為多幀的流控幀,提示首個(gè)響應(yīng)報(bào)文成功發(fā)送,繼續(xù)發(fā)送剩余幀;第四幀“21 30 30 2E 30 30 46 42”首字節(jié)“21”表明是多幀的第二幀,本幀其余字節(jié)均為有效數(shù)據(jù)內(nèi)容;第五幀“22 4C 42 31 AA AA AA AA”,首字節(jié)“22”表明是多幀的第三幀,因全部多幀的有效長(zhǎng)度在第一幀中記錄為16字節(jié),所以至此第三響應(yīng)幀時(shí)有效數(shù)據(jù)內(nèi)容只有3個(gè)字節(jié),加上首字節(jié)的序號(hào)位,前4字節(jié)為有效位,剩余4字節(jié)自動(dòng)填充。 03 部分診斷服務(wù)
本章節(jié)我們對(duì)用到的一些服務(wù)做簡(jiǎn)單介紹,后續(xù)使用最頻繁的服務(wù)我們會(huì)單獨(dú)講解。
1)$3E服務(wù)
$3E服務(wù)的用處是提示ECU狀態(tài)保持,如擴(kuò)展會(huì)話(huà)的狀態(tài)在一段時(shí)間后自動(dòng)退出到默認(rèn)會(huì)話(huà),使用3E服務(wù)可以將會(huì)話(huà)保持在擴(kuò)展會(huì)話(huà)模式下。
請(qǐng)求格式為3E 00和3E 80,其中3E 80即為正響應(yīng)抑制,不需要ECU回復(fù)。3E 00的正響應(yīng)回復(fù)報(bào)文格式為7E 00。
2)$11服務(wù)
$11服務(wù)的作用是將ECU進(jìn)行復(fù)位,最常用的有3個(gè)子服務(wù),分別是01、02、03,04、05分別是使能和禁用快速休眠,0x40-0x7E為主機(jī)廠(chǎng)和零部件供應(yīng)商自定義字段。
11 01硬復(fù)位ECU,即要求ECU執(zhí)行電池?cái)嚯姷皆O(shè)備上電的重啟;11 02車(chē)輛點(diǎn)火復(fù)位,即要求ECU執(zhí)行車(chē)輛整車(chē)電源從off到on狀態(tài)下的設(shè)備復(fù)位;11 03軟復(fù)位ECU,即要求ECU執(zhí)行應(yīng)用程序重啟,相當(dāng)于熱啟動(dòng)。
11服務(wù)發(fā)送請(qǐng)求報(bào)文后,不一定有響應(yīng)報(bào)文,因?yàn)镋CU執(zhí)行成功就是設(shè)備重啟,所以有主機(jī)廠(chǎng)要求11服務(wù)支持正響應(yīng)抑制標(biāo)識(shí),會(huì)要求發(fā)送11 81。
3)$31服務(wù)
$31Routine服務(wù)基本上是廠(chǎng)家定制操作最多的服務(wù),廠(chǎng)家可以預(yù)設(shè)值很多操作,然后通過(guò)31服務(wù)來(lái)調(diào)用執(zhí)行。比如可以讓進(jìn)行ECU狀態(tài)檢查,讓ECU通過(guò)預(yù)設(shè)算法生成特定數(shù)據(jù),然后根據(jù)這些特定數(shù)據(jù)生成狀態(tài),可以通過(guò)31服務(wù)鎖定這些狀態(tài),這個(gè)功能在主機(jī)廠(chǎng)鎖定車(chē)輛上配套ECU零部件時(shí)會(huì)經(jīng)常用到,這樣一旦鎖定了當(dāng)前車(chē)輛ECU,其他任何人都不能隨意更換,車(chē)主想要對(duì)這些ECU進(jìn)行更換維修只能到指定正規(guī)的4S店完成,零部件一旦隨意更換,通過(guò)31服務(wù)調(diào)用執(zhí)行生成的狀態(tài)鎖定數(shù)據(jù)跟車(chē)輛不匹配,更換的ECU根本無(wú)法正常使用。當(dāng)然這只是31服務(wù)的一個(gè)設(shè)計(jì)功能。
31服務(wù)由4部分組成,第一部分SID31;第二部分子功能,分別是01啟動(dòng)、02停止、03查詢(xún);第三部分要調(diào)用執(zhí)行的routineID,這部分開(kāi)始有主機(jī)廠(chǎng)自定義;第四部分可選的routine控制參數(shù),跟第三部分的routineID是對(duì)應(yīng)的,也是主機(jī)廠(chǎng)自定義內(nèi)容。例如:31 01 08 09,讓ECU調(diào)用執(zhí)行08 09routine,ECU執(zhí)行成功反饋71 01 08 09,執(zhí)行過(guò)程出現(xiàn)一些問(wèn)題,條件不滿(mǎn)足會(huì)返回71 01 08 09 xx yy,其中xx yy是不滿(mǎn)足的條件,這里的不滿(mǎn)足條件指的是執(zhí)行當(dāng)前31服務(wù)時(shí)的一些ECU其他信息預(yù)置條件,如執(zhí)行當(dāng)前服務(wù)需要已經(jīng)生成了XX信息,已經(jīng)鎖定了XX狀態(tài)等,可以理解為服務(wù)的內(nèi)部執(zhí)行錯(cuò)誤。當(dāng)然如果返回7F 31 7E同樣是執(zhí)行失敗,失敗的原因可以查找NRC,NCR中的錯(cuò)誤我們可以把他理解為服務(wù)外部錯(cuò)誤,如執(zhí)行安全等級(jí)不正確,會(huì)話(huà)模式不正確,子功能不存在,超出范圍限制等等,NRC錯(cuò)誤跟上面的不滿(mǎn)足條件失敗是兩種類(lèi)型。 04 UDS的測(cè)試
UDS的測(cè)試通常在收到首個(gè)軟件版本后就開(kāi)始執(zhí)行了,測(cè)試的時(shí)間段主要集中在OTS造車(chē)前,OTS開(kāi)閥前必須確定UDS功能正常無(wú)故障。
UDS的測(cè)試設(shè)計(jì)依據(jù)最重要的文檔就是零部件的網(wǎng)絡(luò)診斷規(guī)范,在規(guī)范中詳細(xì)定義零部件支持的所有服務(wù),以及服務(wù)的所有子功能和屬性參數(shù)。
通常UDS的功能測(cè)試設(shè)計(jì)重點(diǎn)在功能正常執(zhí)行場(chǎng)景部分,按照服務(wù)、子功能、功能屬性參數(shù)列舉所有請(qǐng)求報(bào)文,分別在不同會(huì)話(huà)模式和安全控制模式下,測(cè)試物理尋址、功能尋址的返回情況。正常測(cè)試還需要對(duì)會(huì)話(huà)返回的NRC進(jìn)行測(cè)試,這一部分內(nèi)容通常會(huì)被測(cè)試工程師遺漏,因?yàn)镹RC中有部分的測(cè)試條件難以預(yù)置。
UDS功能還需要進(jìn)行異常測(cè)試的設(shè)計(jì),這部分的測(cè)試設(shè)計(jì)通常可以跟NRC部分合并進(jìn)行。
在設(shè)計(jì)DTC故障場(chǎng)景模擬時(shí),需要特別注意電源短路的模擬,需要跟硬件工程師確認(rèn)是否對(duì)電源供電,線(xiàn)路板PCB靜電泄放等做保護(hù)性設(shè)計(jì),否則容易造成板卡燒壞。
雖然我們是執(zhí)行UDS的功能測(cè)試,不需要對(duì)通訊的時(shí)隙精度等進(jìn)行驗(yàn)證,報(bào)文響應(yīng)間隔時(shí)間的精度,超時(shí)時(shí)間范圍精度這些時(shí)間相關(guān)測(cè)試,通常跟信號(hào)電平等等一起在開(kāi)發(fā)早期完成。但我們還是建議在測(cè)試設(shè)計(jì)上加入執(zhí)行時(shí)間監(jiān)控測(cè)試,以及報(bào)文間隔不同時(shí)隙的測(cè)試。如多幀發(fā)送或響應(yīng)時(shí),幀間不同時(shí)間間隔設(shè)置的影響;會(huì)話(huà)自動(dòng)退出的時(shí)間是否在設(shè)計(jì)要求內(nèi);$30服務(wù)不同發(fā)送時(shí)間間隔對(duì)會(huì)話(huà)保持的影響等等。這部分功能在開(kāi)發(fā)初期通常比較容易出現(xiàn)問(wèn)題。 審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5060文章
18983瀏覽量
302318 -
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5353瀏覽量
170865 -
ecu
+關(guān)注
關(guān)注
14文章
877瀏覽量
54368
原文標(biāo)題:車(chē)載ECU嵌入式設(shè)備的診斷測(cè)試 - 服務(wù)
文章出處:【微信號(hào):智能汽車(chē)電子與軟件,微信公眾號(hào):智能汽車(chē)電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論