SPI接口
mcp2517fd 使用SPI接口来和微控制器进行通信,使用模式1,1或0,0的8-bit模式来进行通信。SFR和RAM的访问通过SPI命令来进行。每个命令在nCS下降沿后的SCK上升沿开始,一帧由4-bits command和12-bits address再加上数据组成。在nCS拉高时结束。
模式的操作
“Normal” Modes:Normal FD Mode 、Normal2.0 mode
“Debug” Modes:External/Internal Loopback Mode、Listen Only Mode、Restricted Operation Mode
如上图所示是模式的转换,新的模式通过写CiCON.REQOP来请求模式改变。只能在总线空闲时改变模式。通过读取CiCON.OPMOD可知当前处于什么模式。
直接在“Normal” Modes之间转换是不允许的,要转换到新模式必须先转换到配置模式。
直接在“Debug” Modes之间转换也是不允许的,要转换到新模式必须先转换到配置模式。
Configuration Mode
复位后,2517FD处于配置模式,错误计数会清零所有寄存器恢复默认值。
激活前必须先初始化CAN FD控制器模块。只有在模块处于配置模式,OPMOD = 100时才可以进行初始化。通过将REQOP = 100来请求配置模式。
Normal Modes
1.Normal CANFD mode
通过设置REQOP=000来请求此模式,在此模式设备可以传送CANFD帧和普通CAN帧。
2.Normal CAN2.0 mode
通过设置REQOP=110来请求此模式,此模式下只能接收CAN帧不能接收CANFD帧。
Sleep Mode
通过设置REQOP = 001来请求睡眠模式。
配置模块
1. 首先要复位MCP2517FD,在配置前让模块处于配置模式。对晶振、FIFO和位时间的设置只能在配置模式下;
2. 配置晶振和CLKO引脚;
3. 配置I/O引脚;
4. 配置CAN控制寄存器;
5. 配置波特率相关寄存器;
6. 配置TEF, TXQ,TX和RX FIFO
|