当前位置:首页 >> 信息与通信 >>

大众CAN TP2.0协议


TL718 使用大众 CAN TP2.0 协议说明

对于大众 CAN TP2.0 协议,由于用 CAN 自定义参数据的方法与 ECU 通讯对编程有一定的 难度,TL718 V1.7 版本新增了 G 号协议,以使通过 PC 串口可方便从大众 CAN 诊断口通讯, 并且由 TL718 自动建立及保持通讯链路。 大众很多 CAN 诊断的车可能通过 ISO15765

进入诊断,这个是 OBD2(ISO15031-5)的诊断 规范,不在这个讨论范围,可用标准的 OBD2 诊断程序诊断,可参考 SCANTOOL 源代码。 CAN TP2.0 是使用 11 位 ID 500KBPS 波特率进行数据通讯的 TP2.0 的应用层的数据是根据大众 KWP2000 定义的,命令定义及数据流格式相同,编程时 定义的,命令定义及数据流格式相同, 用统一的数据转换函数。 用统一的数据转换函数

A. . TP2.0 的链路分析
首先我们从一个仪表系统的 CAN 诊断过程来了解 CAN 链路。 这个过程是 VAS5053 在与 AUDI A6L 仪表通讯过程中用 TL718 ATMA**的数据。 仪表系统诊断过程( **到的数据 仪表系统诊断过程(TL718**到的数据) **到的数据) 发送和接收数据 200 07 C0 00 10 00 03 01 ?207 00 D0 00 03 51 07 01 数据分析 系统诊断触发请求地址码 0x07 ECU 应答,系统地址码 0x0751,0x0300 为接收地址,高位在后。 建立命令进入系统,并设置 T1 /T3。 T1=10*10ms=100ms T3=50*100us=5ms T1=10*10ms=100ms T3=10*1ms=10ms 第一句是建立连接的请求, 第二句是 ECU 建立应答。
这一步是 TP2.0 协议定义要求的时间参数及 进入系统的命令格式。 进入系统的命令格式。

751 A0 0F 8A FF 32 FF ?300 A1 0F 8A FF 4A FF

751 10 00 02 10 89 ?300 B1 ?300 10 00 02 50 89 751 B1

10 是设备发送的报文控制字,1 代表请 求 ECU 数据,0 是计数值,设备每次请 求应将此值加 1,在 0-F 间循环。请求连 接诊断 10 89(KWP2000 定义的数据) 02 是设备发送的数据的长度, 前面的 02 字节 00 不能变。 B1,开始发送多桢数据,序号为 1 高 4 位 B 代表是确认报文, 后面无数据, 设备不需要应答,ECU 会继续发送后面 的数据。1 是序列号,从 1 开始,以后每 次设备请求, ECU 都+1, 0-F 间循环。 在 10,ECU 应答报文控制字节,高位半字 ,

1 代表是数据报文的最后一帧数据, 接收 后需要设备应答,后面是有效的数据, 就是说设备完整接收该报文后,需要在 T3 时间内发送应答报文给 ECU。 低位字 节 0 是一个 0-F 间的计数据值。 如果高位半字是 2, 同样代表该报文是有 效数据,但设备接收到该报文后,应继 续接收后面的报文。 这是只有一个桢的情况 第一字节为 10 诊断议已接收, 751 B1 设备接收后,响应 B1(1 是计数 , 值,是最后一帧接收到的报文的计数值 加 1,在 0-F 间的值。 读版本信息 指令:1A 9B 11 是设备发送的报文控制字,1 代表请 求 ECU 数据,1 是计数值,设备每次请 求应将此值加 1,在 0-F 间循环。请求连 接诊断 1A 9B(KWP2000 定义的数据) 02 是设备发送的数据的长度, 前面的 02 字节 00 不能变。 返回多包数据, 注意 ECU 前面一条响应 已经发回过一个数据包,所以这个计数 据值为 B2,同样后面的流数据从 21 开 始,因为前条指令已发了一条。 30 0x30=48 是数据的总长度,阴影部分 总长

751 11 00 02 1A 9B

?300 B2 ?300 21 00 30 5A 9B 34 46 30 ?300 22 39 31 30 39 30 30 43 ?300 23 20 20 30 31 32 30 03 ?300 24 00 08 5F 07 EA 05 EC ?300 25 04 74 4B 4F 4D 42 49 ?300 26 49 4E 53 54 52 2E 20 ?300 27 4D 37 33 20 48 31 33 ?300 18 20 751 B9

最后一桢 诊断议已接收,响应 B9(9 是计数据值

751 12 00 04 31 B8 00 00 ?300 B3 ?300 29 00 10 71 B8 01 02 01 ?300 2A03 01 04 01 06 01 07 ?300 1B 01 08 01 0C 751 BC 751 A3 ?300 A1 0F 8A FF 4A FF 751 A3

读功能选择判断协议, 读功能选择判断协议,见协议部分

10 是有效数据的长度,总计 16 字节

空闲帧命令应答, TP2.0 协议规定的格式

?300 A1 0F 8A FF 4A FF

. 注:这里有 2 对计数值是独立的,不要混,1、设备请求计数。 ECU 接收到后确认的确认 应答计数, 是设备的请求值+1。 ECU 发送数据的计数 设备接收完成后的应答计数是 ECU 2、 的发送最后一桢数据的记数值加一。

A. . TL718 如何工作与编程
为了方便 PC 串编程, TL718 已以为你建立了 TP2.0 数据链路部分数据的通讯, 只要使用方便 的 OBD 命令可直接读取,发送数据。 TL718 的诊断过程如下: *************************************************************** >atspg 选择协议 G OK >atiia07 设定触发地址 0x07 为仪表 OK >atsw19 设定链路保持时间 1S OK *************************************************************** >10 00 02 10 89 发送诊断开始命令(11 位 ID 由 TL718 自动设置) 300 B1 ECU 应答 300 10 00 02 50 89 ECU 返回的数据,代表进入诊断成功 ******* 在这过程中 TL718 做了什么?************ 做了什么? 1、TL718 发送了触发命令 2、接收后根据 ECU 的系统自动设置了发送的 11 位 ID ,及接收 ID 3、接着发送了建立连接命令。 4、连接建立后发送了 10 00 02 10 89 的诊断开始命令。 5、接收完成后,自动应答 ECU 接收完成。 就是下列表格内的数据。 接收回来是 ECU 对 1089 请求的应答数据。 6、同时如果总线上在 1S 内没有通讯,TL718 会自动发送链路保持数据,并接收以保持链路

正常。

200 07 C0 00 10 00 03 01 ?207 00 D0 00 03 51 07 01 751 A0 0F 8A FF 32 FF ?300 A1 0F 8A FF 4A FF 751 10 00 02 10 89 ?300 B1 ?300 10 00 02 50 89 751 B1

**************************************************************

下一步你只要跟据需要发送各种请求就可 *************************************************************** >11 00 02 1a 9b 读 ECU 版本信息 300 B2 300 21 00 30 5A 9B 34 46 30 300 22 39 31 30 39 30 30 43 300 23 20 20 30 31 32 30 03 300 24 00 08 5F 08 31 0D EC 300 25 15 7C 4B 4F 4D 42 49 300 26 49 4E 53 54 52 2E 20 300 27 4D 37 33 20 48 31 32 300 18 20 (接收完成后的应答与 TL718 内部自动完成,不用应用程序发送) 应用程序接收到这些数据后应进行重组并处理,取消无用的字节。 *************************************************************** >12 00 04 31 B8 00 00 读菜单功能项 300 B3 300 29 00 10 71 B8 01 02 01 300 2A03 01 04 01 06 01 07 300 1B 01 08 01 0C *************************************************************** >13 00 04 18 00 FF 00 300 B4 读故障码

300 1C 00 0B 58 00 00 00 00 读到 0 个故障码 *************************************************************** 注意:加粗的字节值的变化规律。 注意:加粗的字节值的变化规律。 诊断请求命令时要求计数值加一, 每次发送 OBD 诊断请求命令时要求计数值加一,发送的数据不用包含 CAN 帧内的长度字节,长度字节由 TL718 发送时自动插入。接收时的 帧内的长度字节, 发送时自动插入。 CAN 帧内的长度字节 TL718 自动取消。所以你使用时没用 CAN 定义 帧内的长度字节 自动取消。 的长度字节。 的长度字节。 *************************************************************** >A8 退出诊断,这是 TP2.0 定义的结束指令 退出诊断, NO DATA *************************************************************** >ATPC 发送 ATPC 指令关闭协议 OK ***************************************************************


相关文章:
大众各车型CAN线位置接线方法
大众各车型CAN线位置接线方法_计算机软件及应用_IT/计算机_专业资料。大众各车型CAN线位置接线方法 大众各车型 CAN 线位置接线方法 1. 迈腾 1.1 CAN 线所在位置...
CANopen协议讲解
根据DS301 的内容进行介绍 1、CAN 总线 CAN 标准报文 2、CANopen 应用层协议 ...TPDOs 和RPDOs的最大的数可以被定义为 512。 一个简单的CANopen设备一般支持4...
一例大众轿车动力 CAN 总线系统的故障诊断与排除
一例大众轿车动力 CAN 总线系统的故障诊断与排除钟文浩 (惠州经济职业技术学院 516057) 摘要:本文论述了一例大众 B5 轿车 CAN 总线故障的诊断与排除过程,说明 了...
大众车系CAN数据传输系统原理应用与故障诊断(修改)
大众车系装用博世公司产品,数据总线采用 CAN 协议,这个 协议是由福特、Internet 与博世公司共同开发的高速汽车通信协议 CAN 是(Controller Area Network(控制单元区域...
大众CD机Can bus模拟器 (转帖)_图文
大众CD机Can bus模拟器 (转帖)_计算机硬件及网络_IT/计算机_专业资料。大众 CD...©2016 Baidu 使用百度前必读 | 文库协议 | 网站地图 关闭 ...
第三章 认识大众车系CAN数据总线系统
由于汽车不同控制器对 CAN 总线的性能要求不同, 大众汽车的 CAN 总线系统设定为___、 ___、 ___、___和___五个局域网。 2. 大众汽车的 CAN 网络中,...
CAN总线最全应用
CAN2.0B 为扩展格式),目前应用的 CAN 器件大多...数据通信协议, 其通信接口中集成了 CAN 协议的物理...随着诊断总线的使用,大众集团将逐步淘汰控制器上的 ...
CAN习题
CAN习题_职业教育_教育专区。一、填空 1.通信协议的 3 要素: 2.CAN 协议...() 18、大众车系驱动 CAN 总线系统和舒适 CAN 总线系统中的 CAN-H 和 CAN...
破解大众CD CAN线一小时关机_图文
破解大众CD CAN线一小时关机_交通运输_工程科技_专业资料。很常见的大众 CD 如...大众CAN TP2.0协议 5页 免费 刘线关于大众速腾车促销... 16页 免费 大众...
11 大众汽车总线系统
11 大众汽车总线系统_职高对口_职业教育_教育专区。11 数据总线系统学习目标 ...如图 11-26 所示,按照数据协议的要求,CAN 总线上传输的数据最小单位为一个...
更多相关标签:
tp2.0 can 协议 | tp2.0协议 | 大众tp2.0 | can tp2.0 | 大众can总线协议 | 大众can协议 | can2.0b协议 pdf | can2.0b协议 |