产品选型

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

小编 2024-10-06 产品选型 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 IO接口

SD 卡(Secure Digital Memory Card)在我们生活中已经非常普遍了,控制器对 SD 卡进行读写通信操作一般有两种通信接口可选,一种是 SPI接口,另外一种就是 SDIO 接口。

SDIO全称是安全数字输入/输出接口,多媒体卡(MMC)、SD卡、SD I/O 卡都有 SDIO 接口。STM32F42x 系列控制器有一个 SDIO 主机接口,它可以与 MMC卡、SD卡、SD I/O 卡以及 CE-ATA 设备进行数据传输。MMC卡可以说是 SD卡的前身,现阶段已经用得很少。

SD I/O卡本身不是用于存储的卡,它是指利用 SDIO 传输协议的一种外设。比如 Wi-FiCard,它主要是提供 Wi-Fi功能,有些 Wi-Fi模块是使用串口或者 SPI接口进行通信的,但Wi-Fi SDIO Card是使用 SDIO 接口进行通信的。并且一般设计 SD I/O 卡是可以插入到 SD的插槽。CE-ATA是专为轻薄笔记本硬盘设计的硬盘高速通讯接口。

一张 SD卡包括有存储单元、存储单元接口、电源检测、卡及接口控制器和接口驱动器 5个部分。存储单元是存储数据部件,存储单元通过存储单元接口与卡控制单元进行数据传输;电源检测单元保证 SD卡工作在合适的电压下,如出现掉电或上状态时,它会使控制单元和存储单元接口复位;卡及接口控制单元控制 SD卡的运行状态,它包括有 8个寄存器;接口驱动器控制 SD卡引脚的输入输出。

对 SD 卡进行控制操作并不是像操作控制器 GPIO相关寄存器那样一次读写一个寄存器的,它是通过命令来控制,SDIO 定义了 64 个命令,每个命令都有特殊意义,可以实现某一特定功能,SD卡接收到命令后,根据命令要求对 SD卡内部寄存器进行修改,程序控制中只需要发送组合命令就可以实现 SD卡的控制以及读写操作。

相关问答

SD 读写 是什么意思?

SD卡读写是指对SD卡进行数据的读取和写入操作。SD卡是一种常见的存储设备,用于存储各种数据,如照片、音乐、视频等。读取是指从SD卡中获取数据,可以通过读取...

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

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

单片机 有初步了解,如何快速掌握ARM32位开发呢?

当你对8位的单片机有一定的了解后,你对寄存器已经有了一个非常清晰的概念。8位机寄存器较少,平常使用到某些功能,直接自己写寄存器设置的相关代码,也能很快捷...

如何在Stm32上使用LwIP访问网页呢?

建WEB服务器啊把做好的网页放进单片机里或者SD卡建WEB服务器啊把做好的网页放进单片机里或者SD卡

52 单片机 和stm32区别?

52单片机,还是STC51单片机,都是STC公司推出的以MCS-51为内核的单片机的。和AT89C51基本一致,但是可以通过串口直接烧写所以被广泛使用。MCS-51是入门级一款很...

1TB的 SD 卡能当电脑硬盘用吗?

SD卡的读写保护技术比消费级别硬盘或SSD差很远,而消费级别硬盘又比数据中心的差很远。区别:当写入数据时候驱动程序是简单报告给操作系统写入成功,还是奇偶校...

单片机 如何共享区数据?

单片机共享区数据需要通过共享内存的方式进行。在共享内存中,多个任务可以同时访问同一个数据区,从而实现数据的共享。为了保证数据的正确性和一致性,需要采用...

什么叫 单片机 ?

单片机不是执行特定逻辑功能的芯片,而是将计算机系统集成到芯片上的芯片。它等效于微型计算机。与计算机相比,单芯片计算机仅缺少I/O设备。简而言之:芯片变成...

mcs51和stc51有什么不同?

STC51是STC公司推出的以MCS-51为内核的单片机的。和AT89C51基本一致,但是可以通过串口直接烧写所以被广泛使用。MCS-51是入门级一款很经典的MCU,特点就是简单,...

嵌入式系统是怎么安装到板卡上的? - BIUBIUBIU930 的回答 - 懂得

恩嵌入式系统通常通过JATG,SD卡等方式烧录。和普通单片机的烧录过程概念是差不多。嵌入式系统中安装java,那我是没听说过,即便是android也不是直接...

猜你喜欢