新闻中心

EEPW首页>嵌入式系统>设计应用> can总线相关小知识

can总线相关小知识

作者: 时间:2016-12-15 来源:网络 收藏


2.2.2.1SJA1000简介
PHILIPS公司的PCA82C200是符合CAN2.0A协议的总线控制器,SJA1000是它的替代产品,它是应用于汽车和一般工业环境的独立CAN总线控制器。具有完成CAN通信协议所要求的全部特性。经过简单总线连接的SJA1000可完成CAN总线的物理和数据链路层的所有功能。其硬件与软件设计和PCA82C200的基本CAN模式(BesicCAN)兼容。同时,新增加的增强CAN模式(PeliCAN)还可支持CAN2.0B协议。

●管脚及电气特性与独立CAN总线控制器PCA82C200兼容;
●软件与PCA82C200兼容(缺省为基本CAN模式);
●扩展接收缓冲器(64字节FIFO);
●支持CAN2.0B协议;
●同时支持11位和29位标识符;
●位通讯速率为1Mbits/s;
●增强CAN模式(PeliCAN); 7
●采用24MHz时钟频率;
●支持多种微处理器接口;
●可编程CAN输出驱动配置;
●工作温度范围为-40~+125℃。

图2-3 SJA1000引脚配置


SJA1000的功能框图如表1所示,图2-3是其引脚图。SJA1000型独立CAN总线控制器由以下几部分构成;
(1)接口管理逻辑:它接收来自微处理器的命令,控制CAN寄存器的地址,并为微处理器提供中断和状态信息。
(2)发送缓冲器:有13字节长。它位于CPU和位流处理器(BSP)之间,能存储一条将在CAN总线上发送的完整的报文,报文由CPU写入,由SBP读出。
(3)接收缓冲器(RXB、RXFIFO):它是CPU和接收滤波器之间的接口,用来存储从CAN总线接收并通过了滤波的报文。接收缓冲器RXB是提供给CPU可访问的13字节的窗口,这个窗口是属于接收FIFO(RXFIFO)的一部分,共由64字节长。有了这个FIFO,可以在CPU处理一个报文的同时继续接收其他到来的报文。
(4)接收滤波器:它把报文头中的标识符和接收滤波寄存器中的内容进行比较,以判断文报文是否被接收。如果被接收,报文存入RXFIFO。
(5)位流处理器:它是一个控制发送缓冲器、RXFIFO并行数据和CAN总线(串行数据)之间数据的序列发生器,同时它也执行错误检测、仲裁、位填充和CAN总线错误处理功能。
(6)位定时逻辑不:它将SJA1000同步于CAN总线上的位流。
(7)错误管理逻辑:它按照CAN协议完成错误界定。
由于SJA1000与PCA82C2000兼容,因此SJA1000的缺省工作方式即基本CAN模式与82C200相同。下面介绍SJA1000工作在增强CAN模式(PeliCAN)下的寄存器配置。在初始化期间,芯片在复位模式(RESET MODE)时的寄存器配置如表1所列,在工作期间的运行模式(OPERATING MODE)下,部分寄存器的定义将有所更改,具体见表2。


表2 SJA1000寄存器配置(工作模式)


SJA1000的新增功能如下:
(1)支持CAN2.0B协议
SJA1000完全支持CAN2.0B协议,这意味着实现了扩展的振荡器容差和处理扩展帧报文,在基本CAN方式中,仅可发送和接收标准帧报文(11位标识符),若检测到CAN总线上的扩展帧报文(29位标识符),他们将允许,并在确认报文正确后给予应答,但不会产生接收中断。标识符作为报文的名称将被用于接收器的验收滤波过程中,同时在仲裁处理期间,也用来确定总线访问的优先权。标识符二进制数值愈低,其优先权愈高。
(2)扩展的接收缓冲器
利用SJA1000可将原有的PAC82C200双接收缓冲器被接收FIFO替代,并可用来存储来自CAN总线上被接收和滤波的报文,作为CPU能访问的一个FIFO的13字节窗口,接收FIFO总长度为64字节。通过FIFO,CPU可以在处理一个报文的同时接收其它报文。
(3)增强的错误处理能力
在增强CAN模式功能中,SJA1000为增强错误处理功能增加了一些新的特殊功能寄存器,包括:仲裁丢失捕捉寄存器(ALC),出错码捕捉寄存器(ECC),错误警告极限寄存器(EWLR),RX出错计数寄存器(RXERR)和TX出错计数寄存器(TXERR)等。借助于这些错误寄存器可以找到丢失仲裁位的位置,分析总线错误类型和位置,定义错失仲裁位的位置,分析总线错误类型和位置,定义错误警告极限值以及记录发送和接收时出现错误的个数等。
(4)增强的验收滤波功能
SJA1000带有验收滤波器功能,它的作用是自动检查报文中的标识符和数字节。通过设置滤波,与该总线节点不相关的一个报文或一组报文净不被SJA1000所接收,这样可以提高CPU的利用效率。在增强型CAN方式中,SJA1000还增加了单滤波方式和双滤波方式,可以对标准帧和扩展帧实现更复杂的滤波功能


2.2.2.2基于SJA1000的控制电路设计
控制器SJA1000作为本接口电路中的控制部分,应用本设计中,对于SJA1000和单片机的连接,引脚AD0~AD7是和89C51的输出输入脚P0.0~P0.7相接;SJA1000的片选信号脚/CS必须由微控制器的P2.7口控制否则这个片选输入必须接到VSS 也可以通过地址解码控制例如当地址/数据总线用于其他外围器件,ALE对应ALE,读/写输入脚/WR、/RD,/INT和单片机的/INT0连接,由于在该系统中要用到相同的时钟频率,所以我们要时钟信号引脚CLKOUT和单片机的XTAL1脚相连,达到频率一致的目的;而在复位信号的处理,可以在看门狗外围电路的RST信号输出后再通过和非门电路的相连,很好的实现了电路的复位作用。而对于控制器的收发引脚TX0,TX1与RX0,RX1,在本系统中TX0、RX0可和收发器82C250的TXD、RXD接通。同时,在和CPU接口中SJA1000 支持对两个著名的微型控制器系列的直接连接80C51 、68xx 。通过SJA1000 的MODE 引脚可选择接口模式Intel 模式 MODE 高;Motorola 模式 MODE 低。在Intel 模式和Motorola 模式里地址/数据总线和读/写控制信号的连接。本设计中,正是使用Intel模式。对SJA1000的Vdd1~Vdd3电源输入脚,外接上驱动+5V电压;而Vss1~Vss3输出接地。设计中,对SJA1000提供16Mkz的晶振。电路设计如下


图2-4 SJA1000控制电路


2.2.3 CAN总线收发电路设计


2.2.3.1CAN总线收发器82C250介绍
82C250是CAN控制器与物理总线间的接口,可以提供对总线的差动发送和接收能力,与IS011898标准完全兼容,并具有抗汽车环境下的瞬间干扰、保护总线的能力。为了提高系统的可靠性和抗干扰能力,在CAN控制器和CAN收发器之间采用光耦6N137进行隔离
PCA82C250提供对物理总线的符合CAN电气协议的差动发送和接收功能,另外,它具有的电流限制电路,还提供了对总线的进一步的保护功能。通过82C250与物理总线进行连接,可使总线支持多达110个节点的挂接。上图给出PCA82C250的功能方框图。对于CAN控制器及带有CAN总线接口的器件,82C250并不是必须使用的器件,因为多数CAN控制器均具有配置灵活的收发接口并允许总线故障,只是驱动能力一般只允许20~30个节点连接在一条总线上。而82C250支持多达110个节点,并能以1Mbps的速率工作于恶劣电气环境。

图2-5 82C250引脚结构

图2-6 PCA82C250配置
82C250有8个管脚,其封装形式在本设计中采用DIP形式,各引脚功能如表3:


表3 82C250引脚功能说明


表4 82C250真值
从表4中可看出,CAN总线驱动器82C250和RS485驱动器的主要区别在于传输信号的电平上。RS485驱动器的两个输出端分别向总线发送一对相异的电平,即一端为高电平,另一端则为低电平。而82C250输出端的电平不是相异的,在CANH端,它的两个状态是高电平和悬浮状态;而在CANL端,它的两个状态则分别为低电平和悬浮状态,这样一来即使多个节点同时向网络发送数据,也不会像RS485那样发生短路现象。



关键词:can总线小知

评论


技术专区

关闭