搜索
您的当前位置:首页基于CAN总线的设计应用

基于CAN总线的设计应用

来源:小侦探旅游网
龙源期刊网 http://www.qikan.com.cn

基于CAN总线的设计应用

作者:席灿江

来源:《中国新通信》2012年第14期

【摘要】CAN总线(Controller Area Network)是控制器局域网,已被广泛应用到众多领域中。本文简要介绍CAN总线的特点和应用。同时结合在实践中遇到的问题,指出在CAN总线应用中需要注意的一些地方。 【关键词】CAN总线

CAN总线是现在应用比较广泛的现场总线之一,它采用串行通讯方式,总线通信率比极高、抗电磁干扰性好并且能检测出通讯中的错误。CAN总线构成比较简单,通过一根双绞线就可以通讯,而且应用灵活,可以很方便的增加或减少节点。CAN总线也已形成国际标准,方便系统对接。 1起源

CAN总线原来是在20世纪80年代初应用于汽车行业,用来解决汽车控制系统之间的通信问题。后来因为CAN总线具有许多优点,逐渐形成了统一规范,随着集成电路的飞速发展,现今CAN总线的应用也越来越容易实现且信价比很高。 2CAN总线特点

(1)CAN总线可以连接多个节点,每个节点都可根据总线访问优先权收发CAN总线上的数据,通过通讯报文里的报文标识符来区分数据。

(2)CAN总线各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性。

(3)CAN总线传输速率高,当信号传输距离达到10Km时,CAN总线仍可提供高达5Kbps的数据传输速率。

(4)CAN总线发送期间丢失仲裁或由于出错而遭破坏的帧可自动重发,同时要是总线上节点出现严重故障可自动关闭输出,使整条总线不受影响。这使CAN总线有良好的可靠性。 (5)CAN总线在不关闭总线情况下即可任意挂接或拆除节点,保证了系统的灵活性和可扩展性;

(6)CAN总线有统一的标准和规范,使总线上各设备之间具有较好的互操作性、互换性和通用性。同时CAN总线也具有标准的通信协议,由CAN控制器芯片及其接口芯片来实现。

龙源期刊网 http://www.qikan.com.cn

3设计应用

简单介绍一种CAN总线的应用。CAN总线控制器采用芯片SJA1000,CAN总线收发器采用芯片PCA82C250。

SJAl000是一种独立的CAN控制器,主要完成CAN总线通信协议的物理层和数据链路层的功能。SJAl000含有控制寄存器、命令寄存器、状态寄存器、中断寄存器和收发寄存器。通过读写这些寄存器来实现对SJAl000的控制;芯片的TX0、TXl、RX0、RXl引脚用于与CAN总线收发器的接口,其基本特性有:

(1)有扩展的接收缓冲器64字节,先进先出(FIFO); (2)支持CAN2.0A和CAN2.0B协议; (3)通信位速率可达1Mbps。

SJAl000有中断输出信号/INT,中断输出信号是低电平有效,通过中断方式完成与CAN控制器的通信。时钟脚XTAL1接入16M时钟,通过示波器检查CLKOUT脚可以判断SJAl000是否初始化正常,ADO…AD7是双向数据/地址端口,连接到处理器上,由处理器对SJA1000初始化,并接受CAN总线数据。处理器可以采用单片机或ETX主板等。在单片机或ETX主板的配套硬盘里编写CAN总线的通信控制程序。通信控制程序应该完成以下功能:初始化SJAl000、按报文格式发送和接收数据、监测寄存器的变化、在通信故障时软件复位等。在控制程序中特别注意监视CAN总线状态,发现CAN总线节点出现严重故障时可软件复位重新初始化该节点。只要不是硬件上故障,重新复位就可以恢复正常。

PCA82C250是用来连接CAN总线控制器和物理总线的接口芯片,接口采用的是双线差分驱动,可以减少传输中的干扰。PCA82C250的TXD、RXD引脚分别接收和发送驱动后的信号;把PCA82C250的VRFF端(约为0.5Vcc)与SJA1000的RXl脚相连,可以简化电路。CANH、CANL引脚接至双绞线或同轴电缆等传输介质,CANH端的状态是高电平或悬浮状态,CANL端是低电平或悬浮状态。使用PCA82C250可以扩大通信距离、提高系统的抗干扰能力、保护总线、降低射频干扰、传输速率高(最高可达1Mbps)、掉电自动关闭输出、可支持多达110个节点相连接、实现热防护等。

CAN总线的报文可以由通信双方约定,主要由几部分组成:报文起始标志;报文标识符;正文数据;CRC校验;报文结尾等。每个节点的报文大致一样,可以设置有一定的优先权,通过报文标识符来决定。

在实际使用中要特别注意几点,一是CAN总线的匹配电阻问题,标准电路匹配电阻是120欧姆,但如果是多个节点的话,可以在最后一个节点的CANH和CANL之间串联一个120欧姆电阻就可以了,如果每个节点都接这匹配电阻,可能会造成通信异常。二是如果因为硬件损坏导致CAN总线整体崩溃,可以通过断开节点的方法来排除故障,硬件损坏主要会对

龙源期刊网 http://www.qikan.com.cn

CANH和CANL的电压造成影响。三是可以做报文数据显示程序,将CAN总线上的所有数据接收下来,通过报文标识符来判断每个节点是否工作正常,这样比较直观。 4结束语

因篇幅问题不能全部显示,请点此查看更多更全内容

Top