这是CAN总线

时间:12-02-25 栏目:电子技术 作者:JH单片机 评论:1 点击: 5,320 次



什么是CAN总线,它是个什么东西。其实,很多接触单片机的,或者嵌入式系统的。又或者说你接触过Arduino控制板,那么CAN总线迟早你也要认识的。我呢?也正好了解到,分享一下。

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。

好了,基本明了它的用途。

        CAN总线最早用在汽车电子领域,世界上一些著名的汽车制造厂商都采用CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。由于CAN总线在数据通信方面表现出来的高可靠性、实时性和灵活性,其应用领域已经成汽车电子领域扩展到自动控制、航空航天、航海、工业控制、医疗器械、安全防护等领域。

        CAN总线规范从CAN1.2规范发展为兼容CAN1.2规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。

 

      ♦CAN总线发展史

      1986年,BoschSAE(汽车工程人员协会)大会上提出CAN总线概念;

      1987年,Intel推出第一片CAN控制芯片82526,随后Philips半导体也推出82C200

      1993年,CAN的国际标准ISO11898/ISO11519公布。ISO11898为高速应用,ISO11519为低速应用;

      1994年开始有了国际CAN学术年会ICC。同年,美国汽车工程师协会以CAN为基础制定了SAEJ1939标准,用于卡车和巴士控制和通信网络。

 

     ♦CAN总线特点

      1).可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。

      2).网络上的节点可分成不同的优先级,可以满足不同的实时要求。

      3).采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。

      4).可以点对点,一点对多点及全局广播几种传送方式接收数据。

      5).直接通信距离最远可达10km(速率4Kbps以下)

      6).通信速率最高可达1MB/s(此时距离最长40m)

  使用非屏蔽双绞线传输时,传输速率与传输距离的关系如下图所示。

      7).节点数最多可达110个。

      8).采用短帧结构,每一帧的有效字节数为8个。

      9).每帧信息都有CRC校验及其他检错措施,数据错误率极低。

    10).通信介质可采用双绞线,同轴电缆和光纤,一般采用廉价的双绞线即可。

    11).节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。

 

      ♦CAN总线的仲裁

        CAN总线采用CSMA/CD(Carrier Sense Multiple Access with collision Detect,载波监测多路访问/冲突检测)技术。“载波监测”的意思是指在总线上的每个节点在发送信息报文前都必须监测到总线上有一段时间的空闲状态。“多路访问”的意思是一旦此空闲状态被监测到,那么每个节点都有均等的机会来发送报文。“冲突检测”是指在两个节点同时发送信息时,节点本身首先会检测到出现冲突,然后采取相应的措施来解决这一冲突情况。此时优先级高的报文先发送,低优先级的报文发送会暂停。这就是CAN总线的仲裁,仲裁过程是不会对报文产生破坏的。

       CAN总线上每个设备都有一个11位的ID信息,各设备的优先级是根据其ID来确定的,ID的序号越小,其优先级越高。下图为CAN总线上传输的数据帧格式,从图上可知,传输开始标识符SOF后面紧跟的就是11位标识IDCAN总线就是据此进行仲裁工作的。

      ♦CAN总线的拓扑结构

        CAN总线的拓扑结构如下,CAN hub是用于多分支扩展用的,可以省去。CAN总线和分支的末端都需要垮接一个120欧姆的电阻来终结,防止信号反射。

       ♦CAN总线的逻辑电平

        CAN总线具有两种逻辑状态,隐性和显性。隐性状态下,VCAN_HVCAN_L都被固定为平均电压电平,两者之间的电压差为0;显性状态下,VCAN_HVCAN_L的电平分别为3.5V1.5V,两者差分电压大于2V,如下图所示。

CAN总线的优点

● 具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;

● 采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;

● 具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络;

● 可根据报文的ID决定接收或屏蔽该报文;

● 可靠的错误处理和检错机制;

● 发送的信息遭到破坏后,可自动重发;

● 节点在错误严重的情况下具有自动退出总线的功能;

● 报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

 

     ♦常用CAN总线芯片

      CAN芯片有CAN控制器和CAN收发器,在实际电路中,这两种芯片需要配合起来应用。

常用CAN控制器芯片有:P87C591XAC37SJA1000

常用CAN收发器芯片有:PCA82C250PCA82C251PCA82C252TJA1040TJA1041TJA1050TJA1053TJA1054

 
关于本文作者

爱数电,爱模电;爱单片机,爱嵌入式;爱EDA,也爱DSP; 爱Altium Designer,也爱PCB;爱生活,同时也爱微博…… 一个自动化专业的学生,与志同道合者学习交流!!!

QQ 号码:594420349
腾讯微博:http://t.qq.com/kevin_753

项目合作