張晶
摘 要:本文主要介紹在汽車研發(fā)、生產(chǎn)、售后各環(huán)節(jié)診斷開發(fā)的主要工作內(nèi)容以及相應(yīng)的作用,智能診斷系統(tǒng)應(yīng)用,為從事汽車診斷開發(fā)工作的工程師提供一定的參考。
關(guān)鍵詞:汽車 診斷 開發(fā) 設(shè)計(jì) ECU 故障碼 遠(yuǎn)程 軟件 升級(jí)
1 引言
隨著汽車電子技術(shù)的發(fā)展,越來(lái)越多的智能控制系統(tǒng)(ECU)應(yīng)用于汽車,整車出現(xiàn)電器類相關(guān)的故障越來(lái)越越多,電器類故障與機(jī)械類故障相比,故障原因紛繁復(fù)雜,如果靠經(jīng)驗(yàn)以及拆解故障件去查找問(wèn)題原因,往往很難定位問(wèn)題原因且原因確認(rèn)周期較長(zhǎng)。故診斷開發(fā)及應(yīng)用在汽車整個(gè)生命周期中的作用非常重要,它能幫助人們快速準(zhǔn)確定位問(wèn)題方向及查找問(wèn)題原因。嚴(yán)重故障時(shí),駕駛員通過(guò)觀察汽車人機(jī)交互接口的故障指示燈以及文字、聲音提示信息,來(lái)確認(rèn)車輛安全與否,確保在安全的情況下駕駛車輛,出現(xiàn)問(wèn)題后引導(dǎo)客戶及時(shí)對(duì)車聯(lián)進(jìn)行維修。
2 汽車研發(fā)階段的診斷開發(fā)
車輛的診斷需要有診斷儀端和ECU端,診斷儀端和ECU端通過(guò)一問(wèn)一答的形式進(jìn)行通信,因而診斷儀端和ECU端都需要遵循同樣的診斷通信協(xié)議,在協(xié)議里面定義了診斷的請(qǐng)求,診斷響應(yīng)的報(bào)文格式,以及ECU怎樣處理診斷請(qǐng)求報(bào)文,以及診斷服務(wù)的應(yīng)用。
大部分主機(jī)廠都是基于ISO 14229、ISO 15765、ISO 15031、ISO 14230國(guó)際標(biāo)準(zhǔn)及基于主機(jī)廠策略細(xì)化具體要求來(lái)制定企業(yè)級(jí)別的通用診斷規(guī)范。主要內(nèi)容包括:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層相應(yīng)要求。本文著重介紹應(yīng)用層要求。
2.1 診斷服務(wù)開發(fā)
如表1所列的診斷服務(wù)診斷開發(fā)階段所要進(jìn)行具體定義的服務(wù)。本文著重介紹0x10、0x27、0x3E、0x22、0x2E、0x2F、0x14、0x19、0x31服務(wù)。
每個(gè)模塊都應(yīng)定義獨(dú)有的診斷物理尋址ID,所有模塊都應(yīng)定義相同的功能尋址ID。
2.1.1 0X10服務(wù)
0X10服務(wù)定義的內(nèi)容是診斷會(huì)話窗口,10 01為默認(rèn)會(huì)話窗口,10 02為編程會(huì)話窗口,10 03為擴(kuò)展會(huì)話窗口,所有的服務(wù)均需要定義支持哪些會(huì)話窗口。某些特定的服務(wù)只能支持在10 02或10 03會(huì)話窗口,模塊上電后默認(rèn)的是默認(rèn)會(huì)話窗口,要想進(jìn)入非默認(rèn)會(huì)話窗口需要診斷儀進(jìn)行服務(wù)請(qǐng)求。
2.1.2 0X27服務(wù)
0X27服務(wù)定義的內(nèi)容是安全訪問(wèn),27 01/02為一級(jí)安全訪問(wèn),27 03/04或09/0A為二及安全訪問(wèn),27 05/06為三級(jí)安全訪問(wèn),安全訪問(wèn)算法由主機(jī)廠釋放給ECU供應(yīng)商,安全訪問(wèn)等級(jí)不是越高算法越復(fù)雜,各級(jí)安全算法獨(dú)立運(yùn)行,每個(gè)模塊安全算法不一樣,因此需要基于模塊進(jìn)行個(gè)性化開發(fā)。具體什么服務(wù)需要定義什么樣的安全等級(jí)可根據(jù)服務(wù)目的進(jìn)行界定。
2.1.3 0X3E服務(wù)
0X3E服務(wù)定義的內(nèi)容是診斷儀在線,3E 00為不抑制模塊正響應(yīng)服務(wù),3E 80為抑制模塊正響應(yīng)服務(wù),此服務(wù)的目的告知模塊診斷儀需要與之在既定的會(huì)話窗口下保持持續(xù)通話,例如為防止模塊從擴(kuò)展會(huì)話因超時(shí)機(jī)制自動(dòng)跳轉(zhuǎn)回默認(rèn)會(huì)話,可提前選擇3E服務(wù)。
2.1.4 0X22服務(wù)
0X22服務(wù)定義模塊需要通過(guò)診斷服務(wù)可讀取到的信息,例如讀取車速信息、電壓信息、零件號(hào)信息、車VIN信息等等,每個(gè)模塊都有自己的獨(dú)特的22服務(wù)所需要進(jìn)行讀取的信息,因此需要基于模塊進(jìn)行個(gè)性化開發(fā)。22服務(wù)通常不需要安全訪問(wèn)。
2.1.5 0X2E服務(wù)
0X2E服務(wù)定義模塊需要通過(guò)診斷服務(wù)寫入的信息,例如在IMMO防盜及鑰匙匹配過(guò)程中,需要向相應(yīng)的模塊內(nèi)部定義好的標(biāo)識(shí)符內(nèi)寫入相應(yīng)的值才能完成匹配。每個(gè)模塊都是自己獨(dú)特的2E服務(wù)所需要寫入的信息,因此需要基于模塊進(jìn)行個(gè)性化開發(fā)。想進(jìn)入2E服務(wù)通常是需要通過(guò)27安全訪問(wèn)。
2.1.6 0X2F服務(wù)
0X2F服務(wù)定義模塊需要通過(guò)輸入輸出端口進(jìn)行診斷控制,如開關(guān)指令輸入、轉(zhuǎn)向燈、大燈等輸出控制,每個(gè)模塊都是自己獨(dú)特的2F服務(wù)所需控制的輸入輸出,因此需要基于模塊進(jìn)行個(gè)性化開發(fā)。
2.1.7 0X14服務(wù)
0X14服務(wù)定義清除故障碼服務(wù),可以選擇一次性清除所有故障碼,也可以選擇清除某一個(gè)故障碼或某一組故障碼。
2.1.8 0X19服務(wù)
0X19服務(wù)定義了故障讀取服務(wù),可以按需求讀取歷史故障碼,當(dāng)前故障碼,還可以通過(guò)如下組合讀取更多類型的故障碼。DTC(Diagnostic Trouble Codes), DTC狀態(tài)由8個(gè)位組成的一個(gè)字節(jié)。這8個(gè)位分別代表不同的含義,具體這8個(gè)位代表的含義,包括這8個(gè)位初始值是什么,它什么時(shí)候被置1,什么時(shí)候又被置0,在什么情況下用及怎樣用,在14229-1版附錄D有詳細(xì)的定義(表2)。
2.1.9 0X31服務(wù)
0X31服務(wù)定了模塊需要滿足的例程服務(wù),如網(wǎng)關(guān)的報(bào)文映射,電動(dòng)助力轉(zhuǎn)向的零位標(biāo)定,無(wú)鑰匙進(jìn)入系統(tǒng)的鑰匙學(xué)習(xí),儀表的保養(yǎng)提醒復(fù)位等功能都需要在相應(yīng)的ECU內(nèi)部定義相應(yīng)例程服務(wù)來(lái)支持。31服務(wù)通常需要通過(guò)安全訪問(wèn)。
2.2 故障碼開發(fā)
汽車研發(fā)過(guò)程中需要定義各個(gè)模塊的故障碼信息。故障碼分為兩類,網(wǎng)絡(luò)類故障碼及電氣類故障碼。
網(wǎng)絡(luò)類故障碼是模塊基于網(wǎng)絡(luò)通訊矩陣未在規(guī)定時(shí)間內(nèi)收到相應(yīng)報(bào)文或收到報(bào)文標(biāo)志位為無(wú)效,接受模塊需記錄相應(yīng)的丟失或無(wú)效故障碼及CAN BUSOFF故障。電氣類故障碼是基于模塊內(nèi)部特性,例如內(nèi)部繼電器故障、溫度異常、電流異常等等定義的模塊內(nèi)部的故障碼。
故障碼清單需包括的內(nèi)容有:故障碼、故障描述、故障碼運(yùn)行條件、故障碼設(shè)置條件、故障碼設(shè)置時(shí)發(fā)生的操作、故障恢復(fù)條件、激活故障燈規(guī)則、熄滅故障燈規(guī)則、故障碼清除條件。
故障燈的點(diǎn)亮需要進(jìn)行嚴(yán)格界定,且不可以什么故障碼都可以點(diǎn)亮故障燈,更不能出現(xiàn)故障且影響到行車安全而不點(diǎn)亮故障燈,此處的策略需要主機(jī)廠和供應(yīng)商結(jié)合功能安全I(xiàn)SO26262、及故障出現(xiàn)時(shí)發(fā)生的操作進(jìn)行充分的評(píng)估。
故障碼組成,ISO 15031-6對(duì)故障組成進(jìn)行了定義,如圖1所示。00表示動(dòng)力; 01表示底盤;10表示車身;11是網(wǎng)絡(luò)相關(guān)的。左邊第3~4位反應(yīng)的是DTC是由ISO,SAE,這些標(biāo)準(zhǔn)組織所定義的故障,還是由整車廠來(lái)定義命名的故障;左邊第5~8位反應(yīng)的是車輛系統(tǒng)的區(qū)域(Area of vehicle system);右邊8位是DTC的編碼。
2.3 在線配置開發(fā)
為了減少ECU零件供貨狀態(tài),減少零件號(hào),模塊的差異化需要通過(guò)在配置進(jìn)行,需要定義2E服務(wù)下的特定診斷標(biāo)識(shí)符,用于在線配置信息的寫入,針對(duì)模塊差異化,需要制定不同模塊的在線配置文件。模塊會(huì)根據(jù)在線配置標(biāo)識(shí)符寫入的信息制定相應(yīng)的軟件邏輯。例如標(biāo)識(shí)符配置為XX,模塊需要收發(fā)哪些報(bào)文、記錄哪些故障碼、開啟哪些功能,配置成其他內(nèi)容則對(duì)應(yīng)的收發(fā)報(bào)文、故障碼、功能會(huì)不同。工程開發(fā)階段要確保在線配置的正確性,如在線配置定義錯(cuò)誤可能會(huì)導(dǎo)致某些功能無(wú)法開啟,嚴(yán)重影響整車質(zhì)量。
3 生產(chǎn)售后中診斷的應(yīng)用
3.1 汽車生產(chǎn)中的診斷應(yīng)用
車輛在車間產(chǎn)線下線時(shí),由于各個(gè)模塊不是同時(shí)裝配到車輛上,模塊會(huì)報(bào)報(bào)文丟失類故障碼,需要通過(guò)診斷服務(wù)去清除故障碼。有些模塊需要在產(chǎn)線通過(guò)診斷服務(wù)進(jìn)行相應(yīng)的標(biāo)定服務(wù),如電動(dòng)助力轉(zhuǎn)向系統(tǒng)的零位標(biāo)定,360模塊的攝像頭標(biāo)定,鑰匙匹配,IMMO防盜匹配,胎壓模塊標(biāo)準(zhǔn)胎壓的寫入等等,通常會(huì)用OX10、OX22、OX27、OX2E、OX31、OX14、OX19服務(wù)。產(chǎn)線會(huì)開發(fā)特定的設(shè)備用于產(chǎn)線模塊標(biāo)定及在線配置。產(chǎn)線輸出的車輛應(yīng)確保沒(méi)有故障碼,如有故障碼一直不能清除,需要及時(shí)對(duì)車輛進(jìn)行返修。
3.2 汽車售后中診斷應(yīng)用
4S店賣出車輛后,通常會(huì)通過(guò)診斷服務(wù)開啟車輛的特定模式,如用戶模式的開啟,維修保養(yǎng)功能激活等都是通過(guò)診斷服務(wù)進(jìn)行的。在售后維修車輛時(shí),需要通過(guò)診斷服務(wù)進(jìn)行故障的讀取及問(wèn)題指向的分析,4S店人員應(yīng)該能熟練操作使用專用的診斷設(shè)備,這對(duì)確認(rèn)售后車輛故障原因非常重要。
4 智能診斷的應(yīng)用
4.1 遠(yuǎn)程診斷功能
隨著汽車智能化發(fā)展,遠(yuǎn)程診斷服務(wù)正在逐步融入到用戶端,用戶可以通過(guò)手機(jī)APP的操作對(duì)車輛進(jìn)行遠(yuǎn)程診斷,車輛上電后,網(wǎng)聯(lián)模塊模擬診斷儀發(fā)送0X19服務(wù)讀取故障碼,并對(duì)ECU發(fā)送的診斷報(bào)文進(jìn)行回讀,云平臺(tái)將回讀數(shù)據(jù)進(jìn)行解析,并將析結(jié)果釋放給用戶,這樣用戶就可以通過(guò)手機(jī)端查看車輛狀態(tài)。尤其是共享汽車在城市中的普及,遠(yuǎn)程診斷功能將幫助維護(hù)人員隨時(shí)隨地遠(yuǎn)程查詢監(jiān)控車輛狀態(tài),節(jié)約共享汽車的運(yùn)營(yíng)及維護(hù)成本。
4.2 ECU遠(yuǎn)程升級(jí)功能
無(wú)需進(jìn)入4S店就可以實(shí)現(xiàn)ECU軟件的更新?lián)Q代,用戶可以在手機(jī)端或車機(jī)端進(jìn)行遠(yuǎn)程升級(jí)服務(wù),網(wǎng)聯(lián)模塊模擬診斷儀發(fā)送相應(yīng)的診斷服務(wù),逐個(gè)對(duì)車內(nèi)ECU的進(jìn)行軟件讀取、刷新會(huì)話、下載、傳輸、擦除、復(fù)位等操作,將最新版軟件刷寫如ECU內(nèi),涉及的診斷服務(wù)有0X22、0X10、0X11、0X27、0X34、0X36、0X37、0X31、0X85、0X28等。需要注意整車需要在特定的環(huán)境下才能進(jìn)行軟件的更新,以防出現(xiàn)相關(guān)的故障影響車輛安全。
5 汽車診斷展望
隨著智能化電控技術(shù)在汽車上的應(yīng)用,診斷的應(yīng)用范圍逐步擴(kuò)大,ECU關(guān)聯(lián)的診斷服務(wù)會(huì)越來(lái)越多,診斷開發(fā)工作變得更加復(fù)雜繁瑣,模塊診斷策略開發(fā)的合理與否直接影響車輛功能實(shí)現(xiàn)、故障維修、用戶體驗(yàn)等,故作為診斷開發(fā)工程師需要對(duì)ECU診斷策略的開發(fā)進(jìn)行全方面考量。
參考文獻(xiàn):
[1]蔡浩.數(shù)據(jù)驅(qū)動(dòng)式汽車診斷平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).上海交通大學(xué):機(jī)械工程,2009.
[2]高永君.汽車遠(yuǎn)程診斷分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).南開大學(xué):軟件工程,2016.