0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >基础知识 > CAN总线研究及应用

CAN总线研究及应用

2017-11-30
类别:基础知识
eye 335
文章创建人 拍明
  CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。

  CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:

  网络各节点之间的数据通信实时性强

  首先,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;

  开发周期短

  CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现像在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。

CAN总线研究及应用.png

  已形成国际标准的现场总线

  另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。

  最有前途的现场总线之一

  CAN 即控制器局域网络,属于工业现场总线的范畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLLS-ROYCE(劳斯莱斯)和JAGUAR(捷豹)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用范围已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。其典型的应用协议有:SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。

  在计算机数据传输领域内,长期以来使用RS-232和CCITTV.24通信标准,尽管它们被广泛地使用,但却是一种低数据速率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模的应用(如工业现场或生产自动化领域)中需采用传统星型拓扑结构,那么安装成本和介质造价都将非常高昂;采用流行的LAN组件及环型或总线型拓扑结构,虽然可以减少电缆长度,但是增加的LAN介质及相关硬件和软件又使其系统造价与星型系统相差无几。所以在最低层次上的确需要设计出一种造价低廉而又能经受工业现场环境的通信系统,现场总线(Field bus)就是在这种背景下产生的。

  二、CAN总线

  控制器局部网(CAN-Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络。CAN的应用范围遍及从高速网络到低成本的多线路网络。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。同时,它可以廉价地用于交通运载工具电气系统中,例如,灯光聚束电气窗口等等以代替所需要的硬件连接。

  CAN总线采用双线串行通信方式,检错能力强,可在高噪声干扰环境中合作。CAN具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络。其可靠性和实时性远高于普通的通信技术。

  三、CAN控件的硬件构成

  由于CAN总线具有通讯速率高,可靠性高,连接方便和性能价格比高等诸多特点,推动其应用开发的迅速发展,其产品正逐步形成系列。下面以PHILIPS82C200为例说明。82C200分为控制寄存器、命令寄存器、状态寄存器、中断寄存器、验收码寄存器、验收屏蔽寄存器、总线定时寄存器、输出控制寄存器、测试寄存器、发送缓存器、接收缓存器和时钟分频寄存器,十三种寄存器。

  四、CAN控制器的初始化

  在初始化之前,应设置输出控制寄存器的复位请求位为高,再设置其它寄存器。控制寄存器设定中断,命令寄存器控制缓存器的接发状态,中断寄存器查询82C200的工作状态,接收码寄存器设定工作地址,接收屏蔽寄存器设定工作形式,总线定时寄存器设定工作频率、采样频率,输出控制寄存器一般为正常输出方式,最后应使复位请求位从高变低,使CAN控制器进入正常工作状态。

  五、CAN的通信协议

  CAN控制器支持四种不同的CAN协议类型:数据帧、远程帧、出错帧和超载帧。具体可参见CAN技术规范2.0a或2.0b以及CAN国际标准ISO11898。这里只介绍一下数据帧。

  CAN中的总线数值为两种互补逻辑数值:显性(表示逻辑“0”)或隐性(表示逻辑“1”)。

  数据帧从一个发送节点传送数据以一个或多个接收节点,一个数据帧由七个不同的位场组成如图1所示:帧起始、仲裁场、控制场、循环冗余校验(CRC)场、应答场、帧结束。

数据帧的结构示意图

  图1 数据帧的结构示意图

  六、CAN协议的分层结构

  CAN协议是一种串行数据通信协议,它可以非常有效地构成分布式实时监测/控制系统。CAN总线规范规定了任意两个CAN节点之间的兼容性,包括电气特性及数据解释协议,它采用了ISO-OSI中的三层网络结构——物理层、数据链路层和应用层。其中应用层可能包含了除物理层和数据链路层外其余四层中的某些功能。它具有简化的网络结构。CAN总线体系结构模式如图2所示。

CAN总线体系结构

  图2 CAN总线体系结构

  七、结束语

  带有CAN通信接口的工业控制产品可通过双绞线接入CAN,这使得CAN的组网和扩展变得容易。目前CAN总线应用研究还在不断深入,随着CAN总线的国际标准化,具有优先权和仲裁权功能,通信速率高,可靠性和实时性高,连接方便和性能价格比高等优点CAN网络将会得到迅速的发展和应用。


责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: CAN

相关资讯