CAN总线技术应用研究
现场总线是应用在生产现场、在微机化测量控制设备之间实现双向串行多节点数字通信的系统,是目前计算机技术和信息技术结合的最先进成果,它继承了DCS和其它自动化控制系统的优点和先进经验,创造了更加完备、更加开放、更加集约的控制系统,是当今自动化领域技术发展的热点之一,CAN总线为分布式控制系统中各节点之间实时、可靠的数据通信的实现提供了强有力的支持。现场总线控制系统势必会逐步引领现代工业系统控制的发展方向,最终会得到各个行业的广泛应用。
控制器局域网络CAN(Control Area Network)总线是能够有效支持分布式控制或实时控制的串行通信网络,具有结构简单、通信灵活、实时性高、可靠性高、较强的抗干扰性以及良好的错误检测能力,近年来备受关注,被广泛应用于环境温度恶劣、电磁辐射强和振动大的工业环境以及工业自动化、交通工具、医疗领域等各行各业的工业现场。CAN总线以其优越的性能,必定会得到更多的重视,成为最流行的现场总线之一,在更多领域得到更大的应用,为工业生产以及人们的生活提供更多的便利。
1 CAN总线
为满足用户对安全性、舒适性、方便性等的要求,越来越多的电子控制系统在当前的汽车产业中被开发出来,并得到了广泛的应用。各系统所使用数据类型的不同以及对可靠性的要求不同,给系统间的通信带来了很大的困难。1986年德国电气商Bosch(博世)公司为解决汽车众多控制设备与仪器仪表之间的数据交换提出了一种串行通信协议即CAN(Control Area Network)总线。CAN总线采用双绞线、同轴电缆或光纤作为传输介质,通讯速率为1 Mb/s,当信号传输距离达到10km时,CAN仍可提供高达50kbit/s的数据传输速率。CAN总线具有低成本、高速度、高抗电磁干扰性、优越的检错、纠错能力等优点。由于CAN总线卓越的性能,在20世纪90年代的欧洲得到了广泛的重视,并成为研究的热点。
CAN协议的最初版本为1.0版,1990年升级到1.2版,1991年又推出2.0版。CAN 2.0规范分为CAN 2.0A和CAN 2.0B。CAN 2.0A支持标准的11位标识符。CAN 2.0B同时支持标准的11位标识符和扩展的29位标识符,CAN 2.0规范的目的是为了在任何两个基于CAN-bus的仪器之间建立兼容性。CAN协议规定的网络系统结构包括:物理层、数据链路层和应用层,与OSI模型中七层结构的三层相对应。1993年,CAN已成为国际标准IS011898(高速应用,通信速率小于等干1Mbps)和IS011519(低速应用,通信速率小于等于125 Kbps),现在在欧洲已是汽车网络的标准协议。
2 CAN总线的特性
2.1低网络成本,高网络传输率
CAN总线在传输介质上无特殊要求,可以使用双绞线、同轴电缆或光纤。CAN总线的最高通信速率可达1Mb/s,直接通信距离最远可达10km(速率小于5Kb/s)。当信号传输距离达到10km时,CAN仍可提供高达50kb/s的数据传输速率。
2.2网络通信方式灵活
CAN总线采用双线串行通信方式,网络中只有两根导线,新节点可直接挂在总线上,系统扩展灵活,易实现。CAN总线工作方式可分为主从、无主或多主站方式。节点间通信灵活,报文信息不包含源地址或目标地址等节点信息,只用标志符来指示功能信息、优先级信息等。各节点间可直接通信,信息以广播方式进行发布,网络上任一节点可以向网络上其它节点发送信息,所发送报文信息可同时供所有节点接收。
2.3网络通信可靠性、实时高
CAN总线使用非破坏性的总线仲裁技术解决总线竞争,通过预置消息优先级和自动退让的方式解决总线冲突,当多个节点同时向总线发送信息时,优先级低的节点会主动退出发送,而最高优先级的节点享有占有总线的优先权,可以在134μs内得到传输,从而保证了通信的实时性。
CAN总线具有完善的错误检测机制并具有自动重发功能,从而保证了网络通信的高可靠性。CAN总线的错误检测机制包括以下几种方式:对报文进行循环冗余检查(CRC校验),接收站可以通过CRC判断报文是否出错,从而保证报文的正确性。为保证报文格式的正确,CAN总线采取帧检查,通过位场对帧的格式和大小进行检查。应答错误同样被用于CAN总线的错误检测。由接收站通过明确的应答来确认被接收到的帧,如没有应答则表明帧有错误。在检测到发送的信息遭到破坏后,可自动重发。同时信息以报文方式传递,淡化了节点地址的概念,节点的增加或摘除不会对系统运行产生影响。
3 CAN总线的应用及发展前景
由于CAN总线具有低网络成本、高网络安全性、通信实时性和可靠性等特点己广泛应用于工业控制、汽车工业、安全防护等领域。
3.1工业控制
在工业控制系统中,为实现系统的实时通信
现场总线CAN总线工业控 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)