CAN协议学习(一)协议介绍

一、简介

CAN Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议。

在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议。此后,CAN 通过 ISO11898 ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。

现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。

1 是车载网络的构想示意图。CAN 等通信协议的开发,使多种 LAN 通过网关进行数据交换得以实现。

 

二、总线拓扑

CAN控制器用于将欲收发的信息(报文),转换为符合CAN规范的CAN帧,通过CAN收发器,在CAN-bus上交换信息。CAN收发器CAN控制器和物理总线之间的接口,将CAN控制器的逻辑电平转换为CAN总线的差分电平,在两条有差分电压的总线电缆上传输数据。拓扑结构如下。

CAN节点需要发送数据时,控制器把要发送的二进制编码通过CAN_Tx线发送到收发器,然后有收发器把这个普通的逻辑电平转化为差分信号,通过差分线CAN_HighCAN_Low线输出到CAN总线网络。而通过收发器接收总线上的数据到控制器时,则是相反的过程,收发器把总线上收到的CAN_HighCAN_Low信号转化为普通的逻辑电平信号,通过CAN_Rx输出到控制器中。

由于CAN总线协议的物理层只有1对差分线,在一个时刻只能表示一个信号,所以对通讯节点来说,CAN通讯是半双工的,收发数据需要分时进行。

 

 

举例来说,例如某CAN收发器:

CAN_H-CAN_L < 0.5V 时候为隐性的,逻辑信号表现为"逻辑1"- 高电平。

CAN_H-CAN_L > 0.9V 时候为显性的,逻辑信号表现为"逻辑0"- 低电平。

如下表:

 

个人理解,将rxtx上的数字信号转化为canhcanl两根线上的高低电平的好处是能增强传输过程的容错率。

三、网络ISO七层协议中的位置

CAN 协议采用简化OSI参考模型,涵盖了 ISO 规定的 OSI基本参照模型中的传输层、数据链路层及物理层,OSI参考模型如下表所示。其应用层协议由其他高层协议实现,比如CANopenDeviceNet等等。

CAN 协议中关于 ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义下图所示。

 

数据链路层分为 MAC 子层和 LLC 子层,MAC 子层是 CAN 协议的核心部分。数据链路层的功能是将物理层收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程。具体地说,就是消息的帧化、仲裁、应答、错误的检测或报告。数据链路层的功能通常在CAN 控制器的硬件中执行。

在物理层定义了信号实际的发送方式、位时序、位的编码方式及同步的步骤。但具体地说,信号电平、通信速度、采样点、驱动器和总线的电气特性、连接器的形态等均未定义。这些必须由用户根据系统需求自行确定。

四、数据帧格式

通信是通过以下 5 种类型的帧进行的。

• 数据帧

• 遥控帧

• 错误帧

• 过载帧

• 帧间隔

另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有 11 个位的标识符(Identifier: 以下称 ID),扩展格式有 29 个位的 ID

各种帧的用途如下表所示。

 

 

下面具体介绍数据帧格式,包括标准帧格式和拓展帧格式。

CAN 标准帧信息为11个字节,包括两部分:信息和数据部分。前3个字节为信息部分。

 

 

字节1为帧信息。第7位(FF)表示帧格式,在标准帧中,FF0;第6位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧;DLC表示在数据帧时实际的数据长度,范围0-8。

字节23为报文识别码,11位有效。

字节41为数据帧的实际数据,远程帧时无效。

CAN 扩展帧信息为13个字节,包括两部分,信息和数据部分。前5个字节为信息部分。

 

 

字节1为帧信息。第7位(FF)表示帧格式,在扩展帧中,FF1;第6位(RTR)表示帧的类型,RTR=0表示为数据帧,RTR=1表示为远程帧;DLC 表示在数据帧时实际的数据长度,范围0-8。

字节25为报文识别码,其高29位有效。

字节613数据帧的实际数据,远程帧时无效。

 

posted @ 2019-03-28 09:21  lyzhou  阅读(4496)  评论(0编辑  收藏  举报