首页 SJA1000_中文手册

SJA1000_中文手册

举报
开通vip

SJA1000_中文手册 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 1 - SJA1000 独立独立独立独立 CAN控制器控制器控制器控制器 目录 1 特性 2 总体说明 3 订货信息 4 方块图 5 引脚 6 功能说明 6.1 CAN控制器的模块说明 6.1.1 接口管理逻辑 IML 6.1.2 发送缓冲器 ...

SJA1000_中文手册
广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 1 - SJA1000 独立独立独立独立 CAN控制器控制器控制器控制器 目录 1 特性 2 总体说明 3 订货信息 4 方块图 5 引脚 6 功能说明 6.1 CAN控制器的模块说明 6.1.1 接口管理逻辑 IML 6.1.2 发送缓冲器 TXB 6.1.3 接收缓冲器 TXB RXFIFO 6.1.4 验收滤波器 ACF 6.1.5 位流处理器 BSP 6.1.6 位时序逻辑 BTL 6.1.7 错误管理逻辑 EML 6.2 CAN控制器的详细说明 6.2.1 与 PCA82C200的兼容性 6.2.2 BasicCAN和 PeliCAN模式的区别 6.3 BasicCAN模式 6.3.1 BasicCAN的地址列表 6.3.2 复位值 6.3.3 控制寄存器 CR 6.3.4 命令寄存器 CMR 6.3.5 状态寄存器 SR 6.3.6 中断寄存器 IR 6.3.7 发送缓冲器列表 6.3.8 接收缓冲器 6.3.9 验收滤波器 6.4 PeliCAN模式 6.4.1 PeliCAN地址列表 6.4.2 复位值 6.4.3 模式寄存器 MOD 6.4.4 命令寄存器 CMR 6.4.5 状态寄存器 SR 6.4.6 中断寄存器 IR 6.4.7 中断使能寄存器 IER 6.4.8 仲裁丢失捕捉寄存器 ALC 6.4.9 误码捕捉寄存器 ECC 6.4.10 错误报警时序寄存器 EWLR 6.4.11 RX错误计数寄存器 RXERR 6.4.12 TX错误计数寄存器 TXERR 6.4.13 发送缓冲器 6.4.14 接收缓冲器 6.4.15 验收滤波器 6.4.16 RX信息计数器 RMC 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 2 - 6.4.17 RX缓冲器起始地址寄存器 RBSA 6.5 常规寄存器 6.5.1 总线定时寄存器 0 BTR0 6.5.2 总线定时寄存器 1 BTR1 6.5.3 输出控制寄存器 OCR 6.5.4 时钟分频寄存器 CDR 7 限值 8 温度特性 9 直流特性 10 交流特性 10.1 交流时序图 10.2 附录交流信息 11 封装概述 12 生命支持系统中的应用 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 3 - 1 特性 y� 和 PCA82C200独立 CAN控制器引脚兼容 y� 和 PCA82C200独立 CAN控制器电气兼容 y� PCA82C200模式 即默认的 BasicCAN模式 y� 扩展的接收缓冲器 64字节 先进先出 FIFO y� 和 CAN2.0B协议兼容 PCA82C200兼容模式中的无源扩展帧 y� 同时支持 11位和 29位识别码 y� 位速率可达 1Mbits/s y� PeliCAN模式扩展功能 --可读/写访问的错误计数器 --可编程的错误报警限制 --最近一次错误代码寄存器 --对每一个 CAN总线错误的中断 --具体控制位控制的仲裁丢失中断 --单次发送 无重发 --只听模式 无确认 无活动的出错标 志 --支持热插拔 软件位速率检测 --验收滤波器扩展 4字节代码 4字节屏蔽 --自身信息接收 自接收请求 y� 24MHz时钟频率 y� 对不同微处理器的接口 y� 可编程的 CAN输出驱动器配置 y� 增强的温度适应 -40-+125 2. 总体说明 SJA1000是一种独立控制器 用于移动目标和一般工业环境中的区域网络控制 CAN 它是 PHILIPS 半导体 PCA82C200 CAN控制器 BasicCAN 的替代产品 而且 它增加了一种新的工作模式 PeliCAN , 这种模式支持具有很多新特性的 CAN 2.0B协议 3. 订货信息 封装 型号 名称 说明 版本 SJA1000 DIP28 塑质双列直插封装 28引脚 600mil) SOT117-1 SJA1000T SO28 塑质小型线外封装 28引脚 外宽7.5mm SOT136-1 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 4 - 4. 方框图 接口管理逻辑7 8 地址 数据 控制 信息缓冲器 发送缓冲器 接收缓冲器 RXFIFO 位流处理器 验收滤波器 位时序逻辑 错误管理逻辑 复位振荡器 XTAL1 9 XTAL2 10 TX0 TX1 RX0 RX1 17 18 21 20 19 14 13 15 12 8 22 内部总线 VDD3 VSS3 VDD1 VSS1 VSS2 VDD2 AD7 to AD0 2, 1, 28 to 23 3 to 7, 11, 16 ALE/AS, CS, RD/E, WR, CLKOUT, MODE, INT RST SJA1000 图 1 方块图 5. 管脚排列 符号 引脚 说明 AD7-AD0 2 1 28-23 多路地址/数据总线 ALE/AS 3 ALE输入信号 Intel模式 AS输入信号 Motorola模式 /CS 4 片选输入 低电平允许访问SJA1000 /RD /E 5 微控制器的/RD信号 Intel模式 或E使能信号 Motorola模式 /WR 6 微控制器的/WR信号 Intel模式 或RD/ /WR 信号 Motorola模式 CLKOUT 7 SJA1000产生的提供给微控制器的时钟输出信号 时钟信号来 源于内部振荡器且通过编程驱动 时钟控制寄存器的时钟关闭位 可禁止该引脚 VSS1 8 接地 XTAL1 9 输入到振荡器放大电路 外部振荡信号由此输入 注1 XTAL2 10 振荡放大电路输出 使用外部振荡信号时左开路输出 注1 MODE 11 模式选择输入 1=Intel模式 0=Motorola模式 VDD3 12 输出驱动的5V电压源 TX0 13 从CAN输出驱动器0输出到物理线路上 TX1 14 从CAN输出驱动器1输出到物理线路上 VSS3 15 输出驱动器接地 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 5 - /INT 16 中断输出 用于中断微控制器 /INT在内部中断寄存器各位都被 置位时低电平有效 /INT是开漏输出 且与系统中的其它/INT是 线或的 此引脚上的低电平可以把IC从睡眠模式中激活 /RST 17 复位输入 用于复位CAN接口 低电平有效 把/RST引脚通过 电容连到VSS 通过电阻连到VDD可自动上电复位 例如 C=1 F;R=50k VDD2 18 输入比较器的5V电压源 RX0 RX1 19 20 从物理的CAN总线输入到SJA1000的输入比较器 支配 控制 电平将会唤醒SJA1000的睡眠模式 如果RX1比RX0的电平高 就读支配 控制 电平 反之读弱势电平 如果时钟分频寄存器 的CBP位 见表49 被置位 就旁路CAN输入比较器以减少内 部延时 此时连有外部收发电路 这种情况下只有RX0是激活 的 弱势电平被认为是高而支配电平被认为是低 VSS2 21 输入比较器的接地端 VDD1 22 逻辑电路的5V电压源 注 1 XTAL1和 XTAL2引脚必须通过 15pF的电容连到 VSS1. AD6 AD7 ALE/AS CLKOUT VSS1 XTAL1 XTAL2 MODE VDD3 TX0 TX1 AD5 AD4 AD3 AD2 AD0 VDD1 AD1 VSS2 RX1 RX0 VDD2 RST INT VSS3 1 2 3 4 5 6 7 8 9 10 11 12 13 28 27 26 25 24 23 22 21 20 19 18 17 16 1514 SJA1000 CS RD/E WR 图 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 总线上接收和接收的信息 接收缓冲 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 6 - 器 RXB 13个字节 作为接收 FIFO RXFIFO 长 64字节 的一个窗口 可被 CPU访问 CPU在此 FIFO的支持下 可以在处理信息的时候接收其它信息 6.1.4 验收滤波器 ACF 验收滤波器把它其中的数据和接收的识别码的内容相比较 以决定是否接收信息 在纯粹的接收测试中 所有的信息都保存在 RXFIFO中 6.1.5 位流处理器 BSP 位流处理器是一个在发送缓冲器 RXFIFO和 CAN总线之间控制数据流的程序装置 它还在 CAN总线 上执行错误检测 仲裁 填充和错误处理 6.1.6 位时序逻辑 BTL 位时序逻辑监视串口的 CAN总线和处理与总线有关的位时序 它在信息开头 弱势-支配 的总线传输 时同步 CAN 总线位流 硬同步 接收信息时再次同步下一次传送 软同步 BTL 还提供了可编程的时 间段来补偿传播延迟时间 相位转换 例如 由于振荡漂移 和定义采样点和一位时间内的采样次数 6.1.7 错误管理逻辑 EML EML 负责传送层模块的错误管制 它接收 BSP的出错报告 通知 BSP和 IML进行错误统计 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 被 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 为全面支持 CAN 2.0B 协议 这就意味着在处理扩展帧信息的同时 扩展振荡器的误 差被修正了 在 Basic CAN模式下只可以发送和接收 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 帧信息 11字节长的识别码 如果此时检测到 CAN总线上有扩展帧的信息 如果信息正确 也会被允许且给出一个确认信号 但没有接收中断产生 6.2.2 Basic CAN 和 Peli CAN 模式的区别 在Peli CAN模式下 SJA1000有一个含很多新功能的重组寄存器 SJA1000包含了设计在PCA82C200 中的所有位及一些新功能位 Peli CAN模式支持 CAN 2.0B协议规定的所有功能 29字节的识别码 SJA1000的主要新功能 y�标准帧和扩展帧信息的接收和传送 y�接收 FIFO 64字节 y�在标准和扩展格式中都有单/双验收滤波器 含屏蔽和代码寄存器 y�读/写访问的错误计数器 y�可编程的错误限制报警 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 7 - y�最近一次的误码寄存器 y�对每一个 CAN总线错误的错误中断 y�仲裁丢失中断以及详细的位位置 y�一次性发送 当错误或仲裁丢失时不重发 y�只听模式 CAN总线监听 无应答 无错误标志 y�支持热插 无干扰软件驱动位速检测 y�硬件禁止 CLKOUT输出 6.3 BasicCAN 模式 6.3.1 BasicCAN 地址表 SJA1000是一种 I/O设备基于内存编址的微控制器 双设备的独立操作是通过象 RAM一样的片内寄存 器修正来实现的 SJA1000 的地址区包括控制段和信息缓冲区 控制段在初始化载入是可被编程来配置通讯参数的 例 如 位时序 微控制器也是通过这个段来控制 CAN总线上的通讯的 在初始化时 CLKOUT信号可以被 微控制器编程指定一个值 应发送的信息会被写入发送缓冲器 成功接收信息后 微控制器从接收缓冲器中读取接收的信息 然后 释放空间以做下一步应用 微控制器和 SJA1000之间状态 控制和命令信号的交换都是在控制段中完成的 这个段的列表见表 3 初始载入后 寄存器的验收代码 验收屏蔽 总线定时寄存器 0和 1以及输出控制就不能改变了 只有控 制寄存器的复位位被置高时 才可以访问这些寄存器 在以下两种不同的模式中访问寄存器是不同的 y�复位模式 y�工作模式 当硬件复位或控制器掉线 见表 5 状态寄存器的总线状态位 时会自动进入复位模式 见表 3 控制 寄存器的位复位请求 工作模式是通过置位控制寄存器的复位请求位激活的 表 1 BasicCAN 地址分配表 注 1 工作模式 复位模式 CAN地址 段 读 写 读 写 0 控制 控制 控制 控制 1 FFH 命令 FFH 命令 2 状态 - 状态 - 3 FFH - 中断 - 4 FFH - 验收代码 验收代码 5 FFH - 验收屏蔽 验收屏蔽 6 FFH - 总线定时0 总线定时0 7 FFH - 总线定时1 总线定时1 8 FFH - 输出控制 输出控制 9 控制 测试 测试 注2 测试 测试 注2 10 识别码 (10-3 ) 识别码 (10-3 ) FFH - 11 识别码 2-0 RTR和DLC 识别码 2-0 RTR和DLC FFH - 12 数据字节1 数据字节1 FFH - 13 数据字节2 数据字节2 FFH - 14 数据字节3 数据字节3 FFH - 15 发送缓冲器 数据字节4 数据字节4 FFH - 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 8 - 16 数据字节5 数据字节5 FFH - 17 数据字节6 数据字节6 FFH - 18 数据字节7 数据字节7 FFH - 19 数据字节8 数据字节8 FFH - 20 识别码 10-3 识别码 10-3 识别码 10-3 识别码 10-3 21 识别码 2-0 RTR和DLC 识别码 2-0 RTR和DLC 识别码 2-0 RTR和DLC 识别码 2-0 RTR和DLC 22 数据字节1 数据字节1 数据字节1 数据字节1 23 数据字节2 数据字节2 数据字节2 数据字节2 24 数据字节3 数据字节3 数据字节3 数据字节3 25 数据字节4 数据字节4 数据字节4 数据字节4 26 数据字节5 数据字节5 数据字节5 数据字节5 27 数据字节6 数据字节6 数据字节6 数据字节6 28 数据字节7 数据字节7 数据字节7 数据字节7 29 接收缓冲器 数据字节8 数据字节8 数据字节8 数据字节8 30 FFH - FFH - 31 时钟分频器 时钟分频器;注3 时钟分频器 时钟分频器 注 1 必须注明的是寄存器在高端 CAN地址区被重复 8位 CPU地址的最高位是不参与解码的 CAN 地址 32是和 CAN地址 0连续的 2 测试寄存器只用于产品测试 正常操作中使用这个寄存器会导致设备不可预料的结果 3 许多位在复位模式中是只写的 CAN模式和 CBP 6.3.2 复位值 检测到有复位请求后将中止当前接收/发送的信息而进入复位模式 一旦向复位位传送了 1-0 的下 降沿 CAN控制器将返回工作模式 表 2 复位模式的配置 注 1和注 2 值 寄存器 位 符号 名称 硬件复位 软件或总线关闭复位CR.0 CR.7 - 保留 0 0 CR.6 - 保留 CR.5 - 保留 1 1 CR.4 OIE 溢出中断使能 CR.3 EIE 错误中断使能 CR.2 TIE 发送中断使能 CR.1 RIE 接收中断使能 控制 CR.0 RR 复位请求 1(复位模式) 1(复位模式) CMR.7 - 保留 CMR.6 - 保留 CMR.5 - 保留 CMR.4 GTS 睡眠 CMR.3 CDO 清除数据溢出 CMR.2 RRB 释放接收缓冲器 命令 CMR.1 AT 中止传送 注3 注3 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 9 - CMR.0 TR 发送请求 SR.7 BS 总线状态 0(总线开启) SR.6 ES 出错状态 0(ok) SR.5 TS 发送状态 0(空闲) 0(空闲) SR.4 RS 接收状态 0(空闲) 0(空闲) SR.3 TCS 发送完毕状态 1(完毕) SR.2 TBS 发送缓冲器状态 1(释放) 1(释放) SR.1 DOS 数据溢出状态 0(无溢出) 0(无溢出) 状态 SR.0 RBS 接收缓冲器状态 0(空) 0(空) IR.7 - 保留 1 1 IR.6 - 保留 1 1 IR.5 - 保留 1 1 IR.4 WUI 唤醒中断 0(复位) 0(复位) IR.3 DOI 数据溢出中断 0(复位) 0(复位) IR.2 EI 错误中断 0(复位) ;注4 IR.1 TI 发送中断 0(复位) 0(复位) 中断 IR.0 RI 接收中断 0(复位) 0(复位) 验收代码 AC.7-0 AC 验收代码 验收屏蔽 AM.7-0 AM 验收屏蔽 BTR0.7 SJW.1 同步跳转宽度1 BTR0.6 SJW.0 同步跳转宽度0 BTR0.5 BRP.5 波特率预设值5 BTR0.4 BRP.4 波特率预设值4 BTR0.3 BRP.3 波特率预设值3 BTR0.2 BRP.2 波特率预设值2 BTR0.1 BRP.1 波特率预设值1 总线定时0 BTR0.0 BRP.0 波特率预设值0 BTR1.7 SAM 采样 BTR1.6 TSEG2.2 时间段2.2 BTR1.5 TSEG2.1 时间段2.1 BTR1.4 TSEG2.0 时间段2.0 BTR1.3 TSEG1.3 时间段1.3 BTR1.2 TSEG1.2 时间段1.2 BTR1.1 TSEG1.1 时间段1.1 总线定时1 BTR1.0 TSEG1.0 时间段1.0 OC.7 OCTP1 输出控制晶体管P1 OC.6 OCTN1 输出控制晶体管N1 OC.5 OCPOL1 输出控制极性1 OC.4 OCTP0 输出控制晶体管P0 OC.3 OCTN0 输出控制晶体管N0 OC.2 OCPOL0 输出控制极性0 输出控制 OC.1 OCMODE1 输出控制模式1 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 10 - OC.0 OCMODE0 输出控制模式0 发送缓冲器 - TXB 发送缓冲器 接收缓冲器 - RXB 接收缓冲器 ;注5 ;注5 时钟分频器 - CDR 时钟分频寄存器 0000 0000 (Intel); 0000 0101 (Motorola) 注 1. 表示这些寄存器或位不受影响 2. 括号中是功能说明 3. 读命令寄存器的结果总是 1111 1111 4. 总线关闭时错误中断位被置位(此中断被允许情况下) 5. RXFIFO 的内部读/写指针被设置成初始化值 连续的读 RXB 会得到一些未定义的数据 部分旧信 息 发送信息时 信息并行写入接收缓冲器 但不产生接收中断且接收缓冲区是不锁定的 所以 即 使接收缓冲器是空的 最近一次发送的信息也可从接收缓冲器读出 直到它被下一条发送或接收的信 息取代 硬件复位时 RXFIFO 的指针指到物理地址 0 的 RAM 单元 软件设置 CR.0 或因为总线关闭的缘 故 RXFIFO的指针将被设置到当前有效 FIFO的开始地址 这个地址不同于物理的 RAM地址 0 ,而是第 一次释放接收缓冲器命令后的有效起始地址 6.3.3 控制寄存器 CR 控制寄存器的内容是用于改变 CAN控制器的行为的 这些位可以被微控制器设置或复位 微控制器可 以对控制寄存器进行读/写操作 表 3 控制寄存器各位的说明 CAN地址 0 位 符号 名称 值 功能 CR.7 保留;注1 CR.6 保留;注2 CR.5 保留;注3 1 使能;如果置位数据溢出位,微控制器接收溢出中断信号(见状态寄存器;表5) CR.4 OIE 溢出中断使能 0 禁能;微控制器不从SJA1000接收溢出中断信号 1 使能;如果出错或总线状态改变,微控制器接收错误中断信号(见状态寄存器;表5) CR.3 EIE 错误中断使能 0 禁能; 微控制器不从SJA1000接收错误中断信号 1 使能;当信息被成功发送或发送缓冲器又被访 问时,(例如,中止发送命令后), 微控制器接收 SJA1000发出的一个发送中断信号 CR.2 TIE 发送中断使能 0 禁能; 微控制器不从SJA1000接收发送中断信号 1 使能;信息被无错接收时,SJA1000发出一个接收中断信号到微控制器 CR.1 RIE 接收中断使能 0 禁能; 微控制器不从SJA1000接收发送中断信号 1 当前;SJA1000检测到复位请求后,中止当前发送/接收的信息,进入复位模式 CR.0 RR 复位请求;注4 0 空 缺 ; 复 位 请求 位 接 收到一 个 下 降 沿后,SJA1000回到工作模式 注 1. 控制寄存器的任何写访问都将设置该位为逻辑 0 复位 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 11 - 2. 在 PCA82C200中这一位是用来选择同步模式的 因为这种模式不在使用了 所以这一位的设置不 会影响微控制器 为了软件上的兼容 这一位是可以被设置的 硬件或软件复位后不改变这一位 它只反映用户软件写入的值 3. 读此位的值总是逻辑 1 4. 在硬启动或总线状态位设置为 1 总线关闭 时 复位请求位被置为 1 当前 如果这些位被 软件访问 其值将发生变化 而且会影响内部时钟的下一个上升沿 内部时钟的频率是外部晶振的 1/2 在外部复位期间 微控制器不能把复位请求位置为 0 空缺 如果把复位请求位设为 0 微 控制器就必须检查这一位以保证外部复位引脚不保持为低 复位请求位的变化是同内部分频时钟同 步的 读复位请求位能够反映出这种同步状态 复位请求位被设为 0后 SJA1000将会等待 a) 一个总线空闲信号 11个弱势位 如果前一次复位请求是硬件复位或 CPU初始复位 b) 128 个总线空闲 如果前一次复位请求是 CAN 控制器在重新进入总线开启模式前初始化总线 造成的 必须说明的是 如果复位请求位被置位 一些寄存器的值会被改变的 见表 2 6.3.4 命令寄存器 CMR 命令位初始化 SJA1000传输层上的动作 命令寄存器对微控制器来说是只写存储器 如果去读这个地 址 返回值是 1111 1111 两条命令之间至少有一个内部时钟周期 内部时钟的频率是外部振荡频率的 1/2 表 4 命令寄存器各位的功能说明 CMR CAN地址 1 位 符号 名称 值 功能 CMR.7 - - - 保留 CMR.6 - - - 保留 CMR.5 - - - 保留 1 睡眠 ;如果没有 CAN中断 等待和总线活动,SJA1000进入睡眠模式 CMR.4 GTS 睡眠;注1 0 唤醒;SJA1000正常工作模式 1 清除;清除数据溢出状态位 CMR.3 CDO 清除数据溢出;注2 0 无动作 1 释放;接收缓冲器中存放信息的内存空间将被释放 CMR.2 RRB 释放接收缓冲器;注3 0 无动作 1 当前;如果不是在处理过程中,等待处理的发送请求将取消 CMR.1 AT 中止发送;注4 0 空缺;无动作 1 当前;信息被发送 CMR.0 TR 发送请求;注5 0 空缺;无动作 注 1 将睡眠模式位置为 1 SJA1000进入睡眠模式 没有总线活动 没有中断等待 至少破坏这两种 情况之一时将会导致 GTS的唤醒中断 设置成睡眠模式后 CLKOUT信号持续至少 15位的时间 以使被这个信号锁定的微控制器在 CLKOUT信号变低之前进入准备模式 如果前面提到的三种条件之一被破坏 SJA1000 将被唤醒 GTS 位被置为低后 总线转入活动 或/INT有效 低电平 一旦唤醒 振荡器就将启动而且产生一个唤醒中断 因为总线活动而唤醒 的 SJA1000直到检测到 11个连续的弱势位 总线空闲序列 才能够接收到这个信息 在复位模 式中 GTS位是不能被置位的 在清除复位请求后 且再一次检测到总线空闲 GTS位才可以被 置位 2 这个命令位是用来清除由数据溢出状态位指出的数据溢出情况的 如果数据溢出位被置位 就不会 产生数据溢出中断了 在释放接收缓冲器命令的同时是可以发出清除数据溢出命令的 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 12 - 3 读接收缓冲器之后 微控制器可以通过设置释放接收缓冲器位为 1 来释放 RXFIFO 中当前信息的 内存空间 这可能会导致接收缓冲器中的另一条信息立即有效 这样会再产生一次接收中断 使能 条件下 如果没有其它可用信息 就不会再产生接收中断 接收缓冲器状态位被清除 4 中止传送位是在 CPU要求当前传送暂停时使用的 例如 传送一条紧急信息 正在进行的传送是 不停止的 要查看原始信息是否被成功发送 可以通过传送成功状态位来检测 不过 这必须在发 送缓冲器状态位为 1 释放 或发送中断产生的情况下才能实现 5 如果发送请求在前面的命令中被置位 它就不可以通过直接设置为 0来取消它了 不过 可以通过 设置中止发送位为 0来取消 6.3.5 状态寄存器 SR 状态寄存器的内容反映了 SJA1000的状态 状态寄存器对微控制器来说是只读存储器 表 5 状态寄存器各位的功能说明 CAN地址 2 位 符号 名称 值 功能 1 总线关闭;SJA1000退出总线活动 SR.7 BS 总线状态 注1 0 总线开启;SJA1000加入总线活动 1 出错 ;至少出现一个错误计数器满或超过CPU报警限制 SR.6 ES 出错状态;注2 0 ok;两个错误计数器都在报警限制以下 1 发送;SJA1000在传送信息 SR.5 TS 发送状态;注3 0 空闲;没有要发送的信息 1 接收;SJA1000正在接收信息 SR.4 RS 接收状态;注3 0 空闲;没有正在接收的信息 1 完毕;最近一次发送请求被成功处理 SR.3 TCS 发送完毕状态;注4 0 未完毕;当前发送请求未处理完毕 1 释放;CPU可以向发送缓冲器写信息 SR.2 TBS 发送缓冲器状态;注5 0 锁定;CPU不能访问发送缓冲器;有信息正在等待发送或正在发送 1 溢出;信息丢失,因为RXFIFO中没有足够的空间来存储它 SR.1 DOS 数据溢出状态;注6 0 空缺;自从最后一次清除数据溢出命令执行无数据溢出发生 1 满;RXFIFO中有可用信息 SR.0 RBS 接收缓冲器状态;注7 0 空;无可用信息 注 1 当传输错误计数器超过限制 255 总线状态位置 1 总线关闭 CAN控制器就会将复位请求位 置 1 当前 在错误中断允许的情况下 会产生一个错误中断 这种状态会持续直到 CPU清除复 位请求位 所有这些完成之后 CAN控制器将会等待协议规定的最小时间 128个总线空闲信号 总线状态位被清除后 总线开启 错误状态位被置为 0 ok 错误计数器复位且产生一个错误中 断 中断允许 2 根据 CAN 2.0B协议说明 在接收或发送时检测到错误会影响错误计数 当至少有一个错误计数器 满或超出 CPU警告限制 96 时 错误状态位被置位 在允许情况下 会产生错误中断 3 如果接收状态位和发送状态位都是 0 则 CAN总线是空闲的 4 无论何时发送请求位被置为 1 发送完毕位都会被置为 0 未完毕 发送完毕位的 0 会一直保持 到信息被成功发送 5 如果 CPU 在发送缓冲器状态位是 0 锁定 时试图写发送缓冲器 则写入的字节被拒绝接收且会 在无任何提示的情况下丢失 6 当要被接收的信息成功的通过验收滤波器后 例如 仲裁后之初 CAN 控制器需要在 RXFIFO 中用一些空间来存储这条信息的描述符 因此必须有足够的空间来存储接收的每一个数据字节 如 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 13 - 果没有足够的空间存储信息 信息将会丢失且只向 CPU提示数据溢出情况 如果这个接收到的信 息除了最后一位之外都无错误 信息有效 7 在读 RXFIFO中的信息且用释放接收缓冲器命令来释放内存空间之后 这一位被清除 如果 FIFO 中还有可用信息 此位将在下一位的时限 tSCL 中被重新设置 6.3.6 中断寄存器 IR 中断寄存器允许中断源的识别 当寄存器的一位或多位被置位时 /INT 低电平有效 引脚就被激活 了 寄存器被微控制器读过之后 所有位复位 这导致了/INT引脚上的电平漂移 中断寄存器对微控制器 来说是只读存储器 表 6 中断寄存器各位的功能说明 CAN地址 3 位 符号 名称 值 功能 IR.7 - - - 保留;注1 IR.6 - - - 保留;注1 IR.5 - - - 保留;注1 1 置位;退出睡眠模式时此位被置位 IR.4 WUI 唤醒中断;注2 0 复位; 微控制器的任何读访问将清除此位 1 设置;当数据溢出中断使能位被置为1时向数据溢出状态位 0-1 跳变 此位被置位 IR.3 DOI 数据溢出中断;注3 0 复位; 微控制器的任何读访问将清除此位 1 置位;错误中断使能时,错误状态位或总线状态位的变化会置位此位 IR.2 EI 错误中断 0 复位; 微控制器的任何读访问将清除此位 1 置位;发送缓冲器状态从0变为1(释放)和发送中断使能时,置位此位 IR.1 TI 发送中断 0 复位; 微控制器的任何读访问将清除此位 1 置位;当接收FIFO不空和接收中断使能时置位此位 IR.0 RI 接收中断;注4 0 复位; 微控制器的任何读访问将清除此位 注 1 读这一位的值总是 1 2 如果当 CAN控制器参与总线活动或 CAN中断正在等待时 CPU试图进入睡眠模式 唤醒中断也 会产生的 3 溢出中断位 中断允许情况下 和溢出状态位是同时被置位的 4 接收中断位 中断允许时 和接收缓冲器状态位是同时置位的 必须说明的是接收中断位在读的时候被清除 即使 FIFO 中还有其它可用信息 一旦释放接收缓冲器 命令执行后 接收缓冲器中还有其它可用信息 接收中断 中断允许时 会在下一个 tSCL被重置 6.3.7 发送缓冲区列表 发送缓冲区的全部内容列表如表 7 缓冲器是用来存储微控制器要 SJA1000发送的信息的 它被分为 描述符区和数据区 发送缓冲器的读/写只能由微控制器在工作模式下完成 在复位模式下读出的值总是 FFH 表 7 发送缓冲器列表 位 CAN地址 区 名称 7 6 5 4 3 2 1 0 10 识别码字节1 ID.10 ID.9 ID.8 ID.7 ID.6 ID.5 ID.4 ID.3 11 描述符 识别码字节2 ID.2 ID.1 ID.0 RTR DLC.3 DLC.2 DLC.1 DLC.0 12 TX数据1 发送数据字节1 13 数据 TX数据2 发送数据字节2 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 14 - 14 TX数据3 发送数据字节3 15 TX数据4 发送数据字节4 16 TX数据5 发送数据字节5 17 TX数据6 发送数据字节6 18 TX数据7 发送数据字节7 19 TX数据8 发送数据字节8 6.3.7.1 识别码 ID 识别码有 11位 ID0-ID10 ID10是最高位 在仲裁过程中是最先被发送到总线上的 识别码就象信 息的名字 它在接收器的验收滤波器中被用到 也在仲裁过程中决定总线访问的优先级 识别码的值越低 其优先级越高 这是因为在仲裁时有许多支配 控制 位开头的字节 6.3.7.2 远程发送请求 RTR 如果此位置 1 总线将以远程帧发送数据 这意味着此段中没有数据字节 尽管如此 也需要同识别 码相同的数据帧来识别正确的数据长度 如果 RTR位没有被置位 数据将以数据长度码规定的长度来传送 6.3.7.3 数据长度码 DLC 信息数据区的字节数根据数据长度码编制 在远程帧传送中 因为 RTR被置位 数据长度码是不被考 虑的 这就迫使发送/接收数据字节数为 0 总之 数据长度码必须正确设置以避免两个 CAN 控制器用同 样的识别机制启动远程帧传送而发生总线错误 数据字节数是 0-8 是以如下方法计算的 数据字节数=8 DLC.3+4 DLC.2+2 DLC.1+DLC.0 为了保持兼容性 数据长度码不超过 8 如果选择的值超过 8 则按照 DLC规定的 8字节发送 6.3.7.4 数据区 传送的数据字节数由数据长度码决定 发送的第一位是地址 12单元的数据字节 1的最高位 6.3.8 接收缓冲器 接收缓冲器的全部列表和发送缓冲器类似 接收缓冲器是 RXFIFO 中可访问的部分 位于 CAN 地址 的 20-29之间 接收缓冲器当前的可用信息是信息 1 释放 输入 缓冲器 命令 64字节 FIFO 输入信息 信息 3 信息 2 信息 1 29 28 27 26 25 24 23 22 21 20 接收 缓冲器 窗口 CAN 地址 图 4 在 RXFIFO中储存信息的例子 识别码 远程发送请求位和数据长度码同发送缓冲器的相同 只不过是在地址 20-29 如图 4 所示 RXFIFO共有 64字节的信息空间 在任何情况下 FIFO中可以存储的信息数取决于各条信息的长度 如 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 15 - 果 RXFIFO中没有足够的空间来存储新的信息 CAN控制器会产生数据溢出 数据溢出发生时 已部分写 入 RXFIFO的当前信息将被删除 这种情况将通过状态位或数据溢出中断 中断允许时 如果除了最后一 位整个数据块被无误接收也使 RX信息有效 反应到微控制器 6.3.9 验收滤波器 在验收滤波器的帮助下 CAN控制器能够允许 RXFIFO只接收同识别码和验收滤波器中预设值相一致 的信息 验收滤波器通过验收代码寄存器 ACR 见 6.3.9.1节 和验收屏蔽寄存器 AMR 见 6.3.9.2节 来定义 6.3.9.1 验收代码寄存器 ACR 表 8 ACR的位分配 CAN地址 4 BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 AC.7 AC.6 AC.5 AC.4 AC.3 AC.2 AC.1 AC.0 复位请求位被置高 当前 时 这个寄存器是可以访问 读/写 的 如果一条信息通过了验收滤波器 的测试而且接收缓冲器有空间 那么描述符和数据将被分别顺次写入 RXFIFO 当信息被正确的接收完毕 就会 y�接收状态位置高 满 y�接收中断使能位置高 使能 接收中断置高 产生中断 验收代码位 AC.7-AC.0 和信息识别码的高 8位 ID.10-ID.3 相等 且与验收屏蔽位 AM.7-AM.0 的相应位相或为 1 即如果满足以下方程的描述 则被接收 [ ID.10-ID.3 AC.7-AC.0 ] AM.7-AM.0 11111111 6.3.9.2 验收屏蔽寄存器 AMR 表 9 AMR 位配置 CAN地址 5 BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 AM.7 AM.6 AM.5 AM.4 AM.3 AM.2 AM.1 AM.0 如果复位请求位置高 当前 这个寄存器可以被访问 读/写 验收屏蔽寄存器定义验收代码寄存器 的相应位对验收滤波器是 相关的 或 无影响的 即可为任意值 6.3.9.3 其它寄存器 其它寄存器见 6.5节 6.4 PeliCAN 模式 6.4.1 PeliCAN 地址列表 CAN控制寄存器的内部寄存器对 CPU来说是以外部寄存器形式存在而作片内内存使用 因为 CAN控 制器可以工作于不同模式 工作/复位 见 6.4.3节 所以必须区分不同的内部地址定义 从 CAN地址 32 起所有的内部 RAM 80字节 被映象为 CPU的接口 表 10 PeliCAN地址分配 注 1 工作模式 复位模式 CAN地址 读 写 读 写 0 模式 模式 模式 模式 1 (00H) 命令 (00H) 命令 2 状态 - 状态 - 3 中断 - 中断 - 4 中断使能 中断使能 中断使能 中断使能 5 保留(00H) - 保留(00H) - 6 总线定时0 - 总线定时0 总线定时0 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 16 - 7 总线定时1 - 总线定时1 总线定时1 8 输出控制 - 输出控制 输出控制 9 检测 检测;注2 检测 检测;注2 10 保留(00H) - 保留(00H) - 11 仲裁丢失捕捉 - 仲裁丢失捕捉 - 12 错误代码捕捉 - 错误代码捕捉 - 13 错误报警限制 - 错误报警限制 错误报警限制 14 RX错误计数器 - RX错误计数器 RX错误计数器 15 TX错误计数器 - TX错误计数器 TX错误计数器 16 RX 帧 信 息SFF;注3 RX 帧 信 息 EFF;注4 TX 帧 信 息 SFF;注3 TX 帧 信 息 EFF;注4 验收代码0 验收代码0 17 RX识别码1 RX识别码1 TX识别码1 TX识别码1 验收代码1 验收代码1 18 RX识别码2 RX识别码2 TX识别码2 TX识别码2 验收代码2 验收代码2 19 RX数据1 RX识别码3 TX数据1 TX识别码3 验收代码3 验收代码3 20 RX数据2 RX识别码4 TX数据2 TX识别码4 验收屏蔽0 验收屏蔽0 21 RX数据3 RX数据1 TX数据3 TX数据1 验收屏蔽1 验收屏蔽1 22 RX数据4 RX数据2 TX数据4 TX数据2 验收屏蔽2 验收屏蔽2 23 RX数据5 RX数据3 TX数据5 TX数据3 验收屏蔽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) - 27 (FIFO RAM);注5 RX数据7 - TX数据7 保留(00H) - 28 (FIFO RAM);注5 RX数据8 - TX数据8 保留(00H) - 29 RX信息计数器 - RX信息计数器 - 30 RX缓冲器起始地址 - RX缓冲器起始地址 RX缓冲器起始地址 31 时钟分频器 时钟分频器;注6 时钟分频器 时钟分频器 32 内部RAM地址0(FIFO) - 内部RAM地址0 内部RAM地址0 33 内部RAM地址1(FIFO) - 内部RAM地址1 内部RAM地址1 95 内部RAM地址63(FIFO) - 内部RAM地址63 内部RAM地址63 96 内部RAM地址64(TX缓冲器) - 内部RAM地址64 内部RAM地址64 108 内部RAM地址76(TX缓冲器) - 内部RAM地址76 内部RAM地址76 109 内部RAM地址77(空闲) - 内部RAM地址77 内部RAM地址77 110 内部RAM地址78(空闲) - 内部RAM地址78 内部RAM地址78 111 内部RAM地址79(空闲) - 内部RAM地址79 内部RAM地址79 112 (00H) - (00H) - 127 (00H) - (00H) - 注 1 必须说明的是在 CAN的高端地址区的寄存器是重复的 CPU地址的高 8位是不参与解码的 CAN 广州周立功单片机发展有限公司 Tel 020 38730976 38730977 Fax:38730925 http://www.zlgmcu.com - 17 - 地址 128和地址 0是连续的 2 测试寄存器只用于产品测试 正常工作时使用这个寄存器会使设备产生不可预料的行为 3 SFF=标准帧格式 4 EFF=扩展帧格式 5 这些地址分配反映当前信息之后的 FIFO RAM空间 上电后的内容是随机的且包含了当前接收信 息的下一条信息的开头 如果没有信息要接收 这里会出现部分旧的信息 6 一些位在复位模式中是只写的 CAN模式 CBP RXINTEN和时钟关闭 6.4.2 复位值 检测到复位模式设置位后 中止当前发送/接收信息而进入复位模式 当向复位模式位 1-0 跳变时 CAN控制器回到模式寄存器所定义的模式 表 11 复位模式配置 注 1和注 2 值 寄存器 位 符号 名称 硬件复位 软件设置MOD.0 或总线关闭时 复位 MOD.7-5 - 保留 0(保留) 0(保留) MOD.4 SM 睡眠 0(唤醒) 0(唤醒) MOD.3 AFM 验收滤波器 0(双向) MOD.2 STM 自检测模式 0(正常) MOD.
本文档为【SJA1000_中文手册】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_732179
暂无简介~
格式:pdf
大小:748KB
软件:PDF阅读器
页数:47
分类:互联网
上传时间:2011-12-21
浏览量:1803