一、基础知识
1、简介
SD Card 全称(Secure Digital Memory Card),日本电子公司松下(Panasonic)、瑞典公司爱立信(Ericsson)、德国公司西门子(Siemens)共同开发的,于1999年发布根据存储大小分类如下:
类型 | 存储容量 | 用途 |
SD | 2GB 和更小 | 存储相机、手机、音乐播放器 |
SDHC | 超过 2GB,最高 32GB | 高清摄像机、高像素数相机 |
SDXC | 超过 32GB,最高 2TB | 4K视频拍摄、高分辨率照片拍摄 |
SDUC | 超过 2TB,最高 128TB | 高清视频制作、大型数据存储 |
SD卡(Secure Digital Memory Card)和MicroSD卡(TF卡)有区别,尺寸和容量的不同,MicroSD卡通使用适配器才能与SD卡插槽兼容。
控制器对SD卡进行读写通信操作一般有两种通信接口可选,一种是SPI接口,另外一种是SDIO接口。
- SPI接口:7线接口,SPI接口在实现简单,但是传输速度相对较慢,不适合对速度要求较高的应用。
2.SDIO接口:9线接口,传输速度上较快,接口相对复杂,设计和实现成本较高。
SD总线模式中有4条数据线;SPI总线模式中仅有一条数据线(MOSI和MISO不能同时读数据,也不能同时写数据)。
2、不同版本的SD 卡标准比较2.0 3.0 4.0(未发布)
SD卡协议2.0:增加了高速模式和SPI模式,引入了SDHC(高容量SD卡)。
SD卡协议3.0:该版本增加了UHS(Ultra High Speed)接口,引入了SDXC和exFAT文件系统(适用于大容量的储存场景)。
3、控制器支持SD卡的容量
在MCU控制器中一般会给出兼容的SD卡协议版本。例如FRDM-K66中的SDHC模块,这个模块兼容SD V2.0和SDHC,也就是说支持SD卡最大容量32G
又比如,NXP的MCXN947中的uSDHC模块:
该模块兼容SD的3.0版本和 Extended Capacity SD Memory Card,也就是最大容量支持2TB的SD卡。
不同版本SD卡协议标准pdf下载地址
Archives | SD Association (sdcard.org)
二、SDIO接口通信
SDIO全称(Secure Digital I/O),一般控制器会有这个SDIO接口和SD卡通信。SDIO控制器支持MMC卡(多媒体卡)、SD储存卡、SDI/O卡和CE-ATA设备。现在主要研究的的是SDIO和SD 储存卡通信。
1、通信速度
关于FRDM-K66开发板可以看一下,支持SD卡通信 ,Full Speed 和High Speed
可以通过设置CMD6命令,对high speed mode 进行设置。
主机可以设置Host Controller Capabilities (SDHC_HTCAPBLT)寄存器的HSS位,设置是否支持高速模式。
另外,下图是MCXN947的SD卡速度特点,由于是V 3.0模式,增加了UHS,传输速度可以高达208和100Mhz
参考文章:
SD卡SD总线模式通信-CSDN博客
36. SD卡—读写测试(SPI模式) — [野火]STM32库开发实战指南——基于野火MINI开发板 文档 (embedfire.com)
*SD2.0协议标准完整版.pdf
干货!一文带你认清SD卡、TF卡、SIM卡!_nano卡和tf卡-CSDN博客
MCXNx4xRM.pdf