没有合适的资源?快使用搜索试试~ 我知道了~
首页SJA1000 CAN 控制器PeliCAN 模块
资源详情
资源评论
资源推荐
SJA1000 CAN 控制器 PeliCAN 模块
1 概述
PeliCAN模式是SJA1000操作的新模式 在PeliCAN模式里增加了许多新的特性和强大的功能 以使
SJA1000 能应用于更宽的领域 PeliCAN完全支持所有的CAN2.0B 定义的帧类型 另外在PeliCAN 模式里
SJA1000 支持一些错误分析功能 如支持系统诊断 系统维护 系统优化 而且这个模式里也加入了对一
般CPU 的支持和系统自身测试的功能 应用SJA1000的PeliCAN功能 可以将CAN通讯的所有先进的特性
发挥得淋漓尽致
本文将介绍 SJA1000 的 PeliCAN 模块的使用方法 PCAN 版本号 V1.0
2 PeliCAN应用说明
在 PeliCAN 模式下 SJA1000 与微处理器的接口方式同 BasicCAN 模式下的接口方式是一样的 微处
理器以访问外部存储器的方式来访问 SJA1000 不过在 PeliCAN 模式下 SJA1000 内部寄存器的数量以及各
寄存器的含义已发生了变化 表 1 详细的说明了 SJA1000 在 PeliCAN 模式下各寄存器的定义 表 2 则详细
的说明了复位对各寄存器的影响
表 1 PeliCAN 下寄存器地址分配
工作模式 复位模式
CAN地址
读 写 读 写
0 模式 模式 模式 模式
1 (00H) 命令 (00H) 命令
2 状态 - 状态 -
3 中断 - 中断 -
4 中断使能 中断使能 中断使能 中断使能
5 保留(00H) - 保留(00H) -
6 总线定时0 - 总线定时0 总线定时0
7 总线定时1 - 总线定时1 总线定时1
8 输出控制 - 输出控制 输出控制
9 检测 检测 检测 检测
10 保留(00H) - 保留(00H) -
11 仲裁丢失捕捉 - 仲裁丢失捕捉 -
12 错误代码捕捉 - 错误代码捕捉 -
13 错误报警限制 - 错误报警限制 错误报警限制
14 RX错误计数器 - RX错误计数器 RX错误计数器
15 TX错误计数器 - TX错误计数器 TX错误计数器
16
RX
帧信息
SFF
RX
帧信息
EFF
TX
帧信息
SFF
TX
帧信息
EFF
验收代码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)
RX数据7 - TX数据7 保留(00H) -
28 (FIFO RAM)
RX数据8 - TX数据8 保留(00H) -
29 RX信息计数器 - RX信息计数器 -
30 RX缓冲器起始地址 - RX缓冲器起始地址
RX缓冲器起始地
址
31 时钟分频器 时钟分频器 时钟分频器 时钟分频器
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) -
注 必须说明的是在 CAN 的寄存器的地址在大于 127 的空间上是重叠的 即地址线的最高位不参与
地址解码 因此地址 128 与地址 0 是等同的
表 2 复位后各寄存器的配置
值
寄存器 位 符号 名称
硬件复位
软件设置
MOD.0
或总线
关闭时复位
MOD.7-5 - 保留 0) 0
MOD.4 SM 睡眠 0 0
MOD.3 AFM 验收滤波器 0
MOD.2 STM 自检测模式 0
MOD.1 LOM 只听模式 0
模式
MOD.0 RM 复位模式 1 1
CMR.7-5 保留 0 0
CMR.4 SRR 自接收模式 0 0
CMR.3 CDO 清除数据溢出 0 0
命令
CMR.2 RRB 释放接收缓冲器 0 0
CMR.1 AT 中止发送 0 0
CMR.0 TR 发送请求 0 0
SR.7 BS 总线状态 0
SR.6 ES 出错状态 0(ok)
SR.5 TS 发送状态 1 1
SR.4 RS 接收状态 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 错误警报中断 0
IR.1 TI 发送中断 0 0
中断
IR.0 RI 接收中断 0 0
IER.7 BEIE 总线错误中断使能
IER.6 ALIE 仲裁丢失中断使能
IER.5 EPIE 错误消极中断使能
IER.4 WUIE 唤醒中断使能
IER.3 DOIE 数据溢出中断使能
IER.2 EIE 错误报警中断使能
IER.1 TIE 发送中断使能
中断使能
IER.0 RIE 接收中断使能
BTR0.7 SJW.1 同步跳转宽度1
BTR0.6 SJW.0 同步跳转宽度0
BTR0.5 BRT.5 波特率预设值5
BTR0.4 BRT.4 波特率预设值4
BTR0.3 BRT.3 波特率预设值3
BTR0.2 BRT.2 波特率预设值2
BTR0.1 BRT.1 波特率预设值1
总线定时0
BTR0.0 BRT.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
总线定时1
BTR1.1 TSEG1.1 时间段1.1
BTR1.0 TSEG1.0 时间段1.0
OCR.7 OCTP1 输出控制晶体管P1
OCR.6 OCTN1 输出控制晶体管N1
OCR.5 OCPOL1 输出控制极性1
OCR.4 OCRP0 输出控制晶体管P0
OCR.3 OCTN0 输出控制晶体管N0
OCR.2 OCPOL0 输出控制极性0
OCR.1 OCMODE1 输出控制模式1
输出控制
OCR.0 OCMODE0 输出控制模式0
仲裁丢失捕捉 - ALC 仲裁丢失捕捉 0
错误代码捕捉 - ECC 错误代码捕捉 0
错误报警限制 - EWLR 错误报警限制寄存器 96
RX错误计数器 - RXERR 接收错误计数器 0
TX错误计数器 - TXERR 发送错误计数器 0
TX缓冲器 - TXB 发送缓冲器
RX缓冲器 - RXB 接收缓冲器
ACR0-3 - ACR0-ACR3 验收代码寄存器
AMR0-3 - AMR0-AMR3 验收屏蔽寄存器
RX信息计数器 - RMC RX信息计数器 0 0
RX缓冲器起始
地址
- RBSA RX缓冲器起始地址 0000 0000
时钟分频器 - CDR 时钟分频器地址
0000 0000Intel;
0000
0101Motorola
注
1 表示对于这些寄存器或位的值是无任何影响的
2 在相应的中断允许时 总线关闭则错误报警中断被置位
3 若是因为总线关闭而进入复位模式 接收错误计数器被清 0 发送错误计数器被初始化到 127 以
计数 CAN 定义的包括 128 个 11 位连续隐藏 弱势 位的总线关闭恢复时间
4 RXFIFO 的内部读/写指针复位到初始化值 连续的读 RXB 口将会得到一些未定义的值 一部分是
老的信息 如果有信息被发送 就被并行写入接收缓冲器 只有这次传送是自接收请求引起的才会产生接
收中断 所以 即使接收缓冲器是空的 最后一次发送的信息也可以从接收缓冲器中读出 除非它被下一
条要发送或接收的信息覆盖 硬件复位时 RXFIFO 的指针指向物理 RAM 地址 0 通过软件设置 CR.0
或总线关闭会使 RXFIFO 的指针指向当前有效 FIFO 的起始地址 RBSA 寄存器 这个地址不同于第一次
释放接收缓冲器命令后的 RAM 地址 0
2 1 各寄存器详细说明
下面是各个寄存器功能的详细说明
2 1 1 模式寄存器 MOD
模式寄存器的内容是用来改变 CAN 控制器的行为的 CPU 把控制寄存器作为读/写寄存器 可以设置
这些位 保留位读值为逻辑 0
表 3 模式寄存器说明 CAN 地址 0
位 符号 名称 值 功能
MOD.7 - - - 保留
MOD.6 - - - 保留
MOD.5 - - - 保留
1
睡眠(没有CAN中断等待和总线活动时,CAN控制
器进入睡眠模式)
MOD.4 SM 睡眠模式
0 唤醒(从睡眠状态唤醒)
1 选择单个验收滤波器(32位长度)
MOD.3 AFM 验收滤波器模式
0 选择两个验收滤波器(每个有16位激活)
1 自检测
MOD.2 STM 自检测模式
0 正常模式
1 只听
MOD.1 LOM 只听模式
0 正常模式
1 复位
MOD.0 RM 复位模式
0 正常
注
1. MOD.1~MOD.3 三位只能在复位模式下设置 在工作状态下的设置不起作用 MOD.4 在复位模
式下是不能设置的 清除复位模式后 再一次检测到总线空闲时 SM 的设置才开始有效
2. 在监听模式 SJA1000 不能发送信息也不能产生错误帧 这个模式里只能接收信息 这个模式可
用于自动位频率检测 应用方法 在软件里预先定义一个包含所有可能的位频率以及它们的位时序参数的
表格 在启动用最高位率信息接收之前 使能 SJA1000 接收和错误中断 如果在 CAN 总线上产生了错误
软件转向下一个较低的位频率 在一条信息的成功地接收后 表明软件已经检测到正确的位率并且设置好
SJA1000 这时 SJA1000 可以进入正常的工作模式
3 自检测模式是 SJA1000 灵活方便的一个特性 在这种模式下能够完美地用于单个节点测试 因为
它不需要来自于其他节点的确认 在这种模式下 单个节点发送命令是可以实现的 但要想测试接收 应
该使用自接收请求命令
2 1 2 命令寄存器 CMR
命令寄存器是只写的 所有位的读出值都是逻辑 0 两条命令之间至少有一个内部时钟周期 内部时
钟周期的频率是外部振荡器的一半
表 4 命令寄存器 (CAN 地址 1)
位 符号 名称 值 功能
CMR.7 - 保留 - -
CMR.6 - 保留 - -
CMR.5 - 保留 - -
1 信息可被同时发送和接收
CMR.4 SRR 自接收请求
0 -
1 数据溢出状态位被清除
CMR.3 CDO 清除数据溢出
0 -
剩余64页未读,继续阅读
tie343918860
- 粉丝: 22
- 资源: 79
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2