一種遠程總線診斷方法及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種遠程總線診斷方法及其系統(tǒng),系統(tǒng)包括服務器及分別與服務器建立網絡連接的客戶端和診斷設備;其中,診斷設備與汽車設備相連接;診斷設備將其ID信息發(fā)送至服務器;客戶端根據服務器中診斷設備的ID信息,選擇一個待診斷設備;客戶端向服務器發(fā)送對待診斷設備的診斷命令;待診斷設備接收服務器發(fā)送的診斷命令后,根據診斷命令對與其連接的汽車設備進行診斷,并記錄診斷信息,將診斷信息發(fā)送至服務器;客戶端接收服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。通過上述方式,本發(fā)明能夠遠程發(fā)布診斷命令,獲取汽車設備的診斷信息。
【專利說明】一種遠程總線診斷方法及其系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及汽車診斷領域,特別是涉及一種遠程總線診斷方法及其系統(tǒng)。
【背景技術】
[0002]隨著汽車總線及診斷技術不斷發(fā)展,整車汽車總線診斷設備也日趨成熟,如:Intrepid 公司推出的 Vehicle Spy3, Vector 公司的 CANoe 等。
[0003]典型的汽車診斷設備包含一塊支持控制器局域網絡(Controller Area Network,CAN)通信的單片機、CAN收發(fā)器及計算機端應用軟件等。診斷設備通過汽車診斷口連接到車輛上,然后通過通用串行總線(Universal Serial BUS, USB)接口連到計算機上,打開應用軟件,就可采集到總線消息,通過發(fā)送診斷命令獲得診斷信息。但此類診斷設備只支持現(xiàn)場近距離診斷,不具備遠程診斷功能。
[0004]目前,整車在開發(fā)過程中,一般都要進行大量的道路試驗,如:高溫試驗、低溫試驗及耐久試驗等。路試的場地一般較遠,如:黑龍江、新疆或云南等地。車輛在路試中很容易出現(xiàn)故障,導致診斷工程師必須親臨現(xiàn)場進行總線記錄及故障排除。
【發(fā)明內容】
[0005]本發(fā)明主要解決的技術問題是提供一種遠程總線診斷方法及其系統(tǒng),能夠遠程發(fā)布診斷命令,獲取汽車設備的診斷信息。
[0006]為解決上述技術問題,本發(fā)明提供一種遠程總線診斷方法,方法包括:客戶端與服務器建立網絡連接,獲取服務器中診斷設備的標識(Identity,ID)信息,其中,一診斷設備的ID信息與一汽車設備信息相關聯(lián);根據服務器中診斷設備的ID信息,選擇一個待診斷設備;向服務器發(fā)送對待診斷設備的診斷命令;接收發(fā)送診斷命令后,服務器返回待診斷設備對與其連接汽車設備的診斷信息,以對診斷信息進行分析整理。
[0007]其中,客戶端與服務器建立網絡連接的步驟包括:客戶端通過用戶名和密碼登錄服務器;其中,客戶端和服務器通過因特網建立網絡連接。
[0008]其中,根據服務器中診斷設備的ID信息,選擇一個待診斷設備的步驟之后包括:向服務器發(fā)送對待診斷設備的診斷腳本;斷開與服務器的網絡連接;待診斷設備對與其連接的汽車設備診斷完畢后,重新與服務器建立網絡連接,接收服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。
[0009]為解決上述技術問題,本發(fā)明提供一種遠程總線診斷方法,方法包括:診斷設備與汽車設備連接后,診斷設備與服務器建立網絡連接;接收服務器發(fā)送的診斷命令或診斷腳本;根據診斷命令或診斷腳本對與其連接的汽車設備進行診斷,并記錄診斷信息;將診斷信息發(fā)送至服務器,完成診斷。
[0010]其中,診斷設備與汽車設備連接后,診斷設備與服務器建立網絡連接的步驟包括:診斷設備與汽車設備連接后,診斷設備利用第三代移動通信技術自動通過因特網與服務器建立網絡連接。[0011]其中,根據診斷命令或診斷腳本對與其連接的汽車設備進行診斷,并記錄診斷信息的步驟包括:診斷設備通過控制器局域網絡(Controller Area Network, CAN)總線對與其連接的汽車設備進行診斷。
[0012]為解決上述技術問題,本發(fā)明提供一種遠程總線診斷系統(tǒng),系統(tǒng)包括服務器及分別與服務器建立網絡連接的客戶端和診斷設備;其中,診斷設備與汽車設備相連接;診斷設備將其ID信息發(fā)送至服務器;客戶端根據服務器中診斷設備的ID信息,選擇一個待診斷設備;客戶端向服務器發(fā)送對待診斷設備的診斷命令;待診斷設備接收服務器發(fā)送的診斷命令后,根據診斷命令對與其連接的汽車設備進行診斷,并記錄診斷信息,將診斷信息發(fā)送至服務器;客戶端接收服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。
[0013]其中,客戶端和診斷設備分別與服務器通過因特網建立連接;其中,診斷設備利用3G自動通過因特網與服務器建立網絡連接。
[0014]其中,診斷設備通過CAN總線對與其連接的汽車設備進行診斷。
[0015]其中,遠程總線診斷系統(tǒng)包括一個或一個以上的客戶端及一個或一個以上的診斷設備。
[0016]其中,遠程總線診斷系統(tǒng)包括一遠程總線診斷裝置,應用于客戶端,裝置包括:獲取模塊,用于客戶端與服務器建立網絡連接后,獲取服務器中診斷設備的ID信息,其中,一診斷設備的ID信息與一汽車設備信息相關聯(lián);選擇模塊,用于根據服務器中診斷設備的ID信息,選擇一個待診斷設備;第一發(fā)送模塊,用于選擇一個待診斷設備后,向服務器發(fā)送對待診斷設備的診斷命令;第一接收模塊,用于接收發(fā)送診斷命令后服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。
[0017]其中,裝置還包括:第二發(fā)送模塊,用于根據服務器中診斷設備的ID信息,選擇一個待診斷設備后,向服務器發(fā)送對待診斷設備的診斷腳本;斷開模塊,用于第二發(fā)送模塊發(fā)送診斷腳本后,斷開與服務器的網絡連接;第二接收模塊,用于斷開模塊斷開與服務器的連接后,預計待診斷設備對與其連接的汽車設備診斷完畢時,重新與服務器建立網絡連接,接收服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。
[0018]其中,遠程總線診斷系統(tǒng)包括一遠程總線診斷裝置,應用于診斷設備,裝置包括:無線傳輸模塊,用于診斷設備與汽車設備連接后,使診斷設備與服務器建立網絡連接,接收服務器發(fā)送的診斷命令;單片機,用于獲取無線傳輸模塊接收的診斷命令,并根據診斷命令對與其連接的汽車設備進行診斷,其中,單片機支持CAN通信;CAN收發(fā)器,用于單片機與汽車設備的CAN通信;片外Flash,用于存儲單片機對汽車設備進行診斷后的診斷信息。
[0019]其中,裝置還包括:ID撥碼開關,用于設置診斷設備的ID信息,并向單機片提供ID信息;時間日期模塊,用于向單片機提供時間信息;USB通信模塊、電源模塊及天線。
[0020]其中,無線傳輸模塊、CAN收發(fā)器、片外Flash、ID撥碼開關、時間日期模塊及USB通信模塊分別連接于單機片上;及天線連接于無線傳輸模塊上。
[0021]其中,片外Flash還用于存儲客戶端發(fā)送的診斷腳本。
[0022]本發(fā)明的有益效果是:本發(fā)明的診斷系統(tǒng)包括服務器及分別與服務器建立網絡連接的客戶端和診斷設備;其中,診斷設備與汽車設備相連接。其診斷方式為,首先診斷設備將其ID信息發(fā)送至服務器,然后客戶端根據服務器中診斷設備的ID信息,選擇一個待診斷設備,選定診斷設備后,客戶端向服務器發(fā)送對待診斷設備的診斷命令,待診斷設備接收服務器發(fā)送的診斷命令后,根據診斷命令對與其連接的汽車設備進行診斷,并記錄診斷信息,將診斷信息發(fā)送至服務器,客戶端接收服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。通過上述方式,本發(fā)明能夠遠程發(fā)布診斷命令,獲取汽車設備的診斷信息。
【專利附圖】
【附圖說明】
[0023]圖1是本發(fā)明遠程總線診斷方法一實施例的流程示意圖;
[0024]圖2是本發(fā)明遠程總線診斷方法另一實施例的流程示意圖;
[0025]圖3是本發(fā)明遠程總線診斷方法又一實施例的流程示意圖;
[0026]圖4是本發(fā)明遠程總線診斷系統(tǒng)一實施例的流程示意圖;
[0027]圖5是本發(fā)明遠程總線診斷裝置一實施例的結構示意圖;
[0028]圖6是本發(fā)明遠程總線診斷裝置另一實施例的結構示意圖;
[0029]圖7是本發(fā)明遠程總線診斷系統(tǒng)一具體實施例的結構示意圖;
[0030]圖8是本發(fā)明遠程總線診斷系統(tǒng)中診斷設備一具體實施例的結構示意圖。
【具體實施方式】
[0031]下面結合附圖和實施例對本發(fā)明進行詳細說明。
[0032]圖1是本發(fā)明遠程總線診斷方法一實施例的流程示意圖,如圖所示,包括以下步驟:
[0033]步驟101,客戶端與服務器建立網絡連接,獲取服務器中診斷設備的標識(Identity, ID)信息,其中,一診斷設備的ID信息與一汽車設備信息相關聯(lián);
[0034]在本實施例中,要實現(xiàn)客戶端對汽車設備進行遠程診斷,首先需要建立客戶端與服務器的網絡連接,其中,客戶端和服務器通過因特網建立網絡連接??蛻舳诵枰ㄟ^用戶名和密碼登錄服務器。
[0035]具體為,服務器連在因特網(Internet)上,具有公網網絡之間互連協(xié)議(InternetProtocol,IP)地址,IP地址固定不變,外部客戶端可以通過IP地址及特定端口訪問該服務器,需輸入用戶名和密碼。其中,服務器端需運行的服務器程序。
[0036]服務器一般放在特定的地點,工程師一般不太方便直接在服務器上進行操作,因此,工程師只需在自己的計算機上打開客戶端軟件,輸入用戶名及密碼連接到服務器,即可操作遠程總線診斷設備。診斷設備可能會有幾臺在同時工作,服務器上可以看到所有在線的診斷設備,并且可以通過診斷設備的ID信息識別不同的汽車設備。這樣工程師就可以方便的對任意一輛車進行遠程診斷。
[0037]步驟102,根據服務器中診斷設備的ID信息,選擇一個待診斷設備;
[0038]步驟103,向服務器發(fā)送對待診斷設備的診斷命令;
[0039]步驟104,接收發(fā)送診斷命令后服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。
[0040]在本實施例中,診斷設備通過CAN總線對與其連接的汽車設備進行診斷。且診斷信息通過第三代移動通信技術(3rd-generation, 3G)發(fā)送至服務器。
[0041]在其他實施例中,也可以基于通用分組無線服務技術(General Packet RadioService, GPRS)或第二代移動通訊技術(second generation, 2G)等通信方式進行遠程診斷。
[0042]圖2是本發(fā)明遠程總線診斷方法另一實施例的流程示意圖,如圖所示,包括以下步驟:
[0043]步驟201,客戶端與服務器建立網絡連接,獲取服務器中診斷設備的標識(Identity, ID)信息,其中,一診斷設備的ID信息與一汽車設備信息相關聯(lián);
[0044]步驟202,根據服務器中診斷設備的ID信息,選擇一個待診斷設備;
[0045]步驟203,向服務器發(fā)送對待診斷設備的診斷腳本;
[0046]工程師通過客戶端軟件向診斷設備遠程寫入一段診斷腳本,診斷腳本存儲在診斷設備中。
[0047]步驟204,斷開與服務器的網絡連接;
[0048]啟動脫機診斷模式后,診斷設備會按照診斷腳本的邏輯周期性向CAN總線發(fā)送一些診斷命令,并記錄一些總線數(shù)據。脫機診斷模式下,診斷設備只是在自動的執(zhí)行診斷腳本,并記錄數(shù)據,不需要遠程客戶端執(zhí)行任何操作。
[0049]步驟205,待診斷設備對與其連接的汽車設備診斷完畢后,重新與服務器建立網絡連接,接收服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。
[0050]診斷結束后,客戶端可以遠程將診斷設備中的數(shù)據讀取到客戶端,客戶端還可以遠程刪除診斷設備中記錄的數(shù)據和診斷腳本。
[0051]圖3是本發(fā)明遠程總線診斷方法又一實施例的流程示意圖,如圖所示,包括以下步驟:
[0052]步驟301,診斷設備與汽車設備連接后,診斷設備與服務器建立網絡連接;
[0053]步驟302,接收服務器發(fā)送的診斷命令或診斷腳本;
[0054]當接收的是診斷腳本時,說明診斷設備需要在脫機的模式下進行工作,此時服務器與客戶端處于非網絡連接狀態(tài)。
[0055]步驟303,根據診斷命令或診斷腳本對與其連接的汽車設備進行診斷,并記錄診斷
信息;
[0056]步驟304,將診斷信息發(fā)送至服務器,完成診斷。
[0057]其中,在本實施例中,診斷設備與汽車設備連接后,診斷設備利用第三代移動通信技術自動通過因特網與服務器建立網絡連接。
[0058]其中,診斷設備通過CAN總線對與其連接的汽車設備進行診斷。
[0059]在本實施例的診斷過程中,實現(xiàn)了 CAN總線的雙向傳輸,且可使分布式客戶端同時采集數(shù)據。
[0060]圖4是本發(fā)明遠程總線診斷系統(tǒng)一實施例的流程示意圖,如圖所示,包括以下步驟,其中,系統(tǒng)包括服務器及分別與服務器建立網絡連接的客戶端和診斷設備,且診斷設備與汽車設備相連接。
[0061]步驟401,診斷設備將其ID信息發(fā)送至服務器;[0062]步驟402,客戶端根據服務器中診斷設備的ID信息,選擇一個待診斷設備;
[0063]步驟403,客戶端向服務器發(fā)送對待診斷設備的診斷命令;
[0064]步驟404,待診斷設備接收服務器發(fā)送的診斷命令后,根據診斷命令對與其連接的汽車設備進行診斷,并記錄診斷信息,將診斷信息發(fā)送至服務器;
[0065]步驟405,客戶端接收服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。
[0066]下面對圖4所示的系統(tǒng)進行詳細介紹。
[0067]圖4所示的系統(tǒng)是基于第三代移動通信技術的遠程CAN總線診斷系統(tǒng),診斷系統(tǒng)包括診斷設備、服務器和客戶端三部分。
[0068]具體為,診斷設備利用3G自動通過因特網與服務器建立網絡連接。診斷設備通過CAN總線對與其連接的汽車設備進行診斷。
[0069]在其他實施例中,也可以基于通用分組無線服務技術(General Packet RadioService, GPRS)或第二代移動通訊技術(second generation, 2G)等通信方式進行遠程診斷。
[0070]其中,本實施例的診斷系統(tǒng)支持多個診斷設備和多個客戶端同時工作,且一個診斷設備對應一個客戶端。
[0071]在本實施例中,服務器具有公網IP地址,服務器上運行服務器程序,客戶端上運行有客戶端程序,可以通過用戶名及密碼訪問服務器。診斷設備會自動與服務器建立連接,接收到診斷命令后,會把診斷信息傳輸?shù)椒掌?。若服務器的IP地址有變動,可以重新配置診斷設備。
[0072]本實施例的診斷系統(tǒng)可工作在三種模式下,各模式的具體工作過程如下:
[0073]模式一:遠程在線診斷模式,通過Internet建立連接進行遠程診斷,即圖4所示的流程示意圖。
[0074]工程師通過客戶端軟件連接到服務器上,然后選擇需要診斷的設備,進行遠程診斷。
[0075]具體為,工程師需要輸入用戶名和密碼才能登錄到服務器上,在設備清單中選擇任意一臺在線診斷設備進行操作。一個診斷設備同時只能連接一個客戶端,一個客戶端同時也只能連接一個診斷設備。
[0076]在遠程在線診斷模式下,由于客戶端和診斷設備通過Internet進行遠程通信,其通信時延具有不確定性,因此對于那些時序要求嚴格的診斷,如多幀傳輸?shù)牧骺刂泼?,由診斷設備自動發(fā)送,不通過客戶端發(fā)送。
[0077]模式二:脫機診斷模式,斷開與Internet的連接后自動診斷。
[0078]工程師通過客戶端軟件向診斷設備遠程寫入一段診斷腳本,診斷腳本存儲在診斷設備中。啟動脫機診斷模式后,診斷設備會按照診斷腳本的邏輯周期性向CAN總線發(fā)送一些診斷命令,并記錄一些總線數(shù)據。脫機診斷模式下,診斷設備只是在自動的執(zhí)行診斷腳本,并記錄數(shù)據,不需要遠程客戶端執(zhí)行任何操作。診斷結束后,客戶端可以遠程將診斷設備中的數(shù)據讀取到客戶端,客戶端還可以遠程刪除診斷設備中記錄的數(shù)據和診斷腳本。
[0079]其中,工程師寫入的診斷腳本包括:
[0080]a.向CAN總線周期性發(fā)送診斷報文的邏輯,[0081]b.記錄診斷報文到診斷設備中的片外閃存(Flash)中的邏輯,
[0082]c.選擇總線消息并記錄到片外Flash中的邏輯。
[0083]模式三:現(xiàn)場在線診斷模式,在診斷現(xiàn)場用計算機與診斷設備直接連接進行診斷。
[0084]工程師在現(xiàn)場通過USB接口將診斷設備和客戶端連接起來,進行近距離現(xiàn)場診斷。
[0085]工程師通過客戶端程序對診斷設備進行現(xiàn)場診斷,只需將客戶端程序切換到現(xiàn)場在線診斷模式下即可,通過USB總線代替3G網絡進行診斷,和傳統(tǒng)的診斷設備原理相同。在模式三情況下,客戶端也可以向診斷設備寫入診斷腳本,可以將診斷設備中片外Flash中的總線數(shù)據讀取到客戶端,同時也能刪除存在片外Flash中的總線數(shù)據和診斷腳本。
[0086]其中,診斷設備會自動進行模式識別,用戶也可以更改診斷設備的診斷模式。
[0087]在本實施例的診斷系統(tǒng)中,診斷設備作為主要的診斷工具,其結構及工作方式如下:
[0088]所述診斷設備包括單片機、無線傳輸模塊、CAN收發(fā)器、片外Flash、USB通信模塊、ID撥碼開關、時間日期模塊,電源模塊。
[0089]其中,單片機支持I路以上CAN、2路以上通用異步收發(fā)器(UniversalAsynchronous Receiver/Transmitter, UART)以及多路通用輸入輸出接口(GeneralPurpose Input Output, GP10)。單片機內需要燒入專用的單片機程序。
[0090]其中,無線傳輸模塊支持3G網絡傳輸,無線傳輸模塊內置開通3G服務的手機SIM卡,需要向移動通信運營商交納數(shù)據流量費用。無線傳輸模塊外接天線。其中,無線傳輸模塊包含I路以上UART、1路以上USB接口及多路GPIO控制端口。并通過I路UART和多路GPIO與單機片相連接。由于無線傳輸模塊內置AT指令集,可在單片機控制下進行撥號上網,通過3G網絡接入Internet。在單片機的控制下,無線傳輸模塊訪問服務器所在的IP地址,與服務器建立傳輸控制協(xié)議(Transmission Control Protocol, TCP)連接,即可進行數(shù)據傳輸。無線傳輸模塊可將單片機采集到的總線信號選擇性的傳輸?shù)娇蛻舳恕?br>
[0091]其中,ID撥碼開關用來設置診斷設備的ID信息,ID撥碼開關與單片機通過多路GPIO相連。
[0092]具體為,診斷設備內置ID撥碼,假設撥碼共有24位,分成三段,每段8位,取值范圍為0-255,使用者可根據需要來定義各段的含義,假設第一段表示車型,如01對應SGM818、02對應SGM615,03對應GP50等,其中SGM818和SGM615等編號只是某種車的代號,沒有特別意義;第二段表示車輛的開發(fā)階段,如01表示Mule車,02對應IV車,03對應PV車等,其中Mule、IV等代碼只表示造車的某種階段,只作為一個代號;第三段表示車輛編號,如01對應I號車,02對應2號車等。當每個診斷設備連到特定的汽車上后,首先需要根據對照表來給診斷設備的撥碼開關進行置位,這樣工程師就知道自己在診斷哪輛車子。
[0093]其中,片外Flash與單片機通過地址線和數(shù)據線與單片機相連,用來存儲總線數(shù)據和診斷腳本。汽車總線的數(shù)據量很大,傳輸速度快,若記錄大量的汽車總線數(shù)據,由于無線傳輸模塊的傳輸速度有限,加上不確定的網絡延時堵塞,很容易出現(xiàn)丟包情況。因此,若要長時間記錄大量的汽車總線數(shù)據,可先將數(shù)據存到片外Flash里,再通過遠程傳輸或者USB總線將數(shù)據傳到客戶端上進行分析。[0094]其中,時間日期模塊與單片機通過UART相連,給單片機提供時間信息,以便單機片能夠獲得記錄總線數(shù)據的時間。時間日期模塊由電池供電,即便沒有外部電源,時間信息也不會丟失。
[0095]其中,CAN收發(fā)器與單片機相連,利用CAN收發(fā)器可直接與汽車總線進行通信。
[0096]診斷設備單片機的具體工作原理為如下:
[0097]診斷設備的單片機內燒有單片機程序,此單片機程序從功能上分為CAN通信子程序、無線傳輸模塊通信子程序、Flash存取子程序、USB通信子程序、時間日期子程序、ID撥碼開關子程序、中央處理子程序。
[0098]其中,CAN通信子程序集成了 CAN協(xié)議與診斷協(xié)議棧,負責將汽車總線的數(shù)據讀取進來,并負責將診斷命令發(fā)送總線。
[0099]無線傳輸模塊通信子程序,首先控制3G網絡無線傳輸模塊進行撥號上網,保持3G網絡無線傳輸模塊一直在線,然后控制3G網絡無線傳輸模塊登錄服務器,進行數(shù)據傳輸及控制命令的發(fā)送。
[0100]Flash存取子程序,首先負責在脫機診斷模式下,將總線上的數(shù)據以及診斷命令連同時間日期信息一同存到片外Flash中,在必要的時候將閃存中的數(shù)據再回讀到單片機中。其次,F(xiàn)lash存取子程序還可以將診斷腳本存入片外Flash中,在脫機診斷模式下,F(xiàn)lash存取子程序可以將診斷腳本讀取到單片機內存中執(zhí)行。
[0101]USB通信子程序,負責實現(xiàn)客戶端與診斷設備之間的通信任務,當客戶端通過USB口與診斷設備相連,則診斷設備工作在現(xiàn)場在線診斷模式下,客戶端可以查看到CAN總線消息,可以將診斷腳本寫入診斷設備中,也可以將存在片外Flash中的數(shù)據讀取到客戶端中。
[0102]時間日期子程序負責將時間日期信息讀取到單片機中,單片機獲取到時間信息后,就可以將總線數(shù)據連同時間信息一同打包存儲在片外Flash中,以便診斷人員做后續(xù)資料分析。
[0103]ID撥碼子程序負責將設備的ID讀到單片機中,以便遠程工程師能夠識別出不同的設備。
[0104]中央處理子程序是整個主控制單片機程序的核心,首先中央處理子過程控制診斷設備工作在三種不同的模式下。其次,中央處理子程序能夠實現(xiàn)總線數(shù)據的路由,將數(shù)據有選擇的傳輸給無線傳輸模塊。再次,中央處理子程序負責處理診斷腳本,將診斷腳本翻譯成診斷命令,發(fā)到總線上。最后,中央處理子程序起到一個橋梁作用,將各個子程序聯(lián)系起來,使各個子程序能夠相互通信。
[0105]在本實施例中,診斷系統(tǒng)中的診斷設備支持一路CAN通信,符合GMLAN或者SAEJ1939等CAN協(xié)議,因此可以在不同CAN協(xié)議上切換,且診斷符合UDS(Road vehiclesUnified diagnostic services)規(guī)范(IS014229),或符合 GMLAN 診斷規(guī)范(GMW 3110),因此診斷協(xié)議可以相互切換。
[0106]通過上述闡述,客戶端可發(fā)送診斷命令,如PID (Read Parameter Identifier)、CPID (Device Control)或 DTC (Diagnostic Trouble Code)等,來對總線進行實時讀寫,可以診斷一條總線上的任意電子模塊,如BCM (車身控制模塊)、ECM (發(fā)動機控制模塊)或IPC (儀表)等。[0107]其中,在診斷過程中,實現(xiàn)了 CAN總線的雙向傳輸,且可使分布式客戶端同時采集數(shù)據。
[0108]圖5是本發(fā)明遠程總線診斷裝置一實施例的結構示意圖,該裝置應用于客戶端,包括:獲取模塊51、選擇模塊52、第一發(fā)送模塊53、第一接收模塊54、第二發(fā)送模塊55、斷開模塊56及第二接收模塊57。
[0109]其中,本實施例診斷裝置的一種診斷模式中各模塊的功能為:獲取模塊51用于客戶端與服務器建立網絡連接后,獲取服務器中診斷設備的ID信息,其中,一診斷設備的ID信息與一汽車設備信息相關聯(lián);選擇模塊52用于根據服務器中診斷設備的ID信息,選擇一個待診斷設備;第一發(fā)送模塊53用于選擇一個待診斷設備后,向服務器發(fā)送對待診斷設備的診斷命令;第一接收模塊54用于接收發(fā)送診斷命令后服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。
[0110]本實施例診斷裝置的另一種診斷模式中各模塊的功能為:第二發(fā)送模塊55用于根據服務器中診斷設備的ID信息,選擇一個待診斷設備后,向服務器發(fā)送對待診斷設備的診斷腳本;斷開模塊56用于第二發(fā)送模塊55發(fā)送診斷腳本后,斷開與服務器的網絡連接;第二接收模塊57用于斷開模塊56斷開與服務器的連接后,預計待診斷設備對與其連接的汽車設備診斷完畢時,重新與服務器建立網絡連接,接收服務器返回的待診斷設備對與其連接汽車設備的診斷信息,并對診斷信息進行分析整理。
[0111]圖6是本發(fā)明遠程總線診斷裝置另一實施例的結構示意圖,該裝置應用于診斷裝置,包括:無線傳輸模塊61、單片機62、CAN收發(fā)器63、片外Flash64、ID撥碼開關65、時間日期模塊66、USB通信模塊67、電源模塊(圖未示)及天線68。
[0112]其中,無線傳輸模塊61用于診斷設備與汽車設備連接后,使診斷設備與服務器建立網絡連接,接收服務器發(fā)送的診斷命令;單片機62用于獲取無線傳輸模塊接收的診斷命令,并根據診斷命令對與其連接的汽車設備進行診斷,其中,單片機62支持CAN通信;CAN收發(fā)器63用于單片機62與汽車設備的CAN通信;片外Flash64用于存儲單片機62對汽車設備進行診斷后的診斷信息;ID撥碼開關65用于設置診斷設備的ID信息,并向單機片62提供ID信息;時間日期模塊66用于向單片機62提供時間信息。
[0113]上述各模塊的連接方式為,無線傳輸模塊61、CAN收發(fā)器63、片外Flash64、ID撥碼開關65、時間日期模塊66及USB通信模塊67分別連接于單機片62上;天線68連接于無線傳輸模塊61上。其具體的連接材料在具體實施例中有詳細的闡述,在此不再贅述。
[0114]其中,片外Flash64還用于存儲客戶端發(fā)送的診斷腳本。
[0115]下面通過兩個具體實施例對本發(fā)明進行進一步闡述。
[0116]第一個具體實施例為本發(fā)明診斷系統(tǒng)的組成及其工作方式。
[0117]圖7是本發(fā)明遠程總線診斷系統(tǒng)一具體實施例的結構示意圖,如圖7所示,診斷設備35與待診斷的車輛34通過車輛的診斷口相連,可實現(xiàn)雙向CAN通信,并能通過診斷口給診斷設備35提供12V工作電源。診斷設備35在上電以后,會自動撥號通過3G網絡接入Internet32,具有公網IP地址的服務器33—直與Internet32保持連接,服務器33上運行有服務器程序,可與多臺診斷設備建立TCP連接??蛻舳?0和客戶端31代表兩個客戶端,下面以客戶端30為例進行說明??蛻舳?0與Internet32建立連接,客戶端30開啟客戶端程序,需要輸入用戶名和密碼登錄服務器33。與服務器33建立連接后,客戶端30可以看到所有在線的診斷設備,假設只有一臺診斷設備35在線,則客戶端30可以連接診斷設備35對其進行操作。一個診斷設備同時只能和一個客戶端建立連接,若診斷設備35與客戶端30建立連接,則診斷設備35就不能與客戶端31建立連接。以上操作是在Internet32上完成的,客戶端30通過服務器33的IP地址及特定端口號,與服務器建立TCP連接,服務器33會通過Internet32與各個診斷設備35建立TCP連接。服務器33首先獲取所有診斷設備35的ID信息,將ID信息傳遞給客戶端30,此時客戶端30便可以看到所有在線的診斷設備。當客戶端30選擇了特定的診斷設備35進行操作時,服務器33會對此診斷設備35進行鎖定,其它客戶端31就無法再操作此診斷設備35。
[0118]當車輛34在海南發(fā)生故障,現(xiàn)場工作人員將遠程診斷設備35接到車輛34上,診斷設備35自動撥號與Internet32建立連接,之后診斷設備35自動登錄到服務器33上。遠程診斷工程師通過客戶端30登錄到服務器33,通過ID號找到待診斷的設備35,與診斷設備35建立連接??蛻舳?0首先發(fā)送讀DTC的命令。這里發(fā)送讀DTC的命令是指,首先客戶端30把讀DTC的命令發(fā)給服務器33,服務器33再將讀DTC的命令轉發(fā)給相應的診斷設備35,讀取車輛34的診斷故障碼,然后發(fā)送讀取PID、DID、Read Memory等命令獲取必要的信息,客戶端30還可以選擇性的讀取某些總線消息。
[0119]若要長時間記錄數(shù)據以捕獲故障信息??蛻舳?0通過Internet32向診斷設備35寫入一段診斷腳本,假設該診斷腳本內容如下:
[0120]a)以 200ms 周期讀取 PID C000、PID C030、PID CA71 ;
[0121]b)以 500ms 周期讀取 Memory$10、Memory$00、Memory$30 ;
[0122]c)記錄所有診斷設備發(fā)出的診斷消息以及總線回復的診斷消息;
[0123]d)記錄總線消息 $1F1、$0F1、$3C1、$3C9 ;
[0124]客戶端30向診斷設備35寫入診斷腳本后,將診斷設備35切換到脫機診斷模式,車輛34在路試的過程中,診斷設備35就會按照診斷腳本的邏輯自動運行,并記錄數(shù)據。記錄完成后,客戶端30重新連接到診斷設備35上,將記錄的數(shù)據讀取到計算機中進行后續(xù)分析。
[0125]若診斷工程師在故障車現(xiàn)場,則可通過現(xiàn)場在線診斷模式進行診斷。診斷工程師將裝有客戶端軟件的筆記本電腦(未示出)通過USB 口和診斷設備35相連,切換到現(xiàn)場在線診斷模式進行診斷。
[0126]第二個具體實施例為本發(fā)明診斷系統(tǒng)中診斷設備的結構及其工作原理。
[0127]圖8是本發(fā)明遠程總線診斷系統(tǒng)中診斷設備一具體實施例的結構示意圖,如圖8所示,單片機12與3G網絡無線傳輸模塊17通過UART14與I/O控制線路20相連,其中UART14負責傳輸AT指令以及數(shù)據,I/O控制線路20負責控制3G網絡無線傳輸模塊17的狀態(tài)。其中,3G網絡無線傳輸模塊17外接天線24,內置開通3G服務的手機SIM卡15。其中3G網絡無線傳輸模塊17與一個USB接口 2相連,此USB接口 2可以配置3G網絡無線模塊的一些通信參數(shù)。
[0128]如圖8所示,4G片外Flash芯片25與單片機12通過I/O數(shù)據線22以及I/O控制線23相連,可實現(xiàn)大量總線數(shù)據的存取。時間日期模塊5通過UART接口 13與單片機12相連,外接電池6供電,給單片機12提供時間信息。USB模塊4通過I/O數(shù)據線8以及I/O控制線11與單片機12相連,并通過USB總線4與USB接口 I相連,可實現(xiàn)單片機12與客戶端的直接通信。24位撥碼開關27通過24位I/O線與單片機12相連,給單片機12提供ID編號,使用者可以手動更改設備的ID編號。CAN收發(fā)器10通過CAN線19與單片機12相連,通過CAN線16與CAN連接器9相連,可實現(xiàn)汽車總線與單片機12的CAN通信。電源模塊18通過導線與CAN連接器9相連,同時與備用電源接口 21相連,即可以從汽車診斷口獲取到12V電源,也可以直接連接12V電源,電源模塊18可以給診斷設備各個模塊提供電源供給。
[0129]下面結合圖8詳細說明本發(fā)明遠程在線診斷模式的工作原理。
[0130]單片機12首先通過I/O控制線路20以及UART14向3G網絡無線傳輸模塊17發(fā)送AT指令,控制3G網絡無線傳輸模塊17撥號上網,并保持一直在線。然后,單片機12控制無線傳輸模塊17訪問服務器所在的IP地址,與服務器建立TCP連接。單片機12從24位撥碼開關獲取到設備的ID值,將ID信息發(fā)送給服務器。
[0131]假設遠程客戶端通過Internet連接上診斷設備后,向診斷設備發(fā)送讀取BCM的DTC指令,則客戶端需向診斷設備發(fā)送指令241 03 A9 81 02,無線傳輸模塊17收到指令后通過UART14將命令傳送給單片機12,單片機12將指令通過CAN總線19發(fā)到汽車總線上,CAN報文的指令格式為241 03 A9 81 02,讀取BCM當前的DTC,BCM接收到該診斷命令后,假設回復如下消息:
[0132]541 81 80 00 00 13 00 00 00 (Code:B0000)
[0133]541 81 A9 55 00 13 00 00 00 (Code:B2955)
[0134]541 81 BO 55 00 13 00 00 00 (Code:B3055)
[0135]541 81 Cl 00 00 13 00 00 00 (Code:U0100)
[0136]541 81 00 00 00 02 00 00 00 (尾幀)
[0137]單片機12接收到以上報文后,將以上報文通過UART14發(fā)送到無線傳輸模塊17上,無線傳輸模塊17再將報文通過Internet發(fā)送到客戶端,客戶端就知道當前車輛上有什么樣的診斷故障碼。其中 B000 表不 Vehicle speed information circuit malfunction,B2955 表 不 Security system sensor data circuit malfunction, B3055 表不 Notransponder modulation, UOlOO 表不 Lost communication with ECM0
[0138]再例如,客戶端向診斷設備發(fā)送讀取PID C000的命令,指令格式為241 03 22 CO00,則
[0139]診斷設備發(fā)送:241 03 22 CO 00
[0140]總線回復:64110 OA 62 CO 00 05 00 00
[0141]診斷設備發(fā)送:241 30 00 00 (流控制幀)
[0142]總線回復:64121 01 03 FF FF 05 00 00
[0143]其中流控制幀241 30 00 00需要嚴格的時序控制,由診斷設備自動發(fā)送,不需要
客戶端發(fā)送。
[0144]綜上所述,本發(fā)明為一種基于3G網絡的遠程CAN總線診斷系統(tǒng),該系統(tǒng)包括診斷設備、服務器和客戶端。首先將該診斷設備連接到汽車設備的診斷口上,并在具有公網IP地址的服務器上運行服務器程序,任意一臺連接Internet的客戶端通過客戶端軟件和登錄服務器的口令,就可以遠程連接診斷設備并進行遠程診斷。該遠程診斷包括遠程總線選擇性采集、標準的總線診斷命令發(fā)送及接收、診斷腳本遠程下載、診斷設備脫機運行診斷腳本并記錄數(shù)據、對診斷設備記錄的數(shù)據進程傳輸?shù)?,通過這些操作來實現(xiàn)車輛的遠程故障排除。
[0145]本發(fā)明系統(tǒng)可實現(xiàn)多個診斷設備及多個客戶端同時運行,只需要開啟一個服務器即可。診斷設備內置單片機及3G網絡無線傳輸模塊,診斷設備上電后會自動進行撥號上網連入Internet,然后訪問服務器的IP地址與服務器建立TCP連接,客戶端通過登錄口令連接服務器,選擇要操作的診斷設備,即可進行遠程診斷。
[0146]以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的【技術領域】,均同理包括在本發(fā)明的專利保護范圍內。
【權利要求】
1.一種遠程總線診斷方法,其特征在于,包括: 客戶端與服務器建立網絡連接,獲取服務器中診斷設備的ID信息,其中,所述一診斷設備的ID信息與一汽車設備信息相關聯(lián); 根據所述服務器中診斷設備的ID信息,選擇一個待診斷設備; 向所述服務器發(fā)送對所述待診斷設備的診斷命令; 接收發(fā)送診斷命令后,所述服務器返回所述待診斷設備對與其連接汽車設備的診斷信息,以對所述診斷信息進行分析整理。
2.根據權利要求1所述的方法,其特征在于: 所述客戶端與服務器建立網絡連接的步驟包括:所述客戶端通過用戶名和密碼登錄所述服務器; 其中,所述客戶端和服務器通過因特網建立網絡連接。
3.根據權利要求2所述的方法,其特征在于: 根據所述服務器中診斷設備的ID信息,選擇一個待診斷設備的步驟之后包括: 向所述服務器發(fā)送對所述待診斷設備的診斷腳本; 斷開與所述服務器的網絡連接; 所述待診斷設備對與其連接的汽車設備診斷完畢后,重新與所述服務器建立網絡連接,接收所述服務器返回的所述待診斷設備對與其連接汽車設備的診斷信息,并對所述診斷信息進行分析整理。
4.一種遠程總線診斷方法,其特征在于,包括: 診斷設備與汽車設備連接后,所述診斷設備與服務器建立網絡連接; 接收所述服務器發(fā)送的診斷命令或診斷腳本; 根據所述診斷命令或診斷腳本對與其連接的汽車設備進行診斷,并記錄診斷信息; 將所述診斷信息發(fā)送至所述服務器,完成診斷。
5.根據權利要求4所述的方法,其特征在于: 所述診斷設備與汽車設備連接后,所述診斷設備與服務器建立網絡連接的步驟包括:所述診斷設備與汽車設備連接后,所述診斷設備利用3G協(xié)議自動通過因特網與服務器建立網絡連接。
6.根據權利要求5所述的方法,其特征在于: 所述根據診斷命令或診斷腳本對與其連接的汽車設備進行診斷,并記錄診斷信息的步驟包括:所述診斷設備通過CAN總線對與其連接的汽車設備進行診斷。
7.一種遠程總線診斷系統(tǒng),其特征在于,包括: 所述系統(tǒng)包括服務器及分別與所述服務器建立網絡連接的客戶端和診斷設備; 其中,所述診斷設備與汽車設備相連接; 所述診斷設備將其ID信息發(fā)送至所述服務器; 所述客戶端根據所述服務器中診斷設備的ID信息,選擇一個待診斷設備; 所述客戶端向所述服務器發(fā)送對所述待診斷設備的診斷命令; 所述待診斷設備接收所述服務器發(fā)送的診斷命令后,根據所述診斷命令對與其連接的汽車設備進行診斷,并記錄診斷信息,將所述診斷信息發(fā)送至所述服務器; 所述客戶端接收所述服務器返回的所述待診斷設備對與其連接汽車設備的診斷信息,并對所述診斷信息進行分析整理。
8.根據權利要求7所述的系統(tǒng),其特征在于: 所述客戶端和診斷設備分別與所述服務器通過因特網建立連接; 其中,所述診斷設備利用3G自動通過因特網與服務器建立網絡連接。
9.根據權利要求8所述的系統(tǒng),其特征在于: 所述診斷設備通過CAN總線對與其連接的汽車設備進行診斷。
10.根據權利要求9所述的系統(tǒng),其特征在于: 所述遠程總線診斷系統(tǒng)包括一個或一個以上的客戶端及一個或一個以上的診斷設備。
11.根據權利要求10所述的系統(tǒng),其特征在于: 所述遠程總線診斷系統(tǒng)包括一遠程總線診斷裝置,應用于客戶端,所述裝置包括: 獲取模塊,用于所述客戶端與服務器建立網絡連接后,獲取服務器中診斷設備的ID信息,其中,所述一診斷設備的ID信息與一汽車設備信息相關聯(lián); 選擇模塊,用于根據所述服務器中診斷設備的ID信息,選擇一個待診斷設備; 第一發(fā)送模塊,用于選擇一個待診斷設備后,向所述服務器發(fā)送對所述待診斷設備的診斷命令; 第一接收模塊,用于接收發(fā)送診斷命令后所述服務器返回的所述待診斷設備對與其連接汽車設備的診斷信息,并對所述診斷信息進行分析整理。
12.根據權利要求11所述的系統(tǒng),其特征在于: 所述裝置還包括: 第二發(fā)送模塊,用于根據服務器中診斷設備的ID信息,選擇一個待診斷設備后,向所述服務器發(fā)送對所述待診斷設備的診斷腳本;斷開模塊,用于所述第二發(fā)送模塊發(fā)送診斷腳本后,斷開與所述服務器的網絡連接;第二接收模塊,用于所述斷開模塊斷開與所述服務器的連接后,預計所述待診斷設備對與其連接的汽車設備診斷完畢時,重新與所述服務器建立網絡連接,接收所述服務器返回的所述待診斷設備對與其連接汽車設備的診斷信息,并對所述診斷信息進行分析整理。
13.根據權利要求10所述的系統(tǒng),其特征在于: 所述遠程總線診斷系統(tǒng)包括一遠程總線診斷裝置,應用于診斷設備,所述裝置包括:無線傳輸模塊,用于診斷設備與汽車設備連接后,使所述診斷設備與服務器建立網絡連接,接收所述服務器發(fā)送的診斷命令; 單片機,用于獲取所述無線傳輸模塊接收的診斷命令,并根據所述診斷命令對與其連接的汽車設備進行診斷,其中,所述單片機支持CAN通信; CAN收發(fā)器,用于所述單片機與所述汽車設備的CAN通信; 片外Flash,用于存儲所述單片機對所述汽車設備進行診斷后的診斷信息。
14.根據權利要求13所述的系統(tǒng),其特征在于: 所述裝置還包括: ID撥碼開關,用于設置所述診斷設備的ID信息,并向所述單機片提供所述ID信息; 時間日期模塊,用于向所述單片機提供時間信息; USB通信模塊、電源模塊及天線。
15.根據權利要求14所述的系統(tǒng),其特征在于:所述無線傳輸模塊、CAN收發(fā)器、片外Flash、ID撥碼開關、時間日期模塊及USB通信模塊分別連接于所述單機片上;及 所述天線連接于所述無線傳輸模塊上。
16.根據權利要求15所述的系統(tǒng),其特征在于: 所述片外Flash還用 于存儲所述客戶端發(fā)送的診斷腳本。
【文檔編號】G05B23/02GK103914059SQ201310006923
【公開日】2014年7月9日 申請日期:2013年1月9日 優(yōu)先權日:2013年1月9日
【發(fā)明者】董艷棟, 王萬榮 申請人:上海通用汽車有限公司, 泛亞汽車技術中心有限公司