1 引言
在美國(guó)制造和銷(xiāo)售的所有的小汽車(chē)和輕型卡車(chē)從1996年1月1號(hào)起都必須裝備有車(chē)載自動(dòng)診斷系統(tǒng)(OBD-II)。然而OBD-II主要用于排放系統(tǒng)的診斷,車(chē)輛的其他各個(gè)子系統(tǒng)能被OBD-II診斷的比較少。雖然這些診斷碼對(duì)診斷部分 故障是很有用的,但是這些信息還不足以有效的區(qū)分特定的故障部位。通過(guò)接入OBD-II接口的掃描工具能獲得故障碼,但是各個(gè)生產(chǎn)廠商提供的手持式掃描工 具與OBD-II通信的標(biāo)準(zhǔn)并不統(tǒng)一,歐洲和大部分亞洲國(guó)家使用ISO9141標(biāo)準(zhǔn)與OBD-II通信,而通用汽車(chē)的小汽車(chē)和輕型卡車(chē)則使用sae j1850 vpwm標(biāo)準(zhǔn),福特公司采用sae j1850pwm標(biāo)準(zhǔn)。
這樣就導(dǎo)致傳統(tǒng)的汽車(chē)故障診斷有如下缺點(diǎn):在不同汽車(chē)制造商之 間診斷技術(shù)沒(méi)有形成標(biāo)準(zhǔn),無(wú)疑這會(huì)導(dǎo)致車(chē)輛的診斷成本大幅增加;故障診斷需要駕駛車(chē)輛到特定的修理地點(diǎn),這導(dǎo)致駕駛者的不方便,也不可能經(jīng)常的進(jìn)行定期的 診斷和維護(hù);一次全面地診斷需要特定的設(shè)備和熟練的技術(shù)員,這會(huì)使診斷的成本很高;故障碼提供的信息通常是不足夠精確來(lái)指出故障的來(lái)源;隨著汽車(chē)電子控制 系統(tǒng)變得越來(lái)越復(fù)雜,診斷各部分的故障也越來(lái)越困難。
汽車(chē)上各種電子控制單元的數(shù)目不斷增加,連接導(dǎo)線顯著增加,因而提高控制單元間通 訊可靠性和降低導(dǎo)線成本已成為迫切需要解決的問(wèn)題。為此以研發(fā)和生產(chǎn)汽車(chē)電子產(chǎn)品著稱(chēng)的德國(guó)Bosch公司開(kāi)發(fā)了CAN總線協(xié)議,并使其成為國(guó)際標(biāo)準(zhǔn) (ISO11898)。CAN協(xié)議的一個(gè)最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對(duì)通信數(shù)據(jù)塊編碼,采用這種方法可使網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)個(gè)數(shù)在理論上不受限 制,還可使不同的節(jié)點(diǎn)同時(shí)收到相同的數(shù)據(jù)。
隨著遠(yuǎn)程通訊、總線技術(shù)、基于模型的診斷、電子和嵌入式技術(shù)的進(jìn)步,車(chē)輛的故障診斷和監(jiān)控技術(shù)得到很大發(fā)展,使得能夠在車(chē)輛行駛的過(guò)程中實(shí)現(xiàn)遠(yuǎn)程診斷和監(jiān)控。這些技術(shù)的具備和車(chē)主們?cè)絹?lái)越大的興趣使得汽車(chē)界也投入了越來(lái)越多的精力來(lái)實(shí)現(xiàn)遠(yuǎn)程診斷和監(jiān)控。
2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
2.1 系統(tǒng)原理
車(chē)輛的遠(yuǎn)程故障診斷是一個(gè)多學(xué)科的復(fù)雜系統(tǒng),包含車(chē)載故障診斷單元,遠(yuǎn)程車(chē)輛信息技術(shù)服務(wù)中心和無(wú)線通訊網(wǎng)絡(luò)系統(tǒng)。近來(lái)出現(xiàn)了許多相關(guān)的專(zhuān)利和文章。
圖1是車(chē)輛的遠(yuǎn)程故障診斷系統(tǒng)的工作原理圖,車(chē)載故障診斷單元和服務(wù)中心通過(guò)無(wú)線通訊來(lái)實(shí)現(xiàn)遠(yuǎn)程診斷:遠(yuǎn)程服務(wù)中心通過(guò)無(wú)線網(wǎng)絡(luò)獲得車(chē)載故障診斷單元發(fā) 送的狀態(tài)信息,然后通過(guò)分析車(chē)輛的運(yùn)行參數(shù)和故障碼,遠(yuǎn)程信息技術(shù)服務(wù)中心通知車(chē)主故障的嚴(yán)重程度,并提供必要的支持服務(wù),并安排必要的保養(yǎng)或者建議修理 來(lái)解決出現(xiàn)的故障。
2.2 功能設(shè)計(jì)
(1) 車(chē)輛能智能化的向遠(yuǎn)程服務(wù)中心提供故障碼,關(guān)鍵傳感器的值和其他相關(guān)運(yùn)行參數(shù),并具備獲取下載或者系統(tǒng)軟件升級(jí)的能力。
(2) 車(chē)輛和遠(yuǎn)程服務(wù)中心均具備適當(dāng)人機(jī)接口的先進(jìn)實(shí)時(shí)診斷和監(jiān)控模塊。
(3) 車(chē)輛的遠(yuǎn)程故障診斷服務(wù)中心具有權(quán)威的專(zhuān)家負(fù)責(zé)復(fù)雜的診斷和監(jiān)控并與駕駛者交流。
(4) 保證遠(yuǎn)程故障診斷服務(wù)中心和相應(yīng)車(chē)輛的數(shù)據(jù)通訊以及與駕駛者通話的無(wú)線網(wǎng)絡(luò)。
從系統(tǒng)原理圖(圖1)分析可以得出:被診斷的車(chē)輛通過(guò)無(wú)線網(wǎng)絡(luò)與車(chē)輛信息技術(shù)服務(wù)中心(telematics service providers,tsp)保持通信。車(chē)輛信息技術(shù)服務(wù)中心不但可以像傳統(tǒng)ISP一樣提供Internet服務(wù),還可以提供安全,GPS,客戶(hù)關(guān)系管理 等服務(wù)。而且,車(chē)輛信息技術(shù)服務(wù)中心還能夠提供專(zhuān)業(yè)的故障診斷專(zhuān)家來(lái)為車(chē)主提供診斷服務(wù)。診斷專(zhuān)家通過(guò)從車(chē)載電子系統(tǒng)傳來(lái)的故障碼實(shí)時(shí)分析車(chē)輛的故障程 度。車(chē)主也可以通過(guò)移動(dòng)電腦無(wú)線上網(wǎng)或者移動(dòng)電話通過(guò)wap來(lái)瀏覽車(chē)輛信息技術(shù)服務(wù)中心提供的更加具體的故障碼說(shuō)明,以及其他導(dǎo)航服務(wù)。同時(shí)我們的車(chē)輛信 息技術(shù)服務(wù)中心還要掌握有以下資源,如車(chē)輛制造商數(shù)據(jù)中心,道路拯救車(chē)輛以及車(chē)輛修理,保養(yǎng)店面等。
3 軟件設(shè)計(jì)
該系統(tǒng)的軟件設(shè)計(jì)主要分為兩部分:位于車(chē)輛信息技術(shù)服務(wù)中心的專(zhuān)家系統(tǒng)設(shè)計(jì)和位于車(chē)輛的車(chē)載故障診斷單元設(shè)計(jì)。
3.1 專(zhuān)家系統(tǒng)設(shè)計(jì)
這部分是位于車(chē)輛信息技術(shù)服務(wù)中心的應(yīng)用程序,除了普通的web服務(wù),GPS服務(wù),跟蹤服務(wù)等以外,最主要的是能提供故障的專(zhuān)家診斷。這部分功能由專(zhuān)家系統(tǒng)輔助以現(xiàn)場(chǎng)專(zhuān)家來(lái)完成。通過(guò)專(zhuān)家系統(tǒng)來(lái)盡可能快地給車(chē)主反饋故障診斷的信息,并提出解決的專(zhuān)家建議。
開(kāi)發(fā)專(zhuān)家系統(tǒng),首先需要將汽車(chē)維修領(lǐng)域?qū)<业拇罅繉?shí)際維修經(jīng)驗(yàn)進(jìn)行匯總和提煉,編成知識(shí)庫(kù),構(gòu)成專(zhuān)家系統(tǒng)的核心部分;然后建立推理機(jī),推理機(jī)可根據(jù)車(chē)載 故障診斷單元發(fā)送過(guò)來(lái)的數(shù)據(jù),利用知識(shí)庫(kù)中的知識(shí),按一定策略進(jìn)行推理,從而得出診斷結(jié)果。專(zhuān)家系統(tǒng)的結(jié)構(gòu)如圖2所示:
知識(shí)庫(kù)的建立直接關(guān)系到車(chē)輛信息技術(shù)服務(wù)中心服務(wù)質(zhì)量的高低,也影響著車(chē)主是否大量采用這個(gè)系統(tǒng),所以收集,整理專(zhuān)家知識(shí)的工作特別重要,其難點(diǎn)主要在 于專(zhuān)家知識(shí)的收集與表述。因?yàn)楝F(xiàn)在的汽車(chē)制造廠商十分繁多,具體的車(chē)系更多。雖然現(xiàn)在大部分車(chē)輛都提供OBD-II接口,但是從接口中讀出的故障碼的信息 十分有限;各大汽車(chē)生產(chǎn)廠商檢測(cè)故障用的手持設(shè)備與OBD-II通信的協(xié)議也各不一致,而且得到的故障碼包含的信息大量的是靠維修工人的經(jīng)驗(yàn)來(lái)判讀。所以 專(zhuān)家知識(shí)的積累與整理顯得十分重要。
在歸納知識(shí)時(shí)要考慮的因素很多, 為了充分利用專(zhuān)家系統(tǒng)的符號(hào)推理能力, 凡是能用數(shù)學(xué)公式描述的知識(shí), 均作為具體求解器的方法實(shí)現(xiàn),其余的作為規(guī)則存儲(chǔ)于知識(shí)庫(kù)。
規(guī)則知識(shí)的表示形式為:
規(guī)則號(hào) if (前提) then (結(jié)論)
前提是一個(gè)條件或幾個(gè)條件的“and”形式,若是后一種情況,只有在幾個(gè)條件都成立時(shí),結(jié)論才被接受。每個(gè)條件可以是若干項(xiàng)的“or”形式。
以下是一條具體的規(guī)則:
rule5:
if
?。?) 收到故障碼:p0201
(2) 收到故障碼:p0202
?。?) 收到故障碼:p0203
(4) 收到故障碼:p0204
?。?) 發(fā)動(dòng)機(jī)缸數(shù):8
then
發(fā)動(dòng)機(jī)噴油嘴故障嚴(yán)重,需馬上修理。
推理機(jī)設(shè)計(jì)時(shí)本系統(tǒng)采用了兩級(jí)es推理控制策略。結(jié)合領(lǐng)域知識(shí),將總體故障分析求解任務(wù)分解為不同的子任務(wù),如發(fā)動(dòng)機(jī)故障分析子任務(wù)、輪胎故障診斷子任 務(wù)等。每個(gè)子任務(wù)有各自的目標(biāo)求解變量,服從不同的求解方法,彼此之間既相互獨(dú)立又存在著相互聯(lián)系。通過(guò)正向推理求解其目標(biāo)變量,并將所求結(jié)果顯示給車(chē)主。
而汽車(chē)故障診斷的各子任務(wù)間是有一定的依賴(lài)關(guān)系的,各子任務(wù)的求解是有一定的前提條件的,例如,氣缸噴油嘴子任務(wù)的求解必須在油嘴線路電壓已知 的前提下才能進(jìn)行,因而,各求解器中都設(shè)置了激活條件,只有滿(mǎn)足了這些條件,求解器才能被激活從而進(jìn)行目標(biāo)變量的求解。元級(jí)推理機(jī)利用此關(guān)聯(lián)對(duì)象集信息按 一定的順序激活相關(guān)的求解器進(jìn)行重新推理。
解釋機(jī)制通過(guò)與推理機(jī)輸出的數(shù)據(jù), 回答用戶(hù)提出的how、why、what、whether等問(wèn)題。
3.2 車(chē)載故障診斷單元軟件設(shè)計(jì)
車(chē)載故障診斷單元主要負(fù)責(zé)車(chē)載故障數(shù)據(jù)的讀取,并通過(guò)無(wú)線網(wǎng)絡(luò)()將故障碼實(shí)時(shí)送到遠(yuǎn)程車(chē)輛信息技術(shù)服務(wù)中心,簡(jiǎn)單的故障信息,如:一般故障 (不用馬上處理),故障(需馬上修理),嚴(yán)重故障(需請(qǐng)求交通拯救)需要及時(shí)反饋給車(chē)主(包括以文字的方式反饋到車(chē)主車(chē)載屏上,更緊急的時(shí)候通過(guò)語(yǔ)音或者 視頻對(duì)話來(lái)溝通)。更詳細(xì)的故障情況車(chē)主可以通過(guò)移動(dòng)電腦或者移動(dòng)電話訪問(wèn)相關(guān)遠(yuǎn)程車(chē)輛信息技術(shù)服務(wù)中心的網(wǎng)站來(lái)獲取。
車(chē)載故障診斷單元的主程序在執(zhí)行完初始化功能,再根據(jù)當(dāng)前故障狀態(tài)位的值設(shè)置定時(shí)中斷的時(shí)間后,然后就進(jìn)入低功耗模式。單元讀取故障碼和其他運(yùn)行數(shù)據(jù),以及這些數(shù)據(jù)的傳 輸都放置在中斷程序,中斷結(jié)束立即進(jìn)入低功耗模式。車(chē)輛故障狀態(tài)位正常時(shí),可取60min定時(shí)中斷一次,調(diào)用crc-16校驗(yàn)計(jì)算執(zhí)行庫(kù)后,通過(guò)無(wú)線方式 發(fā)送給遠(yuǎn)程車(chē)輛信息技術(shù)服務(wù)中心。在故障狀態(tài)位出現(xiàn)多位數(shù)值為“1”時(shí),縮短定時(shí)中斷時(shí)間,增加數(shù)據(jù)采樣及發(fā)送頻率。定時(shí)中斷程序流程如圖3所示:
數(shù)據(jù)接收程序在主程序完成初始化功能后,模塊進(jìn)入等待SPI數(shù)據(jù)工作狀態(tài)。在接收到一個(gè)數(shù)據(jù)幀,crc校驗(yàn)(采用查表法實(shí)現(xiàn),減小微控制器cpu占用時(shí) 間)和車(chē)輛信息技術(shù)服務(wù)中心id判斷無(wú)誤后,送液晶顯示并點(diǎn)亮相應(yīng)的指示燈以表示各模塊工作正常。當(dāng)某個(gè)模塊出現(xiàn)故障時(shí),啟動(dòng)led閃爍警告或蜂鳴器報(bào) 警。程序流程圖如圖4所示。
4 硬件設(shè)計(jì)
4.1 車(chē)載故障診斷單元
車(chē)載故障診斷單元主要由無(wú)線模塊(模塊),微控制器(PIC16F874),CAN收發(fā)器(MCP2551),CAN控制器(MCP2510)組成,硬件結(jié)構(gòu)如圖5所示。車(chē)載通信協(xié)議統(tǒng)一采用CAN總線。
Microchip公司的單片機(jī)PIC16F874采用risc指令系統(tǒng),哈佛總線結(jié)構(gòu),低功耗,高速度。內(nèi)部集成了ADC、串行外圍接口 (SPI)和Flash程序存儲(chǔ)器等,具有pwm輸出、lcd驅(qū)動(dòng)等功能。PIC16F874通過(guò)SPI接口可以實(shí)現(xiàn)與CAN控制器MCP2510的無(wú)縫 連接。PIC16F874的I/O資源豐富,共有五個(gè)I/O口,每個(gè)I/O口除了基本用途外還有一些特殊功能。
CAN通信模塊由CAN 控制器MCP2510和CAN收發(fā)器MCP2551組成。MCP2510可以完成CAN總線的物理層和數(shù)據(jù)鏈路層的所有功能,支持高速SPI接口(最高數(shù) 據(jù)傳輸速率可以達(dá)到5mb/s),支持CAN2.0a/CAN2.0b協(xié)議。CAN收發(fā)器MCP2551是CAN控制器與物理總線之間的接口,對(duì)物理總線 提供差動(dòng)發(fā)送能力,對(duì)CAN控制器提供差動(dòng)接收能力,同時(shí)它可以增大通信距離,提高CAN的抗干擾能力。
考慮到與現(xiàn)有OBD-II接口兼容,我們利用微控制器的串口來(lái)完成和OBD-II接口的通信。
4.2 車(chē)輛信息技術(shù)服務(wù)中心
車(chē)輛信息技術(shù)服務(wù)中心的硬件設(shè)計(jì)符合現(xiàn)有標(biāo)準(zhǔn)即可,主要包括服務(wù)器的設(shè)計(jì),網(wǎng)絡(luò)的設(shè)計(jì),這部分的硬件設(shè)計(jì)限于篇幅不再詳細(xì)論述。
5 結(jié)束語(yǔ)
本文首先分析了車(chē)輛遠(yuǎn)程故障診斷的現(xiàn)狀,指出了傳統(tǒng)車(chē)輛故障診斷的缺點(diǎn)。在基于現(xiàn)有的無(wú)線通信網(wǎng)技術(shù)的基礎(chǔ)上,首先在國(guó)內(nèi)提出了基于的車(chē)輛信息 技術(shù)服務(wù)概念,包括了車(chē)輛故障智能診斷在內(nèi),將服務(wù)概念延伸到GPS城市導(dǎo)航,車(chē)輛跟蹤等各個(gè)方面。然后,利用PIC16F874設(shè)計(jì)了基于CAN總線的 一種車(chē)輛遠(yuǎn)程故障診斷系統(tǒng)。該系統(tǒng)設(shè)計(jì)新穎,具備很好的應(yīng)用前景,有關(guān)提供車(chē)輛信息技術(shù)服務(wù)(tsp)的網(wǎng)站也在籌建中。
評(píng)論
查看更多