CAN总线及其应用技术

   日期:2006-06-26     来源:长沙国防科技大学 田希晖 张 玘 张连超 罗诗途    评论:0    
1  CAN总线简介及其特点  

     CAN网络(Controller  Area  Network)是现场总线技术的一种,它是一种架构开放、广播式的新一代网络通信协议,称为控制器局域网现场总线。CAN网络原本是德国Bosch公司为欧洲汽车市场所开发的。CAN推出之初是用于汽车内部测量和执行部件之间的数据通信。例如汽车刹车防抱死系统、安全气囊等。对机动车辆总线和对现场总线的需求有许多相似之处,即能够以较低的成本、较高的实时处理能力在强电磁干扰环境下可靠地工作。因此CAN总线可广泛应用于离散控制领域中的过程监测和控制,特别是工业自动化的底层监控,以解决控制与测试之间可靠和实时数据交换。  

CAN总线有如下基本特点:  
*  CAN协议最大的特点是废除了传统的站地址编码,代之以对数据通信数据块进行编码,可以多主方式工作;  
*  CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突;  
*  CAN采用短帧结构,每一帧的有效字节数为8个(CAN技术规范2.0A),数据传输时间短,受干扰的概率低,重新发送的时间短;  
*  CAN的每帧数据都有CRC效验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境中使用;  
*  CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其它操作不受影响; 
*  CAN可以点对点、一点对多点(成组)及全局广播集中方式传送和接受数据;  
*  CAN总线直接通讯距离最远可达10km/5Kbps,通讯速率最高可达1Mbps/40m;  
*  采用不归零码(NRZ—Non-Return-to-Zero)编码/解码方式,并采用位填充(插入)技术。  

2  CAN总线通信介质访问控制方式  

     CAN采用了的3层模型:物理层、数据链路层和应用层。CAN支持的拓扑结构为总线型。传输介质为双绞线、同轴电缆和光纤等。采用双绞线通信时,速率为1Mbps/40 m  ,50Kbps/10km,结点数可达110个。  

    CAN的通信介质访问为带有优先级的CS-MA/CA。采用多主竞争方式结构:网络上任意节点均可以在任意时刻主动地向网络上其它节点发送信息,而不分主从,即当发现总线空闲时,各个节点都有权使用网络。在发生冲突时,采用非破坏性总线优先仲裁技术:当几个节点同时向网络发送消息时,运用逐位仲裁原则,借助帧中开始部分的表示符,优先级低的节点主动停止发送数据,而优先级高的节点可不受影响的继续发送信息,从而有效地避免了总线冲突,使信息和时间均无损失。例如,规定0的优先级高,在节点发送信息时,CAN总线作与运算。每个节点都是边发送信息边检测网络状态,当某一个节点发送1而检测到0时,此节点知道有更高优先级的信息在发送,它就停止发送信息,直到再一次检测到网络空闲。  

    CAN的传输信号采用短帧结构(有效数据最多为8个字节),和带优先级的CS-MA/CA通信介质访问控制方式,对高优先级的通信请求来说,在1Mbps通信速率时,最长的等待时间为0.15ms,完全可以满足现场控制的实时性要求。CAN突出的差错检验机理,如5种错误检测、出错标定和故障界定;CAN传输信号为短帧结构,因而传输时间短,受干扰概率低。这些保证了出错率极低,剩余错误概率为报文出错率的4。7×10-11。另外,CAN节点在严重错误的情况下,具有自动关闭输出的功能,以使总线上其它节点的操作不受其影响。因此,CAN具有高可靠性。.  

    CAN的通信协议主要有CAN总线控制器完成。CAN控制器主要由实现CAN总线协议部分和微控制器接口部分电路组成。通过简单的连接即可完成CAN协议的物理层和数据链路层的所有功能,应用层功能由微控制器完成。CAN总线上的节点即可以是基于微控制器的智能节点,也可是具有CAN接口I/O器件。  

3  应用技术  

1、  系统组成  

     CAN总线用户接口简单,编程方便。CAN总线属于现场总线的范畴,CAN总线系统的一般组成模式如图  CAN总线系统组成略:网络拓扑结构采用总线式结构。这种网络结构结构简单、成本低,并且采用无源抽头连接,系统可靠性高。通过CAN总线连接各个网络节点,形成多主机控制器局域网(CAN)。信息的传输采用CAN通信协议,通过CAN控制器来完成。各网络节点一般为带有微控制器的智能节点完成现场的数据采集和基于CAN协议的数据传输,节点可以使用带有在片CAN控制器的微控制器,或选用一般的微控制器加上独立的CAN控制器来完成节点功能。传输介质可采用双绞线、同轴电缆或光纤。如果需要进一步提高系统的抗干扰能力,还可以 在控制器和传输介质之间加接光电隔离,电源采用DC-DC变换器等措施。这样可方便构成实时分布式测控系统。  

2、  CAN总线的物理层设计  

     CAN总线协议对物理层没有严格定义,给使用者较大的灵活性,同时也给设计者带来了困难。CAN总线物理层的设计原则是:针对CTX0、CTX1的两种输出状态(显性(Daminant)、隐性(Recessive)),总线应具有两种不同电平,接收端呈现(显性、隐性)两种状态,如CAN总线电平示意图略。 这样不要求总线必须是数字逻辑电平,只要是能够呈现两种电平(显性和隐性)的模拟量,满足上述设计原则就可以。  

     总线连接实例(CAN总线物理接口实例图略):(以Philips的CAN芯片为例)CAN控制器芯片的片内输出驱动器和输入比较器可编程,它可方便地提供多种发送类型,诸如:单线总线、双线总线(差分)和光缆总线。它可以直接驱动总线,若网络的规模比较大,节点数比较多,需要外加总线驱动元件,以增大输出电流。如图3采用了CAN收发器作为CAN控制器和物理总线之间的接口,提供向总线的差动发送能力和对CAN控制器的差动接收能力。一般在驱动芯片和CAN控制器之间加入光电耦合器,增加抗干扰能力。CAN总线的速度将由光电耦合器的速度决定。比如:用4N27光耦,因为它的响应速度比较慢,CAN网络的位速度只能达到几十Kbit/s。如果采用6N137高速光电耦合器,CAN网络速度可以达到和电阻网络驱动时的速度一样。另外,物理层的设计要注意电缆的终端阻抗匹配,这直接影响了CAN总线能否正常工作和网络性能。 

3、  应用软件设计  

     CAN控制器其内部硬件实现了CAN总线物理层和数据链路层的所有协议内容,有关CAN总线的通信功能均由CAN控制器自动管理执行。CAN控制器对于CPU来说,是以确保双方独立工作的存储影像外围设备出现的。CAN控制器的地址域由控制段和报文缓存器组成,在初始化向下加载期间,控制段可被编程以配置通信参数。CAN总线上的通信也通过此段由CPU控制,被发送的报文必须写入发送缓存器,成功接收后,CPU可以从接收缓存器读取报文,然后释放它,以备下次使用。对于在片的CAN控制器,它与CPU之间的接口一般借助于4个特殊寄存器:CAN地址寄存器、数据寄存器、控制寄存器、状态寄存器。对于单独的CAN控制器,MCU可以通过其地址/数据总线对其寄存器直接寻址,就像MCU对一般外部RAM寻址一样。通过对这些寄存器编程操作,可很方便控制CAN控制器完成通讯功能。  

    CAN控制器的收发功能均可借助其中断服务执行。图(CAN中断服务程序框图略)给出一个CAN中断服务程序框图。注意在系统软件设计时无论何时CAN总线不应该被永久性的100﹪加载。  

4  目前应用状况及其前景  

     由于CAN总线为越来越多不同领域采用和推广,导致要求不同应用领域通信报文的标准化。为此,1991年9月Philips  Semiconductors制定并发布了CAN技术规范(Version 2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,2.0B给出了标准的和扩展的两种报文格式。此后,1993年11月ISO正式颁布了道路交通运输工具-数字信息交换-高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化,规范化推广铺平了道路。  

     CAN总线开发系统廉价,OEM用户容易操作,许多国际上大的半导体厂商也积极开发出支持CAN总线的专用芯片,其中有智能CAN芯片,也有非智能CAN控制器、收发器。Motorola公司生产了MC68HC05X4是在68HC05微控制器上加入了CAN模块,也称为MCAN。Philips公司生产了P8XC592微控制器上集成了CAN控制器取代了原来的I2C串行口。Philips还生产82C200独立CAN控制器、82C150即CAN串行链接I/O(SLIO)器件、82C250CAN收发器、P8XCE598带有集成CAN接口的电磁兼容微控制器。Intel公司生产了82527独立CAN控制器,它可通过并行总线与各种微控制器连结,也可通过串口(SP1)与无并行总线控制器如M68HC05连接。  

     由于CAN总线的高速通信速率、高可靠性、连接方便、多主站、通讯协议简单和高性能价格比等突出优点,深得许多工业应用部门的青睐,其应用由最初的汽车工业迅速发展至数控机床、农业机械、铁路运输、粮情检测、过程测控等各个方面。CAN在国外的发展迅速,奔驰S型轿车采用的就是CAN总线系统;美国商用车辆制造商们也将注意力转向CAN总线;美国一些企业已将CAN作为内部总线应用在生产线和机床上。由于CAN总线可以提供较高的安全性,因此在医疗领域、纺织机械和电梯控制中也得到了广泛应用。  

5  结束语  

      总之,基于CAN总线的数据通信具有突出的可靠性、实时性和灵活性。CAN作为现场设备级的通信总线,和其他总线相比,具有很高的可靠性和性能价格比,其总线规范已经成为国际标准,被公认为几种最有前途的总线之一。目前,CAN接口芯片的生产厂家众多,协议开放,价格低廉,且使用简单,CAN总线可广泛应用于工业测量和控制领域。 
 
  
  
  
  
 
更多>同类资讯
0相关评论
 
全年征稿 / 资讯合作
 
 
 
推荐资讯
可能喜欢