用STM32F103完成对SD卡的数据读取(fat文件模式)

一、主要内容

掌握SD卡协议原理,用STM32F103完成对SD卡的数据读取(fat文件模式)。

实验器材:

  • stm32f103c8t6芯片
  • Micro SD卡 模块
  • SD卡及读卡器
  • USB TO TTL串口

二、SD卡协议

关于SD卡,有个叫SD卡协会的组织,这个组织规定了各种涉及SD卡的协议,并发布协议文档。这些SD卡协议文档,最重要的有两种文档:

  • SD Specifications Part 1 Physical Layer Simplified Specification

  • SD Specifications Part A2 SD Host Controller Simplified Specification

Physical Layer Simplified Specification(以下简称:卡协议)规定了SD卡的物理规格和SD卡使用的命令协议,像Sandisk、Kingston这类SD卡制造商必须遵守该协议。
类似的,SD Host Controller Simplified Specification(以下简称:主机协议)用来标准化SD主机控制器,针对的是SD卡主机控制器厂商。

目前市面上按物理规格来看,常见的SD卡有三种:

第一种是标准的SD卡,这种卡比较大,在有些相机或者PC电脑上会使用;
第二种是miniSD,这里没有过多说明;
最后一种是叫TF卡,也称mirco SD,这种卡比较小,是我们最常接触的,像我们的手机里面使用的就是这种卡。很多人基本上都管我们手机使用的那种卡叫SD卡,这样的叫法实际上不够准确,更准确应该是叫TF卡,但是不管怎样,都没人会去计较,能理解就行。
具体关于SD卡协议的内容请看参考内容;

三、实验代码

这里提供了现成的代码,只需下载好编译烧录即可。
链接用STM32F103完成对SD卡的数据读取
提取码:1005

工程打开后如下图所示:
在这里插入图片描述
编译显示没有错误:
在这里插入图片描述

四、结果实现

1)电路连接

micro SD卡模块与stm32c8t6芯片的连接方式如下:
在这里插入图片描述

2)结果展示

打开烧录软件,将上一步生成的HEX文件烧录到芯片当中去,再打开串口调试助手,开始你会收到一个“mian”,之后会显示“SD卡初始化成功!”,具体如下:
在这里插入图片描述

五、总结

通过此次实验,我对于SD协议内容更加理解了,同时对于写入数据的原理有了更清楚的认识。

六、参考内容

SD卡协议
深入理解SD卡协议


版权声明:本文为boomboomy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。