汽車OBD2診斷程序開發(fā)
1、因TL718已經(jīng)為你建立了物理層、數(shù)據(jù)鏈層和部分應(yīng)用層的協(xié)議,所以只要OBD2標(biāo)準(zhǔn)應(yīng)用層協(xié)議文本,ISO15031-5 或 SAE J1979(這兩個(gè)協(xié)議是相同的內(nèi)容)。
2、TL718診斷接口 1 套或用TL718芯片自建電路。
3、家用PC機(jī)電腦一臺。
4、安裝軟件:Accessport調(diào)試軟件及VC++(或VB、BC++等)你喜歡的開發(fā)軟件。
5、符號OBD2標(biāo)準(zhǔn)的汽車發(fā)動機(jī)電腦一塊(或汽車一臺)
準(zhǔn)備好以上這些,你就可以開始你的OBD2標(biāo)準(zhǔn)程序開發(fā)了?。?!
TL718基本信息
TL718通過一個(gè)UART串口與單片機(jī)、PDA或PC RS232通訊,在有的新的PC機(jī)上已沒有裝備RS232串口,可以通過虛擬串口實(shí)現(xiàn)與TL718通訊,例USB TO RS232、以太網(wǎng)TO RS232、或藍(lán)牙 TO RS232等等。
------- RS232 ------ OBD2電纜 ----------
| PC|----------->| TL718|------------>|汽車診斷口|
------- ------ ----------
不管使用怎樣的物理連接,你可以使用超級終端或串口調(diào)試工具,直接通過鍵盤發(fā)送和接收字符。在使用串口調(diào)試軟件前,首先必須設(shè)置正確的COM端口號和正確的波特率。一般為9600波特率(PIN6=0V),或38400波特率(PIN6=VCC,PP OC設(shè)置默認(rèn)值)。串口設(shè)置為:8個(gè)數(shù)據(jù)位,校驗(yàn)位:0, 停止位 1位。如果設(shè)置錯(cuò)誤,將不能和TL718正常通訊。所有從TL718的響應(yīng)以一個(gè)回車符(0X0D)及一個(gè)可選的換行符(0X0A)結(jié)束。正確連接,打開電源后。TL718將驅(qū)動測試LED燈,(閃亮3次)后,發(fā)送:
TL718 starting
〉
如果正確收到以上信息代表串口及連接設(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ā)生通訊。
l發(fā)送必須以0x0d(回車符)結(jié)束的ASCII碼字符,回車符后面的字符被TL718丟棄。
lTL718內(nèi)部命令以“AT”開頭,后面跟可見字符。不可見字附及空格被忽視。
lOBD命令只能包含16進(jìn)制的ASCII碼(0-9,a-f,A-F),空格被忽略。
l如果發(fā)送的指令,不能被TL718有效解釋,TL718將返回一個(gè)“?”表明,發(fā)送指令無效。
l當(dāng)TL718處理OBD命令時(shí),TL718連續(xù)監(jiān)視RTS引腳及RS232輸入,其中任何一個(gè)情況發(fā)生,TL718將中斷當(dāng)前的OBD命令,使它快速返回提示符“〉”,等待接收新的命令。
l大小寫字符都能被TL718接收,空格被忽略。比喻命令“ATZ”、“atz”、“at z”都是一樣的。
比喻我們向TL718發(fā)送一個(gè)復(fù)位指令只要向RS232串口發(fā)送ASCII字符“ATZ”+0x0d(回車符);TL718 Starting注:ATZ指令返回 ELM327 V1.2是為了使用現(xiàn)成的國外OBD觀軟件,所以用了這個(gè)返回信息。
>ATZ
ELM327 v1.2
>
返回本芯片信息用“ATI”指令。>ATI返回芯片編號用 AT@S指令(這個(gè)編號升級硬件和提供保修服務(wù)時(shí)需要)
TL718 v1.0
>>AT@S
CodeNumb:98764323
>
c++相關(guān)文章:c++教程
評論