当前位置:   article > 正文

MCP2517FD(一)——简介

mcp2517

目录

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位地址;
  • 第三个字节及以后:都是数据;

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

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

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

指令:


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

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

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/81630
推荐阅读
相关标签
  

闽ICP备14008679号