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