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卡 管脚排列 总线读写
引用地址:
SD卡的管脚排列和总线读写方式
推荐阅读最新更新时间:2024-03-16 14:36
stm32 SD卡
容量等级 SD容量有8MB、16MB、32MB、64MB、128MB、256MB、512MB、1GB、2GB SDHC容量有2GB 、4GB、8GB、16GB、32GB SDXC容量有32GB、48GB、64GB、128GB、256GB、512GB、1TB、2TB SD卡寄存器 命令格式 所有命令均遵守此格式,总共48位。一个起始位,一个方向位,6个命令位,32位参数(有些命令需要),CRC 7位校验,1个停止位 Command Classes 注: 命令详细解释见SD卡2.0协议 部分命令 应答 应答格式有多种,以R1举例 初始化流程 以SPI模式举例 典型初始化流程 1.使能SPI时钟 2.使能GPIO
[单片机]
单片机读写SD卡最简单最基本的程序
单片机读写SD卡最简单最基本的程序 / / 2010-11-01 21:14 转载自 刀禁凯森 最终编辑 zlulu2008 处理器:s3c44b0 (arm7) SD卡与处理器的引脚连接:MISO -- SIORxD MOSI -- SIOTxD CLK -- SCLK CS -- PE5 包括四个文件:sd_drive.c :用户API函数,移植时不需修改 sd_cmd.c:中间层函数,移植时不需修改 sd_hard.c:硬件层函数,移植时需修改 sd_config.h:一些功能的宏定义,移植时需修改 第一次读写SD卡时,需调用SD_Init(void),然后就可以
[单片机]
STM32CubeMX的SDIO模式下对SD卡读写测试
1.问题描述:使用STM32CubeMX,配置SDIO的4bit模式,对SD卡进行读写测试。 2.准备工作: 软件版本:STM32CubeMX–4.22.0 ;KEIL5 硬件平台:原子战舰V3 (1)软件设置: I. SDIO选择,这里选择4bits模式,实际选1bits也可以。 II. 时钟树配置 III. SDIO模式时钟分频设置,其他默认。 其他详细配置请自行打开源码压缩包里的MP3_Test.ioc查看。 (2)Keil工程测试代码: 测试代码参考硬石的HAL库例程,其资料下载地址在最下方。 I.首先是测试要用到的宏定义及变量的声明。 II.接下来是对主函数代码的添加与修改。 III.主要代码段修
[单片机]
STM32入门开发: 介绍SPI总线、读写W25Q64(FLASH)(硬件+模拟时序)
一、环境介绍 编程软件: keil5 操作系统: win10 MCU型号: STM32F103ZET6 STM32编程方式: 寄存器开发 (方便程序移植到其他单片机) SPI总线: STM32本身支持SPI硬件时序,本文示例代码里同时采用模拟时序和硬件时序两种方式读写W25Q64。 模拟时序更加方便移植到其他单片机,更加方便学习理解SPI时序,通用性更高,不分MCU; 硬件时序效率更高,每个MCU配置方法不同,依赖MCU硬件本身支持。 存储器件: 采用华邦W25Q64 flash存储芯片。 W25Q64这类似的Flash存储芯片在单片机里、嵌入式系统里还是比较常见,可以用来存储图片数据、字库数据、音
[单片机]
基于I2C总线和SD卡的火车轮轴承温度采集系统
引 言 火车轮轴承的损坏将导致重大交通事故,提前预防是避免事故发生的最好办法。现有的轴承温度采集系统大都不能实时采集温度信息,而且不能大量保存相关信息供人们分析。本文介绍的火车轮轴承温度采集系统运用高性能的处理器,能够在火车运行的过程中不断记录温度与时间信息,并实时地把相关信息存储到SD卡中。 1 系统设计原理 火车轮轴承温度采集系统的工作原理是,各测量点通过温度传感器获取轴承温度信息,随后通过I2C总线把这些信息转输给主机,主机收到后根据数据进行超温报警等动作,同时把数据存储在SD卡中,以便查询。该系统以S3C2440A为主控制器,外部各个温度传感器直接挂接在I2C总线上,就可以实现主机对传感器数据的采集,从
[单片机]
STM32+SDIO+FATFS文件系统 直读SD卡 (含程序)
网上关于小型嵌入式的文件系统有好多~当然要数 FATFS 很是出名 一来小巧,二来免费。当然了国产的振南的znFAT 一样开源好用而且极其的省资源~!非常适合51单片。更重要的是国语的支持,呵呵!这次在STM32上为SD卡移植文件系统还是非常简单顺利的,这多亏了ST 官方提供的驱动,而我自己不用动手编写SD卡的命令省了很多时间而且官方做的驱动虽然效率一般但是极其严谨我很是佩服。 FATFS的官方网站是 http://elm-chan.org/fsw/ff/00index_e.html znFAT的官方网站是 http://www.znmcu.cn/softshow.asp?id=47 SD卡以用SPI驱动 也可
[单片机]
基于stm32f103zet6的FAT16文件系统学习0(读SD卡扇区)
SD卡已经看了两天了,主要是因为测试出来的卡容量不对,所以一直找原因,最终还是发现了,总比不过是单位上面出现了问题,或许是之前没有接触到SD的缘故吧,所以对其中的一些寄存器很不了解,一切都是重新开始,对照这寄存器手册,理解程序,修改程序。一步步还是总结一下! 首先关于SD卡的协议是有必要了解的,我今天花了一上午的课堂时间来理解这个SD卡的协议,就是基于这个文档的,这个文档很适合入门SD协议的(个人认为)。 http://download.csdn.net/detail/king_bingge/5218183 初识SD之后,就可以开始正式学习SD卡了! 一、要使用SD卡,那么首先肯定得对SD卡进行初始化,那么如何进行初始化呢?(命
[单片机]
2440支持大容量SD卡的解决办法
上周搞定了摄像头,昨天开始搞SD卡,刚开始挺郁闷,大容量不支持就算了,居然小容量的SD卡能够发现盘符,但是却不能删除和新建文件,后来经过修改,把写保护检测去掉了就可以正常读写了。Google了一下,然后在在群里问了一下,在CSDN搜索了一下,很幸运,很快搞定了大容量的SD卡支持问题。 现在借花献佛,写个详细的做法,希望后人收益。
操作方法:
1. 更新PB. 更新补丁放在10.1.10.250softwareWinCE50 UpdateWinCEPB50-071231-Product-Update-Rollup-Armv4I.msi 2. 在platform- s
[嵌入式]