MCP2517FD(一)——简介

目录

1. 是什么?

2. 模块构成

2.1 典型应用

 2.2 内存映射

3. SPI时序

4. 对于该器件的配置操作


1. 是什么?

 MCP2517FD是一款经济高效的小尺寸CAN FD控制器,可通过SPI接口轻松添加到单片机中。因此, CAN FD通道可以轻松添加到缺少CAN FD外设或者没有足够CANFD通道的单片机。带SPI接口的外部CAN FD控制器,也就是用于把MCU的SPI接口转为CAN接口。

引脚说明:


2. 模块构成

2.1 典型应用

        从上图可以看出mcp2517fd模块在系统中正常使用需由两部分构成,一部分就是主体mcp2517fd,另一部分就是CANFD收发器ATA6563(其他收发器亦可)。 

 所以引脚说明里的TXCAN和RXCAN就是指的MCP2518FD与CANFD收发器之间的通信关系。

 2.2 内存映射

        SPI接口用于通过访问MCP2517FD和CANFD收发器的寄存器,以及RAM来控制器件,所以内存映射部分也分为这三块:MCP2517FD的特殊功能寄存器地址+CANFD特殊功能寄存器地址+RAM的地址.

  •  0X00-0X2EF: CANFD控制器寄存器地址;
  •  0x400-0xBFF: RAM地址;
  •  0xE00-0XE13: MCP2518FD寄存器地址;

3. SPI时序

我们要配置寄存器,要通过SPI总线发数据过去,相对于外设就是SDI接口的数据:Command + Address + Data.

  • 第一个字节:4位命令+4位地址;
  • 第二个字节:8位地址;
  • 第三个字节及以后:都是数据;

所以往寄存器写一个字节时序可以这么写:

    // write one byte
    spiTransmitBuffer[0] = (uint8_t) ((CMD << 4) + ((ADDR >> 8) & 0xF));
    spiTransmitBuffer[1] = (uint8_t) (ADDR& 0xFF);
    spiTransmitBuffer[2] = txdata;

同理,写halfWord或者one Word也可以这样定义。

指令:


4. 对于该器件的配置操作

首先写好基本的SPI驱动程序,在此基础写好针对该器件的SPI读写操作函数,主要有哪些呢?

我们要操作SFR和RAM,也就是对它们的读写操作:

  • 读写onebyte;
  • 读写halfword;
  • 读写oneWord; 

根据手册可知:还有带CRC的读写,还有一种带CRC的安全写。这些手册提到的基本功能函数,可以都写出来。

具体配置过程再续............

带SPI接口的外部CAN FD控制器 特性 通用 • 带SPI接口的外部CAN FD控制器 • 最高1 Mbps的仲裁比特率 • 最高8 Mbps的数据比特率 • CAN FD控制器模式 - CAN 2.0B和CAN FD混合模式 - CAN 2.0B模式 • 符合ISO 11898-1:2015 报文FIFO • 31个FIFO,可配置为发送或接收FIFO • 1个发送队列(Transmit Queue, TXQ) • 带32位时间戳的发送事件FIFO(Transmit Event FIFO, TEF) 报文发送 • 报文发送优先级: - 基于优先级位域,和/或 - 使用发送队列(Transmit Queue, TXQ)先发 送ID最小的报文 • 可编程自动重发尝试:无限制、 3次尝试或禁止 报文接收 • 32个灵活的过滤器和屏蔽器对象 • 每个对象均可配置为过滤: - 标准ID + 前18个数据位或 - 扩展ID • 32位时间戳 特殊功能 • VDD: 2.7V至5.5V • 工作电流:最大20 mA(5.5V, 40 MHz CAN时钟) • 休眠电流: 10 µA(典型值) • 报文对象位于RAM中: 2 KB • 最多3个可配置中断引脚 • 总线健康状况诊断和错误计数器 • 收发器待机控制 • 帧起始引脚,用于指示总线上报文的开头 • 温度范围: - 高温(H): –40°C至+150°C 振荡器选项 • 40、 20 或 4 MHz 晶振或陶瓷谐振器;或外部时钟 输入 • 带预分频器的时钟输出 SPI接口 • 最高20 MHz SPI时钟速度 • 支持SPI模式0,0和1,1 • 寄存器和位域的排列方式便于通过SPI高效访问 安全关键型系统 • 带CRC的SPI命令,用于检测SPI接口上的噪声 • 受纠错码(Error Correction Code, ECC)保护的 RAM 其他特性 • GPIO引脚: INT0和INT1可配置为通用I/O • 漏极开路输出: TXCAN、 INT、 INT0 和 INT1 引脚 可配置为推/挽或漏极开路输出
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值