段秀麗
(長(zhǎng)春市醫(yī)藥化工工業(yè)技工學(xué)院,吉林長(zhǎng)春 130025)
目前社會(huì)對(duì)汽車安全性能的廣泛重視,引起了汽車電控系統(tǒng)的快速發(fā)展,也給汽車診斷技術(shù)帶來了新的任務(wù)。汽車診斷技術(shù)是用來發(fā)現(xiàn)和分析汽車發(fā)生故障的部件和區(qū)域,通常包含三個(gè)部分分別是故障診斷,性能測(cè)試和狀態(tài)監(jiān)測(cè)[1]。汽車故障診斷的發(fā)展由直觀法、儀表法和直觀法組成,隨著汽車電子技術(shù)的迅猛發(fā)展,對(duì)汽車進(jìn)行故障檢測(cè)也取得了相應(yīng)的進(jìn)步,產(chǎn)生了專業(yè)的汽車診斷儀,并且作為一門新興技術(shù)登上了汽車便攜檢測(cè)的舞臺(tái)。
現(xiàn)在汽車行業(yè)的格局,汽車的品牌和型號(hào)眾多,具有其獨(dú)立的電控點(diǎn)系統(tǒng),從而產(chǎn)生一個(gè)問題,即測(cè)試不同汽車故障需要不同的診斷儀,這將產(chǎn)生巨大的人力、物力的浪費(fèi),不利于綠色工程設(shè)計(jì)標(biāo)準(zhǔn)。為解決該問題,必須有效擴(kuò)展診斷儀的適應(yīng)性,即開發(fā)適合不同汽車生產(chǎn)廠家的ECU診斷程序,在診斷不同ECU時(shí),程序自動(dòng)識(shí)別相對(duì)應(yīng)診斷協(xié)議,而開發(fā)汽車診斷儀與電控單元的通信軟件是解決汽車診斷儀可擴(kuò)展性的技術(shù)難點(diǎn)和關(guān)鍵。
汽車各生產(chǎn)廠家的電控單元外接硬件接口由其自身的標(biāo)準(zhǔn),如何滿足汽車診斷儀的硬件接口一致性是方案設(shè)計(jì)的關(guān)鍵。汽車廠家在成產(chǎn)整車的過程中,采用診斷總線的不同,造成診斷接口硬件引腳定義不同,其傳輸協(xié)議也不相同。定義的硬件接口,需要兼容市場(chǎng)上常用的診斷協(xié)議,即K-Line和CAN BUS,K線是單線傳輸,CAN總線是雙線傳輸。因此通信配置器的硬件必須滿足上述兩種接口定義。汽車生產(chǎn)企業(yè)在開發(fā)汽車電控單元時(shí)參考ISO或SAE定義自身的診斷協(xié)議。ISO 2290提出一種基于XML描述的O D X數(shù)據(jù)庫(kù),解決了各汽車電控生產(chǎn)廠家診斷協(xié)議上的不一致。因此該通信軟件的開發(fā)主要分為兩個(gè)部分,一是利用XML描述汽車電控單元的診斷數(shù)據(jù)是該通信軟件設(shè)計(jì),二是上位機(jī)應(yīng)用軟件調(diào)用D-PDU API的編寫,由于配置器部分的開發(fā)是汽車診斷儀與汽車電控的連接部分,其總體設(shè)計(jì)方案如圖2.1所示。
圖2.1總體設(shè)計(jì)圖
應(yīng)用層用戶可在界面上選擇需要檢測(cè)的ECU,發(fā)送相關(guān)的診斷指令,通過診斷接口和配置器將指令數(shù)據(jù)發(fā)送至汽車控制單元。配置器的主要功能是統(tǒng)一診斷設(shè)備的進(jìn)行主機(jī)與汽車電控單元的通信,并完成電平轉(zhuǎn)換,可進(jìn)行通信接口的選擇如K-Line或是CAN BUS等。
目前,汽車診斷接頭上定義的硬件接口,能夠滿足SO9141、CAN、KWP2000、PWM、VPW協(xié) 議 。 其中General Motors使用的是是VPW,F(xiàn)ord使用的是PWM,BMW使用的是KWP2000。OBD-Ⅱ16針的診斷座在J1962協(xié)議中進(jìn)行了定義,引腳定義如表2-1。對(duì)比于OBD-II診斷插頭,HD26除了兼容前16引腳外,另外定義了10個(gè)引腳如表2-2。
表2 -1O B D-I I診斷插頭引腳定義表
對(duì)比于OBD-II診斷插頭,HD26除了兼容前16引腳外,另外定義了10個(gè)引腳如表2-2。
表2 -2H D 2617-26引腳說明
當(dāng)今汽車故障檢測(cè)領(lǐng)域中,經(jīng)常使用三種協(xié)議分別是SAE J1939,ISO 14230 和ISO 1576, 三者都是以ISO/IEC10731 和ISO/IEC7498標(biāo)準(zhǔn)下的Open Systems Interconnection
七層協(xié)議為依據(jù)。ISO14230稱為KWP 2000具有獨(dú)立的物理層,14230-1表示物理層、14230-2表示數(shù)據(jù)鏈接層、14230-3表示應(yīng)用層。ISO 15765協(xié)議不包含物理層和數(shù)據(jù)連接層。ISO 15765協(xié)議沒有定義自己的物理層和數(shù)據(jù)鏈路層;SAE(美國(guó)汽車工程師協(xié)會(huì))J 1939協(xié)議包括物理層、數(shù)據(jù)鏈接層、網(wǎng)絡(luò)層和應(yīng)用層。以上三種協(xié)議及Open Systems Interconnection七層協(xié)議詳見表3-1。
表3-1 三種協(xié)議與OSI七層協(xié)議對(duì)比列表
本文以軟件平臺(tái)中的“讀故障碼(Read DTC)”為例,程序代碼開發(fā)流程圖,如圖4.1所示。程序主要運(yùn)行步驟為:診斷接口硬件初始化、用戶指令輸入、點(diǎn)擊汽車故障診斷碼、程序調(diào)用讀故障函數(shù)ReadDTC()、產(chǎn)生相關(guān)參數(shù)、函數(shù)內(nèi)部解析XML、查詢讀故障服務(wù)號(hào)、配置相關(guān)參數(shù)文件,顯示汽車故障信息。
圖4.1 程序流程圖
1、實(shí)驗(yàn)內(nèi)容:應(yīng)用層用戶選擇讀取汽車故障碼,MDF中查找故障碼數(shù)據(jù),利用CDF選取相關(guān)發(fā)送函數(shù),形成 CAN數(shù)據(jù)幀,依據(jù)返回值判斷發(fā)送是否成功,調(diào)用接收函數(shù),查詢CAN數(shù)據(jù)幀,如果超時(shí)時(shí)間接受收到有效數(shù)據(jù),則再次查詢MDF文檔,翻譯數(shù)據(jù),刷新屏幕顯示,顯示故障代碼和名稱。
2、數(shù)據(jù)顯示
汽車故障診斷SOFTING DTS顯示相關(guān)數(shù)據(jù):
用戶按下讀取故障診斷碼,程序自動(dòng)發(fā)送0x13 0x01,汽車電控單元響應(yīng)信號(hào),由于響應(yīng)信號(hào)長(zhǎng)度超過8個(gè)字節(jié),因此需要分包傳輸。汽車診斷儀根據(jù)電控單元的響應(yīng),產(chǎn)生相應(yīng)的數(shù)據(jù)流控制幀,同時(shí)電控單元依據(jù)控制幀發(fā)送余下的數(shù)據(jù)包,上位機(jī)顯示界面,如圖5.1所示。
圖5.1故障診斷結(jié)果顯示
該軟件已經(jīng)在相關(guān)車型的電控單元通過測(cè)試,可以實(shí)現(xiàn)相應(yīng)電控單元的故障報(bào)告,同時(shí)由于選取的相關(guān)車型,涵蓋國(guó)內(nèi)常見的幾種診斷協(xié)議,也在相應(yīng)的物理總線上經(jīng)過測(cè)試,驗(yàn)證汽車故障診斷儀與電控單元的通信軟件開發(fā)的有效性。
[1]喬美昀,王印.汽車診斷系統(tǒng)的通訊開發(fā)與研究[J].裝備制造技術(shù).2010(11)
[2]曹興舉.當(dāng)前汽車檢測(cè)診斷設(shè)備的特點(diǎn)與發(fā)展趨勢(shì).汽車維護(hù)與修理[J].2012(09)
[3]卞光榮,丁興運(yùn),陳洪林.現(xiàn)代汽車故障診斷思路淺談.2005(02)
[4]黃麗芳.UDS診斷服務(wù)在車載ECU中的應(yīng)用分析[J].汽車電器.2012(06)
[5]張杰,蘇建成.汽車故障診斷分析方法與發(fā)展[J].汽車零部件.2012(10)
吉林廣播電視大學(xué)學(xué)報(bào)2013年9期