基于STM32F103完成对SD卡的数据读取操作

本文详细介绍了基于STM32F103微控制器进行SD卡数据读取的步骤,涵盖了SD卡协议原理、项目配置、代码实现以及实验结果。通过理解SD卡的总线协议和寄存器,使用SPI或SDIO接口,实现了对SD卡数据的读取。在实验中,作者遇到并解决了串口通信问题,最终成功读取并显示了SD卡上的文本文件内容。
摘要由CSDN通过智能技术生成

目录

一、SD卡协议和原理

1、SD卡简述

2、SD卡物理结构

 3、SD卡寄存器

4、SD 卡总线

5、SD 总线协议

二、项目配置与代码

1、创建项目

2、完整工程代码如下

3、代码修改

4、接线

三、实验结果

四、总结

五、参考资料


一、SD卡协议和原理

1、SD卡简述

很多单片机系统都需要大容量存储设备,以存储数据。目前常用的有 U 盘,FLASH 芯片,SD 卡等。他们各有优点,综合比较,最适合单片机系统的莫过于 SD 卡了,它不仅容量可以做到很大(32GB 以上),支持 SPI/SDIO 驱动,而且有多种体积的尺寸可供选择(标准的 SD 卡尺寸,以及 TF 卡尺寸等),能满足不同应用的要求。
只需要少数几个 IO 口即可外扩一个高达 32GB 以上的外部存储器,容量从几十 M 到几十G 选择尺度很大,更换也很方便,编程也简单,是单片机大容量外部存储器的首选。


2、SD卡物理结构

一般SD卡包括有存储单元、存储单元接口、电源检测、卡及接口控制器和接口驱动器 5个部分。

存储单元是存储数据部件,存储单元通过存储单元接口与卡控制单元进行数据传输;

电源检测单元保证SD卡工作在合适的电压下,如出现掉电或上状态时,它会使控制单元和存储单元接口复位;

卡及接口控制单元控制SD卡的运行状态,它包括有8个寄存器; 接口驱动器控制SD卡引脚的输入输出。

 3、SD卡寄存器

SD卡总共有8个寄存器,用于设定或表示SD卡信息。
这些寄存器只能通过对应的命令访问,SDIO定义64个命令,每个命令都有特殊意义,可以实现某一特定功能,SD卡接收到命令后,根据命令要求对SD卡内部寄存器进行修改,程序控制中只需要发送组合命令就可以实现SD卡的控制以及读写操作。

4、SD 卡总线

SD 卡一般都支持 SDIO 和 SPI 这两种接口。

SD 卡使用 9-pin 接口通信,其中 3 根电源线、1 根时钟线、1 根命令线和 4 根数据线。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值