电子信息工程 测控技术与仪器 外文翻译 外文文献 英文文献 SJA1000 独立的CAN控制器应用指南 下载本文

外文出处: Springer-Link电子期刊

附件1:外文资料翻译译文

SJA1000 独立的CAN控制器应用指南

1 介绍

SJA1000是一个独立的CAN控制器,它在汽车和普通的工业应用上有先进的特征。由于它和PCA82C200 在硬件和软件都兼容,因此它将会替代PCA82C200。SJA1000有一系列先进的功能适合于多种应用,特别在系统优化、诊断和维护方面非常重要。

本文是要指导用户设计基于SJA1000 的完整的CAN节点。同时本文还提供典型的应用电路图和编程的流程图。

2 概述

SJA1000 独立的CAN控制器有2个不同的操作模式: BasicCAN模式(和PCA82C200)兼容 PeliCAN模式

BasicCAN模式是上电后默认的操作模式。因此,用PCA82C200开发的已有硬件和软件可以直接在SJA1000上使用,而不用作任何修改。

PeliCAN模式是新的操作模式,它能够处理所有CAN2.0B 规范的帧类型。而且它还提供一些增强功能使SJA1000能应用于更宽的领域。

2.1 CAN 节点结构

通常,每个CAN 模块能够被分成不同的功能块。SJA1000使用[3] [4] [5]最优化的CAN收发器连接到CAN 。收发器控制从CAN控制器到总线物理层或相反的逻辑电平信号。

上面一层是一个CAN 控制器,它执行在CAN规范[8]里规定的完整的CAN协议。它通常用于报文缓冲和验收滤波,而所有这些CAN功能,都由一个模块控制器控制它负责执行应用的功能。例如,控制执行器、读传感器和处理人机接口(MMI)。

如图1所示,SJA1000独立的CAN控制器通常位于微型控制器和收发器之间,大多数情况下这个控制器是一个集成电路。

图1 CAN模块装置

2.2 结构图

下图是SJA1000 的结构图

图2 SJA1000的结构图

根据CAN规范,CAN核心模块控制CAN帧的发送和接收。

接口管理逻辑负责连接外部主控制器,该控制器可以是微型控制器或任何其他器件。经过SJA1000复用的地址/数据总线访问寄存器和控制读/写选通信号都在这

1

里处理。另外,除了PCA82C200已有的BasicCAN功能,还加入了一个新的PeliCAN 功能。因此,附加的寄存器和逻辑电路主要在这块里生效。

SJA1000的发送缓冲器能够存储一个完整的报文(扩展的或标准的)。当主控制器初始化发送,接口管理逻辑会使CAN 核心模块从发送缓冲器读CAN 报文。

当收到一个报文时,CAN核心模块将串行位流转换成用于验收滤波器的并行数据。通过这个可编程的滤波器SJA1000 能确定主控制器要接收哪些报文。

所有收到的报文由验收滤波器验收并存储在接收FIFO。储存报文的多少由工作模式决定,而最多能存储32个报文。因为数据超载可能性被大大降低,这使用户能更灵活地指定中断服务和中断优先级。

3 系统

为了连接到主控制器,SJA1000提供一个复用的地址/数据总线和附加的读/写控制信号。SJA1000可以作为主控制器外围存储器映射的I/O器件。

3.1 SJA1000 的应用

SJA1000 的寄存器和管脚配置使它可以使用各种各样集成或分立的CAN收发器。由于有不同的微控制器接口,应用可以使用不同的微控制器。

图3所示是一个包括80C51微型控制器和PCA82C251收发器的典型SJA1000应用。CAN 控制器功能像是一个时钟源,复位信号由外部复位电路产生。在这个例子里,SJA1000 的片选由微控制器的P2.7口控制。否则,这个片选输入必须接到VSS。它也可以通过地址译码器控制,例如,当地址/数据总线用于其他外围器件的时侯。

图3 典型的SJA1000应用

2

3.2 电源

SJA1000有三对电源引脚,用于CAN 控制器内部不同的数字和模拟模块。 VDD1/VSS1:内部逻辑 (数字) VDD2/VSS2:输入比较器 (模拟) VDD3/VSS3: 输出驱动器 (模拟)

为了有更好的EME性能,电源应该分隔开来。例如为了抑制比较器的噪声,VDD2 可以用一个RC滤波器来退耦。

3.3 复位

为了使SJA1000正确复位,CAN控制器的XTAL1管脚必须连接一个稳定的振荡器时钟(见3.4)节。引脚17的外部复位信号要同步并被内部延长到15个tXTAL。这保证了SJA1000 所有寄存器能够正确复位(见[1] )。要注意的是上电后的振荡器的起振时间必须要考虑。

3.4 振荡器和时钟策略

SJA1000能用片内振荡器或片外时钟源工作。另外CLKOUT管脚可被使能,向主控制器输出时钟频率。图4显示了SJA1000应用的四个不同的定时原理。如果不需要CLKOUT信号,可以通过置位时钟分频寄存器(Clock Off=1)关断。这将改善CAN节点的EME性能。CLKOUT信号的频率可以通过时钟分频寄存器改变:

fCLKOUT = fXTAL / 时钟分频因子(1,2,4,6,8 ,10 ,12 ,14)。 上电或硬件复位后,时钟分频因子的默认值由所选的接口模式(引脚11)决定。如果使用16MHz的晶振,Intel 模式下CLKOUT 的频率是8 MHz, Motorola 模式中复位后的时钟分频因子是12,这种情况CLKOUT会产生1.33MHz的频率。

3