单片机学习小组
登录
直播中
李明聪
8年用户
1233经验值
私信
关注
SD卡的spi配置过程是怎样的?
开启该帖子的消息推送
单片机
嵌入式硬件
SD卡的spi配置过程是怎样的?
回帖
(1)
宁兴琴
2022-2-17 11:13:53
SD卡操作分为SPI模式与SDIO模式,这里选择SPI模式,DSP为SPI主机,SD卡为从机,本文对SD卡SPI通信进行说明,关于SPI双机通信后续有时间也会特别写篇文章进行说明
SPI---串行外设接口,
优点:通信简单,支持全双工通信,数据传输速率快
缺点:没有指定的控制流,完全以时钟携带数据进行通信,没有应答机制,相对来说通信数据的可靠性上有一定缺陷(相对I2C总线协议)
特点:高速,同步,全双工,非差分,总线方式,主从机方式通信
通信时序:
主从方式通信,接线分为4根或3根(使用较少,用于单向传输)
简要概括:主机首先进行片选,选中从机,同时产生通讯时钟,每到来一个时钟周期,按照配置的SPI通信模式,主机移出一位数据发送到从机,同时从机发送一位数据到主机,完成一位数据交换,重复多次,即可完成一个字节数据,若此次传输完成,取消片选。(类似说明文件很多,此处仅作简要说明)
接线:SPISIMO 主收从发
SPISOMI 主发从收
SPICLK 时钟线(主设备产生)
SPICS 片选(主设备控制,一主多从时可控制选择从机)
配置步骤(使用SPIFIFO---16级FIFO,若不需要可舍去该部分配置):
使spi保持复位模式,SPISWRESET=0;
配置该机主从模式
配置时钟相位 (0=without delay,1=with delay)
使能传输通道
配置时钟极性(0=rising,1=failing)(注:时钟相位与时钟极性共同确定数据传输模式)
选择单个传输的数据位数
配置spi波特率
清除overrun_flag及int_flag
使能spi 的FIFO模式
使能 接收及发送FIFO的级数
使能 接收及发送FIFO的中断
复位接收及发送FIFO寄存器
复位spi(spirst) (此步骤位置可移动,但不建议改变)
完成SPI配置 ,SPISWRESET=1;
注:时钟极性CPOL及时钟相位CPHA说明----决定通信模式:
上图为28377D芯片手册上对于SPI时钟相位及极性的说明,分为4种模式:
SPI在SPICLK的下降沿传输数据,在SPICLK的上升沿接收数据。
SPI在SPICLK信号下降沿前半个周期发送数据,在SPICLK信号下降沿接收数据。
SPI在SPICLK信号的上升沿传输数据,在SPICLK信号的下降沿接收数据。
SPI在SPICLK信号上升沿前半周传输数据,在SPICLK信号上升沿接收数据。
下图为4种模式传输数据图解:
极性与相位配置最好主从机保持一致,避免出现问题(测试过不一致的情况,数据也能正常传输)
由于SPI的主从机制,从机无法主动发送数据之主机,可选择主从机间进行连线,触发外部中断形式来使主机启动通信。
以上为SD卡spi模式之SPI配置。
SD卡操作分为SPI模式与SDIO模式,这里选择SPI模式,DSP为SPI主机,SD卡为从机,本文对SD卡SPI通信进行说明,关于SPI双机通信后续有时间也会特别写篇文章进行说明
SPI---串行外设接口,
优点:通信简单,支持全双工通信,数据传输速率快
缺点:没有指定的控制流,完全以时钟携带数据进行通信,没有应答机制,相对来说通信数据的可靠性上有一定缺陷(相对I2C总线协议)
特点:高速,同步,全双工,非差分,总线方式,主从机方式通信
通信时序:
主从方式通信,接线分为4根或3根(使用较少,用于单向传输)
简要概括:主机首先进行片选,选中从机,同时产生通讯时钟,每到来一个时钟周期,按照配置的SPI通信模式,主机移出一位数据发送到从机,同时从机发送一位数据到主机,完成一位数据交换,重复多次,即可完成一个字节数据,若此次传输完成,取消片选。(类似说明文件很多,此处仅作简要说明)
接线:SPISIMO 主收从发
SPISOMI 主发从收
SPICLK 时钟线(主设备产生)
SPICS 片选(主设备控制,一主多从时可控制选择从机)
配置步骤(使用SPIFIFO---16级FIFO,若不需要可舍去该部分配置):
使spi保持复位模式,SPISWRESET=0;
配置该机主从模式
配置时钟相位 (0=without delay,1=with delay)
使能传输通道
配置时钟极性(0=rising,1=failing)(注:时钟相位与时钟极性共同确定数据传输模式)
选择单个传输的数据位数
配置spi波特率
清除overrun_flag及int_flag
使能spi 的FIFO模式
使能 接收及发送FIFO的级数
使能 接收及发送FIFO的中断
复位接收及发送FIFO寄存器
复位spi(spirst) (此步骤位置可移动,但不建议改变)
完成SPI配置 ,SPISWRESET=1;
注:时钟极性CPOL及时钟相位CPHA说明----决定通信模式:
上图为28377D芯片手册上对于SPI时钟相位及极性的说明,分为4种模式:
SPI在SPICLK的下降沿传输数据,在SPICLK的上升沿接收数据。
SPI在SPICLK信号下降沿前半个周期发送数据,在SPICLK信号下降沿接收数据。
SPI在SPICLK信号的上升沿传输数据,在SPICLK信号的下降沿接收数据。
SPI在SPICLK信号上升沿前半周传输数据,在SPICLK信号上升沿接收数据。
下图为4种模式传输数据图解:
极性与相位配置最好主从机保持一致,避免出现问题(测试过不一致的情况,数据也能正常传输)
由于SPI的主从机制,从机无法主动发送数据之主机,可选择主从机间进行连线,触发外部中断形式来使主机启动通信。
以上为SD卡spi模式之SPI配置。
举报
更多回帖
rotate(-90deg);
回复
相关问答
单片机
嵌入式硬件
怎样
采用
SPI
模式去读写
SD
卡
呢
2021-12-14
1690
SD
卡
的初始化
过程
是
怎样
的?
2022-02-10
2079
使用
SPI
对
SD
卡
进行读写
过程
中常见的问题有哪些?如何解决?
2022-01-27
1068
怎样
去移植基于
SPI
模式的
SD
卡
驱动和FatFS文件呢
2021-11-03
2635
STM32挂载
SD
卡
的
过程
是
怎样
的
2022-02-09
1386
请问NUC220VE3AN如何使用
SPI
制作.TXT或.CSV档案在
SD
卡
?
2023-08-21
350
如何采用
SPI
协议驱动
SD
卡
?
2022-02-16
1953
使用
SPI
接口的
SD
卡
来实现文件系统挂载
SD
卡
返回错误求解
2023-02-09
778
怎么
配置
chipKIT WiFire的
SD
卡
2019-03-11
995
SD
卡
启动流程是
怎样
的?
2021-10-18
2157
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分