型号: PXF0292
浅析CAN总线技术的现状与未来
[摘要] 本文介绍了CAN现场总线的起源及发展,详细分析了CAN总线的网络层次结构、CAN总线的特点及性能。CAN总线具有良好的发展前景。
[关键词] 现场总线CAN网络层次结构,通信协议
>>起源<<
现场总线技术已成为当今工业自动化技术发展的热点。CAN(Controller Area Network)即控制器局域网,是国际上应用最广泛的现场总线之一。CAN是一种多主方式的串行数据通讯总线,基本设计规范要求,有高的位速率,高抗电磁干扰性而且能够检测出产生的任何错误,当信号传输距离达到10Km时,CAN仍可提供高达50Kbps的数据传输速率。作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式CAN已被广泛应用到各个自动化控制领域,例如在汽车工业、航空工业、工业控制、自动控制、智能大厦、电力系统、安全防护等各领域。
>>起源<<
20世纪80年代初期,由于欧洲汽车工业发展发展的需要,最先由德国Bosch公司提出CAN总线方案以解决汽车控制装置间的通信问题。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线。提出CAN总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。于是,他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。Bosch公司于1986年正式公布了这一总线,且命名为CAN总线。1987年Intel公司生产出了首枚CAN控制器(82526)。不久,Philips公司也推出了CAN控制器82C200。1993年CAN成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。
为促进CAN以及CAN协议的发展,1992在欧洲成立了国际用户和厂商协会(CAN in Automation,简称CiA),在德国Erlangen注册,CiA总部位于Erlangen。CiA提供服务包括:发布CAN的各类技术规范,免费下载CAN文献资料,提供CANopen规范DeviceNet规范;发布CAN产品数据库,CANopen产品指南;提供CANopen验证工具执行CANopen认证测试;开发CAN规范并发布为CiA标准。
如今,CAN接口已经被公认为微控制器(Microcontroller)的标准串行接口,应用在各种分布式内嵌系统。该协会已经为全球应用CAN技术的权威。
>> CAN的系统组成<<
CAN总线用户接口简单,编程方便。CAN总线属于现场总线的范畴,CAN总线系统的一般组成模式如图CAN总线系统组成略:网络拓扑结构采用总线式结构。这种网络结构结构简单、成本低,并且采用无源抽头连接,系统可靠性高。通过CAN总线连接各个网络节点,形成多主机控制器局域网(CAN)。信息的传输采用CAN通信协议,通过CAN控制器来完成。各网络节点一般为带有微控制器的智能节点完成现场的数据采集和基于CAN协议的数据传输,节点可以使用带有在片CAN控制器的微控制器,或选用一般的微控制器加上独立的CAN控制器来完成节点功能。传输介质可采用双绞线、同轴电缆或光纤。如果需要进一步提高系统的抗干扰能力,还可以在控制器和传输介质之间加接光电隔离,电源采用DC-DC变换器等措施。这样可方便构成实时分布式测控系统。
>>CAN总线有如下基本特点<<
CAN协议最大的特点是废除了传统的站地址编码,代之以对数据通信数据块进行编码,可以多主方式工作;
CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突;
CAN采用短帧结构,每一帧的有效字节数为8个(CAN技术规范2.0A),数据传输时间短,受干扰的概率低,重新发送的时间短;
CAN的每帧数据都有CRC效验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境中使用;
CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其它操作不受影响;
CAN以点对点、一点对多点(成组)及全局广播集中方式传送和接受数据;CAN总线直接通讯距离最远可达10km/5Kbps,通讯速率最高可达1Mbps/40m
采用不归零码(NRZ—Non-Return-to-Zero)编码/解码方式,并采用位填充(插入)技术。
>>解析CAN协议应用层与应用程序<<
CAN通讯协议,主要描述设备之间的信息传递方式。OSI开放系统互连参考模型将网络协议分为7层,由上至下分别为:应用层、表示层、会话层、传输层、网络层、链路层和物理层。根据ISO/OSI开放系统互连参考模型,为了满足现场设备间通信的实时性要求,CAN规范只在数据链路层和物理层上进行了定义。
MAC子层是CAN协议的核心。它把接收到的报文提供给LLC子层,并接收来自LLC子层的报文。
物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输。
应用层和应用程序是不一样的。应用层是指通讯功能的应用层。它并不定义和描述应用程序参数,它提供的只是通讯功能与应用程序的通讯接口。包括:定义通讯服务、传送过程数据、诊断信息及标定信息。设备监控和网络管理也一般定义为应用层的一部分,有的也将传输层的部分内容纳入应用层实现,比如超过8个字节的数据传输。
应用程序就完全是指控制算法等应用代码。它定义控制算法相关的数据和参数。
在目前ECU开发中,应用程序代码包含了应用层代码。其缺点在于以下三个方面:
1. 应用程序发生变化,必须考查应用层是否还能满足要求。
2. 通讯协议发生变化,整个应用程序及应用层代码都必须重新编译测试。这个问题是造成整车厂在协议开发中不能起主导作用的主要原因之一。所以有很多国内的整车厂有了新的协议,希望某些国外大型供应商实施新协议时会遇到极大的阻碍。一是不愿意做,二是重新开发的费用高昂。
3. 严重阻碍了节点和设计的重用。由于应用程序和应用层融合在一起,难以实现即插即用的效果。
>>基于CAN的较高层协议<<
CAN规范只定义了用于通信的核心部分,没有定义应用层,物理层的定义也不完全。这为其应用提供了较大的灵活性(不过,这也可能成为它的一大缺点)。CAN规范没有定义物理层的驱动器/接收器特性。这便于用户根据具体的应用需求对发送媒体和信号电平进行优化。可根据具体应用环境,用户自行定义CAN的应用层。这便于用户设计适合于特殊领域应用方案。
由于CAN的诸多优点,基于CAN的应用有很多。为了满足不同的应用领域和不同用户的需求,已开发出了很多基于CAN的协议,目前已发展成为工业标准的高层协议有:CAL/CANOpen、DeviecNet、SDS等。CAL/CANOpen最早是由Philip医疗系统开发的,由CiA认可、支持和维护的。它是一种不依赖于应用的应用层协议,已广泛应用于机械制造、铁路、车辆、船舶、制药和食品加工等领域。SDS(Smart Distribution Systems)是由Honeywell Micro Switch开发的,现由Smart Society支持、维护,多应用于智能化楼宇。
>>目前应用状况及其前景<<
由于CAN总线为越来越多不同领域采用和推广,导致要求不同应用领域通信报文的标准化。CAN总线开发系统廉价,OEM用户容易操作,许多国际上大的半导体厂商也积极开发出支持CAN总线的专用芯片,其中有智能CAN芯片,也有非智能CAN控制器、收发器。Motorola公司生产了MC68HC05X4是在68HC05微控制器上加入了CAN模块,也称为MCAN。Philips公司生产了P8XC592微控制器上集成了CAN控制器取代了原来的I2C串行口。Philips还生产82C200独立CAN控制器、82C150即CAN串行链接I/O(SLIO)器件、82C250CAN收发器、P8XCE598带有集成CAN接口的电磁兼容微控制器。Intel公司生产了82527独立CAN控制器,它可通过并行总线与各种微控制器连结,也可通过串口(SP1)与无并行总线控制器如M68HC05连接。
由于CAN总线的高速通信速率、高可靠性、连接方便、多主站、通讯协议简单和高性能价格比等突出优点,深得许多工业应用部门的青睐,其应用由最初的汽车工业迅速发展至数控机床、农业机械、铁路运输、粮情检测、过程测控等各个方面。CAN在国外的发展迅速,奔驰S型轿车采用的就是CAN总线系统;美国商用车辆制造商们也将注意力转向CAN总线;美国一些企业已将CAN作为内部总线应用在生产线和机床上。由于CAN总线可以提供较高的安全性,因此在医疗领域、纺织机械和电梯控制中也得到了广泛应用。
[结尾] CAN总线作为一种可靠的计算机网络总线已在许多先进技术上得到应用,将CAN总线应用于智能传感器中,使传感器获得的信号能通过总线实时地、可靠地、高速而准确地进行传输,使得各汽车计算机控制单元能够通过CAN总线共享所有信息和资源,达到简化布线、减少传感器数量、避免控制功能重复、提高系统可靠性、降低成本、更好地匹配和协调各个控制系统的目的。同时,由于整个智能传感器网络采用全数字化的通信,因此,总线也具有很好的抗干扰能力,是未来智能化传感器和智能化控制网络的发展趋势。
免责声明/版权申明 Passiontech
所有文章为网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果由您自己承担!
本站仅仅提供一个观摩学习的环境,将不对任何资源负法律责任。所有资源请在下载后24小时内删除。
若无意中侵犯到您的版权利益,请来信联系我们,我们会在收到信息三天内给予处理!