can协议2.0中文版
- 格式:pdf
- 大小:6.09 MB
- 文档页数:36


山东中文沂星BMS系统与仪表CAN通信协议(20版)
1、通信规范
通信速率为:250kbps
数据链路层的通信协议主要参考CAN2.0B和J1939的相关规定。
插入网络的每一个节点都有名称和地址,名称用于识别节点的功能和进行地址仲裁,地址用于节点的数据通信
每个节点都至少有一种功能,可能会有多个节点具有相同的功能,也可能一个节点具有多个功能
2、整车网络通讯硬件要求
网络系统支持热拔插。
控制器电源应符合GB/T11858.3标准的规定,设计的VCU(整车控制器)应能在整车实际电压范围内使用;
通信电缆采用屏蔽双绞线(阻燃0.5mm)。
网络的接线拓扑为一个尽量紧凑的线形结构以避免电缆反射。
VCU接入总线主干网的电缆要尽可能短。
为使驻波最小化,节点不能在网络上等间距接入,接入线也不能等长,最小节点距离大于0.1米,且接入线的最大长度应小于1米;
CAN总线要有终端电阻(120 ),终端电阻必须方便安装及拆卸,以便调整;终端电阻安装在总线两端,只能安装2只。
所有通信电缆应尽量离开动力线(0.5m以上)、离开24V控制线(0.1m以上);
电缆屏蔽层在车内连续导通,建议每个部件的网络插座有屏蔽层的接头;
屏蔽线的接地方式有整车布线时选择合适位置单点接地。
3、CAN网络地址分配表:
4、报文格式
••••••
•••••。
CAN 数据总线(CAN BUS)CAN通信技术概述CAN ( Controller Area Network ) 即控制器局域网络。
由于其高性能、高可靠性、及独特的设计,CAN越来越受到人们的重视。
国外已有许多大公司的产品采用了这一技术。
CAN最初是由德国的BOSCH公司为汽车监测、控制系统而设计的。
现代汽车越来越多地采用电子装置控制,如发动机的定时、注油控制,加速、刹车控制(ASC)及复杂的抗锁定刹车系统(ABS)等。
由于这些控制需检测及交换大量数据,采用硬接信号线的方式不但烦琐、昂贵,而且难以解决问题,采用CAN总线上述问题便得到很好地解决。
1993年CAN 成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。
CAN的规范从CAN 1.2 规范(标准格式)发展为兼容CAN 1.2 规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。
CAN总线特点CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN总线特点如下:(1)可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。
(2)网络上的节点(信息)可分成不同的优先级,可以满足不同的实时要求。
(3)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。
(4)可以点对点、一点对多点(成组)及全局广播几种传送方式接收数据。
(5)直接通信距离最远可达10km(速率5Kbps以下)。
(6)通信速率最高可达1MB/s(此时距离最长40m)。
(7)节点数实际可达110个。
(8)采用短帧结构,每一帧的有效字节数为8个。
⼤众CANTP2.0协议说明TP2.0 的应⽤层的数据是根据⼤众KWP2000 定义的,命令定义及数据流格式相同,编程时⽤统⼀的数据转换函数。
对于⼤众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 定义的,命令定义及数据流格式相同,编程时⽤统⼀的数据转换函数。
TP2.0 的链路分析⾸先我们从⼀个仪表系统的CAN 诊断过程来了解CAN 链路。
这个过程是VAS5053 在与AUDIA6L 仪表通讯过程中⽤TL718 ATMA ** 的数据。
仪表系统诊断过程( TL718 ** 到的数据)发送和接收数据数据分析200 07 C0 00 10 00 0301系统诊断触发请求地址码0x07207 00 D0 00 03 5107 01ECU 应答,系统地址码0x0751,0x0300为接收地址,⾼位在后。
751 A0 0F 8A FF 32 FF300 A1 0F 8A FF 4A FF 建⽴命令进⼊系统,并设置T1 /T3。
T1=10*10ms=100ms T3=50*100us=5msT1=10*10ms=100ms T3=10*1ms=10ms第⼀句是建⽴连接的请求,第⼆句是ECU 建⽴应答。
这⼀步是TP2.0 协议定义要求的时间参数及进⼊系统的命令格式。
751 10 00 0210 89 300 B1300 10 00 0250 89 751 B110 是设备发送的报⽂控制字, 1 代表请求ECU 数据,0 是计数值,设备每次请求应将此值加1,在0-F 间循环。