徐輝,李英祥,余樂(lè)韜
(成都信息工程大學(xué) 通信工程學(xué)院,成都 610225)
車載診斷系統(tǒng)OBD II的汽車接口數(shù)據(jù)處理技術(shù)
徐輝,李英祥,余樂(lè)韜
(成都信息工程大學(xué) 通信工程學(xué)院,成都 610225)
通過(guò)車載診斷系統(tǒng)(OBD)連接汽車的CAN總線,進(jìn)行車輛數(shù)據(jù)實(shí)時(shí)采集,同時(shí)將采集到的數(shù)據(jù)進(jìn)行處理。本文采用TDA61芯片和WiFi無(wú)線傳輸單元搭建兩個(gè)模塊電路,一路發(fā)送汽車狀態(tài)信息,另一路接收所有CAN總線上傳輸?shù)臄?shù)據(jù)信息。該系統(tǒng)擴(kuò)展了車載診斷系統(tǒng)的外部應(yīng)用,應(yīng)用的汽車協(xié)議為支持OBD II的CAN總線的ISO15765協(xié)議,收發(fā)的數(shù)據(jù)通過(guò)外接串口顯示。結(jié)果顯示,系統(tǒng)實(shí)現(xiàn)了汽車接口數(shù)據(jù)的采集和處理。
OBD;數(shù)據(jù)采集;CAN總線;ISO15765
圖1 汽車與終端外部電路連接圖
隨著技術(shù)的迅速發(fā)展,汽車不斷朝著高智能化、高可靠性的方向發(fā)展,車身中集成的電子控制單元(Electronic Control Unit)越來(lái)越多,目前車載診斷系統(tǒng)(On-Board Diagonistics,OBD)發(fā)展迅猛,國(guó)外在實(shí)現(xiàn)了OBD II數(shù)據(jù)遠(yuǎn)程檢測(cè)的同時(shí)也可以利用采集系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行有效處理[1]。就目前的發(fā)展?fàn)顩r而言,大多數(shù)還處于將收集的車輛信息發(fā)送到聯(lián)網(wǎng)端的服務(wù)器,用于集中處理分析,即實(shí)現(xiàn)了車與人的信息通信,在這種模式下可以開(kāi)發(fā)出功能強(qiáng)大、應(yīng)用方便的新產(chǎn)品。本系統(tǒng)實(shí)現(xiàn)了汽車的行車速度、發(fā)動(dòng)機(jī)轉(zhuǎn)速等信息的采集,同時(shí)為進(jìn)一步的開(kāi)發(fā)提供了基礎(chǔ)。
在現(xiàn)有的汽車車載診斷系統(tǒng)中,可分為OBD、OBD I、OBD II三大系統(tǒng)[1],OBD III也將隨之出現(xiàn)。目前,應(yīng)用最廣泛的是OBD II系統(tǒng),由于OBD I無(wú)法有效控制汽車尾氣的排放,還引起了另一個(gè)嚴(yán)重的問(wèn)題,各車輛制造廠發(fā)展了自己的診斷系統(tǒng)、檢修流程、專用工具等,給非特約維修站的技師帶來(lái)很多不便。OBD II系統(tǒng)主要在OBD I的基礎(chǔ)上增加了新的監(jiān)測(cè)區(qū)域,包括催化轉(zhuǎn)換器的轉(zhuǎn)換效率和決定發(fā)動(dòng)機(jī)的曲軸速度,可以獲得發(fā)動(dòng)機(jī)失火時(shí)間、HC排放量的信息,并且根據(jù)故障碼的提示,可以快速準(zhǔn)確地確定故障的性質(zhì)和部位。汽車與終端外部電路連接圖如圖1所示。
1.1 基于CAN總線的ISO15765診斷協(xié)議技術(shù)[2-3]
CAN是控制器局域網(wǎng)絡(luò)的簡(jiǎn)稱,為解決汽車中日益增多的控制與測(cè)量?jī)x器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種能夠支持分布式和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。而ISO15765協(xié)議也是按照ISO/IOS7層參考模型建立的,其中包括了總體信息、對(duì)網(wǎng)絡(luò)層的說(shuō)明、應(yīng)用層的具體服務(wù),目前ISO15765診斷協(xié)議技術(shù)已經(jīng)廣泛應(yīng)用在汽車控制工業(yè)的故障診斷方面。
基于ISO15765診斷協(xié)議,定義了ISO/IOS網(wǎng)絡(luò)系統(tǒng)中的物理層和數(shù)據(jù)鏈路層,其物理層通信信號(hào)采用CAN_H和CAN_L(顯性位和隱形位)兩線制的串行信號(hào)的差分電壓來(lái)表示,分別表示二進(jìn)制位的1和0。而CAN總線的數(shù)據(jù)鏈路層通信規(guī)范提出了11位標(biāo)識(shí)符的標(biāo)準(zhǔn)報(bào)文格式和29位標(biāo)識(shí)符的擴(kuò)展報(bào)文格式,ISO15765是利用CAN總線標(biāo)準(zhǔn)規(guī)范的報(bào)文特性進(jìn)行發(fā)送[3-4]。29位CAN標(biāo)識(shí)符的幀格式如圖2所示。
圖2 29位CAN標(biāo)識(shí)符的幀格式
1.2 OBD II的應(yīng)用層
OBD II通信協(xié)議的應(yīng)用層在國(guó)際標(biāo)準(zhǔn)文檔ISO15031中有明確的定義,對(duì)于汽車數(shù)據(jù)的采集應(yīng)用,最常用的是Server $01,也就是獲取動(dòng)力系的當(dāng)前數(shù)據(jù),而應(yīng)用層只需在鏈路層標(biāo)示符地址的基礎(chǔ)上,增加數(shù)據(jù)區(qū)服務(wù)號(hào)和服務(wù)選型。例如,要獲取發(fā)動(dòng)機(jī)轉(zhuǎn)速,只需發(fā)送010C,服務(wù)號(hào)為01,服務(wù)選型為0C。主要使用的服務(wù)號(hào)如表1所列。
表1 主要使用的服務(wù)號(hào) PID
綜上所述,本系統(tǒng)主要分為兩大部分,一部分為CAN總線數(shù)據(jù)的發(fā)送和接收,通過(guò)OBD接口發(fā)送CAN報(bào)文到汽車總線,在單一的路徑上所有節(jié)點(diǎn)發(fā)送和接收數(shù)據(jù),外殼一端設(shè)置OBD接口,另一端設(shè)置RF接收芯片與OBD接口通過(guò)數(shù)據(jù)收發(fā)器進(jìn)行數(shù)據(jù)收發(fā)控制,用于識(shí)別OBD接口中獲取的數(shù)據(jù),進(jìn)行數(shù)據(jù)解析后轉(zhuǎn)換成串行通信數(shù)據(jù)發(fā)送至RF接收芯片,用來(lái)接收發(fā)送來(lái)的數(shù)據(jù)。另一部分為數(shù)據(jù)處理模塊,用來(lái)處理總線上所有節(jié)點(diǎn)傳送的報(bào)文數(shù)據(jù)。簡(jiǎn)單系統(tǒng)框圖如圖3所示。
圖3 簡(jiǎn)單系統(tǒng)框圖
2.1 硬件設(shè)計(jì)
2.1.1 CAN控制器SJA1000
SJA1000主要用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的CAN總線網(wǎng)絡(luò),它支持CAN2.0A和CAN2.0B協(xié)議,可以支持11位和29位標(biāo)識(shí)碼,通過(guò)時(shí)鐘分頻寄存器來(lái)選擇它的操作模式,通信的位速率可以達(dá)到1 Mbps[5-6],其模塊結(jié)構(gòu)如圖4所示。
圖4 SJA1000模塊結(jié)構(gòu)框圖
其中,接口管理邏輯解釋來(lái)自CPU的命令,控制CAN寄存器的尋址,向主控制器提供中斷信息和狀態(tài)信息。發(fā)送緩沖器可以存儲(chǔ)要通過(guò)CAN網(wǎng)絡(luò)發(fā)送的一條完整報(bào)文。接收緩沖器用來(lái)存儲(chǔ)從CAN總線上接收并確認(rèn)的信息,它是一個(gè)長(zhǎng)64字節(jié)的FIFO。將從CAN總線上接收到的報(bào)文標(biāo)識(shí)碼和驗(yàn)收濾波器的內(nèi)容相比較,就能夠決定是否接收該報(bào)文。
2.1.2 TDA61解碼芯片
TDA61芯片是一個(gè)與汽車通信的協(xié)議芯片,可以和現(xiàn)在大部分汽車的各種控制模塊進(jìn)行診斷通信,用戶可直接通過(guò)各種單片機(jī)、PC串口等與汽車相連接,它將汽車總線的各種協(xié)議數(shù)據(jù)轉(zhuǎn)化為UART格式的數(shù)據(jù)進(jìn)行發(fā)送和接收,同時(shí)TDA61作為目前最簡(jiǎn)易的OBD芯片,一條指令可以獲得多條數(shù)據(jù),獲得的數(shù)據(jù)不需要上機(jī)位運(yùn)算,直接顯示,響應(yīng)更快。TDA61芯片支持12多種OBD II通信協(xié)議,適用于2008年之后支持國(guó)際標(biāo)準(zhǔn)通信協(xié)議的全部車輛,可以快速地實(shí)現(xiàn)二次開(kāi)發(fā)。
2.1.3 MT7620n芯片
MT7620n是聯(lián)發(fā)科技股份有限公司推出的一款非常成熟的高級(jí)SoC芯片,該芯片集成了CPU、Baseband等功能,同時(shí)也添加了一些外圍電路,這也使其有了強(qiáng)大的無(wú)線功能。MT7620n 包括802.11n MAC和基帶,2.4 GHz無(wú)線和有限元,一個(gè)580 MHz的24K MIPS CPU核心,一個(gè)5端口10/100開(kāi)關(guān)和兩個(gè)RGMII。它包括從一個(gè)單芯片建立AP路由器的一切。
2.2 軟件設(shè)計(jì)
圖5 數(shù)據(jù)采集軟件流程圖
系統(tǒng)軟件設(shè)計(jì)內(nèi)容主要由信號(hào)的采集與處理程序和接口通信程序兩部分組成。在信號(hào)采集與處理程序中主要遵循ISO15765協(xié)議的標(biāo)準(zhǔn)幀和擴(kuò)展幀[9],通過(guò)汽車OBD接口向車內(nèi)診斷索取診斷故障碼或具體數(shù)據(jù),而在數(shù)據(jù)的處理加工過(guò)程中,每個(gè)CAN節(jié)點(diǎn)只處于接收狀態(tài),在接收過(guò)程中,按標(biāo)準(zhǔn)幀和擴(kuò)展幀格式接收數(shù)據(jù)[6、8],根據(jù)OBD II標(biāo)準(zhǔn)中規(guī)定的9種診斷模式,讀取車載數(shù)據(jù)監(jiān)控診斷平臺(tái)故障碼,通過(guò)人工對(duì)故障碼的分析來(lái)得到診斷結(jié)果。
數(shù)據(jù)采集軟件流程圖如圖5所示,數(shù)據(jù)處理流程圖如圖6所示。
圖6 數(shù)據(jù)處理流程圖
由于實(shí)驗(yàn)條件有限,目前該系統(tǒng)采用的測(cè)試環(huán)境是汽車的仿真模擬器,該模擬器支持多種汽車總線協(xié)議。系統(tǒng)接通后,接入12 V電壓,一端連接汽車仿真模擬器的接口。在Linux下的測(cè)試結(jié)果如圖7所示。
圖7 仿真結(jié)果
[1] 潘朋,顏伏伍,方茂東.OBD系統(tǒng)的現(xiàn)狀及其發(fā)展趨勢(shì)[J].交通節(jié)能與環(huán)保,2007,05:36-39.
[2] 李鋼.一種汽車OBD接口數(shù)據(jù)傳輸診斷系統(tǒng)[P].北京:CN203386070U,2014-01-08.
[3] 鐘一鳴.車輛信息采集系統(tǒng)設(shè)計(jì)[D].杭州:杭州電子科技大學(xué),2014.
[4] 孟曉亮.基于OBD-II的便攜式汽車故障檢測(cè)儀研究[D].太原:太原理工大學(xué),2008.
[5] 孟磊.基于OBD-II的車載遠(yuǎn)程故障診斷系統(tǒng)設(shè)計(jì)[D].武漢:武漢理工大學(xué),2012.
[6] 李華嵩.基于OBD-II的車載故障監(jiān)控診斷儀硬件平臺(tái)及網(wǎng)絡(luò)接口單元的設(shè)計(jì)[D].成都:電子科技大學(xué),2007.
[7] 雍崇偉.基于嵌入式的汽車故障診斷儀設(shè)計(jì)[D].南京:南京理工大學(xué),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.
徐輝(碩士研究生),主要研究方向?yàn)榍度胧较到y(tǒng)及片上系統(tǒng)設(shè)計(jì)。
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)