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:休眠模式
(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)
阅读(4561) | 评论(0) | 转发(0) |