CANBUS协议-物理层及链路层详细分析解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
点。
一个典型的CAN应用于汽车控制的例子如下所示:
CAN的发展历程
CAN 最初出现在80 年代末的汽车工业中,由德国Bosch 公司最 先提出。当时由于消费者对于汽车功能的要求越来越多,而这些功能 的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越 复杂,同时意味着需要更多的连接信号线。提出CAN 总线的最初动机 就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断 增加的信号线。于是他们设计了一个单一的网络总线,所有的外围器 件可以被挂接在该总线上。1993 年,CAN 已成为国际标准 ISO11898(高速应用)和ISO11519 低速应用。由于CAN总线具有很高的
CAN如何工作(一)
CAN 通讯协议主要描述设备之间的信息传递方式。CAN 层的定义 与开放系统互连模型OSI 一致。每一层与另一设备上相同的那一层通 讯,实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物 理层的物理介质互连,CAN 的规范定义了模型的最下面两层:数据链 路层和物理层。物理层:规定通讯介质的物理特性(如电气特性和信 号交换的解释);数据链路层:规定了在介质上传输的数据位的排列 和组织(如数据校验和帧结构)。
命令交互方式(一)
发一帧回一帧 发一帧回多帧 发多帧回一帧
发多帧回多帧
流控制帧说明
命令交互方式(二)
CAN的链路层描述
CAN2.0A标准帧格式 CAN2.0B扩展帧格式 ISO 15765协议数据格式 命令交互方式
CAN2.0A标准帧格式
7 6 5 4 3 2 1 0
字节1
字节2 字节3 字节4 字节5 字节6 字节7 字节8 字节9
FF
ID.2-ID.0 数据1 数据2 数据3 数据4 数据5 数据6
CAN的主要特性
低成本 极高的总线利用率 很远的数据传输距离(长达10Km) 高速的数据传输速率(高达1Mbit/s) 可根据报文的ID决定接收或屏蔽该报文 可靠的错误处理和检错机制 发送的信息遭到破坏后,可自动重发 节点在错误严重的情况下具有自动退出总线的功能 报文不包含源地址或目标地址,仅用标志符来指示功能、优先级信息
RTR
x
ID.10-ID.3
x
x
DLC 数据长度
x x x x
报文识别码
字节10
字节11
数据7
数据8
CAN2.0A标准帧为11个字节,包括信息和数据两部分,前3个字节为信息部分。 字节1 :第7位FF表示帧格式(在标准帧中FF=0,在扩展帧中FF=1);第6位RTR 表示帧的 类型(RTR=0表示为数据帧 RTR=1表示为远程帧);DLC 表示在数据帧时实际的数据长度,上图 中是指从字节4-字节11. 字节2-3 :为报文识别码(过滤ID的高11位) 字节4-11:为数据帧的实际数据,远程帧时无效。
字节1:为帧信息 第7位FF 表示帧格式(在标准帧中FF=0,在扩展帧中FF=1);第6位RTR 表示 帧的类型(RTR=0表示为数据帧 RTR=1表示为远程帧); DLC表示在数据帧时实际的数据长度, 上图中是 指字节6-字节13 字节2-5 为报文识别码(过滤ID的高29位) 字节6-13 为数据帧的实际数据,远2012-2-20
目的
本文档的目的是指导我们熟悉CANBUS通讯协议的物理层及链路层,便于我 们更好的开展有关CANBUS的相关工作。
培训内容
什么是CAN
CAN的发展历程
CAN的主要特性
CAN如何工作
CAN的物理层描述
CAN的链路层描述
什么是CAN
CAN,全称为“Controller Area Network”, 即控制器局域 网,是国际上应用最广泛的现场总线之一。最初,CAN 被设计作为汽 车环境中的微控制器通讯,在车载各电子控制装置ECU 之间交换信 息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、 仪表装备、电子主干系统中,均嵌入CAN 控制装置。 一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。 实际应用中,节点数目受网络硬件的电气特性所限制。例如当使用 Philips P82C250 作为CAN 收发器时,同一网络中允许挂接110 个节
CAN的物理层描述
可分为单线CAN协议和双线CAN协议。单线CAN协议目前主要出现 在GM和OPEL车系里面,1号脚通讯,波特率为33.3K。双线CAN协议常 见的波特率有500K(6/14)、 500K(3/8)、 250K(6/14)、125K(3/11)、 50K(1/9),括号内为通讯脚位。单、双线CAN协议的命令交互格式基 本一致。
ISO 15765协议数据格式(一)
N_AI:地址信息部分 N_PCI:协议控制信息部分 N_Data:数据区
ISO 15765协议数据格式(二)
SF_DL:单帧数据域的字节长度,N_PCI的长度不包括在内 FF_DL:多包数据的数据域字节总长度 SN:多包数据的数据包编号
FS:流控制状态信息
BS:数据块大小(Block Size) STmin:多包数据传输的最小时间间隔
CAN2.0B扩展帧格式
7 字节1 字节2 字节3 字节4 字节5 字节6 字节7 字节8 字节9 字节10 字节11 字节12 字节13 FF 6 RTR 5 x ID.28-ID.21 4 x 3 2 1 0 DLC 数据长度 报文识别码 ID.20-ID.13 ID.12-ID.5 ID.4-ID.0 数据1 数据2 数据3 数据4 数据5 数据6 数据7 数据8 x x x
实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全
防护等领域中得到了广泛应用。
CAN如何工作(二)
CAN 能够使用多种物理介质,例如双绞线、光纤等,最常用的就 是双绞线。信号使用差分电压传送,两条信号线被称为“CAN_H” 和 “CAN_L”, 静态时均是2.5V 左右,此时状态表示为逻辑1 ,也可 以叫做“隐性” 。用CAN_H 比CAN_L 高表示的逻辑0, 称为“显 性”,此时通常电压值为CAN_H =3.5V 和CAN_L = 1.5V 。