概述
CAN是在1980年代初所制定的规格,一开始是由罗伯特·博世公司所开发,并在1993年标准化(ISO 11898-1),被广泛的应用在各种车辆与电子设备上。CAN为一序列总线,它提供高安全档次及有效率的即时控制。更具备了调试和优先权判别的机制,在这样的机制下,网络消息的传输变的更为可靠而有效率。CAN亦提供多主控端的架构,这种特色,特别适合使用在主系统或子系统下提供更完整智能网络设备,如感测器及致动器。
CAN是创建在基于信息导向传输协议的广播传输机制(broadcast communication mechanism)上。CAN定义信息的内容,利用消息识别子(message identifier,每个message identifier在整个网络中皆为独一无二的)来定义内容和信息的优先顺位,以进行信息的传递。并非使用指派特定站台地址(station address)的方式。
如此,CAN拥有了高度的弹性调整能力,可以在既有的网络中增加站台而不用在软硬件上作修正与调整的作业。除此之外,信息的传递不是建构在特殊种类的站台上,增加了在升级网络时的便利性。
即时的信息传输(Real-time data transmission)为CAN的特色之一。在即时的运算中,消息传递的优先级应以重要性来分,重要性较高的消息会比较不重要的消息传递的更频繁。
CAN属于总线型结构,采用同步、串行、多主、双向通信数据块的通信方式,不分主从,网络上每一个节点都可以主动发送信息,可以很方便地构成多机备份1。
CAN控制器CAN控制器是CAN的核心,CAN网络的通信和网络协议主要是由它完成。CAN控制器对外部微控器(CPU)来说,是一个存储器映像的I/O设备,它包括了所有控制CAN网络通信的硬件及功能。概括起来主要包括以下8个部分:
①接口管理逻辑(IML),译码CPU命令,分配信息缓冲区,并向CPU提供中断及状态信息
②发送缓冲区(TBF)
③接收缓冲区(RBFO和RBF1)
④位流处理器(BSP),控制缓冲区与CAN总线(串行数据)之间的数据流
⑤位定时逻辑(BTL),控制输出驱动器
⑥收发器控制逻辑(TCL)
⑦错误管理逻辑(EML)
⑧控制器接口逻辑(CIL)与CPU的接口2
特点1.完成对通信数据的成帧处理
CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
2.使网络内的节点个数在理论上不受限制
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识符可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
3.可在各节点之间实现自由通信
CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN总线插卡可以任意插在PCATXT兼容机上,方便地构成分布式监控系统。
4.结构简单
只有2根线与外部相连,并且内部集成了错误探测和管理模块。
5.传输距离和速率
CAN总线特点:(1)数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,靠各个节点信息优先级先后顺序来决定通信次序,高优先级节点信息在134μs通信;(2)多个节点同时发起通信时,优先级低的避让优先级高的,不会对通信线路造成拥塞;(3)通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M);(4)CAN总线传输介质可以是双绞线,同轴电缆。CAN总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用3。
优势CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
1.网络各节点之间的数据通信实时性强
首先,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;
2.开发周期短
CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。
3.已形成国际标准的现场总线
另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。
4.最有前途的现场总线之一
CAN即控制器局域网络,属于工业现场总线的范畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLLS-ROYCE(劳斯莱斯)和JAGUAR(美洲豹)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用范围已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。其典型的应用协议有:SAEJ1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA2000等。
仲裁机制消息的优先权是由消息数据包的message identifier所决定的,identifier的属性则是由系统一开始所给定的二进制数值决定,其数值是不能一直改变的。数值越小,就享有越高的优先顺位。
即时环境中使用的通信协议优点:
1.消息有分优先次序;
2.有限度的消息传递延迟;
3.消息可多重发送、数据确保一致性;
4.可分辨数据是网络发送错误或是设备不正常运作所造成,进而将有问题的网络节点关闭;
CAN base frame一开始是SOF(Start Of Frame),接着是仲裁区Arbitration field(包含identifier和远程传输要求RTR(Remote Transmission Request)),之后的IDE(Identifier Extension)用来分辨是base frame或extended frame。DLC(Data Length Code)记录了data field的大小。
当两种格式同时存在于同一个总线时,11-bit的消息将会拥有比29-bit的消息较高的优先顺位。可支持extended frame的CAN controller可正确的发送base frame与extended frame的消息,但是只支持base frame的controller则无法正确的发送extended frame的消息。
应用领域载客车辆、卡车、巴士
载客与载货电车
轿车与小型货车
航空、航海电子仪器
工厂自动化
工业机械控制
电梯、手扶梯
建筑自动化
医疗仪器与设备
车辆电子变速系统4