徐輝,李英祥,余樂韜
(成都信息工程大學 通信工程學院,成都 610225)
車載診斷系統OBD II的汽車接口數據處理技術
徐輝,李英祥,余樂韜
(成都信息工程大學 通信工程學院,成都 610225)
通過車載診斷系統(OBD)連接汽車的CAN總線,進行車輛數據實時采集,同時將采集到的數據進行處理。本文采用TDA61芯片和WiFi無線傳輸單元搭建兩個模塊電路,一路發送汽車狀態信息,另一路接收所有CAN總線上傳輸的數據信息。該系統擴展了車載診斷系統的外部應用,應用的汽車協議為支持OBD II的CAN總線的ISO15765協議,收發的數據通過外接串口顯示。結果顯示,系統實現了汽車接口數據的采集和處理。
OBD;數據采集;CAN總線;ISO15765
圖1 汽車與終端外部電路連接圖
隨著技術的迅速發展,汽車不斷朝著高智能化、高可靠性的方向發展,車身中集成的電子控制單元(Electronic Control Unit)越來越多,目前車載診斷系統(On-Board Diagonistics,OBD)發展迅猛,國外在實現了OBD II數據遠程檢測的同時也可以利用采集系統對數據進行有效處理[1]。就目前的發展狀況而言,大多數還處于將收集的車輛信息發送到聯網端的服務器,用于集中處理分析,即實現了車與人的信息通信,在這種模式下可以開發出功能強大、應用方便的新產品。本系統實現了汽車的行車速度、發動機轉速等信息的采集,同時為進一步的開發提供了基礎。
在現有的汽車車載診斷系統中,可分為OBD、OBD I、OBD II三大系統[1],OBD III也將隨之出現。目前,應用最廣泛的是OBD II系統,由于OBD I無法有效控制汽車尾氣的排放,還引起了另一個嚴重的問題,各車輛制造廠發展了自己的診斷系統、檢修流程、專用工具等,給非特約維修站的技師帶來很多不便。OBD II系統主要在OBD I的基礎上增加了新的監測區域,包括催化轉換器的轉換效率和決定發動機的曲軸速度,可以獲得發動機失火時間、HC排放量的信息,并且根據故障碼的提示,可以快速準確地確定故障的性質和部位。汽車與終端外部電路連接圖如圖1所示。
1.1 基于CAN總線的ISO15765診斷協議技術[2-3]
CAN是控制器局域網絡的簡稱,為解決汽車中日益增多的控制與測量儀器之間的數據交換而開發的一種能夠支持分布式和實時控制的串行通信網絡。而ISO15765協議也是按照ISO/IOS7層參考模型建立的,其中包括了總體信息、對網絡層的說明、應用層的具體服務,目前ISO15765診斷協議技術已經廣泛應用在汽車控制工業的故障診斷方面。
基于ISO15765診斷協議,定義了ISO/IOS網絡系統中的物理層和數據鏈路層,其物理層通信信號采用CAN_H和CAN_L(顯性位和隱形位)兩線制的串行信號的差分電壓來表示,分別表示二進制位的1和0。而CAN總線的數據鏈路層通信規范提出了11位標識符的標準報文格式和29位標識符的擴展報文格式,ISO15765是利用CAN總線標準規范的報文特性進行發送[3-4]。29位CAN標識符的幀格式如圖2所示。
圖2 29位CAN標識符的幀格式
1.2 OBD II的應用層
OBD II通信協議的應用層在國際標準文檔ISO15031中有明確的定義,對于汽車數據的采集應用,最常用的是Server $01,也就是獲取動力系的當前數據,而應用層只需在鏈路層標示符地址的基礎上,增加數據區服務號和服務選型。例如,要獲取發動機轉速,只需發送010C,服務號為01,服務選型為0C。主要使用的服務號如表1所列。
表1 主要使用的服務號 PID
綜上所述,本系統主要分為兩大部分,一部分為CAN總線數據的發送和接收,通過OBD接口發送CAN報文到汽車總線,在單一的路徑上所有節點發送和接收數據,外殼一端設置OBD接口,另一端設置RF接收芯片與OBD接口通過數據收發器進行數據收發控制,用于識別OBD接口中獲取的數據,進行數據解析后轉換成串行通信數據發送至RF接收芯片,用來接收發送來的數據。另一部分為數據處理模塊,用來處理總線上所有節點傳送的報文數據。簡單系統框圖如圖3所示。
圖3 簡單系統框圖
2.1 硬件設計
2.1.1 CAN控制器SJA1000
SJA1000主要用于移動目標和一般工業環境中的CAN總線網絡,它支持CAN2.0A和CAN2.0B協議,可以支持11位和29位標識碼,通過時鐘分頻寄存器來選擇它的操作模式,通信的位速率可以達到1 Mbps[5-6],其模塊結構如圖4所示。
圖4 SJA1000模塊結構框圖
其中,接口管理邏輯解釋來自CPU的命令,控制CAN寄存器的尋址,向主控制器提供中斷信息和狀態信息。發送緩沖器可以存儲要通過CAN網絡發送的一條完整報文。接收緩沖器用來存儲從CAN總線上接收并確認的信息,它是一個長64字節的FIFO。將從CAN總線上接收到的報文標識碼和驗收濾波器的內容相比較,就能夠決定是否接收該報文。
2.1.2 TDA61解碼芯片
TDA61芯片是一個與汽車通信的協議芯片,可以和現在大部分汽車的各種控制模塊進行診斷通信,用戶可直接通過各種單片機、PC串口等與汽車相連接,它將汽車總線的各種協議數據轉化為UART格式的數據進行發送和接收,同時TDA61作為目前最簡易的OBD芯片,一條指令可以獲得多條數據,獲得的數據不需要上機位運算,直接顯示,響應更快。TDA61芯片支持12多種OBD II通信協議,適用于2008年之后支持國際標準通信協議的全部車輛,可以快速地實現二次開發。
2.1.3 MT7620n芯片
MT7620n是聯發科技股份有限公司推出的一款非常成熟的高級SoC芯片,該芯片集成了CPU、Baseband等功能,同時也添加了一些外圍電路,這也使其有了強大的無線功能。MT7620n 包括802.11n MAC和基帶,2.4 GHz無線和有限元,一個580 MHz的24K MIPS CPU核心,一個5端口10/100開關和兩個RGMII。它包括從一個單芯片建立AP路由器的一切。
2.2 軟件設計
圖5 數據采集軟件流程圖
系統軟件設計內容主要由信號的采集與處理程序和接口通信程序兩部分組成。在信號采集與處理程序中主要遵循ISO15765協議的標準幀和擴展幀[9],通過汽車OBD接口向車內診斷索取診斷故障碼或具體數據,而在數據的處理加工過程中,每個CAN節點只處于接收狀態,在接收過程中,按標準幀和擴展幀格式接收數據[6、8],根據OBD II標準中規定的9種診斷模式,讀取車載數據監控診斷平臺故障碼,通過人工對故障碼的分析來得到診斷結果。
數據采集軟件流程圖如圖5所示,數據處理流程圖如圖6所示。
圖6 數據處理流程圖
由于實驗條件有限,目前該系統采用的測試環境是汽車的仿真模擬器,該模擬器支持多種汽車總線協議。系統接通后,接入12 V電壓,一端連接汽車仿真模擬器的接口。在Linux下的測試結果如圖7所示。
圖7 仿真結果
[1] 潘朋,顏伏伍,方茂東.OBD系統的現狀及其發展趨勢[J].交通節能與環保,2007,05:36-39.
[2] 李鋼.一種汽車OBD接口數據傳輸診斷系統[P].北京:CN203386070U,2014-01-08.
[3] 鐘一鳴.車輛信息采集系統設計[D].杭州:杭州電子科技大學,2014.
[4] 孟曉亮.基于OBD-II的便攜式汽車故障檢測儀研究[D].太原:太原理工大學,2008.
[5] 孟磊.基于OBD-II的車載遠程故障診斷系統設計[D].武漢:武漢理工大學,2012.
[6] 李華嵩.基于OBD-II的車載故障監控診斷儀硬件平臺及網絡接口單元的設計[D].成都:電子科技大學,2007.
[7] 雍崇偉.基于嵌入式的汽車故障診斷儀設計[D].南京:南京理工大學,2010.
[8] ISO15765-4, Road vehicles-Diagnostics on Controller Area Networks (CAN)-Part 4:Requirements for emissions-related systems.
[9] K Phaebua,C Phongcharoenpanich,D Torrungrueng,et al.Dua-band antenna system for SDARS and GPS applications[C]//Toronto,Antennas and Propagation Society International Symposium,2010.
[10] SmithK,Miller J.OBDII data logger design for large-scale deployments[C]//California:Intelligent Transportation Systems(ITSC),2013:670-674.
徐輝(碩士研究生),主要研究方向為嵌入式系統及片上系統設計。
Car Interface Data Processing Technology of On-board Diagnostic System OBD II
Xu Hui,Li Yingxiang,Yu Letao
(College of Communication Engineering,Chengdu Information Engineering University,Chengdu 610225,China)
The CAN bus is connected with the on-board diagnostic system (OBD),which collects the vehicle data and processes at the same time.Two road circuits are set up by adopting TDA61 chip and WiFi wireless transmission unit,one circuit sends the vehicle state information,the other one receives all the data information from the CAN bus.The system extends the on-board diagnosis system of the external application which supports the OBD II ISO15765 protocol of the CAN bus.The data can display through an external serial port.The experiment results show that the system realizes the vehicle data acquisition and processing.
OBD;data acquisition;CAN bus;ISO15765
TP274
A
?士然
2016-09-01)