李昌泉
東風(fēng)特汽(十堰)專用車有限公司 湖北省武漢市 430000
本文闡述的就是一種基于CAN網(wǎng)絡(luò)的新能源電動(dòng)車故障診斷儀,下面我們簡(jiǎn)稱“診斷儀”。借助故障診斷儀,維修人員可以讀出車輛運(yùn)行狀態(tài)參數(shù)及故障情況,為故障診斷及修復(fù)提供了依據(jù)。
診斷儀由硬件部分和軟件部分兩部分組成,現(xiàn)分別介紹如下:
診斷儀主要實(shí)現(xiàn)兩大功能:
A、網(wǎng)關(guān)功能:實(shí)現(xiàn)上位機(jī)軟件與整車CAN總線間的協(xié)議轉(zhuǎn)換,即CAN和RS232間的協(xié)議轉(zhuǎn)換。
B、診斷功能:讀故障碼、清故障碼、讀數(shù)據(jù)流、讀/寫(xiě)VIN碼、參數(shù)設(shè)置、顯示數(shù)據(jù)的實(shí)時(shí)曲線等。
診斷儀硬件較為簡(jiǎn)單,主要由外殼、控制板和液晶屏組成。
外殼前期采用3D打印技術(shù)一次成型,樣件速度快,成本低。后續(xù)批量生產(chǎn)時(shí)可改為開(kāi)模注塑工藝。
控制板采用ST公司的STM32F103ZETT6控制器作為主控芯片,該芯片具有豐富的外設(shè)接口及內(nèi)部資源,具有64KB SRAM,512KB FLASH,2個(gè)基本定時(shí)器,4個(gè)通用定時(shí)器,2個(gè)高級(jí)定時(shí)器,3個(gè)SPI,2個(gè)IIC,5個(gè)串口,1個(gè)USB,1個(gè)CAN,3個(gè)12位ADC,1個(gè)12位DAC,1個(gè)SDIO接口,1個(gè)FSMC接口以及112個(gè)通用IO口,便于后期的功能擴(kuò)展;支持emWin圖形化界面,并且外部總線(FSMC)可以用來(lái)擴(kuò)展RAM和連接LCD,通過(guò)FSMC驅(qū)動(dòng)LCD可以顯著提高LCD的刷新速率,可以實(shí)現(xiàn)美觀的圖形界面和良好的人機(jī)交互功能;支持觸摸屏功能,可使所有操作均在屏幕上點(diǎn)擊完成,無(wú)需任何外設(shè)按鍵。
液晶屏采用4.3寸TFTLCD電容觸摸屏,分辨率為800*480,16位真彩色顯示,支持5點(diǎn)同時(shí)觸摸。
診斷儀與整車通過(guò)OBD-II接口進(jìn)行連接。
2.4.1 OBD-II接口介紹
OBD-II(on Board Diagnostics Ⅱ)是Ⅱ型在線診斷系統(tǒng)的縮寫(xiě),它由SAE(Society of Automotive Engineers,美國(guó)汽車工程師協(xié)會(huì))開(kāi)發(fā),EPA(Environmental ProtectionAgency,美國(guó)環(huán)境保護(hù)局)認(rèn)證通過(guò)并于1989年正式公布,該系統(tǒng)統(tǒng)一了數(shù)據(jù)傳輸協(xié)議和診斷模式,使得使用同一診斷設(shè)備來(lái)診斷不同品牌車輛成為可能。
2.4.2 OBD接口定義
上圖為整車上OBD接口端子(整車OBD接口一般為母頭,診斷儀與之對(duì)應(yīng)為公頭),PIN定義如下:
圖1
診斷儀通過(guò)整車OBD端口實(shí)現(xiàn)與整車的連接,通過(guò)CAN總線實(shí)現(xiàn)讀取診斷數(shù)據(jù),故障代碼及凍結(jié)幀數(shù)據(jù)(凍結(jié)幀數(shù)據(jù)指的是在故障發(fā)生時(shí),實(shí)時(shí)存儲(chǔ)的整車相關(guān)信號(hào)參數(shù)值)等功能,甚至可以對(duì)車輛狀態(tài)進(jìn)行判斷,對(duì)電池管理,ECU 固件版本等內(nèi)容進(jìn)行升級(jí)。診斷儀與整車網(wǎng)絡(luò)連接圖如圖2:
CAN, 全 稱 為“Controller Area Network”,即控制器局域網(wǎng),是一種多主方式的串行通訊總線,傳輸距離遠(yuǎn)(最遠(yuǎn)可達(dá)10Km)、傳輸速率快(最快可達(dá)1Mbps),抗電磁干擾性強(qiáng),已成為國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。
表1
圖2
UDS, 全 稱 為“Unified Diagnostic Services”,即統(tǒng)一診斷服務(wù),是國(guó)際標(biāo)準(zhǔn)組織結(jié)合歐美多種診斷協(xié)議而制定的。UDS支持多種協(xié)議類型,如CAN、LIN等,本文所述診斷儀使用的UDS是基于CAN總線。
3.3.1 人機(jī)交互模塊(GUI)
人機(jī)交互模塊(GUI)采用STemWin圖形系統(tǒng)進(jìn)行設(shè)計(jì)。STemWin圖形系統(tǒng)是Segger公司為ST公司量身定制的emWin。利用該設(shè)計(jì)軟件可以在電腦上進(jìn)行仿真運(yùn)行,實(shí)現(xiàn)人機(jī)交互界面的脫離硬件運(yùn)行,可大大提高軟件設(shè)計(jì)進(jìn)度。
3.3.2 數(shù)據(jù)處理模塊
3.3.2.1 診斷儀遵循的協(xié)議
(1)診斷儀與整車的通訊協(xié)議
診斷儀通過(guò)整車OBD接口連接,采用基于CAN總線的車輛診斷標(biāo)準(zhǔn)ISO14229-2006(E):《Road vehicles —Unified diagnostic services (UDS) —Specification and requirements》,采用標(biāo)準(zhǔn)幀模式,波特率為500Kbps,主要涉及以下幾項(xiàng)服務(wù):
DiagnosticSessionControl(10 hex)service
診斷會(huì)話模式控制服務(wù)
TesterPresent (3E hex)service
診斷設(shè)備在線服務(wù)
ReadDTCInformation(19 hex)service
讀故障碼服務(wù)
ClearDiagnosticInformation(14 hex)service
清故障碼服務(wù)
ReadDataByIdentifier(22 hex)service
讀數(shù)據(jù)流服務(wù)
SecurityAccess (27 hex)service
安全存取服務(wù)
WriteDataByIdentifier(2E hex)service
寫(xiě)數(shù)據(jù)服務(wù)
(2)診斷儀與PC上位機(jī)的通訊協(xié)議
診斷儀與PC上位機(jī)間的通訊采用RS232總線方式,波特率為25600bps,數(shù)據(jù)傳輸格式采用AT指令格式。
3.3.2.2 數(shù)據(jù)處理模塊軟件設(shè)計(jì)工具
診斷儀數(shù)據(jù)處理模塊采用C語(yǔ)言作為編程語(yǔ)言,采用uVision5 IDE集成開(kāi)發(fā)環(huán)境。
本診斷儀可以完成對(duì)于被測(cè)車輛的故障碼讀取、故障碼清除、數(shù)據(jù)流讀取及數(shù)據(jù)圖表顯示、數(shù)據(jù)標(biāo)定(如VIN)等功能,具有操作簡(jiǎn)單、診斷效率高的特點(diǎn)。以讀取凍結(jié)幀為例,點(diǎn)擊主界面中的 “查看數(shù)據(jù)流”圖標(biāo),即可以看到汽車VCU中存儲(chǔ)的凍結(jié)幀數(shù)據(jù)。