产品选型

单片机sd卡读写 SD卡管脚排列和总线是怎么读写的?

小编 2024-10-07 产品选型 23 0

SD卡管脚排列和总线是怎么读写的?

SD 卡的引脚定义

SD卡引脚功能详述:

引脚

编号

SD模式

SPI模式

名称

类型

描述

名称

类型

描述

1

CD/DAT3

IO或PP

卡检测/

数据线3

#CS

I

片选

2

CMD

PP

命令/

回应

DI

I

数据输入

3

VSS1

S

电源地

VSS

S

电源地

4

VDD

S

电源

VDD

S

电源

5

CLK

I

时钟

SCLK

I

时钟

6

VSS2

S

电源地

VSS2

S

电源地

7

DAT0

IO或PP

数据线0

DO

O或PP

数据输出

8

DAT1

IO或PP

数据线1

RSV

9

DAT2

IO或PP

数据线2

RSV

注:S:电源供给 I:输入 O:采用推拉驱动的输出

PP:采用推拉驱动的输入输出

SD卡支持两种总线方式:

SD方式与SPI方式。SD模式是SD卡标准的读写方式,但是在选用SD模式时,往往需要选择带有SD卡控制器接口的MCU,或者必须加入额外的SD卡控制单元以支持SD卡的读写。然而,很多51单片机没有集成SD卡控制器接口,若选用SD模式通讯就无形中增加了产品的硬件成本。在SD卡数据读写时间要求不是很严格的情况下,选用SPI模式可以说是一种最佳的解决方案。我用软件模拟出SPI总线时序读写SD卡。

其中SD方式采用6线制,使用CLK、CMD、DAT0~DAT3进行数据通信。

而SPI方式采用4线制,使用CS、CLK、DataIn、DataOut进行数据通信。SD方式时的数据传输速度与SPI方式要快,采用单片机对SD卡进行读写时一般都采用SPI模式。采用不同的初始化方式可以使SD卡工作于SD方式或SPI方式。这里只对其SPI方式进行介绍。

SD卡SPI模式下与单片机的连接图:

SD卡工作电压范围是2.0-3.6V

SD卡的IO的逻辑电平是3.3V,上图只适合单片机的IO逻辑电平是3.3V的。

如果我们用的是5V的MCU我们就要进行电平转换。(下面的方法是比较保险的做法,也有人用电阻分压)

解决逻辑器件接口的电平兼容问题,原则主要有两条:

一为输出电平器件输出高电平的最小电压值,应该大于接收电平器件识别为高电平的最低电压值;

二为输出电平器件输出低电平的最大电压值,应该小于接收电平器件识别为低电平的最高电压值。

考虑到SD卡在SPI协议的工作模式下,通讯都是单向的,于是在单片机向SD卡传输数据时采用晶体管加上拉电阻法的方案,而在SD卡向单片机传输数据时可以直接连接,因为它们之间的电平刚好满足上述的电平兼容原则,既经济又实用。

这样硬件连接就完成了,注意SD卡的工作电压

四八十五课:SD卡实验 介绍

ESP32S3物联网快速入门:23.1SD卡实验-介绍。

大家好,这节课来学习SD卡实验。在迁怒式系统当中经常会需要存储一些图片或大量的数据,这些光SD32内部的flash是不够的,这个时候就需要用到一种存储介质SD卡,它是一种比较好的存储设备。

开发版已经自带了一个SD卡接口,直接插上SD卡就可以实现对应的功能。这节课主要是来介绍如何使用adonal ESP32来控制SD卡的读写。这节课主要介绍四点。

·首先来介绍一下实验的基本介绍,也就是SD卡的简单功能介绍。

·然后再介绍一下实验的硬件部分以及软件程序。

·最后是实验展示。

来看一下实验的简介。

·在嵌入式系统当中经常是需要存储大量的数据和图片的,可以使用SD卡作为大容量存储设备,它是一个非常好的选择。比如系统要存储一天采集的温湿度数据,ESP32自带的存储容量是很小的,无法存储大量的数据,此时可以使用外部SD卡来通过ESP32控制将采集的温湿度数据写入到SD卡文件当中。

·又比如使用ESP32来制作一个电子相册或者是SMP3,需要读取图片或音乐文件,依靠ESP32自身的内存是实现不了的,此时又可以通过外接SD卡。

·版本已经有一个SD卡卡座,可以使用SD卡插入就可以使用。在这个时间当中SD卡容量大小是不限制的。

来看一下图片就是SD卡,这里是一个32TB的内存卡。ESP32是如何和SD卡进行通信的?依靠的是SDI的接口,在adiomo当中已经集成了SDI,SDI和SD卡可以直接使用。SDI的全称是这串英文的首字母的缩写,意思是串型外围接口。

SDI是一种高速的全双工同步的通信总线,它在ESP32芯片当中只占据了四个管角,节约了芯片的管角,同时为PCB的布局节省了大量的空间。这种方式非常简单,已经在很多的芯片和设备当中都会有SDI的接口。

SDI接口一般使用四条通信线,事实上只需要三条线也可以进行SDI的通信,也就是单向传输的时候,其中三条线为SDI的总线miso和mosi以及salk。这三条线是SDI的接口,必须的三根线,一个是主机输入,一个是主机输出,还有一个是时钟信号线。

另外一条就是SDI的片选信号,片选信号可以使用任意的L口来对片选信号管角进行控制。

esp32有四个硬件,i1硬件的spi的通道,其中两个已经被内部可给使用了,另外两个可以供外部使用,允许更高输入传输,最高可达到八十兆赫兹,传输频率也可以配置成任意的引脚,相关的引脚只要符合输入输出的方向就可以了。通过制定引脚而非默认引脚会降低传输的速度,上线最大是四十兆赫兹。

也就是说在esp32当中有固定的一些硬件spi的接口,如果要指定任意的其他l口,也就普通l口来使用spi接口,它的传输速度会降低,最大是四十兆赫兹,对一般的应用已经足够了。这是spi的简单介绍。

再看一下实验的目的,对sd卡直接入镜文件进行读写,并将读取的信息在串口接视器当中进行输出。这是这节课的实验目的。

相关问答

单片机 读取 SD卡 问题?

如果单片机采用的是仿FAT32格式读取SDHC则读写哪个都不会有问题?如果采用仿FAT16格式则不能读后者。读前者也只能读些2GB的地址范围——除非你自己作分区格式...

单片机 如何读取存储IC的代码?

您可能遇到加密的了,一般情况下是可以方便的读出来的。但是如果有加密就不可能了。比如采用焊丝深埋技术的集成芯片就根本无法读出内部信息。不过有时候可能...

1、 单片机读写 外部RAM数据用()指令A、MOVB、MOVDC、MOVXD、M...

[最佳回答]CMOV指令表示单片机内部的寄存器或者存储器之间相互传递数据(内部RAM);而MOVX则表示单片机内部的A累加器与片外的数据存储器传送数据.(这个是扩展...

单片机 秒表怎么存储读取数据?

在单片机中实现秒表功能并存储读取数据的方法有多种,以下是其中一种常用的方法:1.设定一个计数变量:在单片机的程序中,首先需要定义一个计数变量,用于记录...

单片机 怎么储存一个数字输出?

单片机可以使用不同的方式来储存一个数字输出。其中一种常见的方式是使用寄存器来存储数字。寄存器是一种高速存储器,可以直接访问和操作。单片机通常具有多个...

单片机 数据写入过程?

单片机(Microcontroller)是一种集成电路,内部含有处理器核心、内存、可编程输入/输出外设等。所以,单片机可以执行数据处理、逻辑运算、输入/输出控制等功能...

单片机 DDRB的作用?

DDRB决定了单片机IO口的方向,若是仅仅应用,那在读取端口是设置DDRB相应位为1,然后读取PINB,写端口是设置DDRB相应位为0,然后写PORTB,若是想深入了解,最好看a...

如何读出pic 单片机 的程序?

如果已经加密了,拷出来也看不了,黑客一不行,因为加密算法是不可逆的。如果程序原本是C语言写的,但C语言程序会被MPLAB先编译成汇编后才能烧写进单片机,所...

单片机 的RAM和ROM是什么意思?

ROM:ReadOnlyMemory(anonvolatilememory)--只读存储器(非易失存储器)永久存储重覆使用的信息,比如数据表、电子显示器的字符等。和RAM不同,ROM...

怎样把 单片机 内的程序读取出来?

将单片机的程序读取出来需要使用专门的工具和技术,具体步骤如下:首先需要使用编程器将程序烧录到单片机中,然后使用仿真器将单片机连接到计算机上。接着,使...

猜你喜欢