CAN总线,也叫做控制器局域网总线(Controller Area Network),是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,用来取代昂贵而笨重的配电线束。CAN协议使用广泛这一特点使其很快延伸到自动化控制以及工业领域中。
CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
bb55354ea91a4a37bc9494cd03555e59~noop.image?_iz=58558&from=article.jpg
CAN总线发展史
控制器局域网CAN属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络,是德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线,由于其高性能、高可靠性以及能够检测出产生的任何错误,因而越来越受到人们的欢迎,被广泛应用于诸多领域。
随着CAN总线在各个行业和领域的广泛应用,使得对其的通信格式也提出了更严格的要求。1991年CAN总线技术规范(Version2.0)制定并发布。该技术规范共包括A和B两个部分。其中2.0A给出了CAN报文标准格式,而2.0B给出了标准的和扩展的两种格式。
美国的汽车工程学会SAE在2000年提出了J1939协议,此后该协议成为了货车和客车中控制器局域网的通用标准。传统的CAN是基于事件触发的,信息传输时间的不确定性和优先级反转是它固有的缺陷。当总线上传输消息频率不高时,这些缺陷相对影响较小;但随着发送频率的不断增加,性能会急剧下降。
为了满足汽车控制对实时性和传输消息密度不断增长的需要,改善CAN总线的实时性能非常必要。于是,传统CAN与时间触发机制相结合产生了TTCAN(Time-Triggered CAN),ISO11898-4己包含了TTCAN。 TTCAN总线和传统CAN总线系统的区别是:总线上不同的消息定义了不同的时间槽(Timer Slot)。
CAN总线的工作原理
CAN总线使用串行数据传输方式,1Mb/s的速率可以在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。
CAN总线特征
1、报文:总线上的数据以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文。
2、信息路由:在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。
3、标识符:指要传送的报文的特征标识符,它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。
4、数据一致性:应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。
5、位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。
6、优先权:由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。
7、远程数据请求:通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。
CAN总线的特点
1、实时性强、传输距离远、抗电磁干扰能力强、成本低;
2、采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
3、具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到总线上;
4、可根据报文的ID决定接收或屏蔽该报文;
5、可靠的错误处理和检错机制;
6、发送的信息遭到破坏后,可自动重发;
7、节点在错误严重的情况下具有自动退出总线的功能;
8、报文不包含源地址或目标地址,仅用标志符来指示功能、优先级信息。
应用领域
汽车制造
大型仪器设备
工业控制
智能家庭和生活小区管理
机器人网络
自动控制
航空航天
航海
过程工业
机械工业
纺织机械
农用机械
机器人
数控机床
医疗器械及传感器
CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。