页面加载中,请稍候
来源:国外电子元器件发布时间:2019-09-1642浏览
询问 AI摘要:在对CAN总线进行简要介绍的基础上介绍了Philips公司新推出的独立CAN总线控制器SJA1000的特点、内部功能和引脚定义,并对其内部寄存器进行了说明,同时列出了SJA1000的新增功能,最后给出它的典型应用电路。
关键词:CAN总线 接收FIFO 控制器 SAJ1000
1 CAN总线简介
CAN总线(Controller Area Network控制器局域网)是现场总线的一种。它是德国Bosch公司在1986年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通讯总线。CAN总线与其它通信网的不同之处有二:一是报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接收;二是特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。CAN总线具有下列主要特性:
●多主站依据优先机进行总线访问;
●非破坏性的基于优先权的总线仲裁;
●借肋接收滤波的多地址帧传送;
●远程数据请求;
●配置灵活;
●全系统的数据相容性;
●错误检测和出错信令;
●发送期间若丢失仲裁或由于出错而遭破坏的帧可自动重发送;
●暂时错误和永久性故障节点的判别以及故障节点的自动脱离CAN总线。
2 SJA1000的特点
PHILIPS公司的PCA82C200是符合CAN2.0A协议的总线控制器,SJA1000是它的替代产品,它是应用于汽车和一般工业环境的独立CAN总线控制器。具有完成CAN通信协议所要求的全部特性。经过简单总线连接的SJA1000可完成CAN总线的物理和数据链路层的所有功能。其硬件与软件设计和PCA82C200的基本CAN模式(BesicCAN)兼容。同时,新增加的增强CAN模式(PeliCAN)还可支持CAN2.0B协议。SJA1000的主要特性如下:
表1 SJA1000寄存器配置(复位模式)
●管脚及电气特性与独立CAN总线控制器PCA82C200兼容;
●软件与PCA82C200兼容(缺省为基本CAN模式);
●扩展接收缓冲器(64字节FIFO);
●支持CAN2.0B协议;
●同时支持11位和29位标识符;
●位通讯速率为1Mbits/s;
●增强CAN模式(PeliCAN);
●采用24MHz时钟频率;
●支持多种微处理器接口;
●可编程CAN输出驱动配置;
●工作温度范围为-40~+125℃。
3 内部功能及引脚说明
SJA1000的功能框图如图1所示,图2是其引脚图。从图1可以看出,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总线错误处理功能。
表2 SJA1000寄存器配置(工作模式)与表1不同之外
(6)位定时逻辑不:它将SJA1000同步于CAN总线上的位流。
(7)错误管理逻辑:它按照CAN协议完成错误界定。
4 寄存器
由于SJA1000与PCA82C2000兼容,因此SJA1000的缺省工作方式即基本CAN模式与82C200相同。下面介绍SJA1000工作在增强CAN模式(PeliCAN)下的寄存器配置。在初始化期间,芯片在复位模式(RESET MODE)时的寄存器配置如表1所列,在工作期间的运行模式(OPERATING MODE)下,部分寄存器的定义将有所更改,具体见表2。
5 SJA1000的新增功能
5.1 支持CAN2.0B协议
SJA1000完全支持CAN2.0B协议,这意味着实现了扩展的振荡器容差和处理扩展帧报文,在基本CAN方式中,仅可发送和接收标准帧报文(11位标识符),若检测到CAN总线上的扩展帧报文(29位标识符),他们将允许,并在确认报文正确后给予应答,但不会产生接收中断。标识符作为报文的名称将被用于接收器的验收滤波过程中,同时在仲裁处理期间,也用来确定总线访问的优先权。标识符二进制数值愈低,其优先权愈高。
5.2 扩展的接收缓冲器
利用SJA1000可将原有的PAC82C200双接收缓冲器被接收FIFO替代,并可用来存储来自CAN总线上被接收和滤波的报文,作为CPU能访问的一个FIFO的13字节窗口,接收FIFO总长度为64字节。通过FIFO,CPU可以在处理一个报文的同时接收其它报文。
5.3 增强的错误处理能力
在增强CAN模式功能中,SJA1000为增强错误处理功能增加了一些新的特殊功能寄存器,包括:仲裁丢失捕捉寄存器(ALC),出错码捕捉寄存器(ECC),错误警告极限寄存器(EWLR),RX出错计数寄存器(RXERR)和TX出错计数寄存器(TXERR)等。借助于这些错误寄存器可以找到丢失仲裁位的位置,分析总线错误类型和位置,定义错失仲裁位的位置,分析总线错误类型和位置,定义错误警告极限值以及记录发送和接收时出现错误的个数等。
5.4 增强的验收滤波功能
SJA1000带有验收滤波器功能,它的作用是自动检查报文中的标识符和数据字节。通过设置滤波,与该总线节点不相关的一个报文或一组报文净不被SJA1000所接收,这样可以提高CPU的利用效率。在增强型CAN方式中,SJA1000还增加了单滤波方式和双滤波方式,可以对标准帧和扩展帧实现更复杂的滤波功能。
6 应用电路
新闻来源:国外电子元器件,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!

2026-07-09

2026-07-22