• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      汽車故障診斷儀在安卓平臺上的設(shè)計與實現(xiàn)

      2014-04-03 02:23:58
      自動化儀表 2014年7期
      關(guān)鍵詞:診斷儀安卓報文

      (重慶郵電大學(xué)自動化學(xué)院,重慶 400065)

      0 引言

      隨著電控單元(electronic control unit,ECU)在汽車電子中的應(yīng)用,ECU都提供在板診斷功能(on board diagnostic,OBD)[1]。汽車故障診斷儀是一種檢測汽車故障和運行狀態(tài)的離線診斷裝置,與OBD配套使用。診斷儀通過與汽車中的ECU通信,讀取ECU工作狀態(tài)和故障信息,幫助維修人員檢測和確定故障,從而提高汽車故障診斷的可靠性[2]。

      當(dāng)前診斷儀設(shè)計方案主要有:基于PC機(jī)的故障診斷儀[3]和基于單片機(jī)/FPGA的手持式故障診斷儀[4]。在分析了上述方案的結(jié)構(gòu)和優(yōu)缺點之后,提出了在安卓平臺開發(fā)汽車故障診斷儀的方案。采用在手機(jī)/平板上開發(fā)診斷儀軟件,配合藍(lán)牙轉(zhuǎn)CAN設(shè)備,使手機(jī)/平板利用藍(lán)牙與汽車ECU進(jìn)行間接通信,從而完成對汽車的故障診斷。該方案具有成本低、外出攜帶方便和軟件升級容易等優(yōu)點。

      1 汽車故障診斷儀研究現(xiàn)狀

      1.1 基于PC機(jī)的診斷儀

      基于PC機(jī)的故障診斷儀的工作原理是:在PC機(jī)上開發(fā)一套上位機(jī)診斷儀軟件,PC機(jī)通過USB-CAN采集板卡接入到汽車的CAN網(wǎng)絡(luò),從而實現(xiàn)PC機(jī)與汽車內(nèi)的各個ECU的通信,完成故障診斷功能。此方案的系統(tǒng)結(jié)構(gòu)如圖1所示。

      圖1 基于PC機(jī)診斷儀系統(tǒng)框圖

      基于PC機(jī)方案的優(yōu)點為PC機(jī)的數(shù)據(jù)處理能力強,上位機(jī)軟件的開發(fā)流程方便且軟件升級較容易;缺點為PC機(jī)的攜帶方便性較差,即使采用筆記本電腦,汽車上一般也無法提供筆記本電腦的供電電源。

      1.2 基于單片機(jī)/FPGA的診斷儀

      基于單片機(jī)/FPGA的手持式故障診斷儀的結(jié)構(gòu)一般包括:單片機(jī)/FPGA主控制器、液晶屏、SD卡和CAN通信模塊。其工作原理是:將診斷儀的CAN通信模塊與汽車CAN網(wǎng)絡(luò)進(jìn)行相連;診斷儀主控制器通過CAN通信實現(xiàn)與汽車內(nèi)各ECU的通信,從而完成故障診斷功能。此方案的系統(tǒng)結(jié)構(gòu)如圖2所示。

      圖2 基于單片機(jī)/FPGA診斷儀系統(tǒng)框圖

      基于單片機(jī)/FPGA方案的優(yōu)點為手持式故障診斷儀具有外出作業(yè)攜帶方便,可利用汽車OBD接口進(jìn)行供電,人機(jī)交互界面簡潔;缺點為需要設(shè)計專門的系統(tǒng)硬件電路,且軟件的升級需要通過特定的程序燒錄下載器與下載軟件配合使用才能更新診斷儀程序,使得診斷儀生產(chǎn)和維護(hù)成本較高。

      2 安卓平臺汽車診斷儀設(shè)計與實現(xiàn)

      2.1 汽車診斷協(xié)議

      隨著CAN總線成為國際上車用網(wǎng)絡(luò)總線的主流,當(dāng)前設(shè)計的汽車故障診斷儀主要是基于ISO 15765標(biāo)準(zhǔn)而開發(fā)的。本文設(shè)計的故障診斷儀也是基于此診斷協(xié)議而開發(fā)。ISO 15765是一種以CAN總線為基礎(chǔ)的汽車故障診斷協(xié)議標(biāo)準(zhǔn),共定義了以下四部分內(nèi)容:ISO 15765-1(概述)、ISO 15765-2(網(wǎng)絡(luò)層內(nèi)容)、ISO 15765-3(Keyword 2000應(yīng)用層內(nèi)容)和ISO 15765- 4(排放相關(guān)系統(tǒng)要求)[5]。

      汽車診斷功能的實現(xiàn)主要需要研究ISO 15765對于應(yīng)用層和網(wǎng)絡(luò)層的相關(guān)規(guī)定與設(shè)計。應(yīng)用層是與診斷相關(guān)的應(yīng)用,它規(guī)定了25種診斷服務(wù),每種服務(wù)又定義了具體的子服務(wù)來實現(xiàn)不同的功能。汽車故障診斷儀主要是針對這25個診斷服務(wù)的調(diào)用來完成對汽車ECU的故障診斷。網(wǎng)絡(luò)層主要負(fù)責(zé)將數(shù)據(jù)從發(fā)送方傳送給接收方,并保證數(shù)據(jù)傳輸?shù)目煽啃?,包括對?shù)據(jù)進(jìn)行打包、解包,實現(xiàn)應(yīng)用層數(shù)據(jù)與CAN數(shù)據(jù)幀之間的轉(zhuǎn)換。網(wǎng)絡(luò)層最高可發(fā)送/接收4 095 B的數(shù)據(jù)[6]。

      通過研究診斷協(xié)議應(yīng)用層規(guī)定的25個統(tǒng)一診斷服務(wù)(unified diagnostic services,UDS)和網(wǎng)絡(luò)層規(guī)定的數(shù)據(jù)傳輸規(guī)則,診斷儀可以在與汽車ECU進(jìn)行通信的基礎(chǔ)上,實現(xiàn)汽車的故障診斷功能[7]。

      2.2 故障診斷功能的實現(xiàn)

      診斷儀主要實現(xiàn)的功能有:讀取故障碼、清除故障碼、讀取動態(tài)數(shù)據(jù)流、讀取版本信息以及寫入VIN碼的功能。

      診斷儀對汽車ECU的故障診斷過程為:診斷儀通過診斷服務(wù)向汽車內(nèi)部ECU發(fā)送診斷服務(wù)請求報文,汽車內(nèi)部ECU在接收到請求報文后,響應(yīng)診斷請求并向診斷儀發(fā)送響應(yīng)報文;診斷儀接收到響應(yīng)報文后,解析響應(yīng)報文中的數(shù)據(jù)并顯示在人機(jī)交互界面上,從而指導(dǎo)維修人員確定故障產(chǎn)生的原因及位置。

      診斷功能與診斷服務(wù)之間的關(guān)系如下。

      讀取故障碼需要使用0x19服務(wù):讀取故障碼(diagnostic trouble code,DTC)信息診斷服務(wù)(ReadDTCInformation)??蛻舳送ㄟ^該診斷服務(wù)讀取車輛內(nèi)所有服務(wù)器或一組服務(wù)器存儲的DTC信息。對于讀取全部故障碼,可以使用該診斷服務(wù)的0x0a子服務(wù)來實現(xiàn)。0x0a子功能用于獲得服務(wù)器支持的所有DTC的狀態(tài)信息。響應(yīng)報文包含DTC有效狀態(tài)掩碼、DTC和對應(yīng)的狀態(tài)記錄。

      清除故障碼需要使用0x14服務(wù),即清除診斷信息診斷服務(wù)(ClearDiagnosticInformation)。該診斷服務(wù)簡稱CDTCI診斷服務(wù)。客戶端通過該診斷服務(wù)清除服務(wù)器中存儲的診斷信息。清除故障碼的功能可以使用該診斷服務(wù)來實現(xiàn)。

      讀取版本信息和讀取動態(tài)數(shù)據(jù)流需要使用0x22服務(wù),即讀取數(shù)據(jù)診斷服務(wù)(ReadDataByIdentifier)。該診斷服務(wù)簡稱RDBI診斷服務(wù)??蛻舳送ㄟ^該診斷服務(wù)可以讀取服務(wù)器中指定數(shù)據(jù)標(biāo)志符對應(yīng)的數(shù)據(jù),數(shù)據(jù)標(biāo)志符及對應(yīng)的記錄數(shù)據(jù)由供應(yīng)商自定義。版本信息所包含的DID通常有:0xf188(ECU軟件編號)、0xf189(ECU軟件版本編號)、0xf18B(ECU生產(chǎn)日期)、0xf18c(ECU序列號)、0xf190(車輛識別碼)和0xf191(ECU硬件編號)。診斷儀通過依次讀取上述DID對應(yīng)的數(shù)據(jù),即可解析汽車某個ECU的版本信息,并將信息顯示在人機(jī)交互界面上。

      寫入VIN碼需要使用0x2e服務(wù),即寫入數(shù)據(jù)診斷服務(wù)(WriteDataByIdentifier)。該診斷服務(wù)簡稱WDBI診斷服務(wù)。客戶端通過該診斷服務(wù)可以改寫服務(wù)器中指定數(shù)據(jù)標(biāo)志符對應(yīng)的數(shù)據(jù)。寫入VIN碼可以使用該診斷服務(wù)來實現(xiàn)。UDS診斷服務(wù)規(guī)定,在使用該診斷服務(wù)之前,需要先將汽車ECU的診斷會話模式切換到擴(kuò)展模式(對應(yīng)SID=0x10),并對ECU進(jìn)行解鎖(對應(yīng)SID=0x27)。

      2.3 安卓平臺診斷儀設(shè)計方案

      2.3.1 系統(tǒng)方案

      本文設(shè)計的基于安卓平臺的汽車故障診斷儀的方案主要包括:一臺安卓手機(jī)/平板、一個與手機(jī)/平板進(jìn)行無線通信并將手機(jī)/平板發(fā)送的數(shù)據(jù)轉(zhuǎn)換成CAN報文的轉(zhuǎn)接設(shè)備(本文選用藍(lán)牙轉(zhuǎn)CAN轉(zhuǎn)接設(shè)備)。系統(tǒng)結(jié)構(gòu)如圖3所示。

      圖3 基于安卓平臺診斷儀系統(tǒng)框圖

      在對汽車進(jìn)行診斷時,需將藍(lán)牙轉(zhuǎn)CAN設(shè)備的CAN接口接入到汽車的CAN網(wǎng)絡(luò)上。藍(lán)牙轉(zhuǎn)CAN設(shè)備的工作流程為:轉(zhuǎn)接設(shè)備利用藍(lán)牙模塊與手機(jī)/平板的藍(lán)牙進(jìn)行通信;當(dāng)接收到手機(jī)/平板發(fā)送的數(shù)據(jù)時,將接收到的藍(lán)牙報文轉(zhuǎn)換成CAN報文并發(fā)送給汽車ECU;當(dāng)接收到汽車ECU發(fā)送的CAN報文時,將接收到的CAN報文轉(zhuǎn)換成藍(lán)牙報文發(fā)送給手機(jī)/平板。通過這一流程,安卓手機(jī)/平板就可以利用轉(zhuǎn)接設(shè)備實現(xiàn)與汽車ECU進(jìn)行間接通信,從而實現(xiàn)對汽車ECU的故障診斷功能。

      2.3.2 藍(lán)牙與CAN報文轉(zhuǎn)換規(guī)則

      由于藍(lán)牙報文與CAN報文的格式不同,因此,需要設(shè)計一種將藍(lán)牙報文與CAN報文進(jìn)行格式轉(zhuǎn)換的規(guī)則。CAN報文主要包括8 B的數(shù)據(jù)和一個11 B的CAN ID標(biāo)志符。本文設(shè)計的藍(lán)牙轉(zhuǎn)CAN的報文轉(zhuǎn)換規(guī)則為:將藍(lán)牙每次發(fā)送與接收到數(shù)據(jù)幀設(shè)計成1 B的頭幀+2 B的CAN ID標(biāo)志符+8 B的CAN報文+1 B的校驗和,一次總共發(fā)送或接收12 B的數(shù)據(jù)。當(dāng)藍(lán)牙轉(zhuǎn)CAN設(shè)備接收到上述報文時,提取出CAN ID標(biāo)志符,將藍(lán)牙轉(zhuǎn)CAN設(shè)備的CAN ID標(biāo)志符改成從藍(lán)牙報文中提取出的CAN ID標(biāo)志符,并將藍(lán)牙報文中的8 B的CAN報文轉(zhuǎn)發(fā)給汽車內(nèi)部ECU。當(dāng)藍(lán)牙轉(zhuǎn)CAN設(shè)備接收到汽車ECU響應(yīng)的CAN報文時,將從CAN報文讀取出的發(fā)送方CAN ID與8 B的數(shù)據(jù)打包成1 B的頭幀+2 B的CAN ID標(biāo)志符+8 B的CAN報文+1 B的校驗和的藍(lán)牙數(shù)據(jù),并通過藍(lán)牙模塊發(fā)送給手機(jī)/平板。

      2.3.3 數(shù)據(jù)庫及數(shù)據(jù)安全設(shè)計

      考慮到汽車故障診斷儀的各車廠的故障診斷信息數(shù)據(jù)庫需要通過周期性地升級診斷儀程序才能得到更新的問題,本文將診斷儀所需的診斷數(shù)據(jù)庫存儲在SD卡中,并用可擴(kuò)展標(biāo)記語言(extensible markup language,XML)來表示、存放各汽車廠商的故障診斷信息。當(dāng)某個廠商的診斷信息需要更新時,只需替換SD上對應(yīng)該車廠的XML數(shù)據(jù)庫即可,而不必再升級診斷儀軟件[8]。各車廠的診斷數(shù)據(jù)信息主要包括故障匹配信息XML文件和數(shù)據(jù)流信息XML文件。

      故障匹配信息XML文件中存儲的是故障碼與故障信息對應(yīng)表(即一個故障碼對應(yīng)一條故障信息的匹配表);數(shù)據(jù)流信息XML文件中存儲的是各車廠汽車的數(shù)據(jù)標(biāo)志符列表、數(shù)據(jù)流描述、數(shù)據(jù)換算公式及數(shù)據(jù)流單位的說明表。

      由于XML只是一種結(jié)構(gòu)化的標(biāo)記語言,因此,若不對XML內(nèi)容進(jìn)行加密處理[9],則各汽車廠商的診斷數(shù)據(jù)庫容易被不法分子竊取。為了保護(hù)各汽車廠商的診斷數(shù)據(jù)不被泄漏,本文對診斷數(shù)據(jù)庫進(jìn)行了加密處理。本文采用數(shù)字加密標(biāo)準(zhǔn)(data encryption standard,DES)來加密XML[10-13]的元素內(nèi)容。DES算法入口參數(shù)包括:8 B密鑰、8 B加密或解密數(shù)據(jù)和工作方式(加密或解密)。具體工作流程為:在PC機(jī)上用DES算法對各汽車廠商的數(shù)據(jù)進(jìn)行加密,并將加密后得到的數(shù)據(jù)用XML語言存儲在XML文件中;將加密的各汽車廠商的診斷數(shù)據(jù)庫拷貝到安卓手機(jī)的SD卡根目錄中;當(dāng)診斷儀軟件運行時,從SD卡中讀取各車廠的XML文件,并利用與加密時的同一個密鑰,利用DES算法把廠商的診斷數(shù)據(jù)庫解密出來并存放在內(nèi)存中;當(dāng)診斷儀從汽車ECU中讀取到故障碼時,根據(jù)存儲在內(nèi)存中的診斷數(shù)據(jù)庫,匹配和解析出各個故障診斷對應(yīng)的故障信息并顯示在人機(jī)交互界面,從而指導(dǎo)汽車維修人員找到故障診斷的原因。

      2.4 安卓平臺診斷儀的實現(xiàn)圖

      診斷儀軟件的系統(tǒng)用例圖如圖4所示。

      圖4 診斷儀系統(tǒng)用例圖

      診斷儀軟件的系統(tǒng)活動圖如圖5所示。

      圖5 診斷儀系統(tǒng)活動圖

      從圖5可以看出:診斷儀的運行過程首先進(jìn)入診斷儀主界面,在主界面中主要實現(xiàn)“擴(kuò)展功能”、“輔助功能”、“汽車診斷”和“連接設(shè)備”這四個功能。在“連接設(shè)備”功能中,需要實現(xiàn)手機(jī)/平板與藍(lán)牙轉(zhuǎn)CAN設(shè)備的配對和連接。當(dāng)成功將手機(jī)/平板與藍(lán)牙轉(zhuǎn)CAN設(shè)備連接后,就可以選擇“汽車診斷”。用戶根據(jù)需要選擇自己的汽車型號。當(dāng)進(jìn)入部件選擇界面后,就可以分別對汽車的各個部件進(jìn)行故障診斷。

      2.4.3 診斷儀系統(tǒng)UML序列

      診斷儀系統(tǒng)工作的序列圖如圖6所示。

      圖6 診斷儀系統(tǒng)序列圖

      診斷儀系統(tǒng)工作流程如下:當(dāng)用戶選擇某一診斷功能時,診斷儀軟件需要調(diào)用UDS診斷服務(wù),并把診斷服務(wù)請求報文通過手機(jī)藍(lán)牙發(fā)送給藍(lán)牙轉(zhuǎn)CAN設(shè)備;藍(lán)牙轉(zhuǎn)CAN設(shè)備接收到手機(jī)藍(lán)牙發(fā)送的藍(lán)牙報文后,根據(jù)上文所述的藍(lán)牙報文與CAN報文轉(zhuǎn)換規(guī)則,將請求診斷報文轉(zhuǎn)換成CAN報文發(fā)送給汽車ECU;汽車ECU從CAN網(wǎng)絡(luò)接收到診斷請求報文后,響應(yīng)診斷請求報文,并通過CAN網(wǎng)絡(luò)發(fā)送給藍(lán)牙轉(zhuǎn)CAN設(shè)備;藍(lán)牙轉(zhuǎn)CAN設(shè)備接收到汽車ECU發(fā)送的CAN響應(yīng)報文后,利用藍(lán)牙報文轉(zhuǎn)CAN報文規(guī)則,將CAN報文轉(zhuǎn)換成藍(lán)牙報文發(fā)送給手機(jī)藍(lán)牙;當(dāng)診斷儀接收到藍(lán)牙轉(zhuǎn)CAN設(shè)備轉(zhuǎn)發(fā)的診斷請求響應(yīng)報文后,查找SD卡中的XML診斷數(shù)據(jù)庫,從而解析出響應(yīng)報文中的故障碼,并顯示在人機(jī)交互界面。

      3 功能測試與結(jié)果分析

      在對汽車ECU進(jìn)行故障診斷之前,需將藍(lán)牙轉(zhuǎn)CAN設(shè)備接入到汽車OBD接口,再運行安卓手機(jī)/平板上的診斷儀軟件。本文的測試平臺為:將藍(lán)牙轉(zhuǎn)CAN設(shè)備接入到純電動汽車長安奔奔mini的OBD診斷接口上,在電動汽車的BCU和HCU部件中已分別存儲了故障碼和汽車信息。診斷儀若能正確讀取與解析出這些故障碼與汽車信息,則說明本文開發(fā)的故障診斷儀是正確與成功的。從對BCU和HCU的診斷結(jié)果可以看出,診斷儀可以正確讀取存儲在汽車ECU中的故障碼和汽車信息,說明本文所設(shè)計的基于安卓平臺的汽車故障診斷儀方案是正確可行的。

      4 結(jié)束語

      基于安卓平臺的汽車故障診斷儀是通過在手機(jī)/平板上安裝診斷儀軟件的方式,并配合使用藍(lán)牙轉(zhuǎn)CAN設(shè)備,使手機(jī)/平板變成專業(yè)的汽車故障診斷儀。這樣可以解決基于單片機(jī)/FPGA手持式故障診斷儀需要專門設(shè)計系統(tǒng)硬件電路而導(dǎo)致成本較高的問題,同時由于診斷儀軟件是基于安卓平臺開發(fā)的,軟件的更新升級非常方便。本方案設(shè)計的診斷儀具有外出作業(yè)攜帶方便、軟件更新升級容易、系統(tǒng)成本低廉等優(yōu)點。

      [1] 唐樂.基于CAN總線的通用型汽車ECU故障診斷儀的研究與設(shè)計[D].重慶:重慶郵電大學(xué),2012.

      [2] 韓鑫.電容式混合動力汽車離線診斷系統(tǒng)的設(shè)計開發(fā)[D].鎮(zhèn)江:江蘇大學(xué),2011.

      [3] 劉陶然.PC式汽車故障診斷系統(tǒng)的開發(fā)[D].武漢:武漢理工大學(xué),2011.

      [4] 陳文增.嵌入式汽車故障診斷儀[D].杭州:浙江大學(xué),2008.

      [5] 李銳,王晶瑩,姚燕,等.基于ISO15765的車載CAN網(wǎng)絡(luò)診斷設(shè)計[J].計算機(jī)工程,2012,38(4):35-39.

      [6] 劉麗麗,徐皚,宋巖,等.車輛通用故障診斷協(xié)議的研究與開發(fā)[J].計算機(jī)工程,2012,38(16):9-13.

      [7] 黃麗芳.UDS診斷服務(wù)在車載ECU中的應(yīng)用分析[J].汽車電器,2012(6):60-63.

      [8] 黃智宇,陳倍新,馮輝宗,等.一種基于XML的汽車ECU故障診斷信息匹配方法:中國,201210504280.0[P].2013-03-20.

      [9] 歐海蕉,黃刊迪.XML加密和簽名技術(shù)在信息安全中的研究與應(yīng)用[J].微計算機(jī)信息,2012,28(3):166-128.

      [10]李麗泰.基于XML加密的車載監(jiān)控系統(tǒng)[J].科技創(chuàng)新導(dǎo)報,2012(3):29-33.

      [11]徐錦科,張李超.基于OLE自動化和XML技術(shù)的科技人才信息系統(tǒng)[J].計算機(jī)與數(shù)字工程,2006(1):25-26.

      [12]孫宏偉.XML與RDB的多層次雙向數(shù)據(jù)集成技術(shù)研究[D].西安:西北工業(yè)大學(xué),2003.

      [13]周曉,盧炎麟.產(chǎn)品遠(yuǎn)程協(xié)同設(shè)計中STEP和XML的集成與應(yīng)用[J].機(jī)床與液壓,2005(5):61-62.

      猜你喜歡
      診斷儀安卓報文
      基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      日立EUB 8500E彩色超聲診斷儀的維修與升級
      CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
      文物表情包
      淺析反駁類報文要點
      中國外匯(2019年11期)2019-08-27 02:06:30
      一種基于安卓系統(tǒng)的手機(jī)側(cè)抓包分析方法
      ATS與列車通信報文分析
      馬純棟:維修技術(shù)人員應(yīng)提高診斷儀的利用率
      蔡鵬:優(yōu)質(zhì)診斷儀為現(xiàn)代汽修打開便利之門
      光聲成像宮頸癌診斷儀
      泾阳县| 辽源市| 鹰潭市| 安庆市| 武隆县| 兰考县| 黔西| 澄城县| 永泰县| 陇南市| 民权县| 定州市| 凌云县| 临澧县| 松潘县| 铁岭市| 汤阴县| 安化县| 琼结县| 永昌县| 商洛市| 沅陵县| 阜宁县| 淮滨县| 红原县| 芜湖县| 武隆县| 大丰市| 东乌珠穆沁旗| 淮北市| 洪洞县| 石家庄市| 贵定县| 登封市| 平阳县| 陈巴尔虎旗| 卢湾区| 贡山| 滕州市| 福清市| 辽中县|