MCP2517FD:SPI接口CANFD控制器的特性和操作

需积分: 43 79 下载量 75 浏览量 更新于2024-08-06 收藏 1.48MB PDF 举报
"MCP2517FD 是一款带有SPI接口的外部CANFD控制器,支持高速CAN通信,具有丰富的特性,适用于多种应用。" MCP2517FD 是Microchip Technology公司生产的一款CAN(Controller Area Network)FD(Flexible Data-Rate)控制器,它采用SPI(Serial Peripheral Interface)作为与单片机通信的接口。SPI接口允许MCP2517FD与使用8位工作模式,配置为0,0或1,1模式的单片机直接连接。SPI通信中,nCS(Chip Select)信号用于选中设备,SCK(Serial Clock)是串行时钟,SDI(Serial Data Input)用于数据输入,而SDO(Serial Data Output)用于数据输出。 SPI指令的执行过程如下:指令开始于nCS的下降沿,4位命令和12位地址在SCK的上升沿被移入SDI。在写操作中,数据在SCK的上升沿进入SDI;在读操作中,数据在SCK的下降沿从SDO移出。每条指令的结束标志是nCS的上升沿。SPI的时钟频率(SCK)应小于等于系统时钟(SYSCLK)频率的一半,以确保同步。此外,MCP2517FD在休眠模式下,SDO引脚不应悬空,可以通过上拉或下拉电阻保持其状态,以降低休眠电流。 MCP2517FD提供了几种SPI指令,如: 1. RESET:命令代码0b0000,地址0x000,用于将内部寄存器复位到默认状态并选择配置模式。 2. READ:命令代码0b0011,从指定地址读取SFR/RAM内容,数据通过SDO返回。 3. WRITE:命令代码0b0010,将数据通过SDI写入指定地址的SFR/RAM。 4. READ_CRC和WRITE_CRC:用于读取或写入带CRC校验的SFR/RAM内容,包含额外的数据字节和2字节CRC。 5. WRITE_SAFE:命令代码0b1100,写入前校验CRC,确保数据完整性。 该器件还具备以下特性: - 支持最高1Mbps的仲裁比特率和8Mbps的数据比特率。 - 有31个可配置的FIFO(First In First Out,先进先出)用作发送或接收缓冲区。 - 1个发送队列(TXQ)和一个带时间戳的发送事件FIFO(TEF)。 - 可编程的自动重发机制,允许无限制、3次尝试或禁止重发。 - 包含32个灵活的过滤器和屏蔽器对象,用于定制报文接收。 - 低功耗设计,休眠电流仅为10μA(典型值)。 - 安全关键型系统的功能,如SPI接口的CRC校验和ECC保护的RAM。 MCP2517FD工作电压范围2.7V至5.5V,最大工作电流20mA,提供温度范围广泛的版本。此外,它支持多种振荡器选项,如40、20或4MHz晶振,或外部时钟输入,并具有GPIO引脚和漏极开路输出功能。 MCP2517FD是一款高性能、低功耗的CANFD控制器,集成了丰富的通信和安全特性,适用于汽车电子、工业自动化等领域的高级通信需求。