下载此beplayapp体育下载

obd诊断程序开发.doc


beplayapp体育下载分类:汽车/机械/制造 | 页数:约9页 举报非法beplayapp体育下载有奖
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该beplayapp体育下载所得收入归上传者、原创者。
  • 3.下载的beplayapp体育下载,不会出现我们的网址水印。
1 / 9 下载此beplayapp体育下载
beplayapp体育下载列表 beplayapp体育下载介绍
该【obd诊断程序开发 】是由【书中金屋】上传分享,beplayapp体育下载一共【9】页,该beplayapp体育下载可以免费在线阅读,需要了解更多关于【obd诊断程序开发 】的内容,可以使用beplayapp体育下载的站内搜索功能,选择自己适合的beplayapp体育下载,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此beplayapp体育下载到您的设备,方便您编辑和打印。如何开发标准的汽车OBD2诊疗程序及有关应用层协议下载开发标准OBD2诊疗程序要准备的资料及硬件1、因TL718已经为你成立了物理层、数据链层和部分应用层的协议,因此只需协议文本,ISO15031-5或SAEJ1979(这两个协议是相同的内容)。OBD2标准应用层???????????2、TL718诊疗接口1套或用TL718芯片自建电路。3、家用PC机电脑一台。4、安装软件:Accessport调试软件及VC++(或VB、BC++等)你喜爱的开发软件。5、符号OBD2标准的汽车发动机电脑一块(或汽车一台)TL718基本信息????TL718经过一个UART串口与单片机、PDA或PCRS232通信,在有的新的PC机上已没有装备RS232串口,能够经过虚构串口实现与TL718通信,例USBTORS232、以太网TORS232、或蓝牙TORS232等等。??????-------????RS232????------??OBD2电缆??----------????|??PC??|<----------->|TL718|<------------>|汽车诊疗口|??????-------??????????------??????????----------??不论使用如何的物理连结,你能够使用超级终端或串口调试工具,直接经过键盘发送和接收字符。在使用串口调试软件前,端口号和正确的波特率。一般为9600波特率(PIN6=0V),或38400波特率(PIN6=VCC,PPOC设置默认值)。串口设置为:8个数据位,校验位:0,停止位1位。假如设置错误,将不可以和TL718正常通信。所有从TL718的响应以一个回车符(0X0D)及一个可选的换行符(0X0A)结束。正确连结,翻开电源后。TL718将驱动测试LED灯,(闪亮3次)后,发送:TL718starting〉假如正确收到以上信息代表串口及连结设置正确。第二行“〉”符号代表TL718为安闲状态,能够立刻从RS232接收数据。假如没有收到“〉”符号就向TL718发送数据,可能惹起数据丢掉。而发生不正确的响应。PC从串口向TL718发送的指令格式:TL718有2种格式的命令、OBD连结命令,与车辆发生通信。、内部命令,所有以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>>注:,因此用了这个返回信息。返回本芯片信息用“ATI”指令。>>返回芯片编号用"******@S"指令(这个编号升级硬件和供给保修服务时需要)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进制,因此TL718接收发送的数据也是16进制的。例15的代表的十进制值是21;当发送完OBD2命令后,TL718等候从总线接收OBD信息,假如接收到地点的信息而且地点般配,则数据从RS232发送给PC,假如TL718接收到的信息和发送的地点不般配,则忽视该信息。但也能够经过TL718ATBD就把内部命令查察该接收到的信息包。假如直到等候时间(P2MAXATST命令的设置值,默认值100ms)结束,没有接收到匹配地点的数据,则TL718返回“NODATA”,假如接收到数据而且地点般配则复位计时间,持续等候,直到等候时间溢出。OBD2标准诊疗模式开发OBD2诊疗程序,一定掌握ISO15031-5(SAEJ1979)定义的九种诊疗模式,对于英文不是很好的朋友,本站有此中文的说明:能够参照:更详尽的内容,仍是要看ISO15031-5标准文本,15031–5给出了可供选择的所有参数的标准定义,包含储存格式、单位和文字描绘等信息。每个参数都有一个参数表记(PID)与之相对应。OBD系统输出信息的模式/服务Mode1:恳求动力系目前数据Mode2:恳求冻结祯数据Mode3:恳求排放有关的动力系诊疗故障码Mode4:消除/复位排放有关的诊疗信息Mode5:恳求氧传感器监测测试结果Mode6:恳求非连续监测系统OBD测试结果Mode7:恳求连续监测系统OBD测试结果Mode8:恳求控制车载系统,测试或许零件Mode9:读车辆和标定辨别名每个模式后边紧跟一个参数表记(PID)表示后边是什么参数,每个模式的PID00是ISO15031定义专用的参数,每个切合标准的电脑一定支持这个参数表记。代表该模式对其余PID能否支持。与车辆数据通信OBD2命令的格式、上图是OBD2的诊疗指令的信息包的完好格式(极大多半厂商专用的功能也是这类格式),Header/ID/PCI/CHECKSUM这部分数据,对于标准的OBD2诊疗程序你都几乎不用关怀改正它。ISO14230-2、J1850、IS9141-2和ISO15765-2数据链层定义的文本内。TL718能自动设定了想认识有关内容,它们分别定义在TL718自动检测数据总线的物理连结,能在协议1-9间自动找寻目前车辆的协议,找寻到后自动返回数据。自然也可手工设定到某个特定的协议。TL718不找寻A-F协议,因为A-F协议它们没有象OBD2相同有一个一致的ISO15031应用层协议,那样的话自动搜寻变得毫无心义。2、ISO15031(SAEJ1979)是应用层的协议,相同它也不用关怀使用什么样的物理层协议(TL718自动连结),你编程时只需发送数据,和接收及办理接回收来的数据(计算或显示)。因此这么多种物理连结,以一致标准规定的数据包来发送接收,我們编程办理变得相对简单。下边我们来议论OBD2指令。3、这里我们只需关怀数据信息包的7字节数据(databyte)部分就能够了ISO15031-5定义:字节意义1MODE代表恳求数据的种类2PID参数表记3-7依据不一样的MODE及PIDISO15031-5有详尽的定义如上图所示,连结好线路及翻开车匙到ON,不要起动车辆。不用做任何设定,只需你向TL718发送指令,TL718自动返回车辆响应的数据。例1:图所示:“0100”代表ISO15031-5定义MODE01PID00指令。>01004100BF9FB990第1个字节41代表Mode01(01+40,标准定义)第2个字节00代表PID003-6字节是车辆发送回来对于MODE01PID00恳求返回来的数据表示模式00所支持其余(PID01---PID32)表记的按位定义的数据1代表支持0代表不支持。例2:恳求(读取)发动机水温MODE01PID05我们只需简单的向车辆发送0105指令>010541057B代表MODE01代表PID057B是水温值10进制数值是(7*16+11)123水温是123-40=80度例3:读取发动机转速rpmMODE01PID0C相同只需向TL718发送:010C>010C410C1AF81AF8是2字节的16进制值,变换为10进制数是6904,每格1/4rpm转速是6904/4=1726rpm注:以上数据的变换,及格式在ISO15031-5内有详尽定义读OBD2故障码(DTCsDiagnosticTroubleCodes)读故障码是诊疗仪最常用的功能,这里不过简单的说明一下,详尽内容请查阅ISO15031-5文本一般状况下可直接用MODE03读取目前故障码,但这里我们先用MODE01PID01读取此刻有多少个故障码存在ECU内>0101>4101前面已说明是对MODE01PID01的响应代码,代表目前的故障码数,这个10进制数值是129,不是代表有129个故障码,81它的最高位MSB代表能否点亮故障指灯,低7位代表了故障码的数目16进制算法应是0x81&0x7F=0x01因此是一个故障码。也但是10进制数值直接减128即:129-128=1;因此81代表了,故障灯点亮,有一个故障码,81后边的数据请参照标准文本,和读故障码没有关系。在这个例子中,TL718只返回了一行数据,但是假如有此外的控制模块也附合响应条件,有可能返回多行信息。比喻常有的:发动机电脑和自动波箱控制电脑同时返回信息,就会有2行信息,要确认是哪一个电脑返回的是哪一行信息,一定设置返回OBD信息保的三字节头(ATH1内部命令翻开),查察信息头字节中的第三个字节(源地点)确立是那个电脑模块返回的信息包。这里先不议论,在此外章节来详尽议论,多信息包数据。此刻已经读了有多少个故障码,下一步读实质的故障码是什么。用OBD2诊疗模式MODE03读取:只需简单地向TL718发送03>03可能的返回信息数据以下:注:假如故障码数目多于3或多个电脑模块,会返回多行信息包,是对MODE03恳求的响应(03+40),此外的6个字节是故障代码,2个字节代表一个故障码。这里有3个代表故障码的数据:,“0000是”ISO15031在这个模式下返回的填凑数据不是实质的故障码。故障码含义:ISO定义:二字节故障码(例0133)的第一个数以下表所示此刻来剖析上边的故障码0133:第一个数字“0按”上表用“P0代”替。0133就代表是故障码P0133。相同假如收到的是D016则,“D”用U1取代,则故障代码就时U1016;假如收到是1131则代换后,故障代码是P1131。故障码的定义,详尽请看:SAEJ2012-2002注:ISO15765CAN故障码信息包和J11850、ISO9141ISO14230返回的信息有略不一样,编写程序时要注意,ISO15765返回的信息第二个数据代表的是电脑模块有多少个故障码(DTCs),详尽看ISO15031-5内定义。消除故障代码OBD2诊疗模式MODE04是复位ECU的一个功能,同时也清触故障代码;履行后ECU将:1、复位故障代码的数目为0、删除所有的故障代码、删除储存的冻结桢数据、删除所有O2传感器听测试数据、删除模式MODE06和MODE07的数据信息复位后你的汽车因为复位了一些数据,短时间内可能会惹起工作异样。为了防备不当心复位ECU,ISO15031-5要求所有的扫描工具(诊疗仪)在发送MODE04指令前,一定加一个“确认信息”。TL718不监督发送信息的内容是不是复位指令。>0444>发送04指令后,车辆ECU接收成攻,将立刻复位以上内容,并发回一个MODE04的响应信息44(04+40)。一般的流程:结束语ISO14230ISO9141要求通信前的初始化过程、及连结后要求有一个周期性的握手信号,这些TL718都已经自动达成,OBD2标准的诊疗程序都不用改正。如何改正这些参数:看完这些内容,便可开始你的OBD2开发。实质上厂商专用的诊疗功能程序差不多也是这么简单。为何叫专用,是因为它没有公然应用层的协议。开发时比我们OBD2开发多了一个过程。就是如何用TL718从专用的设施中读得专用的诊疗指令(也就是应用层协议)。在开发专用功能的诊疗仪中议论这个问题。OBD2其余的诊疗模式这里不再说明,诊疗方法都是相同的。详尽内容查察ISO15031-5或SAEJ1979。多试多做你会发现开发诊疗程序本来这样简单。OBD2诊疗程序源代码5.

obd诊断程序开发 来自beplayapp体育下载www.apt-nc.com转载请标明出处.