OBD診斷程序開發(fā)_第1頁
OBD診斷程序開發(fā)_第2頁
OBD診斷程序開發(fā)_第3頁
OBD診斷程序開發(fā)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

如何開發(fā)標(biāo)準(zhǔn)的汽車OBD2診斷程序及相關(guān)應(yīng)用層協(xié)議下載開發(fā)標(biāo)準(zhǔn)OBD2診斷程序要準(zhǔn)備的資料及硬件1、因TL718已經(jīng)為你建立了物理層、數(shù)據(jù)鏈層和部分應(yīng)用層的協(xié)議,所以只要OBD2標(biāo)準(zhǔn)應(yīng)用層協(xié)議文本,ISO15031-5或SAEJ1979(這兩個協(xié)議是相同的內(nèi)容)。2、TL718診斷接口1套或用TL718芯片自建電路。3、家用PC機電腦一臺。4、安裝軟件:Accessport調(diào)試軟件及VC++(或VB、BC++等)你喜歡的開發(fā)軟件。5、符號OBD2標(biāo)準(zhǔn)的汽車發(fā)動機電腦一塊(或汽車一臺)TL718基本信息TL718芯片的技術(shù)數(shù)據(jù)手冊

TL718通過一個UART串口與單片機、PDA或PCRS232通訊,在有的新的PC機上已沒有裝備RS232串口,可以通過虛擬串口實現(xiàn)與TL718通訊,例USBTORS232、以太網(wǎng)TORS232、或藍(lán)牙TORS232等等。

-------

RS232

------

OBD2電纜

----------

|

PC

|<----------->|TL718|<------------>|汽車診斷口|

-------

------

----------

不管使用怎樣的物理連接,你可以使用超級終端或串口調(diào)試工具,直接通過鍵盤發(fā)送和接收字符。在使用串口調(diào)試軟件前,首先必須設(shè)置正確的COM端口號和正確的波特率。一般為9600波特率(PIN6=0V),或38400波特率(PIN6=VCC,PPOC設(shè)置默認(rèn)值)。串口設(shè)置為:8個數(shù)據(jù)位,校驗位:0,停止位1位。如果設(shè)置錯誤,將不能和TL718正常通訊。所有從TL718的響應(yīng)以一個回車符(0X0D)及一個可選的換行符(0X0A)結(jié)束。正確連接,打開電源后。TL718將驅(qū)動測試LED燈,(閃亮3次)后,發(fā)送:

TL718starting

如果正確收到以上信息代表串口及連接設(shè)置正確。第二行“〉”符號代表TL718為空閑狀態(tài),可以立即從RS232接收數(shù)據(jù)。如果沒有收到“〉”符號就向TL718發(fā)送數(shù)據(jù),可能引起數(shù)據(jù)丟失。而發(fā)生不正確的響應(yīng)。PC從串口向TL718發(fā)送的指令格式:TL718有2種格式的命令

1、OBD連接命令,與車輛發(fā)生通訊。

2、內(nèi)部命令,全部以AT開頭,不與輛發(fā)生通訊。發(fā)送必須以0x0d(回車符)結(jié)束的ASCII碼字符,回車符后面的字符被TL718丟棄。TL718內(nèi)部命令以“AT”開頭,后面跟可見字符。不可見字附及空格被忽視。OBD命令只能包含16進(jìn)制的ASCII碼(0-9,a-f,A-F),空格被忽略。如果發(fā)送的指令,不能被TL718有效解釋,TL718將返回一個“?”表明,發(fā)送指令無效。當(dāng)TL718處理OBD命令時,TL718連續(xù)監(jiān)視RTS引腳及RS232輸入,其中任何一個情況發(fā)生,TL718將中斷當(dāng)前的OBD命令,使它快速返回提示符“〉”,等待接收新的命令。大小寫字符都能被TL718接收,空格被忽略。比喻命令“ATZ”、“atz”、“atz”都是一樣的。比喻我們向TL718發(fā)送一個復(fù)位指令只要向RS232串口發(fā)送ASCII字符“ATZ”+0x0d(回車符);TL718Starting>ATZELM327v1.2>注:ATZ指令返回ELM327V1.2是為了使用現(xiàn)成的國外OBD觀軟件,所以用了這個返回信息。返回本芯片信息用“ATI”指令。>ATITL718v1.0>返回芯片編號用"AT@S"指令(這個編號升級硬件和提供保修服務(wù)時需要)>AT@SCodeNumb:98764323>TL718的OBD命令如果你向TL718發(fā)送的指令以16進(jìn)制數(shù)的ASCII開頭,則TL718認(rèn)為是OBD命令,TL718接收后,把成對的ASCII碼16進(jìn)制數(shù)轉(zhuǎn)換成單個字節(jié)的16進(jìn)制數(shù)據(jù)發(fā)送到車輛電腦數(shù)據(jù)總線。OBD命令實際是被嵌入到數(shù)據(jù)消息包內(nèi)后發(fā)送到數(shù)據(jù)總線上的,大多數(shù)標(biāo)準(zhǔn)要求:在每個數(shù)據(jù)消息包內(nèi)包含三字節(jié)的頭及最后一個數(shù)據(jù)校驗字節(jié)。TL718自動添加了這些附加的字節(jié),這些默認(rèn)的值對OBD2診斷模式請求指令都不需要更改,但如果你想要更改這些頭字節(jié)值,可以用內(nèi)部命令“ATSHXXXXXX”更改。

大部分OBD指令長度只有一個字節(jié)或2個字節(jié),TL718充許發(fā)送的最長度是對應(yīng)標(biāo)準(zhǔn)規(guī)定的字節(jié),超出部分將被丟棄。發(fā)出的OBD指令,不能出現(xiàn)單個的數(shù)字,16進(jìn)制數(shù)必須成對發(fā)送,比喻0不可能發(fā)送單個的“0”,必須發(fā)送“00”,如果出現(xiàn)單個數(shù)字,TL718認(rèn)為指令格式錯誤,將返回一個“?”。由于OBD(汽車診斷標(biāo)準(zhǔn))都使用16進(jìn)制,所以TL718接收發(fā)送的數(shù)據(jù)也是16進(jìn)制的。例15的代表的十進(jìn)制值是21;

當(dāng)發(fā)送完OBD2命令后,TL718等待從總線接收OBD消息,如果接收到地址的消息并且地址匹配,則TL718就把數(shù)據(jù)從RS232發(fā)送給PC,如果TL718接收到的消息和發(fā)送的地址不匹配,則忽略該消息。但也可以通過ATBD內(nèi)部命令查看該接收到的消息包。如果直到等待時間(P2MAXATST命令的設(shè)置值,默認(rèn)值100ms)結(jié)束,沒有接收到匹配地址的數(shù)據(jù),則TL718返回“NODATA”,如果接收到數(shù)據(jù)并且地址匹配則復(fù)位計時間,繼續(xù)等待,直到等待時間溢出。OBD2標(biāo)準(zhǔn)診斷模式開發(fā)OBD2診斷程序,必須掌握ISO15031-5(SAEJ1979)定義的九種診斷模式,對于英文不是很好的朋友,本站有個中文的說明:可以參考:OBD2的九種診斷模式

更詳細(xì)的內(nèi)容,還是要看ISO15031-5標(biāo)準(zhǔn)文本,15031–5給出了可供選擇的所有參數(shù)的標(biāo)準(zhǔn)定義,包括存儲格式、單位和文字描述等信息。每個參數(shù)都有一個參數(shù)標(biāo)識(PID)與之相對應(yīng)。OBD系統(tǒng)輸出信息的模式/服務(wù)Mode1:請求動力系當(dāng)前數(shù)據(jù)Mode2:請求凍結(jié)禎數(shù)據(jù)Mode3:請求排放相關(guān)的動力系診斷故障碼Mode4:清除/復(fù)位排放相關(guān)的診斷信息Mode5:請求氧傳感器監(jiān)測測試結(jié)果Mode6:請求非連續(xù)監(jiān)測系統(tǒng)OBD測試結(jié)果經(jīng)Mode魯7:請求腦連續(xù)監(jiān)測系溜統(tǒng)OBD測六試結(jié)果鄰Mode次8:請求擾控制車載系煌統(tǒng),測試或館者部件劇貍Mode肆9:讀車凱輛和標(biāo)定識己別號獸每個模式后乞面緊跟一個鑄參數(shù)標(biāo)識(遠(yuǎn)PID)表追示后面是什柏么參數(shù),優(yōu)每個模式的喇PID0筍0是IS垮O1503票1定義專用創(chuàng)的參數(shù),每銜個符合標(biāo)準(zhǔn)臣的電腦必須佛支持這個參修數(shù)標(biāo)識。代基表該模式對己其他PID當(dāng)是否支持。矩巡抗管用Acce幣sspor夾t進(jìn)行O鏟BD2診斷疾

與車城輛數(shù)據(jù)通訊薯OBD2命蠻令的格式榆1、額籠塌

上圖是O悉BD2的診指斷指令的消誰息包的完整推格式(極大牙部分廠商專票用的功能也云是這種格式糟),TL7辮18能自動作設(shè)定了He防ader/歸ID/PC陪I/CHE設(shè)CKSUM幸這部分?jǐn)?shù)據(jù)蟻,對于標(biāo)準(zhǔn)咳的OBD2帳診斷程序你春都幾乎不用圣關(guān)心修改它鹿。想了解有異關(guān)內(nèi)容,它阻們分別定義盲在ISO1榨4230-含2、J18屠50、I做S9141斬-2和I致SO157拜65-2數(shù)陸據(jù)鏈層定義拐的文本內(nèi)。雹珠

TL7慎18自動檢拿測數(shù)據(jù)總線豬的物理連接巧,能在協(xié)議膊1-9間自幫動搜尋當(dāng)前玻車輛的協(xié)議煩,搜尋到后瞧自動返回數(shù)釣據(jù)。當(dāng)然也喝可手工設(shè)定找到某個特定階的協(xié)議。T匯L718不較搜尋A-F膊協(xié)議,因為拾A-F協(xié)議估它們沒有象中OBD2一得樣有一個統(tǒng)懷一的ISO頃15031證應(yīng)用層協(xié)議澤,那樣的話冊自動搜索變拿得毫無意義樹。孟2、ISO準(zhǔn)15031圍(SAE珠J1979罪)是應(yīng)用層催的協(xié)議,同忽樣它也不用線關(guān)心使用什厲么樣的物理澤層協(xié)議(T救L718營自動連接)回,你編程時棟只要發(fā)送數(shù)罰據(jù),和接收涉及處理接收菊回來的數(shù)據(jù)擇(計算或顯圖示)。所以斧這么多種物沖理連接,以攪統(tǒng)一標(biāo)準(zhǔn)規(guī)杠定的數(shù)據(jù)包鹿來發(fā)送接收零,我們編程防處理變得相敢對簡單。下踏面我們來討范論OBD2聾指令。至3、這里我綠們只要關(guān)心臭數(shù)據(jù)消息包樣的7字節(jié)數(shù)廉據(jù)(dat有abyt癥e)部分就引可以了朽恭

ISO1荷5031-這5定義:垂延劉

字節(jié)場李貴曠意義堵鐮險

1蒙困

M從ODE

代表請博求數(shù)據(jù)的類矮型躬巾牽

2薪崖垮PID

參數(shù)標(biāo)跳識街念辣

3貓-7

苗授鑼

根據(jù)不卻同的MOD胳E及PID抖ISO1仙5031-霸5有詳細(xì)的倚定義饒尋群采

如屯上圖所示,浙連接好線路唯及打開車匙匙到ON,不談要起動車輛因。不用做任囑何設(shè)定,只撤要你向TL搏718發(fā)送抱指令,TL它718自動凱返回車輛響樹應(yīng)的數(shù)據(jù)。料例1:

圖所示:演“哲0100”上代表ISO辰15031攪-5定義M司ODE0孟1PID賊00指民令。咐聞曲>010挺0傅銅低4100掃BF壯9F酸B99況0栽吊

第嫂1個字節(jié)倍41

代傅表Mod義e01

(01+顯40,標(biāo)準(zhǔn)驢定義)

找字發(fā)

第疲2個字節(jié)打00

代霜表

PI籍D00欺擔(dān)

3葉-6字節(jié)是局車輛發(fā)送回綱來關(guān)于M搶ODE0蒜1PID晝00請懷求返回來的艘數(shù)據(jù)融牛攔表示模式0座0所支持坦其他(PI姨D01--哲-PID3燦2)標(biāo)識的縫按位定義的蜘數(shù)據(jù)1代埋表支持0棒代表不支持架。

塌例2:請波求(讀?。┯拱l(fā)動機水溫魯MODE潮01P墻ID05筐記

我怪們只要簡單鼓的向車輛發(fā)午送0105滿指令括貓秒>0105絞昨古

410誕57B券侍碗侵麥41代表M灰ODE0產(chǎn)1鳥管惜05代表雖PID0愉5中陶繩7B是水溫剩值10進(jìn)掌制數(shù)值是(鄙7*16+械11)12僚3水溫是慰123-4蘿0=80度枝割恨例3:讀測取發(fā)動機轉(zhuǎn)擱速rpm

MODE海01P俘ID切0C脹騎

同樣只要鉗向TL71故8發(fā)送:抹010C案纖錢>01度0C韻置鬼41拾0C帳飽1A趕F8剝翠

1AF爸8是2字節(jié)鐮的16進(jìn)制斃值,轉(zhuǎn)換為想10進(jìn)制數(shù)曾是6904五,每格1/搬4rpm職爛

轉(zhuǎn)速是啦6904/篩4=172涂6rpm平雕姑注:以上數(shù)論據(jù)的轉(zhuǎn)換,麻及格式在I桿SO150峰31-5內(nèi)賣有詳細(xì)定義晨讀OBD2論故障碼(D惠TCsD鴉iagno怒stic隨Troub顫leCo襖des)夫

讀物故障碼是診曠斷儀最常用歐的功能,這孤里只是簡單損的說明一下膠,詳細(xì)內(nèi)容魄請查閱IS把O1503式1-5文本覆

一般壇情況下可直遇接用MOD馬E03讀攜取當(dāng)前故障糠碼,但這里石我們左先用MOD澇E01暖PID0今1讀取現(xiàn)在殘有多少個故倍障碼存在E病CU內(nèi)榴甩彎么

>01愿01御澡

41釋018醫(yī)107浙6504躍乳

>梢催

410彩1前面已彩說明是對M魂ODE0啞1PID悄01的響腎應(yīng)代碼,霧疤

81

代表當(dāng)前扮的故障碼數(shù)級,這個10瞇進(jìn)制數(shù)值是沃129,不洋是代表有1恭29個故障杠碼,盡獵寇

81它慢的最高位M村SB代表回是否點亮故君障指燈,低罵7位代表了鄭故障碼的數(shù)鋸量是蓄館

16進(jìn)制李算法應(yīng)是辰0x81巴&0x營7F呼=0x鈴01所以勞是一個故障頭碼。也可是盯10進(jìn)制數(shù)盡值直接減1供28恐吃圍

即:1篩29-12秋8=1;拐雀荒捷

所以8潛1代表了,愁故障燈點亮撒,有一個故趙障碼,81朋后面的數(shù)據(jù)噸請參考標(biāo)準(zhǔn)茄文本,和讀影故障碼沒有影關(guān)系。大在這個例子活中,TL7碌18只返回年了一行數(shù)據(jù)均,但是如果喜有另外的控沈制模塊也附香合響應(yīng)條件僅,有可能返霧回多行信息象。飼比喻常見的影:發(fā)動機電卷腦和自動波涌箱控制電腦塌同時返回信籍息,就會有罰2行信息,雹要確認(rèn)是哪蓄一個電腦返滴回的是哪一刃行等信息,必須柱設(shè)置返回O留BD消息保腳的三字節(jié)頭違(ATH刪1內(nèi)部命令透打開),查恭看消息頭字盯節(jié)中的第三澡個字節(jié)(源倉地址)確定距是那個電腦立模塊返回的曾消息包。這逐里先不討論種,在另外章徒節(jié)來詳細(xì)討企論,多消息沙包數(shù)據(jù)。妹現(xiàn)在已經(jīng)讀薄了有多少個鞏故障碼,下約一步讀實際課的故障碼是慮什么。巷容得用OBD2蛛診斷模式M播ODE0嫩3讀?。褐话且唵蔚叵蛭疶L718廢發(fā)送03供利價答直

>0顆3襯以

可指能的返回信辣息數(shù)據(jù)如下中:廁梨

4嶼301礙3300阻000呼000芝悄甲臨

注:想如果故障碼歌數(shù)量多于3零或多個電腦惹模塊,會返黑回多行消息警包,巨濱芬跑始43是對M堤ODE0慎3請求的憶響應(yīng)(03拖+40),之另外的6個庫字節(jié)是故障原代碼,2個螞字節(jié)代表一膽個故障碼。城霜這里有3個考代表故障碼濟(jì)的數(shù)據(jù):0版1330財0000浪000,“寄0000”輔是ISO1負(fù)5031在粗這個模式下段返回的填充夾數(shù)據(jù)尾限不是實際的挽故障碼。色他

故鍛障碼含義:育ISO定義舞:二字節(jié)故信障碼(例0艱133)的憶第一個數(shù)如趕下表所示

現(xiàn)在來分毅析上面的故鋪障碼01倚33:晨涼第一個數(shù)字逆“技0”索按上表用“匠P弦0”怒代替。01頂33就代表朱是故障碼P叮0133。盾同樣如果收匙到的是D0襖16則,“纏D”用U1悶代替,則故屋障代碼就時或U1016說;創(chuàng)如果收到是肚1131則便代換后,故晉障代碼是P磨1131。偵

故障久碼的定義,絹詳細(xì)請看:凡SAE穴J2023軟-20駱02裁

注:醉ISO15倡765C班AN故障碼剖消息包和J疤11850凍、ISO9害141I亂SO142會30返回的玩信息有稍不震同,見鈴

編寫程排序時要注意眼,ISO撈15765迫返回的信笑息第二個數(shù)貼據(jù)代表的是麥電腦模塊有匙多少個故障寨碼(DTC烤s),含忘

詳細(xì)看乏ISO15鉤031-5呀內(nèi)定義。兔清除故障代破碼霧

O島BD2診斷字模式MOD勒E04是燈復(fù)位ECU油的一個功能奶,同時也清灶觸故障代碼濾;執(zhí)行后E岡CU將:誤吩司

1、復(fù)位酷故障代碼的款數(shù)量為0樓藝想

2、刪除禿所有的故障扒代碼哭器息

3、刪除寇存儲的凍結(jié)威楨數(shù)據(jù)列支驗

4、刪除管所有O2傳視感器聽測試紡數(shù)據(jù)馳敘畝

5、刪除桿模式MOD敏E06和滔MODE皺07的數(shù)客據(jù)信息稼衰復(fù)位后你的辨汽車由于復(fù)配位了一些

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論