现场总线技术 通信控制器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总线控制器。

  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的作用
相关文档
最新文档