什么是CAN总线
CAN 全称为Controller Area Network,即控制器局域网,由德国Bosch 公司最先提出,是国际上应用最广泛的现场总线之一。CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率、高抗电磁干扰性,而且要能够检测出总线的任何错误。当信号传输距离达10Km 时CAN 仍可提供高达50Kbit/s 的数据传输速率。CAN 具有十分优越的特点:
A、较低的成本与极高的总线利用率;
B、 数据传输距离可长达10Km,传输速率可高达1Mbit/s;
C、可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发;
D、节点在错误严重的情况下具有自动退出总线的功能;
E、报文不包含源地址或目标地址仅用标志符来指示功能信息和优先级信息;
基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
首先,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;
其次,CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会出现象在RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。
而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是目前 CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。
它在汽车领域上的应用是最广泛的,世界上一些著名的汽车制造厂商,如BENZ(奔驰)、BMW(宝马)、PORSCHE(保时捷)、ROLLS-ROYCE(劳斯莱斯)和JAGUAR(美洲豹)等都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。同时,由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。其典型的应用协议有: SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。