MCP2515T-I/ST器件介绍

MCP2515T-I/ST 是由Microchip公司生产的一款实现CAN规范2.0B版的独立控制器局域网(CAN)控制器。该器件具有两个接收掩码和六个接收过滤器,用于过滤掉不需要的消息,从而减少了主机MCU的开销。MCP2515T-I/ST通过行业标准的串行外设接口(SPI)与微控制器(MCU)接口。该设备由三个主要模块组成,即CAN模块,其中包括CAN协议引擎、掩码、过滤器、发送和接收缓冲区。适用于各种需要高速、可靠数据通信的工业和汽车应用。

MCP2515T-I/ST器件特点

  1. 高速数据传输:该器件支持高达1Mbps的CAN总线速度,实现快速的数据传输,能较原有器件更快处理CAN信息,并将信息转发到主机微控制器上。
  2. 高效能数据过滤:MCP2515T-I/ST具有两个接收掩码和六个接收过滤器,能够有效过滤掉不需要的消息,从而减少了主机MCU的开销。
  3. 帧起始输出功能:器件具备帧起始(Start of Frame,简称SOF)输出功能,这有助于更精确地控制和检测CAN总线上的数据传输。
  4. 灵活的配置和通信方式:通过SPI接口进行配置和通信,支持8MHz的SPI时钟和16MHz的晶体振荡器输入,使其能够适应多种应用场景。
  5. 自动重传和数据丢失检测:这些功能确保了数据传输的可靠性和稳定性,特别是在复杂的网络环境中。
  6. 宽电压和温度范围:工作电压范围为2.7V-5.5V,支持单电源电压3.3V和5V,同时工作温度范围广泛,从-40℃到+125℃,适应各种极端工作环境。

引脚图及引脚介绍

MCP2515T-I/ST器件的20个引脚介绍如下:

  • TXCAN:CAN发送引脚,用于将数据从器件发送到CAN总线。
  • RXCAN:CAN接收引脚,用于从CAN总线接收数据到器件。
  • CLKOUT/SOF:时钟输出/帧起始输出引脚。它可以用作时钟输出,也可以配置为帧起始(Start of Frame)输出,用于指示CAN帧的开始。
  • TX0RTS-TX2RTS:发送请求引脚,这些引脚用于请求发送缓冲区变得可用,以便可以发送数据。
  • 2个NC:无连接引脚,这些引脚在器件内部未使用,通常可以留空不连接。
  • OSC1, OSC2:振荡器引脚,用于外接晶体振荡器或振荡器电路,为器件提供时钟信号。
  • VSS:电源负极引脚,用于为器件提供电源负极(通常是地线)。
  • RX0BF, RX1BF:接收缓冲区满引脚,这些引脚用于指示相应的接收缓冲区是否已满,即是否接收到了新的数据。
  • INT:中断引脚,当满足某些中断条件(如接收缓冲区满、错误等)时,该引脚将产生中断信号。
  • SCK:SPI时钟引脚,用于与主机微控制器进行SPI通信时的时钟信号。
  • SI:SPI数据输入引脚,用于接收主机微控制器发送的数据。
  • SO:SPI数据输出引脚,用于向主机微控制器发送数据。
  • CS:SPI片选引脚,用于选择器件进行SPI通信。
  • RESET:复位引脚,用于将器件重置到其初始状态。
  • VDD:电源正极引脚,用于为器件提供电源正极。

原理图及工作原理

MCP2515T-I/ST器件的工作原理主要基于CAN(Controller Area Network)通信协议,它是一个独立的CAN控制器,用于实现CAN总线上的数据发送和接收。

MCP2515T-I/ST器件通过SPI(Serial Peripheral Interface)接口与主控芯片(通常是微控制器或MCU)进行通信。主控芯片通过SPI接口向MCP2515T-I/ST发送控制指令和数据,同时接收来自CAN总线的数据。SPI接口提供了高速、同步的双向通信,确保数据的准确传输。

在数据发送过程中,主控芯片将待发送的数据通过SPI接口发送给MCP2515T-I/ST。MCP2515T-I/ST根据CAN协议的要求,将数据封装成CAN帧格式,并通过TXCAN引脚发送到CAN总线上。发送过程中,器件会根据需要配置发送请求引脚(TX0RTS-TX2RTS),以请求发送缓冲区变得可用。

在数据接收过程中,CAN总线上的数据通过RXCAN引脚进入MCP2515T-I/ST。器件根据配置的接收掩码和接收过滤器,对接收到的数据进行过滤,只保留需要的数据。过滤后的数据通过SPI接口传输给主控芯片。同时,器件会通过接收缓冲区满引脚(RX0BF, RX1BF)向主控芯片发出中断信号,通知有新的数据到达。

封装图

MCP2515T-I/ST器件的封装为TSSOP-20。封装图如下所示:

关于中断和状态指示功能

  • 中断输出:MCP2515T-I/ST提供了一个中断输出引脚(INT),用于向主机MCU发出中断请求。当MCP2515T-I/ST接收到新的CAN消息或发生某些内部事件时,它会向主机MCU发送一个中断请求。主机MCU可以通过读取MCP2515T-I/ST的中断状态寄存器来确定中断的原因,并进行相应的处理。


  • 接收缓冲器状态指示:MCP2515T-I/ST提供了两个接收缓冲器忙碌信号(RX0BF和RX1BF),用于指示接收缓冲器是否正在接收数据。当RX0BF或RX1BF引脚为高电平时,表示相应的接收缓冲器正在接收数据。主机MCU可以通过监控这些信号来判断接收缓冲器的状态。


  • 发送缓冲器状态指示:MCP2515T-I/ST通过发送缓冲器的请求发送信号(TX0RTS、TX1RTS和TX2RTS)来指示发送缓冲器的状态。当一个发送缓冲器准备好发送数据时,相应的请求发送信号会变为高电平。主机MCU可以通过监控这些信号来判断发送缓冲器的状态,并在合适的时候将数据放入发送缓冲器。