赞
踩
目录
MCP2517FD是一款经济高效的小尺寸CAN FD控制器,可通过SPI接口轻松添加到单片机中。因此, CAN FD通道可以轻松添加到缺少CAN FD外设或者没有足够CANFD通道的单片机。带SPI接口的外部CAN FD控制器,也就是用于把MCU的SPI接口转为CAN接口。
引脚说明:
从上图可以看出mcp2517fd模块在系统中正常使用需由两部分构成,一部分就是主体mcp2517fd,另一部分就是CANFD收发器ATA6563(其他收发器亦可)。
所以引脚说明里的TXCAN和RXCAN就是指的MCP2518FD与CANFD收发器之间的通信关系。
SPI接口用于通过访问MCP2517FD和CANFD收发器的寄存器,以及RAM来控制器件,所以内存映射部分也分为这三块:MCP2517FD的特殊功能寄存器地址+CANFD特殊功能寄存器地址+RAM的地址.
我们要配置寄存器,要通过SPI总线发数据过去,相对于外设就是SDI接口的数据:Command + Address + Data.
所以往寄存器写一个字节时序可以这么写:
- // write one byte
- spiTransmitBuffer[0] = (uint8_t) ((CMD << 4) + ((ADDR >> 8) & 0xF));
- spiTransmitBuffer[1] = (uint8_t) (ADDR& 0xFF);
- spiTransmitBuffer[2] = txdata;
同理,写halfWord或者one Word也可以这样定义。
指令:
首先写好基本的SPI驱动程序,在此基础写好针对该器件的SPI读写操作函数,主要有哪些呢?
我们要操作SFR和RAM,也就是对它们的读写操作:
根据手册可知:还有带CRC的读写,还有一种带CRC的安全写。这些手册提到的基本功能函数,可以都写出来。
具体配置过程再续............
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。