MCP2510工作过程分析2012-02-2421:14:09分类:嵌入式MCP2510是一个很常见的CAN总线协议控制器,完全支持CANV2.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寄存器的REQOP2:0可以设定为不同的工作模式。000:正常模式001:休眠模式010:回环模式011:监听模式100:配置模式(2):使得CAN总线具有相同的比特率(3)验收滤波器及屏蔽寄存器用来确定报文集成缓冲器(MAB)中的报文是否应被载入接收缓冲器。一旦MAB接收到有效报文,报文中的标识符字段将与过滤寄存器中的值进行比较。如果两者匹配,该报文将被载入相应的接收缓冲器。滤波屏蔽寄存器用来确定滤波器对标识符中的哪些位进行校验。2.2接受设置RXB0CTRL接受缓冲器0控制寄存器RXM1:0:接收缓冲器工作模式11=关闭屏蔽/滤波功能;接收所有报文10=只接收符合滤波器条件的带扩展标识符的有效报文01=只接收符合滤波器条件的带标准标识符的有效报文00=接收符合滤波器条件的所有带扩展标识符或标准标识符的有效报文RXRTR:是否接收到远程传送请求1=接收到远程传送请求0=没有接收到远程传送请求BUKT:滚存使能1=如果RXB0满,RXB0接收到的报文将被滚存至RXB10=滚存禁止FILHIT0:滤波器指示-指明使能报文接收的验收滤波寄存器编号1=验收滤波寄存器1(RXF1)0=验收滤波寄存器0(RXF0)