鄧 瑩, 徐家明, 牛方興, 王高舉, 劉雙平, 劉 壯
(東風(fēng)商用車技術(shù)中心, 湖北 武漢 430056)
隨著汽車五化時(shí)代的到來,越來越多的車載電控單元應(yīng)用到了整車中,雖然整車控制更加智能和精準(zhǔn),但整車網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)也更加復(fù)雜,這意味著需要處理更多的電控系統(tǒng)故障[1]。診斷系統(tǒng)作為售后維修工具,很好地解決了這個(gè)問題,可以實(shí)現(xiàn)多個(gè)電控系統(tǒng)的故障診斷[2]。但整車網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)不僅具有復(fù)雜性,還具有多樣性。一方面為了滿足不同細(xì)分市場(chǎng)的需求,車型種類和車型配置在不斷增加,一方面也需要不斷調(diào)整來適應(yīng)新的法規(guī)要求。因此,診斷系統(tǒng)也應(yīng)該滿足適應(yīng)不同車型、不同配置以及不同網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的要求。
診斷系統(tǒng)由上位機(jī)診斷儀和下位機(jī)適配器組成,如圖1所示,診斷儀通過適配器與各大車型平臺(tái)OBD接口連接,實(shí)現(xiàn)常規(guī)診斷功能、高級(jí)診斷功能和數(shù)據(jù)服務(wù)功能等。常規(guī)診斷功能包括讀標(biāo)識(shí)、讀故障、清故障、信號(hào)采集等;高級(jí)診斷功能包括執(zhí)行器測(cè)試、IO功能測(cè)試等;數(shù)據(jù)服務(wù)功能包括車載電控單元的程序刷寫和EOL數(shù)據(jù)刷寫,刷寫數(shù)據(jù)由診斷儀從售后服務(wù)器獲取,診斷儀通過網(wǎng)絡(luò)連接到售后服務(wù)器,并通過車型底盤號(hào)找到對(duì)應(yīng)的刷寫數(shù)據(jù)并下載。該診斷系統(tǒng)具有集成度高、界面友好、易操作、攜帶方便的優(yōu)勢(shì)。
圖1 診斷系統(tǒng)構(gòu)成
1.2.1 診斷系統(tǒng)架構(gòu)設(shè)計(jì)
診斷系統(tǒng)架構(gòu)如圖2所示,采用分層式架構(gòu)設(shè)計(jì),從運(yùn)行環(huán)境分為診斷軟件和適配器軟件。診斷軟件由用戶界面層、診斷邏輯層、診斷協(xié)議層、診斷傳輸層、數(shù)據(jù)訪問層、SAE J2534接口、USB驅(qū)動(dòng)和網(wǎng)絡(luò)接口這幾個(gè)部分組成,適配器軟件由USB基礎(chǔ)軟件、USB應(yīng)用軟件、適配器基礎(chǔ)軟件和適配器應(yīng)用軟件4個(gè)部分組成。
圖2 診斷系統(tǒng)架構(gòu)
在診斷軟件中,診斷邏輯層實(shí)現(xiàn)讀標(biāo)識(shí)、讀故障、清故障、數(shù)據(jù)測(cè)量、執(zhí)行器測(cè)試等診斷功能的邏輯運(yùn)算、策略判斷等。診斷協(xié)議層集 成 有SAE J1939 -73、 ISO 14229 -1、 ISO 15765 -3、 ISO 14230-3、ISO 15031-5五大診斷應(yīng)用層協(xié)議,供診斷邏輯層調(diào)用。診斷傳輸層集成有與診斷協(xié)議層對(duì)應(yīng)的診斷傳輸層協(xié)議,分別是SAE J1939 -21、 ISO 15765 -2、 ISO 15765-4、ISO 14230-2[3]。USB驅(qū)動(dòng)是適配器的設(shè)備驅(qū)動(dòng)程序,由診斷傳輸層調(diào)用SAE J2534接口實(shí)現(xiàn)。數(shù)據(jù)訪問層中的數(shù)據(jù)庫管理了電控系統(tǒng)單元的配置信息,包括診斷協(xié)議、請(qǐng)求及響應(yīng)ID、波特率、CAN通道、故障碼、診斷命令等。網(wǎng)絡(luò)接口采用webservice接口,通過網(wǎng)絡(luò)接口實(shí)現(xiàn)與售后服務(wù)器通信。
在適配器軟件中,USB基礎(chǔ)軟件提供與診斷儀軟件進(jìn)行USB通信的驅(qū)動(dòng)接口,同時(shí)還提供與適配器基礎(chǔ)軟件進(jìn)行SPI通信的驅(qū)動(dòng)接口,并且為USB應(yīng)用程序軟件提供底層調(diào)用接口。USB應(yīng)用程序?qū)崿F(xiàn)數(shù)據(jù)轉(zhuǎn)換和異常處理功能。適配器基礎(chǔ)軟件一方面實(shí)現(xiàn)與USB基礎(chǔ)軟件進(jìn)行SPI通信,另一方面實(shí)現(xiàn)與外部進(jìn)行CAN線通信,同時(shí)還為適配器應(yīng)用軟件提供底層調(diào)用接口。適配器應(yīng)用軟件完成適配器基礎(chǔ)軟件傳來的數(shù)據(jù)處理、異常檢查等。
1.2.2 診斷系統(tǒng)功能實(shí)現(xiàn)原理
診斷系統(tǒng)功能實(shí)現(xiàn)原理如圖3所示。用戶通過診斷系統(tǒng)界面選擇車型平臺(tái)和需要診斷的車載電控單元,診斷系統(tǒng)連接車載電控單元時(shí),首先通過數(shù)據(jù)訪問層從數(shù)據(jù)庫中讀取對(duì)應(yīng)車載電控單元配置的CAN通信參數(shù),包括CAN通道、波特率、請(qǐng)求ID、響應(yīng)ID、診斷協(xié)議等,基于此配置初始化軟件,然后在此運(yùn)行環(huán)境下向?qū)⒁B接的車載電控單元發(fā)送連接控制命令。如果車載電控單元返回肯定響應(yīng)命令則表示連接成功,可以繼續(xù)選擇讀標(biāo)識(shí)、讀故障、清故障、數(shù)據(jù)測(cè)量等診斷功能,否則提醒用戶連接車載電控單元失敗。其中,為了便于數(shù)據(jù)管理和使用,數(shù)據(jù)庫中的車載電控單元配置的CAN通信參數(shù)通過既定的唯一名稱標(biāo)識(shí)符進(jìn)行鎖定。
汽車控制系統(tǒng)按功能可以劃分為不同的域,主要包括動(dòng)力域、底盤域、車身域、安全駕駛域以及HMI域,對(duì)應(yīng)的整車CAN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)主要分為動(dòng)力總成CAN、底盤控制CAN、車身控制CAN、診斷CAN和信息娛樂CAN[4]。由于不同網(wǎng)絡(luò)分工不同,因而對(duì)信號(hào)傳輸速率要求也不相同,使得不同CAN總線波特率不一致[5]。
圖3 診斷系統(tǒng)功能實(shí)現(xiàn)原理
處于不同網(wǎng)絡(luò)的車載電控單元通過OBD接口實(shí)現(xiàn)與診斷儀進(jìn)行CAN通信,對(duì)于固定CAN通道和波特率的車載電控單元,診斷軟件可以為其配置確定的OBD通信接口和波特率,從而定位到對(duì)應(yīng)網(wǎng)絡(luò)的通信對(duì)象,完成整個(gè)通信機(jī)制。但是隨著車輛性能提升的需要及法規(guī)需求,車型及配置不斷增加,需要不斷升級(jí)與優(yōu)化車輛網(wǎng)絡(luò)架構(gòu),車載電控單元的通信接口和波特率也在不斷調(diào)整,導(dǎo)致處于不同車型的同一車載電控單元的通信網(wǎng)絡(luò)可能不同。根據(jù)車載電控單元的CAN網(wǎng)絡(luò)配置需求不同,將車載電控單元分為5類,診斷系統(tǒng)運(yùn)行時(shí)車載電控單元的CAN網(wǎng)絡(luò)配置需求分析如表1所示。
表1 診斷儀CAN網(wǎng)絡(luò)配置需求
圖4 診斷系統(tǒng)CAN通信參數(shù)自適應(yīng)功能實(shí)現(xiàn)流程
根據(jù)診斷系統(tǒng)CAN網(wǎng)絡(luò)配置功能需求,診斷CAN通信自適應(yīng)功能實(shí)現(xiàn)流程如圖4所示。用戶選擇車型平臺(tái)后,診斷系統(tǒng)會(huì)初始化CAN通道和波特率參數(shù)切換次數(shù)上限,然后用戶在該平臺(tái)上選擇相應(yīng)車載電控單元進(jìn)行連接。選擇完成后,診斷系統(tǒng)軟件首先從數(shù)據(jù)庫中讀取CAN通信參數(shù)并初始化軟件運(yùn)行環(huán)境,然后發(fā)送相應(yīng)連接測(cè)試命令。如果車載電控單元返回肯定響應(yīng)命令,則顯示控制器連接成功,表明診斷系統(tǒng)CAN網(wǎng)絡(luò)配置正常。如果車載電控單元返回否定響應(yīng)命令,需要判斷車載電控單元是否為I類控制器,如果車載電控單元不是I類控制器,則還需要進(jìn)一步判斷CAN通道和波特率參數(shù)切換次數(shù)是否達(dá)到上限,若沒有達(dá)到上限則根據(jù)控制器的類型進(jìn)行相應(yīng)切換,若達(dá)到上限則顯示控制器連接失敗。其中,CAN通道和波特率參數(shù)允許切換次數(shù)由控制器類型決定。
分別選取控制器VECU、ABS、BCM為單元測(cè)試對(duì)象,設(shè)置VECU為II類控制器、ABS為III類控制器和BCM為Ⅳ類控制器,單元測(cè)試初始化設(shè)置如表2所示,數(shù)據(jù)庫初始網(wǎng)絡(luò)配置信息如圖5所示。
表2 單元測(cè)試初始化設(shè)置
控制器VECU、ABS、BCM連接測(cè)試成功,結(jié)果表明:在控制器的實(shí)際網(wǎng)絡(luò)配置與診斷系統(tǒng)初始網(wǎng)絡(luò)配置不匹配的情況下,診斷系統(tǒng)可自動(dòng)將其配置到對(duì)應(yīng)的網(wǎng)絡(luò),從而成功與控制器進(jìn)行通信,實(shí)現(xiàn)控制器相應(yīng)診斷功能。
圖5 單元測(cè)試數(shù)據(jù)庫初始網(wǎng)絡(luò)配置信息
如圖6所示,利用上述控制器搭建臺(tái)架,以便對(duì)以上控制器進(jìn)行臺(tái)架測(cè)試,從測(cè)試結(jié)果來看,診斷系統(tǒng)可以快速連接到相應(yīng)控制器,執(zhí)行測(cè)試后查看數(shù)據(jù)庫配置信息如圖7所示,測(cè)試結(jié)果與期望值保持一致。
圖6 臺(tái)架測(cè)試
以東風(fēng)商用車車型平臺(tái)為實(shí)車測(cè)試對(duì)象,針對(duì)多個(gè)車型平臺(tái)進(jìn)行實(shí)車測(cè)試,進(jìn)一步驗(yàn)證診斷系統(tǒng)CAN通信自適應(yīng)功能是否能滿足要求,確保連接可靠。診斷系統(tǒng)連接實(shí)車成功后,對(duì)多個(gè)控制器進(jìn)行一系列功能測(cè)試,包括讀標(biāo)識(shí)、讀故障、清故障、數(shù)據(jù)測(cè)量、執(zhí)行器測(cè)試、數(shù)據(jù)刷寫等,測(cè)試診斷功能面向不同CAN通道和波特率的車型平臺(tái)時(shí)能否正常工作,測(cè)試結(jié)果表明,CAN通信自適應(yīng)功能能滿足診斷系統(tǒng)CAN網(wǎng)絡(luò)配置的功能需求。
圖7 VECU/ABS/BCM數(shù)據(jù)庫配置信息更新狀態(tài)
目前市場(chǎng)上車輛種類繁多、配置各異,無法通過車型明確區(qū)分車載電控單元網(wǎng)絡(luò)配置,為診斷系統(tǒng)連接整車帶來困難。本文提出的基于CAN通信自適應(yīng)的商用車診斷系統(tǒng),實(shí)現(xiàn)了車載電控單元CAN通信參數(shù)自動(dòng)配置,可以適配不同車型、不同網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的整車診斷,能快速響應(yīng)整車診斷需求。該系統(tǒng)大大改善了售后車輛電控系統(tǒng)維修效率、保障了車輛運(yùn)行時(shí)效性,為用戶創(chuàng)造了價(jià)值。