【技術領域】
本發(fā)明涉及一種車輛故障遠程診斷系統(tǒng)及方法。
背景技術:
現(xiàn)有的車載診斷系統(tǒng)需要用診斷儀對車輛進行現(xiàn)場故障診斷,診斷儀一般有兩種,一種是手持式的,是一個獨立的設備帶顯示屏,另一種是一個硬件盒子連接車輛,軟件裝在筆記本上面,筆記本上的軟件和硬件盒子結(jié)合起來作為一套診斷儀。采用診斷儀進行故障診斷,無法在故障發(fā)生的第一時間確認車輛故障,且需要將車輛移動至維修店方可使用診斷儀進行故障診斷,故障維修時效性差且耗費用戶維修時間。
公開號為cn105629964a的《車輛故障遠程實時診斷方法》僅闡述了一種遠程診斷的思路,且并未給出具體的實現(xiàn)方式,與本發(fā)明所要保護的技術方案有本質(zhì)區(qū)別,本發(fā)明闡述了遠程診斷系統(tǒng)如何實現(xiàn),包括系統(tǒng)組成、軟件架構(gòu)等等。
公開號為cn104850113a的《一種汽車遠程診斷系統(tǒng)及方法》闡述了一種汽車遠程診斷系統(tǒng)和方法,該系統(tǒng)包括一車載終端,所述車載終端包括:微處理器、采集模塊、3g通訊模塊以及存儲模塊,具體地:步驟s100,采集和本地存儲汽車診斷原始數(shù)據(jù);步驟s200,通過3g通訊模塊遠程傳輸采集的汽車診斷原始數(shù)據(jù);步驟s300,接收和保存遠程傳輸?shù)钠囋\斷原始數(shù)據(jù);步驟s400,訪問汽車診斷原始數(shù)據(jù)以對汽車故障進行診斷。該系統(tǒng)是通過外置的車載終端實現(xiàn),包括采集、存儲、發(fā)送,其實現(xiàn)方式與本發(fā)明有本質(zhì)不同,且在第0028段記載有:采集模塊可以是can總線汽車診斷通信模塊,為了適應汽車產(chǎn)品多路can總線的發(fā)展趨勢,可以考慮采用兼容兩路can總線的can總線汽車診斷通信模塊,以適配汽車上不同通訊波特率的can總線。也就是說,該技術方案的原始數(shù)據(jù)是直接通過can總線引用報文讀取,存在泄漏車輛安全信息的風險,而本發(fā)明是通過uds診斷協(xié)議讀取車輛狀態(tài),是通過發(fā)送指令至ecu讀取故障代碼或數(shù)據(jù)流,安全性更高。
現(xiàn)有關于車輛故障遠程診斷的公開文獻,均未出一套完整的方案來解決:如何解決車輛故障遠程診斷、如何保證遠程診斷時效性、以及如何降低遠程診斷對車輛正常運行過程中的影響并保證車輛行駛安全性。有鑒于此,申請人提出了一套全新的基于uds協(xié)議的車輛故障安全診斷系統(tǒng)及方法。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題之一,在于提供一種車輛故障遠程診斷系統(tǒng),使故障車輛能夠遠程實時診斷,并消除遠程診斷對車輛正常運行的影響以及確保車輛行車安全。
本發(fā)明是這樣實現(xiàn)上述技術問題之一的:
車輛故障遠程診斷系統(tǒng),包括一遠程診斷ecu和一遠程診斷服務器,所述遠程診斷ecu接入車輛的can總線,且通過無線通信方式與所述遠程診斷服務器進行數(shù)據(jù)傳輸;
所述遠程ecu收集車輛上的ecu上存儲的故障信息,并依據(jù)用戶需求收集車輛的實時動態(tài)信息,同時,在遠程診斷過程中,所述遠程診斷ecu執(zhí)行車輛與遠程診斷服務器之間的實時信息交互;所述車輛上的ecu是指車輛上除所述遠程診斷ecu外的其他所有ecu;
所述遠程診斷服務器存儲ecu診斷數(shù)據(jù)庫、車型、車輛vin碼信息,并將收集到的用戶的診斷請求發(fā)送給所述遠程診斷ecu,以及將所述遠程診斷ecu傳回的故障數(shù)據(jù)轉(zhuǎn)化為診斷結(jié)果回傳給用戶;oem用戶以及車輛維修店用戶通過客戶端登錄所述遠程診斷服務器進行故障分析和處理。
更優(yōu)地,所述遠程診斷ecu包括數(shù)據(jù)傳輸模塊、遠程診斷模塊、uds診斷模塊、can通訊模塊以及ecu硬件驅(qū)動模塊;
所述數(shù)據(jù)傳輸模塊實現(xiàn)遠程診斷ecu同所述遠程診斷服務器之間的數(shù)據(jù)傳輸及數(shù)據(jù)加密,具體地包括:1、接收并解析所述遠程服務器發(fā)來的診斷請求,然后將其傳遞至所述遠程診斷模塊和uds診斷模塊;2、將故障數(shù)據(jù)加密后回傳至所述遠程診斷服務器;
所述遠程診斷模塊執(zhí)行:1、收到診斷請求后生成向車輛上各ecu獲取故障信息的指令;2、接收并解析各ecu以及遠程診斷ecu反饋回來的多幀故障信息,得到故障數(shù)據(jù);
所述uds診斷模塊存儲uds診斷通訊協(xié)議,并在接收到所述診斷請求時,將自身的多幀故障信息發(fā)送給所述遠程診斷模塊;
所述can通訊模塊是can通訊數(shù)據(jù)鏈路層,執(zhí)行:1、將獲取故障信息的指令封裝成can報文;2、將反饋的包含故障信息的can報文解析成多幀信息;
所述ecu硬件驅(qū)動模塊控制遠程診斷ecu硬件,并實現(xiàn)can報文的發(fā)送和接收,即將can報文發(fā)送給各ecu,并接收各ecu反饋的can報文。
更優(yōu)地,所述遠程診斷ecu還包括一網(wǎng)絡管理模塊:當數(shù)據(jù)傳輸模塊接收到所述診斷請求時,網(wǎng)絡管理模塊判斷車輛的通訊狀態(tài),若當前車輛處于休眠狀態(tài),則由網(wǎng)絡管理模塊發(fā)出喚醒指令,所述硬件驅(qū)動模塊發(fā)出can喚醒信號給所述can通訊模塊,喚醒所述can通訊模塊,若車輛處于喚醒狀態(tài),則不動作。
本發(fā)明要解決的技術問題之二,在于提供一種車輛故障遠程診斷方法。
車輛故障遠程診斷方法,將一遠程診斷ecu接入車輛的can總線,且通過無線通信方式與一遠程診斷服務器進行數(shù)據(jù)傳輸;
所述遠程ecu收集車輛上的ecu上存儲的故障信息,并依據(jù)用戶需求收集車輛的實時動態(tài)信息,同時,在遠程診斷過程中,所述遠程診斷ecu執(zhí)行車輛與遠程診斷服務器之間的實時信息交互;所述車輛上的ecu是指車輛上除所述遠程診斷ecu外的其他所有ecu;
所述遠程診斷服務器存儲ecu診斷數(shù)據(jù)庫、車型、車輛vin碼信息,并將收集到的用戶的診斷請求發(fā)送給所述遠程診斷ecu,以及將所述遠程診斷ecu傳回的故障數(shù)據(jù)轉(zhuǎn)化為診斷結(jié)果回傳給用戶;oem用戶以及車輛維修店用戶通過客戶端登錄所述遠程診斷服務器進行故障分析和處理。
更優(yōu)地,所述遠程診斷ecu執(zhí)行以下步驟:
步驟0、遠程診斷服務器發(fā)出診斷請求;
步驟1、接收并解析所述遠程服務器發(fā)來的診斷請求;
步驟2、以uds診斷通訊協(xié)議為標準,收到診斷請求后生成向車輛上各ecu獲取故障信息的指令,同時,遠程診斷ecu反饋自身的多幀故障信息;
步驟3、將獲取故障信息的指令封裝成can報文;。
步驟4、將所述can報文通過can總線發(fā)送給各ecu;
步驟5、接收各ecu反饋回來的包含故障信息的can報文;
步驟6、將反饋的包含故障信息的can報文解析成多幀故障信息;
步驟7、接收并解析各ecu以及遠程診斷ecu反饋回來的多幀故障信息,得到故障數(shù)據(jù);
步驟8、將所述故障數(shù)據(jù)加密后回傳至所述遠程診斷服務器;
步驟9、所述遠程診斷服務器根據(jù)所述遠程診斷ecu傳回的故障數(shù)據(jù)得到診斷結(jié)果,并回傳給用戶。
更優(yōu)地,所述車輛故障遠程診斷方法還支持喚醒功能,在所述步驟1和步驟2之間還包括步驟11,所述步驟11具體為:判斷車輛的通訊狀態(tài),若當前車輛處于休眠狀態(tài),則發(fā)出喚醒指令,喚醒所述can通訊模塊,然后執(zhí)行步驟2,若車輛處于喚醒狀態(tài),則直接執(zhí)行步驟2至9。
更優(yōu)地,為了確保車輛行車安全,所述遠程診斷ecu限制遠程診斷啟動條件,具體地,所述遠程ecu通過can總線實時監(jiān)控當前車速,當接收到診斷請求時,當前車速小于設定的閾值,所述遠程ecu開始執(zhí)行步驟2至步驟9。
更優(yōu)地,所述步驟2中,所述生成的獲取故障信息的指令為功能尋址請求,通過功能尋址請求讀取車輛各ecu當前/歷史故障碼存儲數(shù)量情況;
為了降低can網(wǎng)絡峰值負載率,對于車輛上故障碼數(shù)量>0的ecu,所述遠程診斷ecu逐條獲取所述故障代碼,且獲取每條故障代碼間隔一設定時間,該設定時間根據(jù)需要進行設定。
更優(yōu)地,對于當前已確認的故障,所述遠程診斷ecu還依據(jù)服務器請求確認故障所屬的目標ecu的電氣負載狀態(tài),包括:傳感器電壓、輸入車速、輸入開關狀態(tài),并上傳服務器,目的是判斷當前故障是否影響駕駛安全,若影響,則提供道路救援及維修,若不影響,則車主上門維修。
更優(yōu)地,當使用車輛診斷儀進行診斷時,為保證車輛診斷儀的功能優(yōu)先工作,設定如下:
步驟100、所述遠程診斷ecu本身診斷功能支持寫入數(shù)據(jù)“遠程診斷模式”,數(shù)據(jù)編號0xf010,數(shù)據(jù)內(nèi)容:0x0=開啟,0x10=關閉;
步驟200、當遠程診斷ecuf010被寫入為0x10時,ecu暫時停止遠程診斷功能,同時開啟監(jiān)測功能,當f010被重新設定為0x0或者10s內(nèi)can總線上沒有診斷數(shù)據(jù)傳輸時,遠程診斷ecu將f010重置為0x0,并恢復遠程診斷功能。
本發(fā)明具有如下優(yōu)點:
本發(fā)明車輛故障遠程診斷系統(tǒng)及方法是基于車輛uds診斷系統(tǒng),集成于t-box車輛遠程通信模塊,能有效的節(jié)約整車遠程診斷系統(tǒng)開發(fā)成本,可實現(xiàn)故障車輛、維修店、整車廠故障信息共享交互,從而有效降低維修成本及維修工時,提升車輛維修效率。同時,本發(fā)明大大降低遠程診斷對車輛工作過程中的影響并保證車輛行駛的安全性。
【附圖說明】
下面參照附圖結(jié)合實施例對本發(fā)明作進一步的說明。
圖1為本發(fā)明遠程診斷系統(tǒng)的示意圖。
圖2為本發(fā)明遠程診斷ecu的結(jié)構(gòu)示意圖。
圖3為本發(fā)明遠程診斷流程示意圖。
圖4為本發(fā)明診斷儀監(jiān)測流程示意圖。
【具體實施方式】
請參閱圖1至圖4所示,對本發(fā)明的實施例進行詳細的說明。
實施例一:
重點請參閱圖1,車輛故障遠程診斷系統(tǒng),包括一遠程診斷ecu和一遠程診斷服務器,所述遠程診斷ecu接入車輛的can總線,且通過無線通信方式與所述遠程診斷服務器進行數(shù)據(jù)傳輸;所述無線通信方式包括3g/4g/wifi;
所述遠程ecu收集車輛上的ecu上存儲的故障信息,并依據(jù)用戶需求收集車輛的實時動態(tài)信息,同時,在遠程診斷過程中,所述遠程診斷ecu執(zhí)行車輛與遠程診斷服務器之間的實時信息交互;所述車輛上的ecu是指車輛上除所述遠程診斷ecu外的其他所有ecu;
所述遠程診斷服務器存儲ecu診斷數(shù)據(jù)庫、車型、車輛vin碼信息,并將收集到的用戶的診斷請求發(fā)送給所述遠程診斷ecu,以及將所述遠程診斷ecu傳回的故障數(shù)據(jù)轉(zhuǎn)化為診斷結(jié)果回傳給用戶;oem用戶以及車輛維修店用戶通過客戶端登錄所述遠程診斷服務器進行故障分析和處理。
具體地,所述遠程診斷ecu包括數(shù)據(jù)傳輸模塊、遠程診斷模塊、uds診斷模塊、can通訊模塊以及ecu硬件驅(qū)動模塊;
請參閱圖2和圖3,所述數(shù)據(jù)傳輸模塊實現(xiàn)遠程診斷ecu同所述遠程診斷服務器之間的數(shù)據(jù)傳輸及數(shù)據(jù)加密,具體地包括:1、接收并解析所述遠程服務器發(fā)來的診斷請求,然后將其傳遞至所述遠程診斷模塊和uds診斷模塊;2、將故障數(shù)據(jù)加密后回傳至所述遠程診斷服務器;
所述遠程診斷模塊執(zhí)行:1、收到診斷請求后生成向車輛上各ecu獲取故障信息的指令;2、接收并解析各ecu以及遠程診斷ecu反饋回來的多幀故障信息,得到故障數(shù)據(jù);
所述uds診斷模塊存儲uds診斷通訊協(xié)議,并在接收到所述診斷請求時,將自身的多幀故障信息發(fā)送給所述遠程診斷模塊;
所述can通訊模塊是can通訊數(shù)據(jù)鏈路層,執(zhí)行:1、將獲取故障信息的指令封裝成can報文;2、將反饋的包含故障信息的can報文解析成多幀信息;
所述ecu硬件驅(qū)動模塊控制遠程診斷ecu硬件,并實現(xiàn)can報文的發(fā)送和接收,即將can報文發(fā)送給各ecu,并接收各ecu反饋的can報文。
需要說明的是:uds診斷模塊數(shù)據(jù)傳輸時基于多幀來進行的,比如讀取一個ecu的故障碼,對于遠程診斷模塊是為了:①把要發(fā)送的信號告訴can通訊模塊;②解析can通訊模塊傳過來的多條報文。
而can通訊模塊主要是為了控制硬件驅(qū)動實現(xiàn)報文發(fā)送/接收(一條can報文最多8字節(jié)數(shù)據(jù)),比如讀dtc(dtc:diagnostictroublecode診斷故障碼)時,
數(shù)據(jù)傳輸模塊:告訴遠程診斷模塊要讀取整車故障;
遠程診斷模塊:告訴can通訊模塊,發(fā)送報文041902afaaaaaaaa
can通訊模塊:控制底層驅(qū)動發(fā)送can數(shù)據(jù)幀,數(shù)據(jù)是041902afaaaaaaaa
can通訊模塊回傳的是以下十六進制數(shù)據(jù):(每條都是8字節(jié))
xxyy5902afdtc1(3byte)
21dtc1狀態(tài)dtc2dtc2狀態(tài)...
22...
23...
24...dtcndtcn狀態(tài)
遠程診斷模塊收到后進行解析,解析出來:dtc1狀態(tài)1、dtc2狀態(tài)2、...、dtcn狀態(tài)n
更優(yōu)的實施方式是,所述遠程診斷系統(tǒng)還能夠喚醒休眠狀態(tài)的車輛,具體地,所述遠程診斷ecu還包括一網(wǎng)絡管理模塊:當數(shù)據(jù)傳輸模塊接收到所述診斷請求時,網(wǎng)絡管理模塊判斷車輛的通訊狀態(tài),若當前車輛處于休眠狀態(tài),則由網(wǎng)絡管理模塊發(fā)出喚醒指令,所述硬件驅(qū)動模塊發(fā)出can喚醒信號給所述can通訊模塊,喚醒所述can通訊模塊,若車輛處于喚醒狀態(tài),則不動作。
本發(fā)明遠程診斷系統(tǒng)基于成熟的uds診斷協(xié)議,除遠程診斷ecu以外,其余ecu不需要設定專用的診斷協(xié)議及診斷條件對應遠程診斷,以最大程度減少車輛開發(fā)成本。
本發(fā)明遠程診斷系統(tǒng)的診斷流程,請參閱本發(fā)明實施例二。
實施例二、
車輛故障遠程診斷方法,將一遠程診斷ecu接入車輛的can總線,且通過無線通信方式與一遠程診斷服務器進行數(shù)據(jù)傳輸;
所述遠程ecu收集車輛上的ecu上存儲的故障信息,并依據(jù)用戶需求收集車輛的實時動態(tài)信息,同時,在遠程診斷過程中,所述遠程診斷ecu執(zhí)行車輛與遠程診斷服務器之間的實時信息交互;所述車輛上的ecu是指車輛上除所述遠程診斷ecu外的其他所有ecu;
所述遠程診斷服務器存儲ecu診斷數(shù)據(jù)庫、車型、車輛vin碼信息,并將收集到的用戶的診斷請求發(fā)送給所述遠程診斷ecu,以及將所述遠程診斷ecu傳回的故障數(shù)據(jù)轉(zhuǎn)化為診斷結(jié)果回傳給用戶;oem用戶以及車輛維修店用戶通過客戶端登錄所述遠程診斷服務器進行故障分析和處理。
重點請參閱圖3,所述遠程診斷ecu執(zhí)行以下步驟:
步驟0、遠程診斷服務器發(fā)出診斷請求;
步驟1、接收并解析所述遠程服務器發(fā)來的診斷請求,
步驟2、以uds診斷協(xié)議為標準,收到診斷請求后生成向車輛上各ecu獲取故障信息的指令;所述生成的獲取故障信息的指令一般為功能尋址請求,通過功能尋址請求讀取車輛各ecu當前/歷史故障碼存儲數(shù)量情況;同時遠程診斷ecu反饋自身的多幀故障信息;
步驟3、將獲取故障信息的指令封裝成can報文;。
步驟4、將所述can報文通過can總線發(fā)送給各ecu;
步驟5、接收各ecu反饋回來的包含故障信息的can報文;
步驟6、將反饋的包含故障信息的can報文解析成多幀故障信息;
步驟7、接收并解析各ecu以及遠程診斷ecu反饋的多幀故障信息,得到故障數(shù)據(jù);
步驟8、將所述故障數(shù)據(jù)加密后回傳至所述遠程診斷服務器;
步驟9、所述遠程診斷服務器根據(jù)所述遠程診斷ecu傳回的故障數(shù)據(jù)得到診斷結(jié)果,并回傳給用戶。
更優(yōu)地實施方式是,診斷過程還包括還支持喚醒功能,在所述步驟1和步驟2之間還包括步驟11,所述步驟11具體為:判斷車輛的通訊狀態(tài),若當前車輛處于休眠狀態(tài),則發(fā)出喚醒指令,喚醒所述can通訊模塊,然后執(zhí)行步驟2,若車輛處于喚醒狀態(tài),則直接執(zhí)行步驟2至9。
為了確保車輛行車安全,所述遠程診斷ecu限制遠程診斷啟動條件,具體地,所述遠程ecu通過can總線實時監(jiān)控當前車速,當接收到診斷請求時,當前車速小于設定的閾值,所述遠程ecu開始執(zhí)行步驟2至步驟9,例如可以見閾值設定為車速≤10km/h。
由于遠程診斷對車輛日常使用的存在如下影響:①診斷過程增加了can網(wǎng)絡的總線負載率,使車輛正常信號交互時效性降低;②診斷過程中增加了ecu控制器工作負擔,影響車輛本身機能,因此,為了降低can網(wǎng)絡峰值負載率,對于車輛上故障碼數(shù)量>0的ecu,所述遠程診斷ecu逐條獲取所述故障代碼,且獲取每條故障代碼間隔一設定時間,該設定時間根據(jù)需要進行設定,例如可以設定為每次間隔500ms。
對于當前已確認的故障,所述遠程診斷ecu還可以依據(jù)服務器請求確認故障所屬的目標ecu的電氣負載狀態(tài),包括:傳感器電壓、輸入車速、輸入開關狀態(tài),并上傳服務器,目的是判斷當前故障是否影響駕駛安全,若影響,則提供道路救援及維修,若不影響,則車主上門維修。
車輛增加遠程診斷系統(tǒng)后,若使用車輛診斷儀對車輛進行診斷的過程中同時進行遠程診斷,將影響兩種診斷模式的功能,為保證車輛診斷儀的功能優(yōu)先工作,設定如下:
步驟100、所述遠程診斷ecu本身診斷功能支持寫入數(shù)據(jù)“遠程診斷模式”,數(shù)據(jù)編號0xf010,數(shù)據(jù)內(nèi)容:0x0=開啟,0x10=關閉;
步驟200、當遠程診斷ecuf010被寫入為0x10時,ecu暫時停止遠程診斷功能,同時開啟監(jiān)測功能,當f010被重新設定為0x0或者10s內(nèi)can總線上沒有診斷數(shù)據(jù)(即包含故障信息的can報文)傳輸時,遠程診斷ecu將f010重置為0x0,并恢復遠程診斷功能。
本發(fā)明車輛故障遠程診斷系統(tǒng)及方法是基于車輛uds診斷系統(tǒng),集成于t-box車輛遠程通信模塊,能有效的節(jié)約整車遠程診斷系統(tǒng)開發(fā)成本,可實現(xiàn)故障車輛、維修店、整車廠故障信息共享交互,從而有效降低維修成本及維修工時,提升車輛維修效率。同時,本發(fā)明大大降低遠程診斷對車輛工作過程中的影響并保證車輛行駛的安全性。
雖然以上描述了本發(fā)明的具體實施方式,但是熟悉本技術領域的技術人員應當理解,我們所描述的具體的實施例只是說明性的,而不是用于對本發(fā)明的范圍的限定,熟悉本領域的技術人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應當涵蓋在本發(fā)明的權(quán)利要求所保護的范圍內(nèi)。