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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内部总线 12 15 V DD3 V SS3 TX0 TX1 RX0 RX1 V SS2 V DD2
报文缓冲器
发送缓冲器
位 流 处理器
位定时 逻 辑
13 14 19 20 21
RXFIFO 接 收 接 受 过滤器 错 误 管 理 逻 辑
18
缓冲器
9 XTAL1 10 XTAL2 振 荡 器 复 位 17 RST
BasicCAN地址分配
微控制器从接收缓冲器中读取接收的报文,然后释放接收缓冲器以作后续使用。
对寄存器的访问,有两种不同的模式:
复位模式:在硬件复位后或控制器掉电时, 会自动进入复位模式。 运行模式(工作模式):是通过控制寄存器 中的复位请求位的复位来激活的。
控制寄存器(CR)
用于改变CAN控制器的状态。这些位可以 被相连接的微控制器置位或复位,微控制器可 以对控制寄存器进行读/写操作。
发送缓冲区
用来存储微控制器要发送的一个报文。发送缓冲区只有在工作模 式下才可被微控制器写入和读出。在复位模式下读出的值是 “FFH”。
CAN 地址

名 称
7 6 5 4
ID0~ID10为报文标识 符,在仲裁过程中决 定总线访问的优先级, 值越低,优先级越高; 其中ID10~ID3还用作 位 地址过滤
4 引脚排列
引脚定义
5、BasicCAN地址分配
SJA1000对微控制器而言是内存管理的I/O 器件,所以对SJA1000的编址是通过I/O统一编 址的。 ( 单 片 机 对 SJA1000 的 操 作 是 通 过 操 作 SJA1000中的寄存器来实现的。)
SJA1000的地址区包括控制段和报文缓冲 器 ( 发 送 缓 冲 器 和 接 收 缓 冲 器 , 见 表 4-3 BasicCAN地址分配表 )。
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 寄存器的寻址,向主控制器提供 中断信号和状态信息

CR.4
OIE
溢出中断使能
1
0
使能;如果数据溢出位被置位,微控制器接收 一个溢出中断信号(见状态寄存器—数据溢出 状态位) 禁止;微控制器不从SJA1000接收溢出中断信号 使能;如果出错或总线状态改变,微控制器接 收一个错误中断信号(见状态寄存器—出错状 态位) 禁止; 微控制器不从SJA1000接收错误中断信 号 使能;当一个报文被成功发送或发送缓冲器可 再次被访问时(例如,中止发送命令 后),SJA1000发送一个发送中断信号给微控制 器 禁止; SJA1000不向微控制器发送中断信号 使能;当一个报文被无错接收时,SJA1000发出 一个接收中断信号给微控制器 禁止; SJA1000不向微控制器发送中断信号
3
2
1
0
10 描述符
11 12 13 14 15 16 17 18 19 数据
标识符字节1
标识符字节2 TX数据1 TX数据2 TX数据3 TX数据4 TX数据5 TX数据6 TX数据7 TX数据8
ID.10
ID.2
ID.9
ID.1
ID.8
ID.0
ID.7
RTR
ID.6
ID.5
ID.4
ID.3
DLC.3 DLC.2 DLC.1 DLC.0
各个位的功能如下:
位 符号 名 称 值 功 能
IR.2
EI
错误中断
1
错误中断使能时,错误状态位或总线状态位的 变化会置位此位 微控制器的任何读访问可自动清除此位 发送缓冲器状态从逻辑0至逻辑1跳变(释放总 线) ,且发送中断使能位被置为逻辑1(使能) 时,此位被置位,表示发送完成 微控制器的任何读访问可自动清除此位 当接收FIFO不空且接收中断使能位被置为逻辑 1(使能)时,此位被置位,表示有数据待接收 微控制器的任何读访问可自动清除此位
GTS
进入睡眠
睡眠;如果没有CAN中断等待,且没 有总线活动,SJA1000进入睡眠状态 唤醒;SJA1000运行正常
1
0
清除;清除数据溢出状态位
无动作 释放;释放RXFIFO接收缓冲器中的报 文存储空间
CMR.2
RRB
释放接收缓冲器
1
0
CMR.1 AT 中止发送 1 0 CMR.0 TR 发送请求
定义接收码寄存器与接收滤波的对 应位的哪些位是“相关 BIT 3的”(AM.X=0)或“不予关心的 0 BIT 2 BIT 1 BIT (AM.X=1)
BIT 7 AC.7
BIT 6 AC.6
BIT 5 AC.5
BIT 4 AC.4
AC.3
AC.2
AC.1
AC.0
(2)接收屏蔽寄存器(AMR)
BIT 7
2.0A和 CAN 2.0B协议;
既支持11位标识符,也支持29位标识符;
1 特性

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


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

增强的环境温度范围(-40 —125℃ )。
2 一般说明
SJA1000有两种工作模式:
1
CR.3 EIE 错误中断使能 0
CR.2
TIE
发送中断使能
1
0 1 0
CR.1
RIE
接收中断使能
命令寄存器(CMR)
对微控制器来说是只写存储器。如果对 各个位的功能如下: 该地址进行读访问,返回值为“11111111”。
位 符号 名 称 值 1 0 CMR.3 CDO
清除数据溢出


CMR.4
工业控制网络 (现场总线)
4.2 独立CAN控制器SJA1000
CAN控制器SJA1000的作用
PHILIPS公司生产,是PCA82C200的升级产品
实现网络层次结构中的数据链路层和物理层功能。
CAN控制器SJA1000在系统中的位置
分布模块1
传感器 执行元件
分布模块2
传感器 执行元件
模块控制器
思考题:CAN总线的发送器和接收器均使 用SJA1000,采用CAN2.0A规范,发送器 发送的4个报文的ID分别为: (1)11001100001; (2)11001101001; (3)11001000001; (4)11001001001。 欲使接收器只接收报文(1)、(3),应 如何设置接收器SJA1000的ACR和AMR?
BasicCAN模式——与PCA82C200兼容的模式 PeliCAN模式 ——扩展功能模式
工作模式通过时钟分频寄存器中的CAN模式位来选择, 复位默认模式是BasicCAN模式。
2 一般说明

两种封装形式:
一种为28引脚的塑质双列式封装(DIP28) 一种为28引脚的塑质小型线外封装(SO28)
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)标 定为相关的那些位的位置上相等,报文才被接收。
总线定时寄存器0(BTR0)
总线定时寄存器0 的内容确定波特率预置器 (BRP)和同步跳转宽度(SJW)的值。 在复位模式下,此寄存器是可以被访问(读/写)的。
BIT 7 SJW.1 BIT 6 SJW.0 BIT 5 BRP.5 BIT 4 BRP.4 BIT 3 BIT 2 BIT 1 BRP.1 BIT 0 BRP.0
由AD7~AD0确 定的地址
BasicCAN地址分配
CAN 总 线上的通 信过程也 由微控制 器通过控 制段来控 制
控制段在初始化加 载期间(复位模式) 是可被编程的,以 配置通信参数(比 如位定时、地址过 滤等)
最多10字节
BasicCAN地址分配
发送方将一个要发送的报文写入发送缓冲器
最多10字节
溢出;一个报文被丢失,因为RXFIFO中 没有足够的空间来存储该报文 (用以 指示当前报文丢失了,建议反馈延迟重发)
未溢出 满;RXFIFO中有可用报文 空;无可用报文

符号





1
SR.7 BS 总线状态
总线脱离;SJA1000不参与总线活动 总线在线;SJA1000参与总线活动
错误; 正常; 发送;SJA1000正在发送一个报文 空闲;没有报文在发送中 接收;SJA1000正在接收一个报文
各个位的功能如下:

wk.baidu.com符号



1


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

值 -
功 保留; 保留; 保留;
微控制器
CAN控制器 TX RX
SJA1000 TX 82C250 RX
CAN收发器
CAN总线
1 特性
与PCA82C200独立CAN控制器引脚和电气兼容; 具有PCA82C200模式(即默认的BasicCAN模式); 扩展的接收缓冲器(64字节FIFO);
(有什么好处?
支持CAN
可以在处理报文的时候接收其他报文)
可见:系统时钟 频率最大只能为 BRP.3 BRP.2 振荡频率的1/2
4、RXFIFO共有64字节的报文空间。如果 RXFIFO中没有足够的空间来存储新的报文, CAN控制器就会产生数据溢出。数据溢出 发生时,已部分写入RXFIFO的当前报文将 被删除,这种情况会通过状态位或数据溢 出中断指示给微控制器。
接收过滤器
利用接收过滤器,CAN控制器只允许接收标识符 位(ID10—ID3)与接收过滤寄存器中预设值相一致的 报文进入RXFIFO中。 接收过滤器通过接收码寄存器和接收屏蔽寄存器来定义。 (1)接收码寄存器(ACR) (预设本地节点地址)
各个位的功能如下:
位 SR.3 符号 TCS 名 称 值 1 功 能 完成;最近的请求发送被成功完成 发送完成状态
0
1 SR.2 TBS 发送缓冲器状态 0
未完成;先前的请求发送仍未被完成
释放;CPU可以向发送缓冲器写一个报文 锁定;CPU不能访问发送缓冲器;一个报 文正在等待发送或已在处理中
1 SR.1 DOS 数据溢出状态 0 SR.0 RBS 接收缓冲器状态 1 0
0
1 SR.6 ES 错误状态 0 1 SR.5 TS 发送状态 0 1 SR.4 RS 接收状态
0
空闲;没有报文在接收中
中断寄存器(IR)
1、中断寄存器用作中断源的识别; 2、当寄存器的一位或多位被置位时 ,/INT引脚有效 (低),引起中断; 3、中断寄存器对微控制器来说是只读存储器;
4、该寄存器被微控制器读过之后,所有位被复位,则 /INT为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 微控制器的任何读访问可自动清除此位
无动作
出现;将取消等待处理的发送请求。 (注:正在进行的发送是不能被中止的) 空缺;无动作
1 0
出现;一个报文将被发送 空缺;无动作

符号





CMR.7
-
-
-
保留
CMR.6
-
-
-
保留
CMR.5
-
-
-
保留
状态寄存器(SR)
状态寄存器的内容反映SJA1000的状态。状 态寄存器对微控制器来说是只读存储器。提供给 用户以查询的方式来处理数据传输。
发送数据字节1
远程发送请求位: 1——远程帧; 0——数据帧
发送数据字节2 发送数据字节3 发送数据字节4 发送数据字节5 发送数据字节6 发送数据字节7 发送数据字节8
数据长度码:决定数 据区的长度,采用 8421编码,最大为8
接收缓冲区
几点说明: 1、接收缓冲区的整体配置和发送缓冲区相似, 因为接收缓冲区的数据即是由发送缓冲区发送 过来的数据; 2、接收缓冲区是RXFIFO中可访问的部分,位 于CAN地址的20—29之间; 3、标识符、远程发送请求位、数据长度码和数 据,除地址不同之外,具有与在发送缓冲区中 所描述的相同含义和配置;
相关文档
最新文档