一種故障記錄裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及車輛故障診斷領(lǐng)域,具體涉及了一種故障記錄裝置及方法。
【背景技術(shù)】
[0002]汽車故障診斷是指:依照相關(guān)技術(shù)標(biāo)準(zhǔn),使用專用的工具、儀器、設(shè)備和軟件,對汽車故障進(jìn)行檢測排查、分析判斷,從而查明故障成因,確認(rèn)故障部位的過程。汽車故障的診斷方法基本上是人工直觀經(jīng)驗診斷法和儀器設(shè)備診斷法。隨著汽車技術(shù)的發(fā)展,特別是電子技術(shù)、計算機技術(shù)在汽車上的應(yīng)用,汽車故障診斷正從傳統(tǒng)的眼觀、耳聽、鼻聞、手摸、隔離、試探和比較等經(jīng)驗診斷方式,向以數(shù)字化、集成化和智能化的診斷設(shè)備為輔助手段,以信息技術(shù)為依托的現(xiàn)代汽車故障診斷技術(shù)體系發(fā)展。
[0003]現(xiàn)有的儀器設(shè)備診斷方法主要有兩種:一種是故障碼的診斷分析方法,用汽車電腦故障診斷儀將電控單元存儲器中存儲的故障信息以代碼(故障碼)的形式讀出來,并根據(jù)代碼找到故障原因和部位。它的缺點是:故障碼只是簡單的表述故障,不會反映當(dāng)時的整車情況和總線情況,不能準(zhǔn)確定位問題所在。另一種是使用總線數(shù)據(jù)記錄儀,對故障車進(jìn)行跑路測試。它的主要缺點是:難以實時保存偶發(fā)的故障數(shù)據(jù),數(shù)據(jù)冗余度高,投入成本高等。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種故障記錄裝置及方法,以簡單方便地記錄故障發(fā)生時整車的狀態(tài)情況,為分析故障原因提供相應(yīng)信息。
[0005]為實現(xiàn)上述目的,本發(fā)明提供了如下技術(shù)方案:
[0006]一種故障記錄裝置,包括:網(wǎng)關(guān)處理器、以及通過CAN總線與所述網(wǎng)關(guān)處理器連接的隨機存儲器RAM和電可擦可編程只讀存儲器EEPROM ;所述RAM用于存儲網(wǎng)關(guān)處理器接收的CAN總線報文;所述網(wǎng)關(guān)處理器對所述RAM和EEPROM進(jìn)行控制;所述網(wǎng)關(guān)處理器接收到包含故障信息的CAN總線報文后,將所述RAM中存儲的所述包含故障信息的CAN總線報文寫入所述EEPROM中,同時獲取時間信息,以用所述時間信息標(biāo)記寫入所述EEPROM中的CAN總線報文。
[0007]優(yōu)選地,所述網(wǎng)關(guān)處理器控制所述EEPROM對CAN總線報文的寫入、CAN總線報文的替換、CAN總線報文讀取和CAN總線報文的清除。
[0008]優(yōu)選地,在以下任意一種情況發(fā)生時,所述網(wǎng)關(guān)處理器控制所述RAM暫停對CAN總線報文的接收:電池電壓超出閾值,總線系統(tǒng)初始化,安靜模式,發(fā)動機起動,控制診斷故障代碼服務(wù)。
[0009]優(yōu)選地,所述網(wǎng)關(guān)處理器對待寫入EEPROM的CAN總線報文進(jìn)行判斷:如果所述EEPROM中存儲有相同的CAN總線報文,則將待寫入的CAN總線報文及其時間信息寫入EEPR0M,并刪除EEPROM中存儲的所述相同的CAN總線報文及其時間信息。
[0010]優(yōu)選地,所述網(wǎng)關(guān)處理器在將CAN總線報文寫入所述EEPROM之前,檢查所述EEPROM中存儲的CAN總線報文的數(shù)量,如果達(dá)到設(shè)定數(shù)量,所述網(wǎng)關(guān)處理器停止對EEPROM的CAN總線報文寫入。
[0011]優(yōu)選地,所述故障信息包括下列任一種或多種:發(fā)動機故障信息、變速箱故障信息、電子駐車故障信息、車身穩(wěn)定系統(tǒng)故障信息、電子助力故障信息、總線故障信息。
[0012]一種故障記錄方法,其特征在于,包括:
[0013]網(wǎng)關(guān)處理器通過CAN總線接收CAN總線報文并通過RAM存儲所述CAN總線報文;
[0014]如果所述CAN總線報文包含故障信息,則獲取RAM中存儲的包含故障信息的CAN總線報文;
[0015]將所述包含故障信息的CAN總線報文寫入EEPROM中,同時獲取時間信息,用所述時間信息標(biāo)記寫入所述EEPROM中的CAN總線報文。
[0016]優(yōu)選地,所述方法還包括:
[0017]在將所述包含故障信息的CAN總線報文寫入EEPROM之前,檢測所述EEPROM中CAN總線報文是否達(dá)到設(shè)定數(shù)量;
[0018]如果已達(dá)到設(shè)定數(shù)量,則停止寫入所述EEPR0M。
[0019]優(yōu)選地,所述方法還包括:
[0020]在將CAN總線報文寫入所述EEPROM時,判斷所述EEPROM中是否存儲相同的CAN總線報文;
[0021]如果存儲有相同的CAN總線報文,則將所述CAN總線報文及其時間信息寫入EEPR0M,刪除EEPROM中存儲的所述相同的CAN總線報文及其時間信息。
[0022]優(yōu)選地,所述方法還包括:
[0023]網(wǎng)關(guān)處理器在接收到清除所述故障信息的診斷服務(wù)請求后,刪除所述EEPROM中含所述故障信息的CAN總線報文及其時間信息。
[0024]優(yōu)選地,所述方法還包括:
[0025]網(wǎng)關(guān)處理器在將所述包含故障信息的CAN總線報文寫入EEPROM后,觸發(fā)對應(yīng)所述故障信息的老化計數(shù)器;
[0026]在所述老化計數(shù)器溢出后,網(wǎng)關(guān)處理器刪除所述EEPROM中包含所述故障信息的CAN總線報文及其時間信息。
[0027]本發(fā)明的有益效果在于:
[0028]本發(fā)明提供的故障記錄裝置及方法,通過網(wǎng)關(guān)處理器控制RAM和EEPROM對總線報文和報文時間的采集與存儲,在出現(xiàn)故障時,將包含故障信息的CAN總線報文寫入EEPR0M,進(jìn)而可以使測試人員很容易得到故障信息,并且在整車狀態(tài)信息比較明了的情況下,對繼發(fā)性和偶發(fā)性故障原因進(jìn)行分析,提高了解決問題的效率。
【附圖說明】
[0029]圖1是本發(fā)明實施例故障記錄裝置的一種結(jié)構(gòu)示意圖。
[0030]圖2是本發(fā)明實施例故障記錄裝置的另一種結(jié)構(gòu)示意圖。
[0031]圖3是本發(fā)明實施例故障記錄方法的一種流程圖。
【具體實施方式】
[0032]為了使本領(lǐng)域技術(shù)人員能更進(jìn)一步了解本發(fā)明的特征及技術(shù)內(nèi)容,下面結(jié)合附圖和實施方式對本發(fā)明實施例作詳細(xì)說明。
[0033]針對目前故障碼簡單、實時數(shù)據(jù)保存難、數(shù)據(jù)冗余高、投入成本高等問題,本發(fā)明實施例提供一種故障記錄裝置及方法,簡單方便的記錄故障、故障發(fā)生時間以及故障發(fā)生時整車信息,對高效分析常發(fā)性故障和偶發(fā)性故障,有很好的促進(jìn)作用。
[0034]車輛CAN總線,全稱控制器局域網(wǎng)(Controller Area Network),它是一種串行數(shù)據(jù)通信協(xié)議,被設(shè)計作為汽車環(huán)境中的微控制器通訊,在車載各電子控制單元(簡稱電控單元)之間交換信息,進(jìn)行數(shù)據(jù)共享,形成汽車電子控制網(wǎng)絡(luò);CAN總線通常是雙線,雙線CAN總線為差分信號,一般通過CAN_H和CAN_L兩根線實現(xiàn)差分通訊。
[0035]汽車網(wǎng)關(guān)處理器是汽車內(nèi)部通信的核心,通過它可以實現(xiàn)各條總線上信息的共享以及實現(xiàn)汽車內(nèi)部的網(wǎng)絡(luò)管理和故障診斷功能。將汽車特定電控單元通過CAN總線連接到網(wǎng)關(guān)處理器后,網(wǎng)關(guān)處理器可以實時的將所述電控單元相關(guān)信息存儲起來,尤其是所述電控單元出現(xiàn)故障后的信息,可以將這些故障信息作為診斷電控單元的診斷依據(jù)。
[0036]如圖1是本發(fā)明實施例故障記錄裝置的一種結(jié)構(gòu)示意圖。
[0037]該裝置包括:網(wǎng)關(guān)處理器、以及通過CAN總線與網(wǎng)關(guān)處理器連接的RAM(隨機存儲器)和EEPROM(電可擦可編程只讀存儲器)。其中,RAM用于存儲網(wǎng)關(guān)處理器接收的CAN總線報文;網(wǎng)關(guān)處理器對RAM和EEPROM進(jìn)行控制;網(wǎng)關(guān)處理器接收到包含故障信息的CAN總線報文后,將RAM中存儲的包含故障信息的CAN總線報文寫入EEPROM中,同時獲取時間信息,以用時間信息標(biāo)記寫入EEPROM中的CAN總線報文。
[0038]在實際應(yīng)用中,可以將車輛的一個或多個電控單元通過CAN總線連接到網(wǎng)關(guān)處理器,實現(xiàn)對這些電控單元故障信息的實時記錄,而且,上述電控單元出現(xiàn)的故障類型也可以有多種,比如通過CAN總線報文中的相關(guān)字段來區(qū)分不同的故障。
[0039]下面實施例介紹了一種網(wǎng)關(guān)處理器接收動力CAN總線上的故障信息,使用EEPROM存儲車輛動力部分故障的例子,在此實施例中動力部分故障可以是下列任一種或多種:發(fā)動機故障信息、變速箱故障信息、電子駐車故障信息、車身穩(wěn)定系統(tǒng)故障信息、電子助力故障信息、總線故障信息。
[0040]如圖2所述是本發(fā)明實施例故障記錄裝置的另一種結(jié)構(gòu)示意圖。
[0041]與圖1所述實施例不同的是,在該實施例中包括:將發(fā)動機電控單元(圖中未示)連接到網(wǎng)關(guān)處理器的動力CAN總線PCAN(包括PCAN_H、PCAN_L),將車身控制器(圖中未示)連接到網(wǎng)關(guān)處理器的車身CAN總線BCAN(包括BCAN_H、BCAN_L),將診斷設(shè)備(圖中未示)連接到網(wǎng)關(guān)處理器的診斷CAN總線(包括診斷CAN_H、診斷CAN_L),分別與EEPROM和網(wǎng)關(guān)處理器連接的CAN總線(包括CAN_H、CAN_L)。
[0042]其中,網(wǎng)關(guān)處理器分別通過動力CAN總線PCAN(包括PCAN_H、PCAN_L)、車身CAN總線BCAN(包括BCAN_H、BCAN_L)以及診斷CAN總線(包括診斷CAN_H、診斷CAN_L)連接不同的電控單元(圖中未示);EEPROM通過CAN總線(包括CAN_H、CAN_L)與診斷設(shè)備(圖中未示)和網(wǎng)關(guān)處理器連接。
[0043]在該實施例中,網(wǎng)關(guān)處理器將接收的動力CAN總線PCAN信號轉(zhuǎn)發(fā)到車身CAN總線BCAN ;同時動力CAN總線PCAN連接到RAM上,RAM保存最近時間段(比如200ms)的動力CAN總線發(fā)送過來的CAN總線報文,當(dāng)動力CAN總線PCAN上故障(如發(fā)動機故障、變速箱故障、電子駐車故障、車身穩(wěn)定系統(tǒng)故障、電子助力故障、總線故障等)發(fā)生時,動力CAN總線PCAN上的電控單元會把故障信號發(fā)送到CAN總線上,網(wǎng)關(guān)處理器接收到故障信號,將RAM存儲的總線報文寫入EEPROM中,同時網(wǎng)關(guān)處理器獲取車身CAN總線BCAN上的時間信息,將時間信息存儲到EEPROM中,并用該時間信息標(biāo)記寫入到EEPROM中的總線報文。
[0044]由于EEPROM容量有限,因此可以預(yù)先設(shè)定EEPROM存儲CAN總線報文的數(shù)量,比如5段。一旦EEPROM中存儲的CAN報文達(dá)到設(shè)定數(shù)量,網(wǎng)關(guān)處理器就停止對EEPROM的CAN總線報文寫入,也就是說,網(wǎng)關(guān)處理器在將包含故障信息的報文寫入EEPROM之前,需要檢查EEPROM中存儲的CAN總線報文數(shù)量是否達(dá)到設(shè)定值,如果未達(dá)到設(shè)定值,則將該CAN總線報文寫入EEPROM中,否則可以直接丟棄該CAN總線報文。
[0045]進(jìn)一步地,網(wǎng)關(guān)處理器檢查EEPROM中存儲的CAN總線報文數(shù)量是否為設(shè)定數(shù)量,可以通過判斷EEPROM中存儲計數(shù)器是否溢出來實現(xiàn);如果存儲計數(shù)器溢出,則EEPROM中存儲的CAN總線報文數(shù)量已經(jīng)達(dá)到設(shè)定數(shù)量,否則EEPROM中可以繼續(xù)寫入CAN總線報文。
[0046]另外,為了進(jìn)一步充分利用EEPROM的存儲容量,網(wǎng)關(guān)處理器在將包含故障信息的報文寫入EEPROM之前,還需要檢查EEPROM中是否存儲有相同的CAN總線報文,如果有,則將待寫入的CAN總線報文及時間信息寫入EEPROM替換EEPROM存儲的相同的CAN總線及其時間信息。
[0047]需要說明的是,網(wǎng)關(guān)處理器檢查EEPROM是否存儲有相同的CAN總線報文,具體可以通過檢查CAN總線報文相關(guān)字段實現(xiàn):CAN總線報文一共128bit,其中有Ilbit為標(biāo)識符,用來標(biāo)識電控單元,比