第五章CAN控制器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果验收滤波器设 置了相应的标识符, 报文被发送同时被 接收(在自检模式下) 可用于发送接收硬件调试
1:清除数据益出状态
3.状态寄存器( CAN 地址2) D7 D6 D5 D4 D3 D2 D1 D0
接收缓冲区状态
1:有报文 0:无
数据益出
1:空
1:益出 0:未益出
发送缓冲区状态 1:正在接收 0:空闲 接收状态 发送完成状态
XTAL1 9 XTAL2 10 VDD1 22 VSS18
振荡器
17 RST
4. SJA1000地址分配
CAN地址
00 寄存器 32 接收 FIFO 96
00 13 14 15 16-28 29 30 96 寄存器 RX错误计数器 TX错误计数器 RX,TX缓冲器 RX报文计数器
RX缓冲区起始地址
5. 接收状态指示 当SJA1000接收到完整报文,状态寄存器 SR.0 =1表示、FIFO有 完整报文,CPU可以从报文缓冲区读取报文,读完报文后执行释放接收缓 冲区命令,报文接收缓冲区指向下一个报文.
§6 验收滤波器结构与使用
1.验收滤波器组成
标准格式 11位标识符 ACR0 AMR0 ACR1
t t SYNCSEG t SEG1 t SEG2 1 t SCL 2 t SCL 13 t SCL
t 16 t SCL
f
16 4 10 6 6 4 10
1 250 kH Z t
3.时钟分频寄存器(CDR)
CAN 模式= 0:基本模式, 1:扩展模式 RXINTEN =1 允许 TX1 专用做接收中断输出. CLOCK OFF =1 关闭CLKOUT 时钟输出
操作模式 (标准)
复位模式
寄存器
验 收 代 码 寄 存 器 验 收 屏 蔽 码 寄 存 器
D0=1 复位模式 D0=0 正常模式
(a).在复位模式(D0=1) 对ACR和AMR操作 (b) 在正常模式 对发送TX缓冲器和接收 RX缓冲器进行操作
16 17 18 19 20 21 22 23
帧信息 标识码1
● 16MHz
8000-80FFH
C5 ● XTAL2
●
(3). ALE 使 D0-D7 数 据线与地址线复用 。
C4
XTAL1
P1.1
RST
TX0 RX0 R1 RX1
数据字节3 数据字节4
64 字节 接收 FIFO
………
26 数据字节8
96 63
2. 描述区
CAN 地址16 (标准格式)
FF= 0:标准格式SFF FF= 1:扩展格式EFF
RTR=0:数据帧 RTR=1:远程帧
数据长度
3. RX标识码
(标准格式)
4.数据区
(a).接收字节数由DLC表示 (b).存储位置CAN 地址19-26 (标准格式)
5. 输出参考电压(5脚) 为CAN控制器输入提供参考 电压,作为RX电平门线,确定 RX电平是逻辑”1”还是”0” .
6.网络接线
§9 CPU 与CAN接口设计
说明: (1).片选地址
(2). MODE = “1”,选 用Intel 模式,=0 Motorola 模式。
1.CPU 与SJA1000接口设计
自检模式
1:自检(自发应答信 号)
1:单滤波(32位) 0:双滤波(每个16位)
0:正常
滤波方式
2. 命令寄存器( CAN 地址1) D7 D6 D5
保留
D4
D3
D2
D1
D0
1:报文发送
报文写进发送缓冲区并不发送, 执行报文发送命令后才发送
1:自接收请求
1:终止发送 1:释放接收缓冲区 接收到报文后要释放接收 缓冲区,使接收窗口指向下 一个报文
CAN 位时间
t t SYNCSEG tTSEG1 tTSEG 2
, 波特率 = 1/t
波特率计算举例
CAN 控制器 SJA1000 晶振
16MHz
总线时序寄存器 0 (BTR0 ) = 0x01, BRP.0 = 1
t SCL 2t CLK (32 0 16 0 8 0 4 0 2 0 1 1 1)
BIT2 = RTR
4. 数据区
(a). 8个字节,TX帧信息DL3-DL0确定报文长度 (b). CAN地址19-26(标准格式) CAN地址21-28(扩展格式)
发送数据过程
(a). 将
TX帧信息
TX标识码 TX数据
数据长度 帧类型(数据帧还是远程帧) 帧格式(标准还是扩展格式)
标识符
写入发送缓冲器
§8 CAN 驱动器 82C250
1.特性
(1) 高速率,可达1MHz (2) 具有抗瞬间干扰和保护能力
与RS485驱动 器作用相同
(3) 斜率控制,降低射频干扰(RFI)
(4)低电流待机 (5)未上电节点对总线没有影响
2.功能
(6)可接110个节点
3. 真值表
4. 工作模式(8 脚)
(a). 高速模式: RS 接地 (b). 斜率模式: RS接电阻 (c). 待机模式: RS 接高电平 (低功耗100uA)
(1).单滤波器配置 (一个滤波器)
(a)标准格式单滤波器配置
(b)扩展格式单滤波器配置
(2).双滤波器配置(有二个滤波器,有一个通过就可接收)
(a) 双滤波器标准格式配置
(b) 双滤波器扩展帧配置
(3) 验收代码和验收屏蔽寄存器地址
通过模式寄存器选择 CAN 地址 0
D0
CAN 地址
第五章 CAN控制器与驱动器
§1 CAN控制器作用
1. CAN控制器
(1).对CPU a. 写发送数据,置发送请求标志 CAN控制器 发送数据 b.读接收状态标志,读接收数据
微控制器 CAN控制器 CAN收发器
应用层
链路层
(2). 对 CAN 总线
a. 将发送数据封装成CAN帧发送 b. 将收到CAN帧拆封
t SJW t SCL (2 SJW.1 SJW.0 1)
2.总线时序寄存1 (BTR1)
t SYNCSEG 1 t SCL
tTSEG1 t SCL (8TSEG 1.3 4TSEG 1.2 2TSEG 1.1 TSEG 1.0 1)
tTSEG 2 t SCL (4TSEG2.2 2TSEG2.1 TSEG2.0 1)
AMR1
验收代码寄存器 验收屏蔽寄存器
FIFO
滤波
11位标识符RTR
DATA1
DATA2
DATA3
(a)验收代码寄存器 ACRn (CAN地址 16,17,18,19)
存储要接收的标识符
(b)验收屏蔽寄存器 AMRn (CAN地址20,21,22,23) 确定验收标识符的相关位
0: 相关
1:无关
2 滤波器配置
(1). 波特率预置位域 CAN 系统时钟周期
波特率预置器(BRP )
t SCL 2tCLK (32BRP.5 16BRP.4 8BRP.3 4BRP.2 2BRP.1 BRP.0 1)
tCLK 1/ f XTAL
在复位模式下可以访问
(2) 同步跳转宽度位域 CAN 规范定义两种类型的同步 A. 硬同步 在帧起始开始同步当前周期 B. 重同步 在随后的剩余报文中每接收到一个隐性到显性 的跳变就执行一次. 同步跳转宽度Tsjw 定义了一位周期可以被一 次重新同步缩短或延长的时钟周期的最大数目
TX缓冲器
109 多用途寄存器 112 未用 127
接收FIFO
§3 SJA1000寄存器 1. 模式寄存器 ( CAN 地址0) D7 D6 D5 D4 D3 D2 D1 D0
1:复位( 初始化)
保留
复位模式
0:正常(操作模式)
只听模式
1:只听(不发应答信号) 0:正常
1:睡眠 0:唤醒
睡眠模式
(b). 置命令寄存器
CMR.0 =1 ,启动发送请求。
§5 接收报文
1.报文接收缓冲区
(接收缓冲器与发送相同CAN地址 16-28)
标准格式接 收缓冲器
地址 16 17 18
CAN地址 32
Cห้องสมุดไป่ตู้N16
RAM地址 0
描述区 标识码1 标识码2
报 文 缓 冲 区
19 数据字节1
20
21 22
数据字节2
7.TX错误计数器 (CAN地址15)
反映发送错误计数
8. 仲裁丢失捕捉寄存器 D7 D6
保留 仲裁丢失位
D5
D4
ALC.4
D3
ALC.3
D2
ALC.2
D1
ALC.1
D0
ALC.0
9. RX报文计数器
(a). RMC.4-RMC.0表示报文数,每接收一个报文加1 (b).执行释放接收缓冲区命令减1 (命令寄存器) (c).复位请0
物理层
2. CAN驱动器
完成逻辑电平与”显性” 、”隐 性”的转换
CAN 总线
§2 CAN控制器SJA1000
1.基本特性 Basic CAN 基本模式 CAN2.0A (标准格式,11位标识符)
Peli CAN 扩展模式 CAN 2.0B (标准格式,扩展格式) (通讯速率达1Mbps)
2.寄存器寻址
1:益出
5.中断使能寄存器 IER (CAN 地址 04 ) 功能:允许或禁止中断源中断(1:允许中断,0禁止中断) 格式:同中断寄存器 D7 D6 D5 D4
唤醒中断
D3
D2
D1
发送中断
D0
接收中断
仲裁丢失 错误认 可中断
数据益出 出错报 警中断
6. RX错误计数器 (CAN 地址14)
反映接收错误计数
RAM 地址 63
§4 发送报文
1. 发送缓冲器组成 (SJA1000 扩展模式)
CPU
向发送缓冲区写报文
启动发送命令 CAN控制器发送
2. TX帧信息(CAN地址16)
FF RTR DLC3 DLC2 DLC1 DLC0 RTR=0::数据帧 RTR=1: 远程帧
数据长度
FF=0 标准格式SFF FF=1 扩展格式EFF
0:忙
1:完成(最近一次发送成功) 0:忙,先前发送未完成
4.中断寄存器 IR (CAN地址 3 ) 作用:识别中断源
D7
D6
D5
错 误 认 可 中 断
D4
D3
D2
D1
D0
1:有报文 接收中断
仲裁丢失
发送中断 出错报警中断
1:发送完 1:出错
1:错误计 数>127 唤醒中断
数据益出 1:由睡眠唤醒
10. RX缓冲器起始地址寄存器RBSA (CAN地址 30 )
(1)作用: 接收报文的起始RAM地址
CAN 地址32 报文 11 报文 窗口CAN地址16 (2) FIFO RAM 地址与 CAN地址的关系 CAN地址=(RBSA)+32 (3) 置释放接收缓冲器命令 RBSA 字指向下一条报文 的起始地址. CAN 地址96 报文3 报文3 报文2 报文2 64字节FIFO RAM 地址 0
总线定时器 1 (BTR1 ) = 0x1C =0001 1100B
4 1 16 10 6 4 10 6
0x1C
t SYNCSEG 1 t SCL总线定时器 1 (BTR1 ) =
t SEG1 t SCL (8 4 1)
f 16MH Z
t SEG2 t SCL (1 1)
ACR0 ACR1
标识码1
数据1 数据2 数据3 数据4 数据5
ACR2
ACR3 AMR0 AMR1 AMR2
AMR3
§7 波特率计算
t SCL 2tCLK (32BRP.5 16BRP.4 8BRP.3 4BRP.2 2BRP.1 BRP.0 1)
CAN波特率波形
1. 总线时序寄存器0 (BTR0 )
3. 标识码 (A)标准格式: 标识码 11位 ID28 –ID18 TX标识码1 (CAN 地址17)
ID28 ID27 ID26 ID25 ID24 ID23 ID22 ID21
TX标识码2(CAN地址18)
ID20 ID19 ID18
RTR
(B)扩展格式: 标识码 29位 ID28 –ID0
CLKOUT 分频系数 CD.2
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1
CD1 CD.0 :
0 1 0 1 0 1 0 1 fosc/2 fosc/4 fosc/6 fosc/8 fosc/10 fosc/12 fosc/14 fosc
4.输出控制寄存器
配置输出引脚上拉,下拉,推挽等配置
WR 6 RD 5 ALE 3 INT 16 CS 4 MODE 11
接口管理逻辑
内部总线
12 VDD3 15 VSS3
报文缓冲器 发送 缓 冲器 接收 缓冲器 FIFO
AD0 | AD7
23 24 25 26 27 28 1 2
位处 理器 接受 过滤
位时序 逻辑 Vcc 错误管 理逻辑 复位
●
13 TX0 14 TX1 19 RX0 20 RX1 21 VSS2 18 VDD2