第1页共12页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共12页如何开发标准的汽车OBD2诊断程序及相关应用层协议下载开发标准OBD2诊断程序要准备的资料及硬件1、因TL718已经为你建立了物理层、数据链层和部分应用层的协议,所以只要OBD2标准应用层协议文本,ISO15031-5或SAEJ1979(这两个协议是相同的内容)。2、TL718诊断接口1套或用TL718芯片自建电路。3、家用PC机电脑一台。4、安装软件:Accessport调试软件及VC++(或VB、BC++等)你喜欢的开发软件。5、符号OBD2标准的汽车发动机电脑一块(或汽车一台)TL718基本信息TL718芯片的技术数据手册TL718通过一个UART串口与单片机、PDA或PCRS232通讯,在有的新的PC机上已没有装备RS232串口,可以通过虚拟串口实现与TL718通讯,例USBTORS232、以太网TORS232、或蓝牙TORS232等等。-------RS232------OBD2电缆----------|PC|<----------->|TL718|<------------>|汽车诊断口|-----------------------不管使用怎样的物理连接,你可以使用超级终端或串口调试工具,直接通过键盘发送和接收字符。在使用串口调试软件前,首先必须设置正确的COM端口号和正确的波特率。一般为9600波特率(PIN6=0V),或38400波特率(PIN6=VCC,PPOC设置默认值)。串口设置为:8个数据位,校验位:0,停止位1位。如果设置错误,将不能和TL718正常通讯。所有从TL718的响应以一个回车符(0X0D)及一个可选的换行符(0X0A)结束。正确连接,打开电源后。TL718将驱动测试LED灯,(闪亮3次)后,发送:第2页共12页第1页共12页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共12页TL718starting〉如果正确收到以上信息代表串口及连接设置正确。第二行“〉”符号代表TL718为空闲状态,可以立即从RS232接收数据。如果没有收到“〉”符号就向TL718发送数据,可能引起数据丢失。而发生不正确的响应。PC从串口向TL718发送的指令格式:TL718有2种格式的命令1、OBD连接命令,与车辆发生通讯。2、内部命令,全部以AT开头,不与辆发生通讯。发送必须以0x0d(回车符)结束的ASCII码字符,回车符后面的字符被TL718丢弃。TL718内部命令以“AT”开头,后面跟可见字符。不可见字附及空格被忽视。OBD命令只能包含16进制的ASCII码(0-9,a-f,A-F),空格被忽略。如果发送的指令,不能被TL718有效解释,TL718将返回一个“?”表明,发送指令无效。当TL718处理OBD命令时,TL718连续监视RTS引脚及RS232输入,其中任何一个情况发生,TL718将中断当前的OBD命令,使它快速返回提示符“〉”,等待接收新的命令。大小写字符都能被TL718接收,空格被忽略。比喻命令“ATZ”、“atz”、“atz”都是一样的。比喻我们向TL718发送一个复位指令只要向RS232串口发送ASCII字符“ATZ”+0x0d(回车符);TL718Starting>ATZELM327v1.2>注:ATZ指令返回ELM327V1.2是为了使用现成的国外OBD观软件,所以用了这个返回信息。返回本芯片信息用“ATI”指令。第3页共12页第2页共12页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共12页>ATITL718v1.0>返回芯片编号用"AT@S"指令(这个编号升级硬件和提供保修服务时需要)>AT@SCodeNumb:98764323>TL718的OBD命令如果你向TL718发送的指令以16进制数的ASCII开头,则TL718认为是OBD命令,TL718接收后,把成对的ASCII码16进制数转换成单个字节的16进制数据发送到车辆电脑数据总线。OBD命令实际是被嵌入到数据消息包内后发送到数据总线上的,大多数标准要求:在每个数据消息包内包含三字节的头及最后一个数据校验字节。TL718自动添加了这些附加的字节,这些默认的值对OBD2诊断模式请求指令都不需要更改,但如果你想要更改这些头字节值,可以用内部命令“ATSHXXXXXX”更改。大部分OBD指令长度只有一个字节或2个字节,TL718充许发送的最长度是对应标准规定的字节,超出部分将被丢弃。发出的OBD指令,不能出现单个的数字,16进制数必须成对发送,比喻0不可能发送单个的“0”,必须发送“00”,如果出现单个数字,TL718认为指令格式错误,将返回一个“?”。由于OBD(汽车诊断标准)都使用16进制,所以T...