Chinaunix首页 | 论坛 | 博客
  • 博客访问: 448937
  • 博文数量: 62
  • 博客积分: 1312
  • 博客等级: 中尉
  • 技术积分: 1555
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 18:10
文章分类

全部博文(62)

文章存档

2014年(1)

2013年(5)

2012年(56)

分类: 嵌入式

2012-02-24 21:14:09

    MCP2510是一个很常见的CAN总线协议控制器,完全支持CAN V2.0A/B 主动和被动CAN2.0B等版本的协议,能够发送和接受标准和扩展报文。同时具备验收过滤以及报文管理等功能。器件包含三个发送缓存和两个接受缓存,减少了单片机的管理负担。单片机的通信是通过SPI接口实现的。

1.0引脚说明:

TXCAN连接到 CAN 总线的发送输出引脚
RXCAN连接到 CAN 总线的接收输入引脚
CLKOUT带可编程预分频器的时钟输出引脚
TX0RTS发送缓冲器 TXB0 请求发送或通用数字输入引脚。 100kΩ内部上拉电阻 (至 VDD
RX0BF接收缓冲器 RXB0 的中断引脚或通用数字输出引脚
INT中断输出引脚
RESET低电平有效器件复位输入引脚
VSS逻辑和 I/O 引脚的参考地端
VDD逻辑和 I/O 引脚的正电源
SCK—SPI接口时钟引脚
SI—SPI接口数据输入引脚
SI—SPI接口数据输出引脚
CS—SPI接口片选输入引脚
 
2工作过程:
2.0 正常使用之前要先对芯片进行初始化(初始化只有在配置模式才才能完成)。
    初始化过程主要包括:(1)进入配置模式——>(2)设置位定时——>(3)设置验收寄存器和屏蔽寄存器——>(4)发送/接收设置——>(5)中断设置——>(6)进入正常模式

2.1各个过程的作用分析:
(1):MCP2510有5种工作模式,通过设定CANCTRL寄存器的REQOP<2:0>可以设定为不同的工作模式。
             000:正常模式
            001:休眠模式
            010:回环模式
            011:监听模式
            100:配置模式
(2):使得CAN总线具有相同的比特率
(3)验收滤波器及屏蔽寄存器用来确定报文集成缓冲器(MAB)中的报文是否应被载入接收缓冲器。  一旦 MAB接收到有效报文,报文中的标识符字段将与过滤寄存器中的值进行比较。如果两者匹配,该报文将被载入相应的接收缓冲器。滤波屏蔽寄存器用来确定滤波器对标识符中的哪些位进行校验。
 
2.2接受设置
RXB0CTRL 接受缓冲器0控制寄存器
 
 RXM<1:0> 接收缓冲器工作模式
11 = 关闭屏蔽 / 滤波功能;接收所有报文
10 = 只接收符合滤波器条件的带扩展标识符的有效报文
01 = 只接收符合滤波器条件的带标准标识符的有效报文
00 = 接收符合滤波器条件的所有带扩展标识符或标准标识符的有效报文
 
RXRTR: 是否接收到远程传送请求
1 =  接收到远程传送请求
0 =  没有接收到远程传送请求
 
BUKT 滚存使能
1 =  如果 RXB0 RXB0 接收到的报文将被滚存至 RXB1
0 =  滚存禁止
 
FILHIT<0> 滤波器指示 - 指明使能报文接收的验收滤波寄存器编号
1 =  验收滤波寄存器 1 (RXF1)
0 =  验收滤波寄存器 0 (RXF0)
阅读(4474) | 评论(0) | 转发(0) |
0

上一篇:Keil环境下STARTUP.A51

下一篇:C#数据库操作

给主人留下些什么吧!~~