现场总线技术 通信控制器SJA1000

合集下载

SJA1000说明

SJA1000说明

SJA1000--独立CAN控制器
概述
SJA1000是一款独立的控制器,用于汽车和一般工业环境中的控制器局域网络(CAN)。

它是PHILIPS半导体PCA82C200 CAN控制器(BasicCAN)的替代产品。

而且,它增加了一种新的工作模式(PeliCAN),这种模式支持具有很多新特性的CAN 2.0B协议。

特性
和PCA82C200独立CAN控制器引脚兼容;
和PCA82C200独立CAN控制器电气兼容;
PCA82C200模式(即默认的BasicCAN模式);
扩展的接收缓冲器(64字节、先进先出FIFO);
和CAN2.0B协议兼容(PCA82C200兼容模式中的
无源扩展帧);
同时支持11位和29位识别码;
位速率可达1Mbits/s;
PeliCAN模式扩展功能:
--可读/写访问的错误计数器
--可编程的错误报警限制
--最近一次错误代码寄存器
--对每一个CAN总线错误的中断
--具体控制位控制的仲裁丢失中断
--单次发送(无重发)
--只听模式(无应答、无主动的出错标志)
--支持热插拔(软件实现的位速率检测)
--验收滤波器扩展(4字节代码,4字节屏蔽)
--自身信息接收(自接收请求)
24MHz时钟频率;
对不同微处理器的接口;
可编程的CAN输出驱动器配置;
增强的环境温度范围(-40-+125℃)。

SJA1000 独立的CAN控制器应用指南-外文资料翻译

SJA1000 独立的CAN控制器应用指南-外文资料翻译

外文资料翻译译文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复用的地址/数据总线访问寄存器和控制读/写选通信号都在这里处理。

CAN-bus现场总线基础教程【第3章】CAN控制器驱动-SJA1000初始化(11)

CAN-bus现场总线基础教程【第3章】CAN控制器驱动-SJA1000初始化(11)

文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第3章 CAN 控制器驱动1.1 SJA1000初始化1.1.1 初始化流程SJA10000在上电复位后处于复位模式,要使SJA1000能正常收发CAN 帧数据,必须对SJA1000进行初始化,SJA1000初始化流程详见图3.1。

1. 进入复位模式SJA1000的配置寄存器只有在复位模式下才能访问,所以必须首先置位模式寄存器的0位,以进入复位模式。

2. 设置模式寄存器模式寄存器用于设置SJA1000工作模式,定义详见表3.1。

表3.1 SJA1000模式寄存器定义RM :复位模式位,置位该位将使SJA1000进入复位模式,清零该位则退出复位模式返回工作模式。

LOM :只听模式位,设置该位后,SJA1000处于只听模式。

只听模式只从CAN 总线接收数据,不能向总线上发送数据也不会产生错误帧。

只听模式常用于自动波特率检测功能,例如在软件里预先定义一个包含所有可能的位频率以及它们的位时序参数的表格,使能SJA1000接收和错误中断,依次尝试表格中的位时序参数,如果在CAN 总线上产生了错误,软件转向下一个位时序参数,在一条信息的成功地接收后,表明软件已经检测到正确的位时序参数。

STM :只检测模式位,设置该位后,SJA1000在发送CAN 帧时不检查应答位,可以实现单个CAN 节点的发送功能。

AFM :验收滤波器模式,设置该位时使用单滤波功能;清零该位时使用双滤波功能。

SM :睡眠模式位,设置该位时,SJA1000进入睡眠模式,降低功耗。

3. 设置时钟分频寄存器时钟分频寄存器用于选择BasicCAN 模式还是PeliCAN 模式、CLKOUT 管脚控制、CAN 输入比较器控制,寄存器的位定义详见表3.2。

表3.2 SJA1000时钟分频寄存器定义4. 设置CAN 波特率波特率是异步串行通信中的重要参数,指每秒钟能发送的数据位元数量,只有相同波特率图3.1 SJA1000初始化流程图文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.的设备才能互相通信,CAN-bus 使用异步串行通信技术,同样需要遵守该规则。

现场总线技术通信控制器SJA1000

现场总线技术通信控制器SJA1000


符号
名称

CMR.7
-
CMR.6
-
CMR.5
-
-
- 保留
-
- 保留
-
- 保留


状态寄存器(SR)
状态寄存器的内容反映SJA1000的状态。状 态寄存器对微控制器来说是只读存储器。提供给 用户以查询的方式来处理数据传输。
各个位的功能如下:

符号
名称



SR.3 TCS 发送完成状态
1 完成;最近的请求发送被成功完成 0 未完成;先前的请求发送仍未被完成
1 清除;清除数据溢出状态位 0 无动作
CMR.2 RRB 释放接收缓冲器
1
释放;释放RXFIFO接收缓冲器中的报 文存储空间
0 无动作
CMR.1 AT
中止发送
1
出现;将取消等待处理的发送请求。 (注:正在进行的发送是不能被中止的)
0 空缺;无动作
CMR.0 TR
发送请求
1 出现;一个报文将被发送 0 空缺;无动作
使能;当一个报文被成功发送或发送缓冲器可 再次被访问时(例如,中止发送命令 1 后),SJA1000发送一个发送中断信号给微控制 器
0 禁止; SJA1000不向微控制器发送中断信号
1
使能;当一个报文被无错接收时,SJA1000发出 一个接收中断信号给微控制器
0 禁止; SJA1000不向微控制器发送中断信号
SJA1000的地址区包括控制段和报文缓冲 器(发送缓冲器和接收缓冲器,见表4-3 BasicCAN地址分配表 )。
BasicCAN地址分配 由AD7~AD0确 定的地址
CAN总 线上的通 信过程也 由微控制 器通过控 制段来控 制

SJA1000独立的CAN控制器应用指南(中文)

SJA1000独立的CAN控制器应用指南(中文)
2 提高的 PCA82C200 功能 部份这些功能在 PCA82C200 里已经生效 但是 在 SJA1000 里 它们在速度 大小和性能方面已得 到提高
3 在 PeliCAN 模式里的增强功能 在 PeliCAN 模式里 SJA1000 支持一些错误分析功能 如支持系统诊断 系统维护 系统优化 而且 这个模式里也加入了对一般 CPU 的支持和系统自身测试的功能 在下面的表中 SJA1000 所有的特征已被列在表里 包括它们在应用中主要的优点
SJA1000 的 CAN2.0B 隐性特征允许 CAN 控制器接收带有 29 位 ID 的信息 高达 21 条信息能被存储在接收 FIFO 中 这延长了最大中断服务时间 避 免了数据溢出
24MHz 时钟频率
较快的处理器访问和更多的位定时选择
接收比较器旁路
缩短间隔延迟 由于一个改进的位定时编程 产生更高的 CAN 总线长度
-1-
广州周立功单片机发展有限公司

在 PeliCAN 模式里强大的功能
CAN2.0B 有效 发送缓冲器 增强的验收滤波器 可读的错误计数器
CAN2.0B 活跃支持带有 29 位 ID 网络扩展应用 用于带有 11 位或 29 位 ID 信息的单个信息发送缓冲器 两个验收滤波器模式 支持 11 位和 29 位 ID 过滤 支持错误分析 在标准相位和在正常操作期间可被用于 诊断 系统维护
68xx C
SJA1000
AD0
A
: :
:
:
AD7
AD7
E
RD
R/W
WR
AS
ALE
GND
MODE
图 5 SJA1000 的 CPU 时钟接口
3.6 物理层接口 为了和 PCA82C200 兼容 SJA1000 包括一个模拟接收输入比较器电路 如果收发器的功能由分立元 件实现 这个集成的比较器就能使用

SJA1000简介2010

SJA1000简介2010

SJA1000简介2010SJA1000简介2010-3-17 5:57:00PCA82C250提供对总线的差动发送和对CAN控制器的差动接收功能,也增大了通信距离,提高了系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI),实现了热防护等功能。

发送子程序负责节点报文的发送,由CAN控制器SJA1000独立完成,将命令寄存器里的发送请求标志置位,即可发送SJA1000发送缓冲区中的报文。

CAN总线及CAN控制器SJA1000简介CAN总线最初是德国Bosch公司在1986 年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种支持分布式实时控制系统的串行数据通讯总线。

CAN总线与其它通信网的显著不同之处在于:(1)报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不收的弃用。

其好处是可线上网下网、即插即用和多站接收。

(2)特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。

另外CAN总线采用短帧结构,借助接收滤波的多地址帧传送,受干扰概率低,每帧信息都有CRC校验及其它检错措施。

响应远程数据请求,配置灵活,具有全系统的数据相容性。

节点数主要取决于总线驱动电路,目前最多可达110个节点。

CAN总线符合ISO11898标准,通信速率高,最大传输速率可达1Mbit/S,最大传输距离为10km,传输介质可为双绞线。

基于CAN总线以上的特点,把它应用于系统分布比较分散且需要在同一总线上挂接多个节点的场合是非常适合的。

目前广泛流行的CAN总线器件有两大类:一类是独立的CAN控制器,如PhilipS 公司的PCA82C200,SJA1000及Intel82256/82257等;另一类是带有在片CAN的微控制器,如P8XC582等。

其中Philips公司的PCA82C200是符合CAN2. 0A协议的总线控制器,SJA1000是它的替代产品,它是应用于汽车和一般工业环境的独立CAN总线控制器。

sja1000t芯片功能原理

sja1000t芯片功能原理

sja1000t芯片功能原理
SJA1000T芯片是一种控制器局域网络(CAN)控制器,用于
实现CAN总线通信。

SJA1000T芯片的主要功能和原理如下:
1. 硬件通信:SJA1000T芯片通过CAN收发器与CAN总线进
行物理层通信,从而实现CAN总线上的数据传输。

2. 报文传输:SJA1000T芯片负责CAN总线上的报文传输。

它能够接收CAN总线上的报文,并将其存储在接收缓冲区中,然后根据设定的过滤和屏蔽规则,将符合条件的报文传递给主机CPU。

同时,它也能发送CAN报文,将待发送的报文存储
在发送缓冲区中,并按照CAN协议规定的优先级进行发送。

3. 错误检测和处理:SJA1000T芯片能够对发送和接收的报文
进行错误检测和处理。

它能够检测出传输过程中的位错误、帧错误、CRC错误等,然后将错误信息传递给主机CPU,由主
机CPU进行相应的处理。

4. 时间触发:SJA1000T芯片可以通过设置定时器来触发发送
报文。

这意味着它可以在指定的时间间隔内发送报文,实现定时发送功能。

总而言之,SJA1000T芯片是一种用于实现CAN总线通信的
控制器,它负责CAN总线上的报文传输、错误检测和处理,
并具备定时发送功能。

这使得它成为在汽车、工业控制等领域中广泛应用的CAN总线控制器。

SJA1000简介2010

SJA1000简介2010

SJA1000简介2010-3-17 5:57:00PCA82C250提供对总线的差动发送和对CAN控制器的差动接收功能,也增大了通信距离,提高了系统的瞬间抗干扰能力,保护总线,降低射频干扰(RF I),实现了热防护等功能。

发送子程序负责节点报文的发送,由CAN控制器SJA 1000独立完成,将命令寄存器里的发送请求标志置位,即可发送SJA1000发送缓冲区中的报文。

CAN总线及CAN控制器SJA1000简介CAN总线最初是德国Bosch公司在1986 年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种支持分布式实时控制系统的串行数据通讯总线。

CAN总线与其它通信网的显著不同之处在于:(1)报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不收的弃用。

其好处是可线上网下网、即插即用和多站接收。

(2)特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。

另外CAN总线采用短帧结构,借助接收滤波的多地址帧传送,受干扰概率低,每帧信息都有CRC校验及其它检错措施。

响应远程数据请求,配置灵活,具有全系统的数据相容性。

节点数主要取决于总线驱动电路,目前最多可达110个节点。

CAN总线符合ISO11898标准,通信速率高,最大传输速率可达1Mb it/S,最大传输距离为10km,传输介质可为双绞线。

基于CAN总线以上的特点,把它应用于系统分布比较分散且需要在同一总线上挂接多个节点的场合是非常适合的。

目前广泛流行的CAN总线器件有两大类:一类是独立的CAN控制器,如PhilipS公司的PCA82C200,SJA1000及Intel82256/82257等;另一类是带有在片CAN的微控制器,如P8XC582等。

其中Philips公司的PCA82C200是符合CAN 2. 0A协议的总线控制器,SJA1000是它的替代产品,它是应用于汽车和一般工业环境的独立CAN总线控制器。

SJA1000中文资料免费

SJA1000中文资料免费

2. 总体说明
SJA1000 是一种独立控制器 用于移动目标和一般工业环境中的区域网络控制 CAN 它是 PHILIPS 半导体 PCA82C200 CAN 控制器 BasicCAN 的替代产品 而且 它增加了一种新的工作模式 PeliCAN , 这种模式支持具有很多新特性的 CAN 2.0B 协议
XTAL1 9
SJA1000
22 VDD1 21 VSS2 20 RX1
XTAL2 10
19 RX0
MODE 11 VDD3 12
TX0 13
18 VDD2 17 RST 16 INT
TX1 14
15 VSS3
图 2 引脚配置 DIP28
图 3 引脚配置 SO28
6 功能说明
6.1 CAN 控制模块的说明 6.1.1 接口管理逻辑 IML 接口管理逻辑解释来自 CPU 的命令 控制 CAN 寄存器的寻址 向主控制器提供中断信息和状态信息 6.1.2 发送缓冲器 TXB 发送缓冲器是 CPU 和 BSP 位流处理器 之间的接口 能够存储发送到 CAN 网络上的完整信息 缓 冲器长 13 个字节 由 CPU 写入 BSP 读出 6.1.3 接收缓冲器 RXB RXFIFO 接收缓冲器是验收滤波器和 CPU 之间的接口 用来储存从 CAN 总线上接收和接收的信息 接收缓冲
4. 方框图
ALE/AS, CS, RD/E, WR, CLKOUT, MODE, INT
AD7 to AD0
3 to 7, 11, 16
控制
7 8 地址 数据
2, 1, 28 to 23
SJA1000
接口管理逻辑
信息缓冲器 发送缓冲器
RXFIFO 接收缓冲器
位流处理器 验收滤波器

CAN总线控制器SJA1000详解

CAN总线控制器SJA1000详解

5
TSEG 2.1
4
TSEG 2.0
3
TSEG 1.3
2
TSEG 1.2
1
TSEG 1.1
0
TSEG 1.0
总线定时寄存器1定义了每个位周期的长度、采样 点的位置和每个采样点的采样数目。
6.5 控制段寄存器
• 位周期=同步段(T_syncseg)+采样前段(T_tseg1)+ 采样后段(T_tseg2)
(3)TIE:发送中断允许位,若置位,当一个报文成功发送 或发送缓冲区再次可访问时(如在中止的发送命令后), 将会产生中断,复位时无发送中断产生。
(4)RIE:接收中断允许位,若置位,当一个报文被无误地 接收时将会产生接收中断,复位时无接收中断产生。
6.5 控制段寄存器
(5)RR :复位请求位,该位置位后,SJA1000将会终止 当前报文的接收或发送而进入复位工作状态。
(5) TCS: 发送完成标志,“1”表示上次的发送已成功完成。 (6) TBS: 发送缓冲区状态标志,“1”表示发送缓冲区可写。 若该位为“0”时,MCU写发送缓冲区,则写入数据无效且被 丢失。 (7) DOS: 数据超载标志,“1”表示由于RXFIFO没有足够的空 间,收到的报文丢失。 (8)RBS: 接收缓冲区状态标志,“1”表示RXFIFO中至少有 一个报文。当MCU读取报文后,应给出释放接收缓冲区的命 令,该标志才会清零。若RXFIFO中还有未读报文,该位又将 被置位。
T_sjw=T_scl×(1+SJW.0+2×SJW.1)
6.5 控制段寄存器
• 同步跳转宽度:定义了一个位周期可以 被一次重新同步缩短或延长的时钟周期 的最大数目。
6.5 控制段寄存器
一位时间的一般结构图

项目二 汽车CAN总线技术基本原理(任务四SJA1000CAN控制器及其应用)

项目二 汽车CAN总线技术基本原理(任务四SJA1000CAN控制器及其应用)

0
接收中断使能 1
0
功能
使能 禁止 使能 禁止 使能 禁止 使能 禁止 使能 禁止 使能 禁止 使能 使能 使能 禁止
Peli_RXD: PUSH ACC PUSH PSW CLR EA ;//关CPU中断
RE6: MOV DPTR,#SJA_IR MOVX A,@DPTR ANL A,#01H CJNE A,#00H,RE7;接收中断 SJMP RE8
IR.3 DOS 溢出中 1 置位

复位
IR.2 EI 错误报 1 置位
警中断 0 复位
IR.1 TI 发送中 1 置位

0 复位
IR.0 RI 接收中 1 置位

0 复位
Peli_RXD: PUSH ACC PUSH PSW CLR EA ;//关CPU中断
RE6: MOV DPTR,#SJA_IR MOVX A,@DPTR ANL A,#01H CJNE A,#00H,RE7;接收中断 SJMP RE8
----
状态
----
3(IR) 中断
---
中断
---
4(IER) 中断使能
中断使能 中断使能 中断使能
5
保留(00H) ---
保留(00H) ---
6(BTR0) 总线定时0
---
总线定时0 总线定时0
7(BTR0) 总线定时1
---
总线定时1 总线定时1
8(OCR) 输出控制
---
输出控制 输出控制
接收缓存器 标识符RTR,DLC 字节1-8 时钟驱动器
10 11 12-19
20 21 22-29 31
7
6
测试方 同步 式

周立功CAN控制器SJA1000的控制模块BCAN

周立功CAN控制器SJA1000的控制模块BCAN

状态
SR.4 SR.3
SR.2
SR.1
SR.0
IR.7
IR.6
IR.5
IR.4 中断
IR.3
IR.2
IR.1
IR.0 验收代码 AC.7 0
验收屏蔽 AM.7 0
BTR0.7
BTR0.6
BTR0.5
BTR0.4 总线定时0
BTR0.3
BTR0.2
BTR0.1
BTR0.0
BTR1.7
BTR1.6
BTR1.5
2.3.3 各寄存器功能介绍 下面根据实际应用情况 具体介绍 BasicCAN 模式下 SJA1000 内部各寄存器的功能
2.3.3.1 控制寄存器(CR) 控制寄存器位于 SJA1000 寄存器区的 0 地址
如表 4 所示 表 4 控制寄存器各位的说明 CAN 地址 0
用于设置 SJA1000 访问模式和各种中断
软件置位控制寄存器中的复位请求位 或总线关闭 后 内部寄存器的配置
表 3 内部寄存器在复位模式下的配置 BasicCAN 模式
寄存器

CR.7
符号
保留
名称
硬件复位 0
值 软件或总线关闭 复位CR.0 0
CR.6
保留
×
×
CR.5
保留
1
1
控制
CR.4 CR.3
OIE
溢出中断使能
EIE
错误中断使能
×
×
×
×
完全兼容 PCA82C200 的基础上 增加了一种新的工作模式 PeliCAN SJA1000 完全支持具有很多新特性的 CAN 2.0B 协议 SJA1000 的工作模式通过其内部的时钟分频寄存器 CDR 中的 CAN 模式位来选择 硬 件复位时默认模式是 BasicCAN 工作模式

CAN通信控制器SJA1000

CAN通信控制器SJA1000

0
1 0
无动作
释放;作为RXFIFO中报文存贮空间的接收缓冲器被释 放 无动作 出现;如果不是已在进行中,等待处理的发送请求被取 消。(注:正在进行的发送是不能被中止的) 空缺;无动作 出现;一个报文将被发送 空缺;无动作
CMR.2
RRB
释放接收缓冲器
CMR.1
AT
中止发送
1 0
CMR.0
TR
发送请求
(1) CAN控制器模块的说明
6.位定时逻辑(BTL) 位定时逻辑监视串行CAN总线和处理与总 线有关的位定时。它被同步于一个报文起始 的“隐性至显性”总线跳变时的CAN总线上 的位流(硬同步),以及重同步于一个报文 接收期间的更多的跳变(软同步)。
(1) CAN控制器模块的说明
7.错误管理逻辑(EML) EML 负责传送层中调制器的错误界定。它 接收来自BSP的错误报告,然后将错误统计量 通知给BSP和IML
SJA1000 对微控制器来说,是以存贮器 - 映像 I/O 设备出现的。对 SJA1000 的操作是通过操作 SJA1000中的寄存器来实现的。 SJA1000地址区包括控制段和报文缓冲器。控 制段在初始化加载期间是可被编程的,以配置通 信参数(例如,位定时)。 CAN 总线上的通信 也由微控制器通过该段来控制。在初始化期间, CLKOUT 信号可以被编程为由微控制器指定的 一个值。

2 一般说明
SJA1000有两种工作模式:
BasicCAN模式——与PCA82C200兼容的模式 PeliCAN模式 ——扩展功能模式
工作模式通过时钟分频寄存器中的 CAN模式位来选择,复位 默认模式是BasicCAN模式。 两种封装形式:一种为 28引脚的塑质双列式

CAN总线学习笔记五:SJA1000硬件电路设计

CAN总线学习笔记五:SJA1000硬件电路设计

AN总线学习笔记五:SJA1000硬件电路设计首先对CAN总线控制器SJA1000的管脚我们必须熟悉。

下面是其各个管脚的功能参数。

各个管脚的符号功能什么的上面的表里介绍的很详细,我就不多废话了。

接着我们看SJA1000的这些管脚在实际电路中是怎么进行连接的,因为只谈SJA1000的硬件电路设计,所以就截一张PIAE提供的电路原理图里关于SJA1000的部分。

下面我们要具体解析这个电路图。

AD0-AD7是地址/数据复用总线。

因为这个电路是把SJA1000做外部RAM扩展了,所以它的电路连接也势必要符合外部RAM的连接要求。

(特权同学也是第一次接触单片机的外部存储器扩展应用,所以开始的时候也很是纳闷,然后拿起课本一阵恶补后才恍然大悟。

)先补一下外部扩展RAM的知识,然后再谈这个电路就容易多了:51单片机外部RAM的扩展最多是可以寻址64KB的,也就是最多可以有16条地址线来寻址,P0口是低八位地址扩展口,P2口是高八位地址扩展口。

如果外部RAM不需要用到全部16条地址线(SJA1000就只有8条地址线),那么只要把低位地址线和外部RAM的相应地址线连接,高位的地址线在寻址时都默认为1,比如这里的SJA1000,它的8条地址线是和P0口相连接的,所以对SJA1000的寄存器寻址时的地址应该是FF00H-FFFFH,但是为什么PIAE提供的程序里的地址定义却是FE00H-FEFFH呢?这就要讨论CS信号的连接问题了,我们知道,CS是片选输入信号,只有当它是低电平时才能访问SJA1000。

再看看它和谁连了?是P2.0口,正好是地址线高八位的最低位,如果按常理来说,寻址FF00H,那么P2.0就是高电平,SJA1000就不能被访问。

所以寻址FE00H时才选通SJA1000,这时才是SJA1000寄存器的地址。

上面讨论了寻址的问题,只是就事论事,如果还不理解,我建议找本书详细了解下单片机的外部存储器的扩展后就会明白的。

现场总线技术通信控制器SJA1000

现场总线技术通信控制器SJA1000

发送数据字节7
发送数据字节8
现场总线技术通信控制器SJA1000
接收缓冲区
•几点说明: •1、接收缓冲区的整体配置和发送缓冲区相似, 因为接收缓冲区的数据即是由发送缓冲区发送 过来的数据;
•2、接收缓冲区是RXFIFO中可访问的部分,位 于CAN地址的20—29之间;
•3、标识符、远程发送请求位、数据长度码和
0 无动作
CMR.1 AT
中止发送
1
出现;将取消等待处理的发送请求。 (注:正在进行的发送是不能被中止的)
0 空缺;无动作
CMR.0 TR
PPT文档演模板
发送请求
1 出现;一个报文将被发送
0
空缺;无现动场作总线技术通信控制器SJA1000

符号
名称

CMR.7
-
CMR.6
-
CMR.5
-
-
- 保留
-
0 禁止; SJA1000不向微控制器发送中断信号
1
使能;当一个报文被无错接收时,SJA1000发出 一个接收中断信号给微控制器
0 禁止; SJA10现00场不总向线技微术控通制信控器制发器送SJ中A10断00信号
命令寄存器(CMR)
• 对微控制器来说是只写存储器。如果对 该地址进行读访问,返回•各值个位为的功“能1如1下1:11111”。
错误中断使能时,错误状态位或总线状态位的 错误中断 1 变化会置位此位
发送中断
0 微控制器的任何读访问可自动清除此位
发送缓冲器状态从逻辑0至逻辑(使能)
时,此位被置位,表示发送完成
接收中断
0 微控制器的任何读访问可自动清除此位
1
当接收FIFO不空且接收中断使能位被置为逻辑 1(使能)时,此位被置位,表示有数据待接收

sja1000中文版

sja1000中文版
MODE
VDD3 TX0 TX1 VSS3
引脚 2 1 28-23
3 4 5 6
7
8 9 10
11
12 13 14 15
说明
多路地址/数据总线
ALE输入信号 Intel模式 AS输入信号 Motorola模式
片选输入 低电平允许访问SJA1000
微控制器的/RD信号 Intel模式 或E使能信号 Motorola模式 微控制器的/WR信号 Intel模式 或RD/ /WR 信号 Motorola 模式 SJA1000产生的提供给微控制器的时钟输出信号 时钟信号来 源于内部振荡器且通过编程驱动 时钟控制寄存器的时钟关闭位 可禁止该引脚 接地
内部总线 位时序逻辑
12 VDD3
15 VSS3
13 TX0
14 TX1
19 RX0
20 RX1
21
VSS2
18
VDD2
错误管理逻辑
9 XTAL1
10 XTAL2
振荡器
复位
17
RST
图 1 方块图
5. 管脚排列
符号 AD7-AD0 ALE/AS
/CS /RD /E /WR
CLKOUT
VSS1 XTAL1 XTAL2
/INT /RST
中断输出 用于中断微控制器 /INT在内部中断寄存器各位都被
16
置位时低电平有效 /INT是开漏输出 且与系统中的其它/INT是
线或的 此引脚上的低电平可以把IC从睡眠模式中激活
复位输入 用于复位CAN接口 低电平有效 把/RST引脚通过
17
电容连到VSS 通过电阻连到VDD可自动上电复位 例如 C=1
XTAL1 9
SJA1000

第七章 CAN总线控制器SJA1000

第七章 CAN总线控制器SJA1000

CAN总线收发接口电路82C250
• 82C250是CAN控制器与物理总线之间的 接口,它最初是为汽车高速通信(最高达 1Mbps)的应用而设计的。 • 器件可以提供对总线的差动发送和接收 功能。
CAN 总线的应用 CAN控制器SJA1000在系统中的位置
分布模块1
传感器 执行元件 MMI 模块控制器
新增功能:
– 标准结构和扩展结构报文的接收和发送; – 64字节的接收FIF0: – 标准和扩展帧格式都具有单/双接收滤波器(含接收 屏蔽和接收码寄存器); – 可进行读/写访问的错误计数器; – 可编程的错误报警限制; – 最近一次的错误代码寄存器; – 每一个CAN总线错误都可以产生错误中断; – 具有丢失仲裁定位功能的丢失仲裁中断; – 单发方式(当发生错误或丢失仲裁时不重发); – 只听模式(监听CAN总线,无应答,无错误标志; – 支持热插拔(无干扰软件驱动位速率检测); – 硬件禁止CSI参考模型中的两层:物理层 接受滤波、超载 和数据连路层
逻辑链路控制(LLC) 媒体访问控制(MAC) 物理信令(Physical Sisnal Lins, PSL) 物理媒体附件( Physical Attachment, PMA) 媒体接口(Medium Dependent Interface, MDI) 数据 链路 层
SJAl000在软件和引脚上都是与它的前—款 PCA82C200独立CAN控制器兼容的,在此基础上 增加了很多新的功能。为了实现软件兼容, SJAl000采用了两种工作方式: Basic CAN方式(PCA82C200兼容方式)和PeliCAN方 式(扩展特性方式)。工作方式通过时钟分频寄存 器中的CAN方式位来选择。 上电复位默认工作方式是Basic CAN方式,Basic CAN和PeliCAN方式的区别如下:在PeliCAN方式 下,SJAl000有一个重新设计的含很多新功能的 寄存器组。SJAl000包含PCA82C200中的所有位, 同时增加了一些新的功能位。PeliCAN方式支持 CAN2.0B协议规定的所有功能(29位的标识符)。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4 引脚排列
引脚定义
5、BasicCAN地址分配
SJA1000对微控制器而言是内存管理的I/O 器件,所以对SJA1000的编址是通过I/O统一编 址的。 ( 单 片 机 对 SJA1000 的 操 作 是 通 过 操 作 SJA1000中的寄存器来实现的。)
SJA1000的地址区包括控制段和报文缓冲 器 ( 发 送 缓 冲 器 和 接 收 缓 冲 器 , 见 表 4-3 BasicCAN地址分配表 )。

CR.4
OIE
溢出中断使能
1
0
使能;如果数据溢出位被置位,微控制器接收 一个溢出中断信号(见状态寄存器—数据溢出 状态位) 禁止;微控制器不从SJA1000接收溢出中断信号 使能;如果出错或总线状态改变,微控制器接 收一个错误中断信号(见状态寄存器—出错状 态位) 禁止; 微控制器不从SJA1000接收错误中断信 号 使能;当一个报文被成功发送或发送缓冲器可 再次被访问时(例如,中止发送命令 后),SJA1000发送一个发送中断信号给微控制 器 禁止; SJA1000不向微控制器发送中断信号 使能;当一个报文被无错接收时,SJA1000发出 一个接收中断信号给微控制器 禁止; SJA1000不向微控制器发送中断信号
由AD7~AD0确 定的地址
BasicCAN地址分配
CAN 总 线上的通 信过程也 由微控制 器通过控 制段来控 制
控制段在初始化加 载期间(复位模式) 是可被编程的,以 配置通信参数(比 如位定时、地址过 滤等)
最多10字节
BasicCAN地址分配
发送方将一个要发送的报文写入发送缓冲器
最多10字节
可见:系统时钟 频率最大只能为 BRP.3 BRP.2 振荡频率的1/2
AM.7
BIT 6
AM.6
BIT 5
AM.5
BIT 4
AM.4
BIT 3
AM.3
BIT 2
AM.2
BIT 1
AM.1
BIT 0
AM.0
地址过滤方法:
接收码位(AC.7—AC.0)(本地节点地址, 需 预 先 设 定 ) 和 报 文 标 识 符 的 高 8位 ( ID.10— ID.3)必须在被接收屏蔽位(AM.7—AM.0)标 定为相关的那些位的位置上相等,报文才被接收。
GTS
进入睡眠
睡眠;如果没有CAN中断等待,且没 有总线活动,SJA1000进入睡眠状态 唤醒;SJA1000运行正常
1
0
清除;清除数据溢出状态位
无动作 释放;释放RXFIFO接收缓冲器中的报 文存储空间
CMR.2
RRB
释放接收缓冲器
1
0
CMR.1 AT 中止发送 1 0 CMR.0 TR 发送请求
3 方框图
22 3-7, ALE/AS 、 /CS 、 (/RD)/E 、 /WR 、 CLKOUT MODE/INT AD7-AD0 2,1, 28-23 、 7 8 地址/数据 接 口 管 理 逻 11,16 控制 SJA1000 8 V SS1 V DD1 辑
解释来自CPU的命令,控制CAN 寄存器的寻址,向主控制器提供 中断信号和状态信息
发送数据字节1
远程发送请求位: 1——远程帧; 0——数据帧
发送数据字节2 发送数据字节3 发送数据字节4 发送数据字节5 发送数据字节6 发送数据字节7 发送数据字节8
数据长度码:决定数 据区的长度,采用 8421编码,最大为8
接收缓冲区
几点说明: 1、接收缓冲区的整体配置和发送缓冲区相似, 因为接收缓冲区的数据即是由发送缓冲区发送 过来的数据; 2、接收缓冲区是RXFIFO中可访问的部分,位 于CAN地址的20—29之间; 3、标识符、远程发送请求位、数据长度码和数 据,除地址不同之外,具有与在发送缓冲区中 所描述的相同含义和配置;
1
CR.3 EIE 错误中断使能 0
CR.2
TIE
发送中断使能
1
0 1 0
CR.1
RIE
接收中断使能
命令寄存器(CMR)
对微控制器来说是只写存储器。如果对 各个位的功能如下: 该地址进行读访问,返回值为“11111111”。
位 符号 名 称 值 1 0 CMR.3 CDO
清除数据溢出


CMR.4
2.0A和 CAN 2.0B协议;
既支持11位标识符,也支持29位标识符;
1 特性

位速率最高可达1Mbps; 支持PeliCAN扩展模式:


最高24MHz时钟频率;
方便与各种微控制器接口; 可编程的CAN输出驱动器配置;

增强的环境温度范围(-40 —125℃ )。
2 一般说明
SJA1000有两种工作模式:
各个位的功能如下:
位 符号 名 称 值 功 能
IR.2
EI
错误中断
1
错误中断使能时,错误状态位或总线状态位的 变化会置位此位 微控制器的任何读访问可自动清除此位 发送缓冲器状态从逻辑0至逻辑1跳变(释放总 线) ,且发送中断使能位被置为逻辑1(使能) 时,此位被置位,表示发送完成 微控制器的任何读访问可自动清除此位 当接收FIFO不空且接收中断使能位被置为逻辑 1(使能)时,此位被置位,表示有数据待接收 微控制器的任何读访问可自动清除此位
0
IR.1
TI
发送中断
1
0 1 0
IR.0
RI
接收中断
位 IR.7 IR.6 IR.5
符号 -
名 称 -
值 保留 保留 保留


1 退出睡眠模式时此位被置位
IR.4
WUI 唤醒中断 0 微控制器的任何读访问可自动清除此位
IR.3
DOI
数据溢出 中断
当数据溢出中断使能被置为逻辑1(使能)时, 1 一旦数据溢出状态位‘0-1’跃变,此位即被置 位 0 微控制器的任何读访问可自动清除此位
溢出;一个报文被丢失,因为RXFIFO中 没有足够的空间来存储该报文 (用以 指示当前报文丢失了,建议反馈延迟重发)
未溢出 满;RXFIFO中有可用报文 空;无可用报文

符号





1
SR.7 BS 总线状态
总线脱离;SJA1000不参与总线活动 总线在线;SJA1000参与总线活动
错误; 正常; 发送;SJA1000正在发送一个报文 空闲;没有报文在发送中 接收;SJA1000正在接收一个报文
0
1 SR.6 ES 错误状态 0 1 SR.5 TS 发送状态 0 1 SR.4 RS 接收状态
0
空闲;没有报文在接收中
中断寄存器(IR)
1、中断寄存器用作中断源的识别; 2、当寄存器的一位或多位被置位时 ,/INT引脚有效 (低),引起中断; 3、中断寄存器对微控制器来说是只读存储器;
4、该寄存器被微控制器读过之后,所有位被复位,则 /INT为1,中断信号自动清除,以免重新引起中断。
各个位的功能如下:

符号



1


复位请求置位,中止当前的报文发送/ 接收,进入复位模式 在复位请求位‘1-0’跃变时, SJA1000返回工作模式
CR.0
RR
复位请求 0
工作过程:复位请求置位——初始化——复位请求复位,进入工作模式
位 CR.7 CR.6 CR.5
符号 -
名 -

值 -
功 保留; 保留; 保留;
BasicCAN地址分配
微控制器从接收缓冲器中读取接收的报文,然后释放接收缓冲器以作后续使用。
对寄存器的访问,有两种不同的模式:
复位模式:在硬件复位后或控制器掉电时, 会自动进入复位模式。 运行模式(工作模式):是通过控制寄存器 中的复位请求位的复位来激活的。
控制寄存器(CR)
用于改变CAN控制器的状态。这些位可以 被相连接的微控制器置位或复位,微控制器可 以对控制寄存器进行读/写操作。
4、RXFIFO共有64字节的报文空间。如果 RXFIFO中没有足够的空间来存储新的报文, CAN控制器就会产生数据溢出。数据溢出 发生时,已部分写入RXFIFO的当前报文将 被删除,这种情况会通过状态位或数据溢 出中断指示给微控制器。
接收过滤器
利用接收过滤器,CAN控制器只允许接收标识符 位(ID10—ID3)与接收过滤寄存器中预设值相一致的 报文进入RXFIFO中。 接收过滤器通过接收码寄存器和接收屏蔽寄存器来定义。 (1)接收码寄存器(ACR) (预设本地节点地址)
无动作
出现;将取消等待处理的发送请求。 (注:正在进行的发送是不能被中止的) 空缺;无动作
1 0
出现;一个报文将被发送 空缺;无动作

符号





CMR.7
-
-
-
保留
CMR.6
-
-
-
保留
CMR.5
-
-
-
保留
状态寄存器(SR)
状态寄存器的内容反映SJA1000的状态。状 态寄存器对微控制器来说是只读存储器。提供给 用户以查询的方式来处理数据传输。
思考题:CAN总线的发送器和接收器均使 用SJA1000,采用CAN2.0A规范,发送器 发送的4个报文的ID分别为: (1)11001100001; (2)11001101001; (3)11001000001; (4)11001001001。 欲使接收器只接收报文(1)、(3),应 如何设置接收器SJA1000的ACR和AMR?
工业控制网络 (现场总线)
4.2 独立CAN控制器SJA1000
CAN控制器SJA1000的作用
相关文档
最新文档