SJA1000应用培训课件

合集下载

CAN通信控制器SJA1000-精品课件

CAN通信控制器SJA1000-精品课件
BasicCAN模式——与PCA82C200兼容的模式 PeliCAN模式 ——扩展功能模, 复位默认模式是BasicCAN模式。
2 一般说明
➢ 两种封装形式: 一种为28引脚的塑质双列式封装(DIP28) 一种为28引脚的塑质小型线外封装(SO28)
15、我就像一个厨师,喜欢品尝食物。如果不好吃,我就不要它。2021年8月下午6时3分21.8.1518:03August 15, 2021
16、我总是站在顾客的角度看待即将推出的产品或服务,因为我就是顾客。2021年8月15日星期日6时3分16秒18:03:1615 August 2021
17、利人为利已的根基,市场营销上老是为自己着想,而不顾及到他人,他人也不会顾及你。下午6时3分16秒下午6时3分18:03:1621.8.15
9、我们的市场行为主要的导向因素,第一个是市场需求的导向,第二个是技术进步的导向,第三大导向是竞争对手的行为导向。21.8.1521.8.15Sunday, August 15, 2021
10、市场销售中最重要的字就是“问”。18:03:1618:03:1618:038/15/2021 6:03:16 PM
工业控制网络 (现场总线)
4.2 独立CAN控制器SJA1000
CAN控制器SJA1000的作用
实现网络层次结构中的数据链路层和物理层功能。
PHILIPS公司生产,是PCA82C200的升级产品
CAN控制器SJA1000在系统中的位置
分布模块1
传感器 执行元件
模块控制器
CAN控制器
TX
RX
CAN收发器
SJA1000的地址区包括控制段和报文缓冲器(发 送缓冲器和接收缓冲器,见表4-3 BasicCAN地址分配表 )。

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总线控制器。

独立CAN控制器SJA1000控制研究与应用

独立CAN控制器SJA1000控制研究与应用

耦也 就失 去 了意义 。 电源 的完 全隔 离可 采用小 功 率
收 稿 日期 :0 5 l—l 20 一 O O
电源 隔 离模 块 或 带5 离 输 出 的 开 关 电源 模 块 来 V隔

44 ・
维普资讯
独 CN 制 s 1 o 制 与 用/ 竹 王 瑞,无 等 立 A控 器 J 0 控 研究 应 姜 胜,启 陈 畏 A0
SA10 的则更 少 。P ip公 司生产 的SA10 是一 J 00 hl s i J 00 种 广泛 用于汽 车 和其 他领 域 中的独 立C 总线 控制 AN
主要 就 在Pl A 模 式下 如何进 行 软件 编程 . 行 了 ei N C 进

些 探讨
1 S A1 0 的典型应用 J 0 0
维普资讯
计 算 飙 应 用
汽 科 第5 06 月 车 技 期2 年9 0
豆A 制s1 耨 c 控 器A0 N J0 0
姜竹胜 , 王启瑞 , 陈无 畏 , 孙启启
( 瑞 汽 车 有 限公 司 电子 电器 部 . 湖 2 10 ) 奇 芜 4 0 9 些 基本 函数 , 能轻 松 自如 的 操作 SA 0 0 便 J 10。 关 键词 : A C N总 线 ;J 10 ; 片 机 ;语 言 ; SA 00 单 C 函数 中 图分 类 号 :P3 23 T 3 . 文 献 标 识码 : A 文 章 编 号 :0 5 2 5 (06 0 - 0 4 0 10 — 5 0 2 0 )5 0 4 - 4
sAl O J OO
2 3
_ 一
2 4 2 5
D TXO 1 TX1 RX0
T A1 5 J 00
1 4

SJA1000 CAN控制器 peil模式 寄存器

SJA1000 CAN控制器 peil模式 寄存器

验收屏蔽1
22 RX数据4 RX数据2 TX数据4 TX数据2 验收屏蔽2
验收屏蔽2
23 RX数据5 RX数据3 TX数据5 TX数据3 验收屏蔽3
24 RX数据6 RX数据4 TX数据6 TX数据4 保留(00H)
25 RX数据7 RX数据5 TX数据7 TX数据5 保留(00H)
26 RX数据8 RX数据6 TX数据8 TX数据6 保留(00H)
IER.0 RIE
接收中断使能
BTR0.7 SJW.1
同步跳转宽度1
BTR0.6 SJW.0
同步跳转宽度0
BTR0.5 BRT.5
波特率预设值5
总线定时0
BTR0.4 BRT.4 BTR0.3 BRT.3
波特率预设值4 波特率预设值3
BTR0.2 BRT.2
波特率预设值2
BTR0.1 BRT.1
波特率预设值1
1
SR.3
TCS
发送完毕状态
1
SR.2
TBS
发送缓冲器状态
1
1
SR.1
DOS
数据溢出状态
0
0)
SR.0
RBS
接收缓冲器状态
0
0
IR.7
BEI
总线出错状态
0
0
IR.6
ALI
仲裁丢失中断
0
0
IR.5
EPI
错误消极中断
0
0
中断
IR.4
WUI
唤醒中断
0
0
IR.3
DOI
数据溢出中断
0
0
IR.2
EI
错误警报中断
4 RXFIFO 的内部读/写指针复位到初始化值 连续的读 RXB 口将会得到一些未定义的值 一部分是

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在TSC695F系统中的应用

SJA1000在TSC695F系统中的应用
SAl0 I 0 0相 同。这里以 It ne l模式使 用 SA10 ,见表 1 J 00 。 S A10 J 0 0的读时序( tl I e 模式) n 见图 1S A10 。 J 00的写时序( t Ie nl 模 式) 见图 2 。
表 1 SA00 J 1 0 重要 弓舅参致 l
1 1
模 式选 择输 入 :1ltl 式 ;0 Moooa 式 =ne模 = trl模
a c s y t nsr c i ns h e o d i e a c s y n n tu t n.T e l h v d a t g s c e s b wo i t t u o ,t e s c n s on c e s b o e i sr c i o h y a l a e a v n a e .Ex e i e t l r s ls s o t a e sn l p rm n a e u t h w h t t i g e h
引脚 号 212—3 多路地 址 , 82 数据 总 线 引脚 描述
线在近年来使用非常广 泛,其中 ,P ip hl s公 司的 C i AN 总线 控制器 SA10 J 0 0是使用率最高 的芯片 。
T C 9F是 A ME S 65 T L公司研制的针对空间应 用的 3 2位 高性能处理器 。该芯片为 S A C 构架 ,V7精简指令集 ,支 PR
1 概 述
C N(o t l r raN t ok总线是一种有效支持分布 A C nr l e ew r) oeA
境 控 制器 局 域 网 的 高 集 成 度独 立 控 制器 ,DI2 P 8封 装 ,最 高
传输速率 为 1Mbs /,同时支 持 Itl ne 系列和 Moooa系列的 trl

3.1SJA1000编程基础

3.1SJA1000编程基础

目录
MCU访问SJA100 读写寄存器 寄存器位操作 连续读写寄存器 精确延时
寄存器位操作
① 设置寄存器位 :使用或操作
操作示例:设置寄存器第7位 0x0F | 0x80
寄存器0x00 01 0 0 0 1 1 1 1
② 清零寄存器位 :使用与操作
操作示例:清0寄存器第0位 0x0F & (~0x01)
3.1 SJA1000编程基础
目录
MCU访问SJA100 读写寄存器 寄存器位操作 连续读写寄存器 精确延时
接口电路
SJA1000使用并行接口总线与MCU连接,SJA1000可以认为 是一个外扩的RAM。
SJA1000地址宽度为8位, 最多支持256个寄存器
译码 电路
访问SJA1000还需要产生 一个合适的片选信号
调用设延定定时时值函数
void timerDelay(unsigned int n) {
do {
等待定时标志
TL0 = LOW_BYTE(65535UL-CUPCLK/100);
TH0 = HIGH_BYTE(65535UL-CPUCLK/100);
TR0 = 1;
N
while(!TF0) {
TR0 = 0;
A[12:15]
译码 电路
本设计选用此译码电路
VCC
SJA1000的访问基址:具体地址有译码电路决定,地址唯一 优点:地址重叠少,译码电路少 缺点:地址仍有重叠
MCU访问SJA1000的地址
MCU AD[0:7]
SJA1000 1
AD[0:7]
0
A [8:11]
1
译码
0
A [12:15] 电路

CAN控制器SJA1000中文资料

CAN控制器SJA1000中文资料
-5-
广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925
器 RXB 13 个字节 作为接收 FIFO RXFIFO 长 64 字节 的一个窗口 可被 CPU 访问 CPU 在此 FIFO 的支持下 可以在处理信息的时候接收其它信息 6.1.4 验收滤波器 ACF 验收滤波器把它其中的数据和接收的识别码的内容相比较 以决定是否接收信息 在纯粹的接收测试中
6.2 CAN 控制器的详细说明 SJA1000 在软件和引脚上都是与它的前一款 PCA82C200 独立控制器兼容的 在此基础上它增加了很 多新的功能 为了实现软件兼容 SJA1000 增加修改了两种模式 y BasicCAN 模式 与 PCA82C200 兼容 y PeliCAN 模式 扩展特性 工作模式通过时钟分频寄存器中的 CAN 模式位来选择 复位默认模式是 Basic CAN 模式 6.2.1 与 PCA82C200 兼容性 在 Basic CAN 模式中 SJA1000 模仿 PCA82C200 独立控制器所有已知的寄存器 在 6.2.1.1 到 6.2.1.4 节中所描述的特性不同于 PCA82C200 这主要是为了软件上的兼容性 6.2.1.1 同步模式 在 SJA1000 的控制寄存器中没有 SYNC 位 在 PCA82C200 中是 CR.6 位 同步只有在 CAN 总线上 弱势-支配 控制 的转换时才有可能发生 写这一位是没有任何影响的 为了与现有软件兼容 读取 这一位时是可以把以前写入的值读出的 对触发电路无影响 6.2.1.2 时钟分频寄存器 时钟分频寄存器用来选择 CAN 工作模式 Basic CAN /Peli CAN 它使用从 PCA82C200 保留下来的 一位 象在 PCA82C200 中一样 写一个 0-7 之间的值 就将进入 Basic CAN 模式 默认状态是 12 分频 的 Motorola 模式和 2 分频的 Intel 模式 保留的另一位补充了一些附加的功能 CBP 位 见表 49 的置位 使内部 RX 输入比较器旁路 这样在使用外部传送电路时可以减少内部延时 6.2.1.3 接收缓冲器 PCA82C200 中双接收缓冲器的概念被 Peli CAN 中的接收 FIFO 所代替 这对软件除了会增加数据溢出 的可能性之外 不会产生应用上的影响 在数据溢出之前 缓冲器可以接收两条以上信息 最多 64 字节 6.2.1.4 CAN 2.0B SJA1000 被设计为全面支持 CAN 2.0B 协议 这就意味着在处理扩展帧信息的同时 扩展振荡器的误 差被修正了 在 Basic CAN 模式下只可以发送和接收标准帧信息 11 字节长的识别码 如果此时检测到 CAN 总线上有扩展帧的信息 如果信息正确 也会被允许且给出一个确认信号 但没有接收中断产生 6.2.2 Basic CAN 和 Peli CAN 模式的区别 在 Peli CAN 模式下 SJA1000 有一个含很多新功能的重组寄存器 SJA1000 包含了设计在 PCA82C200 中的所有位及一些新功能位 Peli CAN 模式支持 CAN 2.0B 协议规定的所有功能 29 字节的识别码 SJA1000 的主要新功能

SJA1000控制器在多电机综合保护器中的应用

SJA1000控制器在多电机综合保护器中的应用

1 引言
在 矿 井下 生 产作 业 时 , 良好 通 风 是保 证 安全 生 产 的关 键 。常用 的通 风设 备一局 部 通风机 用 于调节 井 下通 风状 况 , 控 瓦斯 浓 度 。风 机 中 的 电机 和其 调 他 电机 一 样 , 运 行 过 程 中 因为 负 载 、 网及 电机 在 电 本 身 等 因素 常 出现过 载 、 相 、 缺 短路 等 故 障 , 响其 影 正 常运行 , 而影 响矿井 的正 常通 风【 从 1 了适应 矿 。为 井 生 产 需 求 , 合 多 方 面 因素 及 项 目要 求 , 制 一 综 研
台多 电机综合 保 护器 。 用 A 8 C 2单 片 机对煤 矿 采 T9 5
故 障 信息 、 机 工 作 状 况及 瓦斯 、 量 信息 传 送 至 风 风 上 位 机 ,对 矿 井 下 的 各 种 危 险情 况 做 出及 时 的反
映, 保证 安全 生产[ 2 1 。
2 多 电机 综 合 保 护 器 的 基本 组成
t e ia r t co , h s t cu e i s l , l b e a d e s o r e h t l p oe tr w o e sr t r S i er i l a y t c me tu . e u mp e a n o
Ke r s S M ; moo ; snh t a rtco ; S A1 0 y wo d : C tr y teil poe tr J 0 0; mie c n
r e sse C c iv h u cin o a t poe t g a d te ra i thn o h trsn I y tm a ah e e tef n t ffu s rtci n h e t ' h n o l n l mewac ig frte moo y —

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

SJA1000独立的CAN控制器应用指南(中文)
PeliCAN 模式是操作的新模式 它能够处理所有的 CAN2.0B 定义的帧类型 而且它还提供一些增强功 能使 SJA1000 能应用于更宽的领域
2.1 SJA1000 特征 SJA1000 的特征能分成 3 组
1 已建立好的 PCA82C200 功能 这组的特征在 PCA82C200 里已经生效
-6-
广州周立功单片机发展有限公司
比较器旁路 = 不激活 (CBP = 0)
t

比较器旁路 = 激活 (CBP = 1)
t
图 6 SJA1000 接收输入比较器
如果外部集成收发器电路有效 而比较器旁路功能在时钟分频寄存器里无效 RX1 必须被连接到 2.5V 的参考电压上 现存的收发器参考电压输出 图 6 显示了两种设置的相应电路
传感器 变送器
MMI
传感器 变送器
MMI
总线
图 1 CAN 模块装置
-2-
广州周立功单片机发展有限公司
2.3 方块图 下图是 SJA1000 的方块图
SJA1000
发送 缓冲器

收发器
图 2 SJA1000 的方块图
根据 CAN 规约 CAN 核心模块控制 CAN 帧的发送和接收 接口管理逻辑完成对外部主控制器的连接 该控制器能可以是微型控制器或其他器件 经过 SJA1000 复用的地址/数据总线访问寄存器和控制读/写选通信号都在这里处理 另外除了 PCA82C200 已有的 BasicCAN 功能 还加入了一个新的 PeliCAN 功能 因此 附加的寄存器和逻辑电路主要在这块里生效 SJA1000 的发送缓冲器能够存储一个完整的信息 扩展的或标准的 无论什么时候主控制器初始化 发送 接口管理逻辑会迫使 CAN 核心块从发送缓冲器读 CAN 信息 当收到一个信息时 CAN 核心块将串行位流转换成用于验收滤波器的并行数据 通过这个可编程的 滤波器 SJA1000 能确定哪些信息实际上被主控制器收到 所有收到的信息由验收滤波器接收并存储在接收 FIFO 储存信息的多少由工作模式决定 而最多能 存储 32 个信息 因为数据溢出的可能性被大大降低 这使用户能更灵活地指定中断服务和中断优先级

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总线器件及其应用培训资料

典型CAN总线器件及其应用培训资料
• PCA82C250是CAN协议控制器和物理总线的接口。此 器件对总线提供差动发送能力,对CAN控制器提供差动 接收能力。又称为总线驱动器。
• 符合ISO11898标准,最高速率1Mbps; • 抗汽车环境瞬间干扰,具有保护总线能力; • 斜率控制,降低射频干扰RFI; • 热保护以及电源和地短路保护; • 低电流待机模式; • 未上电的节点对总线无影响; • 可连接110个节点; • 工作温度-40~+125℃。
1 CAN通信控制器82C200
1 CAN通信控制器82C200
2 SJA1000 CAN控制器
CAN控制器SJA1000在系统中的位置
分布模块1
传感器 执行元件 MMI
分布模块2
传感器 执行元件 MMI
模块控制器
微控制器
CAN控制 器
TX
RX
CAN收发 器
SJA1000
TX
RX
82C250
CAN总线
CAN
CAN
H
L
节点3
CAN
CAN
H
L
节点4
图 CAN总线网络拓朴示意图
4 CAN BUS 节点设计举例
虽然每一个节点根据应用系统的任务有各自控制功能,但完成CAN-bus信息 交换的功能是相同的。CAN bus节点一般由微处理器、CAN控制器、CAN收发器三 部分组成。
图 CAN bus节点示意图
1 CAN通信控制器82C200
• 完成CAN规范所规定的物理层和数据链路层大部分功能。 • 有微处理器接口,易于连接单片机。 • 结构分两种类型,独立IC或与单片机集成在一起,
82C200( SJA1000)属于前者。 • 属于后者的有:PHILIPS的87C591、LPC2119,西门子

can控制器

can控制器
SJA1000可直接连接两类主要的处理器家族:Intel公司的80C51系列和Motorola公司的68xx系列,其芯片 外围专门有一个模式管脚用了选择CPU的类型。SJA1000提供了8位地址/数据复用总线和读/写控制信号与CPU交换 数据,我们可以将SJA1000看作映射到主微处理器的外围存取器I/O设备。
控制器应用
控制器应用
can控制器最初是为汽车的监测、控制系统而设计的,现已在航天、电力、石化、冶金、纺织、造纸、仓储 等行业广泛采用。在火车、轮船、机器人、楼宇自控、医疗器械、数控机床、过程自动化仪表等自控设备中,都 广泛采用CAN技术。
谢谢观看
can控制器
串行数据通信总线
目录
01 控制器介绍
03 控制器原理
02 功能特点 04 控制器应用
基本信息
can控制器是CAN局域网控制器的简称,为解决现代汽车中众多测量控制部件之间的数据交换而开发的一种串 行数据通信总线。
控制器介绍
控制器介绍
CAN可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强以Philips SJA1000 CAN控制器为例: *支持CAN2.0,包括标准的和扩展的数据和远程帧 *位速率可程控,并有可程控的时钟输出; *扩展的64字节FIFO接收缓冲器; *4个字节的验收滤波器; *时钟频率提高到了24MHz; *输出驱动器状态可编程; *可擦写的总线错误计数器; *当前错误代码寄存器; *仲裁丢失捕获寄存器; *28脚DIP/SO封装,引脚及电器特性与82C200兼容。
控制器原理
控制器原理
还是以SJA1000为例,其中CAN核心模块根据CAN总线协议控制数据帧的发送和接收;接口管理逻辑模块提供 SJA1000与主微处理器或其它设备的连接,主微处理器可以通过数据/地址复用总线和读写控制逻辑访问SJA1000 的所有寄存器;发送缓冲区可以存储一个完整的标准或扩展的报文,当主微处理器要求SJA1000发送报文时,接 口管理逻辑操纵CAN核心模块将发送缓冲区中的报文发送到CAN总线上;当接收一个报文时,CAN核心模块首先将 总线上的串行位流数据转换位并行数据,然后交给接收过滤模块进行识别,决定该报文是否为主微处理器所要求 的报文类别,所有接收的报文可以存放在接收先进先出队列,根据不同的工作模式和数据长度,该队列可以存放 最多32个报文,然后用户可以灵活地对报文分为不同地优先级和中断处理服务。

SJA1000的驱动程序_嵌入式Linux开发教程_[共10页]

SJA1000的驱动程序_嵌入式Linux开发教程_[共10页]

#include <asm/hardware.h>/*包括了所有寄存器地址映射方式*/
#include <asm/arch/cpu_s3c2440.h> #include <linux/interrupt.h> #include "candriver.h" #define FAIL 0 #define SUCCESS 1
/*文件:program_13_1.c
*/
/*简介:SJA1000 驱动程序 Nhomakorabea*/
/**********************************************************************************/ #include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> #include <linux/fs.h> #include <asm/io.h> #include <asm/uaccess.h> #include <linux/ioport.h> #include <linux/poll.h> #include <linux/delay.h>
/*首先初始化缓冲的结束值为 0*/
256
第 13 章 各类驱动设计和引导程序
接收缓冲是否为空的判断,用来检查接收缓存里面的内容。前面已经说过,将开始和结束变
量都赋值为 0 就是代表给接收缓冲清空。所以这里只要判断这两个变量是否相等就能知道接收缓
冲是否为空。当然,开始变量一般都为 0,只有结束变量才会随着接收数据的变化而产生变化。

第6章 CAN总线控制器SJA1000-1(1)

第6章 CAN总线控制器SJA1000-1(1)
振荡器
接收过 滤器
错误管 理逻辑 复位
6.3 SJA1000内部结构框图 SJA1000内部结构框图
机电工程与自动化学院
逻辑管理接口 验收滤波器(ACK)把 它的内容和接收到的标 识码相比较,以决定是 发送缓 位流处 否接收下这条报文。 冲器 理器
接收缓 冲器
位时序 逻辑
接收过 滤器
错误管 理逻辑 复位
6.2 SJA1000介绍
6.3 SJA1000内部结构框图 SJA1000内部结构框图
机电工程与自动化学院
逻辑管理接口
发送缓 冲器
位流处 理器
位时序 逻辑
接收缓 冲器
接收过 滤器
错误管 理逻辑 复位
振荡器
6.3 SJA1000内部结构框图 SJA1000内部结构框图
机电工程与自动化学院
逻辑管理接口
6.5
控制段寄存器
二、命令寄存器 CMR(CAN地址1)
CMR. 7 CMR. 6 保留未用 CMR. 5 CMR. 4 GTS CMR. 3 CDO
CMR. CMR. 1 CMR.
2 RRB
0 TR
AT
6.5
控制段寄存器
GTS:睡眠命令位,若没有未决中断和总线活动, (1) GTS:睡眠命令位,若没有未决中断和总线活动,置“1” 将使SJA1000进入睡眠状态 进入睡眠状态后, SJA1000 SJA1000 进入睡眠状态。 1000的 将使 SJA1000 进入睡眠状态 。 进入睡眠状态后 , SJA1000 的 CLKOUT端的输出将持续 15位时间 端的输出将持续15 位时间, CLKOUT 端的输出将持续 15 位时间 , 以使主控器通过此信号 进入待命状态。下列三种情况下,SJA1000将被唤醒而进入 进入待命状态。 下列三种情况下, SJA1000将被唤醒而进入 1000 运行状态: 位被复位; 出现总线活动; 运行状态:a、GTS 位被复位;b、出现总线活动;c、有未 决中断使端为低。由于总线活动而被唤醒的SJA1000在检测 SJA1000 决中断使端为低。由于总线活动而被唤醒的SJA1000在检测 11个连续隐性位 总线空闲标志) 个连续隐性位( 到 11 个连续隐性位 ( 总线空闲标志 ) 前将不能接收总线信 在复位状态下,该位不可置位。 息。在复位状态下,该位不可置位。 CDO:清除数据超载命令位,置位时有效。 (2) CDO:清除数据超载命令位,置位时有效。 RRB: 释放接收缓存器命令位, 置位时有效。 MCU读取 ( 3 ) RRB : 释放接收缓存器命令位 , 置位时有效 。 在 MCU 读取 数据后,应该释放接收缓存器以使MCU接收下一批数据。 MCU接收下一批数据 数据后,应该释放接收缓存器以使MCU接收下一批数据。 该 位和CDO可同时有效。 位和CDO可同时有效。 CDO可同时有效

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

3.3 SJA1000初始化流程

3.3 SJA1000初始化流程
只可在复位 模式中写 只可在复位 模式中访问 无访问限制
位序号
位名称
Bit7
CAN 模式
Bit6
CBP
Bit5
Bit4
Bit3
关闭时钟
Bit2
CD.2
Bit1
CD.1
Bit0
CD.0
—— RXINTEN
Bit7=1 BasicCAN模式 Bit7=0 PeliCAN模式 Bit6=1 不使用输入比较器 Bit6=0 使用输入比较器 Bit4=1 TX1做接收中断输出 Bit4=0 无接收中断输出 Bit3=1 禁能CLKOUT输出 Bit2=0 使能CLKOUT输出
1个位元占用的CAN时钟单元= TSEG1+TSEG2+3 CAN波特率=1/(2(BRP+1)×(TSEG1+TSEG2+3)×tCLK) fosc = 1/tSCk
CAN波特率范围
BTR0寄存器的同步调整宽度使CAN波特率可以有 一个误差范围。 最大CAN波特率 fosc/(2(BRP+1)×(TSEG1+TSEG2+3-SJW)) 标准CAN波特率 fosc/(2(BRP+1)×(TSEG1+TSEG2+3))
CAN位时间的组成位定时段
晶振 时钟
tSCL = tCLK×(2×(BRP+1))
CAN 时钟
tCLK
CAN 数据位
SYNC SEG
TSEG1
TSEG2
tSYNCSEG = tSCL
tTSEG1 = tSCL×(TSEG1+1)
tTSEG2 = tSCL×(TSEG2+1)) BTR1
SAM=1 对数据采样3次 SAM=0 对数据采样1次
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SJA1000 PeliCAN模式地址分配示意图
CAN地址 模式寄存器 命令寄存器 状态寄存器 中断标志寄存器 中断使能寄存器 保留 总线定时器0 总线定时器1 输出控制寄存器 测试寄存器 保留 仲裁丢失捕捉 错误捕捉 错误报警限制 RX 错误计数器 TX 错误计数器 REG_CAN_ALC REG_CAN_ECC
V
MODE
XTAL2
XTAL1
VSS1
CLKOUT
W
RD/E
C
ALE/AS
A
A
1
M
3
D
S
D
D
3
R
SJA1000的硬件连接
0 D
7
6
0
p
p
3
VDD_5.0
G
G
Nห้องสมุดไป่ตู้
CAN_TXD
CAN_RXD
N
D
D
V
V
VSS3
VSS2
D R
R
D A
A
A
A
A
A
RST
INT
D X
X
D D
D
D
D
D
D
2 0
1
1 0
1
2
3
4
5
1
2
CAN收发器模块
型号
CTM8250/CTM8250T
说明
通用隔离CAN收发器
收发器
PCA82C250
封装
PDIP-8
CTM8251/CTM8251T
CTM1050/CTM1050T CTM1040/CTM1040T
通用隔离CAN收发器
高速隔离CAN收发器 高速隔离CAN收发器
PCA82C251
TJA1050 TJA1040
3
4
1
1
1
1
1
2
2
2
2
2
2
2
2
2
5
6
7
8
9
0
1
2
3
4
5
6
7
8
CTM-8251t
U
V
G
TXD
R
6
C
N
X CAN_INT G
RST_CAN
VDD_5.0
CAN_RXD
C
D
D VDD_5.0 N
A
A
A
A
A
A
G
D
D
D
D
D
D
D
N
0
1
2
3
4
5
D
C
C
C
A
A
A
N
N
N
G
H
L
8
7
6
C
G
C
C
N
A
A
D
N
N
L
H
SJA1000简介
5
4
3
2
1
0
9
8
7
6
5
4
3
2
1
C23
C22
89C51
U
G
X
X
R
W
T
T
INT1
INT0
TXD
R
RESET
P
P
P
P
P
P
P
P
7
1
0
1
1
1
1
1
1
1
1
3 N 1 2 D X
3
R
7
6
5
4
3
2
1
0
0
0
D
D
p
p
VDD_5.0
G
N
D
EA/VP
ALE/P C18
P
V
R
S
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
C
7
E
2
2
2
2
2
2
SJA1000独立CAN 控制器在完全兼容PCA82C200的基础上, 增加了一种新的工作模式PeliCAN。
支持CAN2.0A (BasicCAN模式)、CAN2.0B (PeliCAN模式); 内置接收FIFO缓冲区( 64 字节); 支持单/双验收滤波器; 可编程的错误限制报警; 错误代码捕获,仲裁丢失捕获; 可读/写访问的错误计数器; 支持单次发送功能; 具有只听模式、自检测模式。
单片机带有CAN控制器时的节点模型
CAN控 制 器 RXD 单片机 CPU TXD CAN收 发 器
CAN总 线
单片机不带CAN控制器时的节点模型
CPU
NXP SJA1000
RXD CAN收 发 器 TXD
单片机
CAN总 线
CAN收发器芯片
通用CAN收发器 高速CAN收发器 高速CAN收发器 容错CAN收发器 单线CAN收发器 …………. PCA82C250/251 TJA1040/1050 TJA1041 TJA1054 AU5790
2
2
0
0
0
0
0
0
0
0
N
C
0
1
2
3
4
5
6
7
7
6
5
4
3
2
1
0
1
1 0
0 K
4
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
4
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
VDD_5.0
P
S
P
P
P
P
P
P
P
CSCAN
ALE
VDD_5.0
A
A
A
A
A
A
A
A
P
E
2
2
2
2
2
2
2
S D
D
D
D
D
D
D
D
N
0
1
2
3
4
5
6
E
7
6
5
4
3
2
1
SJA1000 的操作模式
• BasicCAN模式 与PCA82C00兼容,支持CAN2.0A协议(11位标识符)。
• PeliCAN模式 支持CAN2.0B协议(29位标识符),支持标准帧和扩展帧格式报文 的接收和发送,只听模式等。 • 操作模式通过时钟分频寄存器中的CAN模式位来选择,复位默认模 式为BasicCAN模式。
SJA1000 的应用
江庚炜 2007.12.08
主要内容
• • • • 基于SJA1000的CAN-bus网络 SJA1000的硬件电路 SJA1000的操作方法 常见问题及其解决办法
CAN节点构成
一个完整的CAN节点应该包括以下三个部分:微控制 器、CAN控制器、CAN收发器。
1. 含有CAN控制器的微处理器,如: P87C591、LPC2119。使用 这些微处理器只需加一个CAN收发器。 2. 使用不带有CAN控制器的微处理器,需另外加独立CAN控制器 和CAN收发器。
PDIP-8
PDIP-8 PDIP-8
使用隔离收发模块电路比较
• • • • •
简化电路 提高可靠性 降低成本 减少采购风险 缩短开发周期
11.0592M
Y
XTAL6
XTAL5
2
XTAL5
XTAL6
R
W
CAN_INT
TXD
R
MCU_RST
C_RST
D
X
G R
D
N
D
2
1
1
1
1
1
1
1
1
1
1
0
9
8
7
6
REG_CAN_ACR0
| REG_CAN_ACR3
0
N
C_RST
VDD_5.0
CAN_TXD
1
R
0 CXTAT12
CXTAT11
G
W
R
CSCAN
ALE
A
A
5
K
CXTAT13
CXTAT12 N
D
D
D
R
D
7
6
VDD_5.0
G
N
D 1
R
1
1
1
1
1
0
RST_CAN 2
4
3
2
1
0
9
8
7
6
5
4
3
2
1
K C20
Q C21
1
SJA1000T
U
1
Y
5
6 TX1
TX0
REG_CAN_EWLR REG_CAN_RXERR REG_CAN_TXERR
复位模式
REG_CAN_MOD REG_CAN_CMR REG_CAN_SR REG_CAN_IR REG_CAN_IER
0 1 2 3 4 5
相关文档
最新文档