美图欣赏 | 设为首页 | 加入收藏 | 网站地图

当前位置:电脑中国 > 网络 > 通信协议 >

CAN总线基础扫盲讲座

2018-05-09 11:53|来源:未知 |作者:dnzg |点击:
CAN总线作为一种工业界的流行总线广泛应于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等各个行业中,它是是一种多主机局域网,所以这样一种总线的潜力是很巨大的,接下来将写几篇入门的小文章,来介绍一下CAN的学习和开发方法,主要是配合我们的开发板,其实入门还是很容易的,通过这几篇文章如果你能建立起一个初步的概念,能够自己搭起自己的一个节点(包括硬件和软件),那就说明你学会了CAN的基本开发技术,实际的工业现场CAN的开发不是那么简单,包括很多要考虑的因素如隔离、可靠性等,但是我们作为初学者建立起基本的概念还是很重要的,基础一旦打好,等到了实际工作中,就会如鱼得水,所以希望正要或是想开发CAN的朋友们能够喜欢这一系列小文章,如果某一篇甚至是某一句话能够给你带来启迪,那将是我最最高兴的,希望大家踊跃评论或是参与讨论,给我一下写下去的信心,呵呵,可以加入我们的群。下面正题正式开始喽!第一篇,当然要介绍一下什么是“能”总线(CAN总线)呵呵  
一、什么是CAN?  
CAN,全称为“ControllerAreaNetwork”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用PhilipsP82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力.  
二、CAN是怎样发展起来的?  
CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线。提出CAN总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。于是,他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。1993年,CAN已成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN仍可提供高达50Kbit/s的数据传输速率。由于CAN总线具有很高的实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用  
三、CAN简介  
德国Bosch公司为解决现代车辆中众多的控制和数据交换问题,开发出一种CAN(ControllerAreaNetwork)现场总线通信结构。CAN总线硬件连接简单,有良好的可靠性、实时性和性能价格比。CAN总线能够满足现代自动化通信的需要,已成为工业数据总线通信领域中最为活跃的一支。其主要特点是:①CAN总线为多主站总线,各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;②CAN总线采用独特的非破坏性总线仲裁技术,优先级高的节点优先传送数据,能满足实时性要求;③CAN总线具有点对点、一点对多点及全局广播传送数据的功能;④CAN总线上每帧有效字节数最多为8个,并有CRC及其他校验措施,数据出错率极低,万一某一节点出现严重错误,可自动脱离总线,总线上的其他操作不受影响;⑤CAN总线只有两根导线,系统扩充时,可直接将新节点挂在总线上即可,因此走线少,系统扩充容易,改型灵活;⑥CAN总线传输速度快,在传输距离小于40m时,最大传输速率可达1Mb/s;⑦CAN总线上的节点数主要取决于总线驱动电路,在CAN2.0B标准中,其报文标识符几乎不受限制。总之,CAN总线具有实时性强、可靠性高、通信速率快、结构简单、互操作性好、总线协议具有完善的错误处理机制、灵活性高和价格低廉等特点。  
四、CAN总线是怎样工作的?  
CAN通讯协议主要描述设备之间的信息传递方式。CAN层的定义与开放系统互连模型(OSI)一致。每一层与另一设备上相同的那一层通讯。实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。CAN的规范定义了模型的最下面两层:数据链路层和物理层。下表中展示了OSI开放式互连模型的各层。应用层协议可以由CAN用户定义成适合特别工业领域的任何方案。已在工业控制和制造业领域得到广泛应用的标准是DeviceNet,这是为PLC和智能传感器设计的。在汽车工业,许多制造商都应用他们自己的标准。  
7  
应用层  
最高层。用户、软件、网络终端等之间用来进行信息交换。如:DeviceNet  
6  
表示层  
将两个应用不同数据格式的系统信息转化为能共同理解的格式  
5  
会话层  
依靠低层的通信功能来进行数据的有效传递。  
4  
传输层  
两通讯节点之间数据传输控制。操作如:数据重发,数据错误修复  
3  
网络层  
规定了网络连接的建立、维持和拆除的协议。如:路由和寻址  
2  
数据链路层  
规定了在介质上传输的数据位的排列和组织。如:数据校验和帧结构  
1  
物理层  
规定通讯介质的物理特性。如:电气特性和信号交换的解释  
表1OSI开放系统互连模型  
CAN能够使用多种物理介质,例如双绞线、光纤等。最常用的就是双绞线。信号使用差分电压传送,两条信号线被称为“CAN_H”和“CAN_L”,静态时均是2.5V左右,此时状态表示为逻辑“1”,也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑“0”,称为“显形”,此时,通常电压值为:CAN_H=3.5V和CAN_L=1.5V。  
五、CAN有哪些特性?  
CAN具有十分优越的特点,使人们乐于选择。想了想,不想向教科书那样罗嗦很多,就简单概括,也许有些你还不能立刻懂,不过你只要有个印象就行,一些知识直到你用到的时候你才会真正领会!这些特性包括:1、低成本;2、极高的总线利用率;3、很远的数据传输距离(长达10Km);4、高速的数据传输速率(高达1Mbit/s);5、可根据报文的ID决定接收或屏蔽该报文;6、可靠的错误处理和检错机制;7、发送的信息遭到破坏后,可自动重发;8、节点在错误严重的情况下具有自动退出总线的功能;9、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。  
六、Philips制造的CAN芯片有哪些?  
类别  
型号  
备注  
CAN微控制器  
P87C591  
替代P87C592  
CAN独立控制器  
SJA1000  
替代82C200  
(责任编辑:dnzg)