用STM32F103完成对SD卡的数据读取
目录
SD卡协议原理
STM32+SD卡 的系统原理图设计
具体原理
代码
所用软件及硬件:
成果
参考文献
SD卡协议原理
功能
SD卡是存储卡,它的功能就是存储。
分类
SD卡按容量分类,可以分为3类:SD卡、SDHC卡、SDXC卡,如下:
容量
命名
简称
0~2G
Standard Capacity SD Memory Card
SDSC或SD
2G~32G
High Capacity SD Memory Card
SDHC
32G~2T
Extended Capacity SD Memory Card
SDXC
硬件结构
SD卡外形和接口图如下图所示:
驱动SD卡工作的接口是SPI 或者 SDIO 口,引脚分布如下:
主机与SD卡的硬件连接图:
工作原理
要驱动SD卡工作,主要涉及两个步骤。
第一个步骤是SD卡的识别过程。
第二个步骤是对SD卡进行读写过程,即主机控制器和SD卡之间进行数据传输的过程。
要使SD卡能正常工作,一是要给SD卡供给稳定的电压,二是要SD卡按用户规定的方式工作。这两项工作的实现,都是主机控制器通过给SD卡发送控制命令来实现的。
主机(SDIO控制器)要驱动SD卡工作,要使用许多的命令,包括应用层命令ACMD 和 通用命令 CMD. 主机(SDIO控制器)把命令发送给SD卡,SD卡会作出回应,这里的回应叫做响应,响应命令分为6类,分别是R1、R1b、R2、R3、R6、R7。
主机(SDIO控制器)给SD卡发送命令之后,SD卡会作出响应,响应中包含主机(SDIO控制器)需要的数据,这些数据有SD的信息,容量,和存储数据等等。
上面已经提到了,SD卡工作,主要是识别和数据传输,它的识别过程有些复杂,写代码的时候,可以参考协议给的初始化流程图。数据传输包括读和写,单字节和多字节读写。下两节描述识别初始化流程图和数据读写时序图。
STM32+SD卡 的系统原理图设计
具体原理
SD 卡系统定义了两种通信协议:SD 和 SPI 主机系统可以选择任意一种。
当收到 reset 命令的时候,SD 卡通过主机的信息来决定 使用何种模式,并且之后的通讯都会使用相同的模式。
SD 卡的 SPI 实现使用了 SD 模式相同的命令。SD 卡 SPI 接口同市场上现有的 SPI 主 机兼容。
同其他 SPI 设备一样,SD 卡的 SPI 信道有以下 4 个信号:
CS: 主机到卡的片选(chip select)信号
CLK: 主机到卡的时钟信号
DataIn: 主机到卡的数据信号
DataOut: 卡到主机的数据信号
另一个 SPI 的通用特点是字节传输,这也是卡的实现。所有的数据都是字节(8 bit)的 整数倍,并且直接总是对齐 CS 信号
SD 卡系统(SPI 模式)总线拓扑结构如图
SD 卡系统(host &card)定义了两种操作模式:
卡识别模式 在复位后,查找总线上的新卡的时候,主机会处于“卡识别模式”。卡在复位后会处于 识别模式,直到收到 SEND_RCA(CMD3)命令.
数据传输模式 当 RCA 第一次发布后,卡会处于“数据传输模式”。主机会在总线上所有的卡都被识别 后进入这个模式
SD协议其它方面可参考相关资料。
代码
参考博客STM32用cube配置FATFS模式下SPI读写SD卡_Drive World的博客-CSDN博客
其代码可以直接用,但是需要改动
改动如下
数组的第一位起始值是0 第二位起始值是1 那个加法那里应该是把第一位+0 0+0=0 第二位+1 1+1=2依次循环,得到从01-11的序号
所用软件及硬件:
芯片stm32f103c8t6
usb转ttl模块(因为用串口烧录,且要用串口进行发送信息)
SD卡模块(这里用的是Micro SD模块SPI接口)
SD卡及读卡器
stm32f103c8t6与此SD卡模块的接线如下,由于线多杂乱,就不拍实物图了。
stm32f103c8t6 SD卡
PA4 SDCS
PA5 SCK
PA7 MOSI
PA6 MISO
VCC VCC
GND GND
将程序烧录之后按照连线即可
成果
连线
打开野火多功能助手查看
参考文献
(7条消息) STM32F103通过SPI完成对SD卡的数据读取(fat文件模式)_diyu-CSDN博客
(7条消息) 简述SD卡的工作原理(四)_happygrilclh的博客-CSDN博客_sd卡原理
用STM32F103完成对SD卡的数据读取相关推荐
- 【嵌入式20】STM32F103完成对SD卡的数据读取详细操作
本文主要利用STM32F103完成对SD卡的数据读取,介绍该实验的详细操作 一.题目要求 二.SD卡协议原理 1.SD卡简述 2.SD卡物理结构 3.SD卡寄存器 4.SD卡操作模式 5.SD卡初始化 ...
- STM32F103完成对SD卡的数据读取(fat文件模式)
目录 一.关于SD卡 1.简介 2.SD卡的寄存器 3.SD卡读取与写入(SPI模式) 二.实验操作 1.仪器 2.代码 3.连线 4.烧录程序 5.串口调试助手初始化并写入文件 6.sd卡里hell ...
- 使用Altium Designer 绘制原理图并且使用STM32F103完成对SD卡的数据读取
使用Altium Designer 绘制原理图并且使用STM32F103完成对SD卡的数据读取 前言 实验要求 一. 电路原理图绘制 软件安装配置过程 (一)绘制stm32最小系统的电路原理图 1.新 ...
- 基于STM32F103完成对SD卡的数据读取(fat文件模式)
文章目录 实验内容 一.SD卡协议 (一).SD卡简介 (二).SD 卡物理结构 (三).SD卡总线 二.基于STM32F103完成对SD卡的数据读取 (一).创建工程 (二).修改代码 (三).串口 ...
- STM32F103完成对SD卡的数据读取
目录 一.SD卡介绍 1.概述 2.SD模式 3.SD卡读取与写入(SPI模式) 二. STM32F103完成对SD卡的数据读取 1.代码部分 2.U盘格式化 3.电路连接 4.具体实现 三.参考资料 ...
- STM32F103完成对SD卡的数据读取详细操作
SD卡协议原理 SD卡简述 关于SPI协议 通讯的起始和停止信号. 数据有效性 连线 代码完整工程 修改代码 烧录结果 总结 SD卡简述 很多单片机系统都需要大容量存储设备,以存储数据.目前常用的有 ...
- STM32F103之完成对SD卡的数据读取
文章目录 一. 认识SD卡 1. 介绍SD卡 2. SD卡的物理结构 3. SD卡寄存器 4. SD卡模式 5. 初始化SD卡过程 6. SD卡读取数据 二. 实验操作--对SD卡进行数据读取 1. ...
- STM32+SD卡的原理图绘制以及用32完成对SD卡的数据读取(fat文件模式)
目录 一.下载安装AD 1.1安装方法一 1.2安装方法二 二.绘制STM32最小系统原理图 2.1元件库 2.2新建工程 2.3绘制原理图 三.SD卡协议原理 3.1SD卡简介 3.2SD卡接口 3 ...
- STM32F103最小板完成对SD卡的数据读取(fat文件模式)
目录 一.SD卡协议原理介绍 1.SD卡简介 2.SDIO设备分类 3.SD卡物理结构 4.SD卡寄存器 5.SD模式 驱动模式 传输模式 二. 实现对SD卡的数据读取 1.硬件准备 2.芯片模块与S ...
最新文章
- Tensorflow会话
- 最全Pycharm教程(43)——Pycharm扩展功能之UML类图使用 代码结构
- PHP::转义与反转义函数 (POST/GET/COOKIE)
- 剑指offer 算法 (知识迁移能力2)
- pytorch 笔记:tensorboardX
- feedback for last final year project meeting
- vector 释放内存 swap
- 谷胱甘肽口服、舌下含服、NAC对照实验
- java中的分层概念_Java分层概念
- 技能的反面 - 魔方和模仿
- php 邮件发送是html 没样式_使用python发送邮件
- tensorflow支持python3.7吗_TensorFlow2.1正式版上线:最后一次支持Python2,进一步支持TPU...
- 如何通过JNI在Java中调用C库函数
- json-C使用小结
- MySQL命令窗口出现中文乱码的解决方法
- Netty-3-服务端接受并打印telnet传递过来的字符串
- 阿里超大规模 Flink 集群运维体系介绍
- NS和DNS的区别有哪些?
- 第二语言教学的5c标准是哪5c,第二语言教学法知识小结(一)
- Matlab指数函数e最小二乘法,最小二乘法拟合指数函数(Matlab编程),着急,