摘 要: 著重研究了汽車故障診斷儀V.A.G1551的工作原理,初步給出了開發(fā)與其兼容的汽車診斷儀的方法,,并簡(jiǎn)要介紹了汽車診斷技術(shù)的發(fā)展歷程與發(fā)展趨勢(shì),。
關(guān)鍵詞: 汽車故障診斷儀 OBD-II V.A.G1551
隨著微機(jī)在汽車上的應(yīng)用日趨廣泛,不僅提高了汽車的性能和舒適性,,也使整個(gè)汽車控制系統(tǒng)變得越來越復(fù)雜,。因此,用戶的汽車一旦因故障拋錨時(shí),,維修人員能否迅速找到發(fā)生故障的部位并加以排除就成為擺在汽車制造商面前的重要課題,。當(dāng)今時(shí)代,汽車工業(yè)群雄鼎立,,售后服務(wù)的方便和快捷必然成為競(jìng)爭(zhēng)的焦點(diǎn),。這就要求在豐富汽車各種功能的同時(shí),完善和提高故障的檢測(cè)能力,,使汽車更安全,、更易于維護(hù)。
1 汽車故障自診斷技術(shù)
在市場(chǎng)需求的推動(dòng)下,,汽車故障診斷技術(shù)和故障診斷設(shè)備得到了極大的發(fā)展,,汽車診斷也作為一門專門技術(shù)發(fā)展起來。汽車故障自診斷裝置一般包括車載故障自診斷裝置和汽車故障診斷儀,。
1.1 車載故障自診斷裝置
1976年美國(guó)通用汽車公司推出了世界上第一個(gè)電子點(diǎn)火控制系統(tǒng)MISAR,,其中已具備了自診斷功能,用于診斷控制發(fā)動(dòng)機(jī)點(diǎn)火時(shí)間的微機(jī),,發(fā)動(dòng)機(jī)冷卻水溫度和蓄電池電壓等輸入信號(hào),,當(dāng)發(fā)生異常情況時(shí)報(bào)警指示燈亮。隨著汽車電子技術(shù)的發(fā)展,,故障自診斷系統(tǒng)已能對(duì)各傳感器,、執(zhí)行機(jī)構(gòu)和ECU本身進(jìn)行監(jiān)測(cè),并能判斷和區(qū)分故障類型,,以故障代碼的形式存儲(chǔ)起來,,供維修人員用專門的故障代碼讀取設(shè)備讀出。故障自診斷技術(shù)不僅應(yīng)用于發(fā)動(dòng)機(jī)電子控制系統(tǒng)中,,而且在自動(dòng)變速箱,、防抱死制動(dòng)裝置,、安全氣囊等系統(tǒng)的微機(jī)控制單元中廣泛使用。世界各大汽車公司都推廣了這一技術(shù),,并開發(fā)出與各自車型配套的故障代碼讀出設(shè)置,。這就給用戶在汽車運(yùn)行中及時(shí)發(fā)現(xiàn)故障和汽車修理時(shí)故障的查詢帶來了極大的方便。
1.2 汽車故障診斷儀
汽車故障診斷儀是和車載故障自診斷系統(tǒng)配套使用的,,從本質(zhì)上看,,它相當(dāng)于自診斷系統(tǒng)的終端設(shè)備,起到人機(jī)交互的作用,。隨著微機(jī)技術(shù)的發(fā)展,,故障診斷儀能完成的功能愈來愈豐富,現(xiàn)歸納如下:
·顯示故障代碼,,同時(shí)顯示發(fā)生故障的部位,、檢查的方法、檢測(cè)的標(biāo)準(zhǔn)數(shù)據(jù)等,,并打印上述信息,;
·清除故障代碼;
·汽車運(yùn)行實(shí)時(shí)狀態(tài)數(shù)據(jù)的顯示,,維修人員可對(duì)照標(biāo)準(zhǔn)數(shù)據(jù),,通過分析數(shù)據(jù)偏離標(biāo)準(zhǔn)數(shù)據(jù)的方向和大小找出故障的原因;
·向ECU發(fā)出執(zhí)行器強(qiáng)制動(dòng)作的命令,,以查看執(zhí)行器是否工作正常,;
·存儲(chǔ)汽車運(yùn)行的狀態(tài)數(shù)據(jù)和故障信息,向個(gè)人計(jì)算機(jī)或故障診斷專家系統(tǒng)輸出,。
2 故障診斷通訊接口OBD-II標(biāo)準(zhǔn)簡(jiǎn)介
早先的故障診斷儀都是由各個(gè)整車制造廠或儀器制造商各自開發(fā)的,診斷接口和通訊方式各不相同,,不能互相通用,。以診斷插座為例,福特車系有7針,、25針,,奔馳車系有圓形9針、38針,、長(zhǎng)方形16針等等,。這種各自為政的局面不僅給維修工作帶來了麻煩,而且也增加了維修成本和人員培訓(xùn)費(fèi)用,,反過來也影響了產(chǎn)品在全球范圍的銷售,。
自1987年起,美國(guó)加州大氣資源局(CARB)規(guī)定車載故障自診斷系統(tǒng)必須能夠?qū)ζ嚺艢庀挡考M(jìn)行監(jiān)測(cè),。1994年CARB頒布了更為嚴(yán)格的廢氣排放控制法規(guī),,規(guī)定與排氣相關(guān)的部件必須與被稱為萬能掃描工具的故障診斷儀進(jìn)行通信,。同時(shí),美國(guó)環(huán)境廳(EPA)也采取相應(yīng)措施在全美推廣使用,。在CARB的要求下,,美國(guó)汽車工程學(xué)會(huì)(SAE)進(jìn)一步推進(jìn)了與故障診斷儀相關(guān)的標(biāo)準(zhǔn)化工作,形成了診斷儀接口的OBD-II標(biāo)準(zhǔn),。
OBD-II是ON-BOARD DIAGNOSITICS的縮寫,,即第二代隨車電腦診斷系統(tǒng),它代表了目前大部分診斷儀的技術(shù)水平,,可以說是一個(gè)實(shí)際的標(biāo)準(zhǔn),,因而得到了汽車制造商的支持。其主要特點(diǎn)有:
·診斷插座統(tǒng)一為16針插座,,并統(tǒng)一安裝于駕駛室儀表板下方,。診斷插座如圖1所示,引腳定義如表1所示,;
·串行數(shù)據(jù)通信協(xié)議采用ISO9141和SAE兩個(gè)標(biāo)準(zhǔn),;
·具有統(tǒng)一的5位故障代碼。例如P1352,,第一個(gè)英文字母代表被測(cè)控制器,,如P代表發(fā)動(dòng)機(jī)電腦控制器(Power),B代表車身電腦控制器(Boby),,C代表底盤電腦控制器(Chassis),,第二個(gè)字代表制造廠,第三個(gè)字代表SAE定義的故障范圍碼,,最后兩個(gè)字代表原廠故障碼,;
·具有用診斷儀直接讀取并清除故障碼的功能;
·具有行車記錄功能,,能記錄車輛行駛過程中的有關(guān)數(shù)據(jù)資料,;
·具有記憶并重新顯示故障信息的功能。
3 V.A.G1551功能簡(jiǎn)介
V.A.G1551是大眾集團(tuán)內(nèi)部售后服務(wù)通用的汽車電子系統(tǒng)維修,、診斷儀器,,可以讀取電子控制汽油噴射發(fā)動(dòng)機(jī)、自動(dòng)變速箱等十多個(gè)汽車電子系統(tǒng)的診斷和測(cè)試信息,。比如在檢修發(fā)動(dòng)機(jī)電子時(shí),,維修人員可以使用其來讀取故障代碼,同時(shí)也可以讀取發(fā)動(dòng)機(jī)實(shí)時(shí)狀態(tài)參數(shù)如轉(zhuǎn)速,、水溫,、負(fù)荷、電壓,、噴油時(shí)間等,,另外還能向ECU的各執(zhí)行機(jī)構(gòu)發(fā)出強(qiáng)制執(zhí)行命令,。操作時(shí),將診斷儀與汽車排檔前的診斷插座連接即可,。診斷插座符合OBD-II標(biāo)準(zhǔn),,其中引腳4為車身搭鐵,引腳7為B.D.DIAKM(即K線),,引腳16為蓄電池正極,,其余引腳均為空。
使用時(shí)首先要輸入檢測(cè)對(duì)象的地址代碼,,如發(fā)動(dòng)機(jī)電子為01,,然后要選擇功能,如查詢故障代碼的功能號(hào)為02,。具體使用方法見相關(guān)資料,。
診斷插座的引腳7應(yīng)與汽車上各電子控制系統(tǒng)的K線相連接,診斷儀一次只能與一個(gè)電子控制系統(tǒng)通信,。開始時(shí),,診斷儀以廣播的方式通過K線發(fā)送識(shí)別信息(即地址碼),但只有與地址碼相對(duì)應(yīng)的電子控制系統(tǒng)才作出響應(yīng),,于是診斷儀和該電子控制系統(tǒng)開始通信,,其余各系統(tǒng)仍處于待機(jī)狀態(tài)。
4 V.A.G1551與發(fā)動(dòng)機(jī)電子通信規(guī)律初探
由于條件限制,,本文只研究了V.A.G1551與Engine Electronics的通信規(guī)律,,并且ECU只限于MOTRONIC M1.54P。
4.1 利用計(jì)算機(jī)串口截碼
考慮到V.A.G1551與ECU的通信碼均為串口信號(hào),,只是與RS-232標(biāo)準(zhǔn)串口信號(hào)的電壓不同,,標(biāo)準(zhǔn)串口信號(hào)的“1”用-12V表示,“0”用+12V表示,,而K線的“0”用0~1.3V表示,,“1”用12V表示,所以只要設(shè)計(jì)一塊轉(zhuǎn)換卡,,把K線的串口信號(hào)轉(zhuǎn)換為標(biāo)準(zhǔn)串口信號(hào),,即可實(shí)現(xiàn)利用計(jì)算機(jī)串口來截取V.A.G1551與ECU的通信碼,,從而研究它們的通信規(guī)律,。轉(zhuǎn)換卡除了能完成電平轉(zhuǎn)換功能外,工作頻率要大于10kHz,,且輸入電阻要大,,不至于影響V.A.G1551與ECU的通信。圖2給出計(jì)算機(jī)串口截碼原理圖,。
采用轉(zhuǎn)換卡截碼的效率很高,,每次截碼得到的文件也較小,,大約1Kbytes多,并可以直接在編輯軟件下閱讀,,使用非常方便,。下面的任務(wù)就是對(duì)V.A.G1551的各個(gè)功能逐個(gè)進(jìn)行截碼研究,弄清在發(fā)動(dòng)機(jī)的各個(gè)工況下它們是如何進(jìn)行通信的,。
4.2 截碼數(shù)據(jù)分析
下面給出V.A.G1551在功能號(hào)04數(shù)據(jù)塊000進(jìn)行通信時(shí)截碼得到的數(shù)據(jù),,并進(jìn)行簡(jiǎn)單分析。
在V.A.G1551發(fā)出地址碼后,,ECU回答控制器版本號(hào),,如表2所示。
接下來,,雙方發(fā)出握手信號(hào)以不中斷聯(lián)系,,并且ECU等待V.A.G1551發(fā)出指令:
03FC 0BF4 09F6 03
03FC 0CF3 09F6 03
03FC 0DF2 09F6 03
V.A.G1551發(fā)出功能04-000指令,ECU回答相應(yīng)信息,,并且雙方不斷問答,,直到用戶輸入“→”:
03FC 0EF1 11EE 03
0DF2 0FF0 F40B 659A A25D C837 1DE2 807F 5BA4 02FD 00FF 07F8 1FE0 03
03FC 10EF 11EE 03
0DF2 11EE F40B 659A A25D C837 1DE2 807F 5BA4 02FD 00FF 07F8 1EE1 03
03FC 12ED 11EE 03
0DF2 13EC F40B 659A A25D C837 1DE2 807F 5BA4 02FD 00FF 07F8 1EE1 03
接下來雙方又進(jìn)行握手等待,直到用戶發(fā)出結(jié)束指令,,通信結(jié)束:
03FC 14EB 09F6 03
03FC 15EA 09F6 03
03FC 16E9 09F6 03
03FC 17E8 09F6 03
03FC 18E7 06F9 03
在這些數(shù)據(jù)中,,還可以發(fā)現(xiàn)一個(gè)特殊的碼子,即每一行的第二個(gè)數(shù)據(jù),,經(jīng)分析,,這是一個(gè)記數(shù)碼,通信雙方每發(fā)出一次信息均加一,。并且可以看到,,在功能號(hào)04數(shù)據(jù)塊000時(shí)V.A.G1551發(fā)出的命令為11,結(jié)束指令為06,。雙方采用的校驗(yàn)方式為反碼,,即接收方發(fā)出接收碼的反碼,發(fā)送方收到反碼后就認(rèn)為對(duì)方接收正確(如V.A.G1551發(fā)06,,ECU答F9),。
經(jīng)過多次實(shí)驗(yàn),可以獲知V.A.G1551在檢測(cè)發(fā)動(dòng)機(jī)電子的各個(gè)功能(包括讀故障碼和消除故障碼)時(shí)的通信碼,,這些通信碼為研制與V.A.G1551兼容的汽車故障診斷儀打下堅(jiān)實(shí)的基礎(chǔ),。
V.A.G1551除了可以讀取故障代碼外,還可以讀取發(fā)動(dòng)機(jī)實(shí)時(shí)狀態(tài)參數(shù)如轉(zhuǎn)速,、水溫,、負(fù)荷、電壓、噴油時(shí)間等,,經(jīng)過數(shù)據(jù)分析,,V.A.G1551并不是把這些參數(shù)直接顯示出來,而是把這些參數(shù)的碼子經(jīng)過某種轉(zhuǎn)換再顯示出來,。
5 開發(fā)與V.A.G1551兼容的計(jì)算機(jī)汽車診斷系統(tǒng)
V.A.G1551是德國(guó)制造的儀器,,價(jià)格昂貴,并且有部分V.A.G1551是德文顯示,,用起來多有不便,,因此有必要開發(fā)與其兼容的汽車診斷儀。通用的計(jì)算機(jī)系統(tǒng)有標(biāo)準(zhǔn)的串口,,且編程余地大,、易調(diào)試、所以可先開發(fā)計(jì)算機(jī)診斷系統(tǒng),。
5.1 硬件部分
同樣,,計(jì)算機(jī)系統(tǒng)的串口與V.A.G1551的串口不兼容,因此需要設(shè)計(jì)一塊適配卡,,與上述轉(zhuǎn)換卡不同的是,,適配卡的數(shù)據(jù)流是雙向的,但因?yàn)橥ㄐ攀前腚p工的,,所以適配卡上應(yīng)加上一個(gè)模擬開關(guān),,以隔離雙方數(shù)據(jù)。圖3給出適配卡原理圖,。
當(dāng)計(jì)算機(jī)發(fā)出數(shù)據(jù)時(shí),,模擬開關(guān)接通,數(shù)據(jù)通過K線發(fā)給ECU,,同時(shí)數(shù)據(jù)又發(fā)回給計(jì)算機(jī),,當(dāng)計(jì)算機(jī)接收到數(shù)據(jù)后可判定數(shù)據(jù)已發(fā)完,此時(shí)應(yīng)立刻關(guān)閉模擬開關(guān),,等待ECU回答,。在這個(gè)過程中模擬開關(guān)的關(guān)閉時(shí)間是個(gè)關(guān)鍵,若模擬開關(guān)關(guān)早了(即計(jì)算機(jī)串碼還未發(fā)完)則ECU接收的數(shù)據(jù)會(huì)出錯(cuò),,若模擬開關(guān)關(guān)晚了(即ECU已發(fā)出數(shù)據(jù))則會(huì)影響計(jì)算機(jī)接收數(shù)據(jù),。
5.2 軟件部分
軟件采用模塊化設(shè)計(jì),即把主程序編成一個(gè)模塊,,V.A.G1551每一個(gè)功能都編成一個(gè)模塊,,每個(gè)模塊分別匯編后再連接成可執(zhí)行文件。采用模塊程序設(shè)計(jì)有以下一些優(yōu)點(diǎn):
(1)每個(gè)模塊任務(wù)明確,,便于理解,;
(2)單個(gè)模塊易于編寫和調(diào)試;
(3)便于程序的維護(hù)和修改,;
(4)要增加診斷儀的功能,,只要增加相應(yīng)的模塊即可。
編制程序的時(shí)候可采用逐漸增加功能的方法,,即先編主模塊和第一個(gè)功能模塊,,調(diào)試成功后連上第二個(gè)功能模塊再調(diào)試,直到全部完成,。
通過一段時(shí)間的調(diào)試,,筆者已初步開發(fā)完成與V.A.G1551兼容的計(jì)算機(jī)診斷系統(tǒng),當(dāng)然目前只限于診斷M1.54P的發(fā)動(dòng)機(jī)電子,。圖4給出軟件的主框圖,。
本文介紹的方法是通過研究V.A.G1551與ECU的外部通信規(guī)律來開發(fā)與V.A.G1551兼容的汽車故障診斷儀,應(yīng)該說在主要功能上能與V.A.G1551保持一致,,但在細(xì)節(jié)問題上還有差異,。并且本文尚未涉及到另一個(gè)很重要的方面,就是V.A.G1551與ECU是如何解決誤碼問題的,,也就是說當(dāng)V.A.G1551收到ECU的確認(rèn)碼是錯(cuò)誤的時(shí)候會(huì)做何動(dòng)作,。這些問題還等待我們?nèi)プ鬟M(jìn)一步研究。
參考文獻(xiàn)
1 鄒長(zhǎng)庚.現(xiàn)代汽車電子控制系統(tǒng)構(gòu)造原理與故障診斷(上).北京:北京理工大學(xué)出版社,,1996
2 楊妙梁.汽車實(shí)用電子技術(shù)與90年代市場(chǎng)需求.北京:中國(guó)物資出版社,,1997
3 BOSCH.Automotive Electric/Electronic Systems