微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > CAN总线使用总结

CAN总线使用总结

时间:12-16 来源:互联网 点击:
can总线基本概念

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

CAN总线使用总结

一,can总线是由德国BOSCH公司提出,目的是为了解决汽车内部硬件信号线的复杂走线

二,CAN:controller area area:控制器局域网络

三,can总线的特点:

与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。

1,CAN为多主方式工作,网络上任一节均可在任意时刻主动向网络上其他节点发送信息,不分主从

2,CAN节节点只需通过对报文的标志符进行滤波就可以方便的实现点对点,点对多点及全局广播等

几种传送接收方式;

3,CAN总线采用非破坏总线仲裁技术。当发生冲突时,优先级低的节点自动退出发送,而优先级高

的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在负载很重的情况下,也不

会出现瘫痪情况(以太网则可能)。

4,在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据

最多可在134us内得到传输;

5,CAN的直接通信距离最远可达10KM(速率在5kbps以下),通信速率最高可达1Mbps, 

(此时通信距离最长为40m);

6,CAN上的节点数主要取决于总线驱动电路,目前可达110个;

7,报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低;

8,CAN的每帧信息都在CRC校验及其他检错措施,具有极好的检错效果;

9,CAN的通信介质为双绞线、同轴电缆或光纤,选择灵活;

10,CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响;

11,CAN总线具有较高的性价比。

四,can总线的系统构成及数据传输原理

(一),系统构成

1,CAN控制器:接收来自微控制器的数据,并处理发送给收发器,同时,也接收来自收发器的数据,处理传给微控制器。

2,CAN收发器:总线驱动

四,can总线的的通信协议

(一),网络层次结构

可分为三个层:目标层,传送层,物理层,如下图所示

物理层:规定了信号的传输过程中的电气特性(如传输方式及传输介质)及信号特性;

传送层:帧组织,总线仲裁,错误检测等;

目标层:信息识别,为应用层提供接口;

其上述分层按iso/osi也可以分为两层:物理层,数据链路层(即目标层和传送层)。

(二),位表达

CAN协议中有两种逻辑位表达方式

1.当总线线上发送的都是弱位时,总线的状态就是弱位(逻辑1);

2.当总线上有强位出现时,弱位信号让位于强位信号,即总线上显示强位信号(逻辑0);

(三),帧类型

1.数据帧:传送数据,携带数据从一个节点到另一个节点或多个节点,结构如下图(标准格式)所示。

数据帧由7种不同的位域组成:起始域,仲裁域,控制域,数据据域,CRC域,应答域,帧结束域。

起始域:表示数据帧或远程帧的开始,它由一个强位组成,主要用于接收状态下的CAN控制器的硬同

步。

仲裁域:由信息标志符及RTR位组成,当多个CAN控制器同时发送数据时,在仲裁域要进行面向位的

冲突仲裁。对于标准格式里,标志符由11位组成,用于提供信息地址和优先级,其发送的顺序为ID28~ID18

(注:高7位不允许均为弱的现象);对于扩展格式,仲裁域由11位的基本ID(ID28~ID18)和18位

的扩展ID(ID17~ID0)组成,格式与标准格式略有不同,详见书P25。RTR为:远地请求发

送位,数据帧里为显性,远程帧里为隐性。当can总线上接收节点想请求某节点发送数据时,就向网络上发

送一远程帧,用标志符指出节点地址,同时置RTR位为高。如果寻址节点立即发送数据,则使用相同的标

志符,总线不会产生冲突,因为此时数据帧的RTR位为低(数据强位)。在扩展帧里SRR位取代了RTR

位。

控制域:由6个位组成,包括2个保留位(IDE,ro)用于CAN协议扩展,4位数据长度码,允许数据的

长度值为0~8。

数据域:发送缓冲区按照长度码指示的数据长度进行发送,接收的数据同样如此,第一个字节的最高有

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top