MCP2515-I/SO器件介绍

MCP2515-I/SO是一个独立的控制器局域网(CAN)控制器,由Microchip公司生产。它实现了CAN规范,版本2.0B,并设计用于简化需要与CAN总线接口的应用程序。该控制器主要应用于汽车和一般工业环境,负责处理数据帧,完成数据的打包、解包,错误界定,并提供报文缓冲和传输滤波。MCP2515-I/SO具有CAN高性能通信协议所要求的全部必要特性。它通过工业标准的串行外围接口(SPI)与微控制器(MCU)进行接口,使得ECU与微处理器之间的数据传输得以实现。

MCP2515-I/SO器件特点

  1. 独立CAN控制器:用于处理CAN总线上的数据帧,完成数据的打包、解包、错误界定,并提供报文缓冲和传输滤波。
  2. SPI接口:与微控制器(MCU)相连,实现ECU与微处理器之间的数据传输。
  3. 高速数据传输:支持最高1Mb/s的数据速率,满足CAN V2.0B协议要求。
  4. 灵活的接收配置:具有两个接收掩码和六个接收滤波器,可根据需要进行配置,以过滤掉不需要的消息。
  5. 优化的硬件设计:减少主机MCU的开销,提高整体性能。
  6. 工业级工作温度范围:-40°C至+85°C(工业)或-40°C至+125°C(扩展)。
  7. 小型封装:采用SOIC封装,尺寸为11.55 x 7.50mm。

引脚图及引脚介绍

MCP2515-I/SO器件的18个引脚介绍如下:

  • TXCAN:发送CAN数据引脚,用于输出CAN总线上的数据。
  • RXCAN:接收CAN数据引脚,用于接收CAN总线上的数据。
  • CLKOUT/SOF:时钟输出/SOF信号输出引脚,用于输出内部时钟信号,或在同步模式下表示帧起始。
  • TX0RTS-TX2RTS:传输请求发送引脚,用于控制TXD0引脚的数据传输,当有数据需要发送时,该引脚被拉低。
  • OSC1、OSC2:晶振输入引脚,用于连接外部晶振,为MCP2515提供时钟信号。
  • VSS:地线引脚,用于连接电源地。
  • RX0BF、RX1BF:接收CAN数据缓冲引脚,用于接收来自CAN总线的数据。
  • INT:中断输出引脚,用于向主机处理器发出中断请求,表示有新的数据或事件需要处理。
  • SCK:串行时钟输入引脚,用于与主机处理器进行串行通信的时钟信号。
  • SI:串行输入引脚,用于与主机处理器进行串行通信的数据输入。
  • SO:串行输出引脚,用于与主机处理器进行串行通信的数据输出。
  • CS:片选引脚,用于主机处理器选择MCP2515的片选信号。
  • RESET:复位引脚,用于对MCP2515进行复位操作。
  • VDD:电源引脚,用于连接电源正极。

原理图及工作原理

MCP2515-I/SO器件的工作原理主要基于CAN协议,通过处理数据帧,完成数据的打包、解包、错误界定,并提供报文缓冲和传输滤波。

MCP2515-I/SO通过SPI接口与微控制器(MCU)相连,实现ECU与微处理器之间的数据传输。在正常工作之前,需要进行初始化,包括设置CAN总线的通信波特率、MCP2515-I/SO的接收过滤器和屏蔽器以及设置发送和接收中断允许标志位等。

数据传输主要通过以下几个步骤进行:

  1. CPU将需要发送的数据帧送入CAN的发送缓冲区。
  2. 启动RTS发送命令,将数据发送到CAN总线上。数据信息从CAN控制器发送到CAN总线是由CAN控制器自动完成的。
  3. 接收数据时,CPU通过SPI接口读取接收缓冲器里的数据。MCP2515-I/SO采用中断模式进行CAN总线数据的接收。当配置MCP2515-I/SO到正常模式后,MCP2515-I/SO的接收缓存器收到数据,INT引脚将产生中断以通知单片机,单片机响应中断后读取数据。

封装图

MCP2515-I/SO器件的封装为SOIC-18。封装图如下所示:

MCP2515-I/SO的中断功能如何使用和配置?

MCP2515-I/SO的中断功能通过INT引脚实现。当MCP2515需要向主机处理器通知新事件或数据时,它会将INT引脚拉低,向主机处理器发出中断请求。主机处理器可以配置为在收到中断请求时执行相应的中断服务程序(ISR)。

要使用和配置MCP2515的中断功能,需遵循以下步骤:

  1. 连接INT引脚:将MCP2515的INT引脚连接到主机处理器的中断输入引脚。
  2. 配置主机处理器的中断:在主机处理器的固件中,配置相应的中断服务程序(ISR),以便在收到MCP2515的中断请求时执行。
  3. 配置MCP2515的中断:在与MCP2515进行通信时,可以设置MCP2515的中断标志位。当满足某些条件(例如收到新的CAN消息、总线错误等)时,MCP2515会自动设置相应的中断标志位,并将INT引脚拉低,向主机处理器发出中断请求。
  4. 处理中断:在主机处理器的中断服务程序(ISR)中,处理来自MCP2515的中断请求。通常,这包括读取MCP2515的状态信息、处理新收到的CAN消息等。
  5. 清除中断标志位:在处理完中断后,记得清除MCP2515的中断标志位,以防止重复触发中断。