sdio tf卡基础知识总结

时间:2024-03-28 16:50:18
  • sdio介绍

SDIO的全称是安全数字输入/输出接口,一般都是用来SD卡,SD I/O 卡,MMC卡进行通讯。

SDIO总线拥有9根线,一个CLK时钟线,四条DATA双向数据线,一条双向指令线CMD,

VDD,VSS1,VSS2电源和地信号线。所有的通信都是由HOST端发送命令开始的,Device端只要能解析命令,就可以相互通信

SDIO 通过 SD 的 I/O 管脚来连接外部的外围 device 并传输数据。这些外围设备,我们称为 SDIO 卡,常见的有:

· Wi-Fi card 

· GPS card 

· GSM/GPRS modem card 

· Bluetooth card 

 

SD/SDIO的传输模式分为三种

spi mode、1-bit mode、4-bit mode

 

Sdio协议由sd协会制定,下面的E1为sdio的协议;后面章节通过tf卡来分析协议细节;

sdio tf卡基础知识总结

sdio tf卡基础知识总结

  • 卡介绍

SD卡分类

按照容量进行分类

1、SDSC:小于2GB

2、SDHC:大于2GB小于32GB

3、SDXC:大于32GB小于2TB

按照内部编程速度分类

1、class 0:

2、class 2:最低2MB/sec

3、class 4:最低4MB/sec

4、class 6:最低6MB/sec

5、class 10:最低10MB/sec

6、UHS-I:写入数据50MB/sec以内,读取数据104MB/sec以内

7、UHS-II:写入数据156MB/sec以内,读取数据312MB/sec以内

按照电压范围分类

1、SD卡高电压工作电压范围:2.7V~3.6V

2、UHS-II SD卡工作电压范围:1.7V~1.95V

 

UHS是“Ultra-High Speed 超高速”的缩写,支持超高速总线接口的存储卡一般都会有着更快的读写速度

UHS-I的其实就是第一代超高速SD卡,理论传输速度可达104MB/s,其接口插脚排向下兼容,与不支持UHS-I的SD卡产品是相同的

USH-II的则是第二代超高速SD卡,理论传输速度可达312MB/s,速度翻了三倍。在金手指结构上也有所改变,启用了额外的一排的金手指,有效提升了数据传输速度,价格也更贵

sdio tf卡基础知识总结

SD卡速度

用卡面的标识来区分SDHC卡的速度水平和档次,Class 2代表入门级,Class 4和Class 6速度逐步提升,最新的Class 10则代表了*SDHC/SD卡。不过,现在Class 10也要过时了,因为我们有了更高端的UHS-I标准。

SD卡协会推出新的SDXC/SDHC卡性能标识规范,在以往Class 2/4/6/10的基础上,新增UHS-I和UHS Speed Class 1两款性能标识

sdio tf卡基础知识总结

  • Sd卡协议

SD卡指令格式

sdio tf卡基础知识总结

sdio tf卡基础知识总结

sdio tf卡基础知识总结

Command格式

sdio tf卡基础知识总结

Data格式

sdio tf卡基础知识总结

Device响应的command格式

sdio tf卡基础知识总结

SD卡不同的命令回应的数据长度不一致

R1 (normal response command):

sdio tf卡基础知识总结

R2 (CID, CSD register)

sdio tf卡基础知识总结

R3 (OCR register)

sdio tf卡基础知识总结

R6 (Published RCA response)

sdio tf卡基础知识总结

SD卡cmd

SD模式的命令说明:

CMD0 GO_IDLE_STATE  Mandatory Mandatory  Used to change from SD to SPI mode /* 使SD卡进入Idle状态 */

CMD2 ALL_SEND_CID Mandatory  CID not supported by SDIO /* 广播获取卡的CID信息 */

CMD3 SEND_RELATIVE_ADDR  Mandatory Mandatory  /* 广播获取SD卡所分配的相对地址 */

CMD4 SET_DSR  Optional    DSR not supported by SDIO 

CMD5 IO_SEND_OP_COND    Mandatory  

CMD6 SWITCH_FUNC  Mandatory1 Mandatory1 Added in Part 1 v1.10 

CMD7 SELECT/DESELECT_CARD Mandatory Mandatory  /* 根据获取指定的RCA,选中SD卡,如果在选中一个卡的状态下,又选中其他的卡,那么之前的卡会自动取消选中,如果发送地址0,则表示取消选中全部卡 */

CMD9 SEND_CSD  Mandatory    CSD not supported by SDIO /* 获取SD相关的存储信息,如块大小,容量等. */

CMD10 SEND_CID  Mandatory   CID not supported by SDIO 

CMD12 STOP_TRANSMISSION  Mandatory /* 停止多块传输操作 */

CMD13 SEND_STATUS  Mandatory    Card Status includes only SDMEM information /* 获取卡的状态 */

CMD15 GO_INACTIVE_STATE  Mandatory Mandatory  

CMD16 SET_BLOCKLEN  Mandatory /* 设置SD卡的块大小,CSD寄存器有描述. */

CMD17 READ_SINGLE_BLOCK  Mandatory /* 使SD卡进入传输状态,读取单个块 */

CMD18 READ_MULTIPLE_BLOCK Mandatory /* 使SD卡进入传输状态,读取多个块,直到收到CMD12为止 */

CMD24 WRITE_BLOCK   Mandatory /* 使SD卡进入传输状态,写入单个块 */   

CMD25 WRITE_MULTIPLE_BLOCK Mandatory /* 使SD卡进入传输状态,写入多个块 */    

CMD27 PROGRAM_CSD  Mandatory    CSD not supported by SDIO 

CMD28 SET_WRITE_PROT  Optional   

CMD29 CLR_WRITE_PROT  Optional    

CMD30 SEND_WRITE_PROT  Optional    

CMD32 ERASE_WR_BLK_START  Mandatory    

CMD33 ERASE_WR_BLK_END  Mandatory    

CMD38 ERASE  Mandatory    

CMD42 LOCK_UNLOCK  Optional    

CMD52 IO_RW_DIRECT    Mandatory  

CMD53 IO_RW_EXTENDED    Mandatory  Block mode is optional 

CMD55 APP_CMD Mandatory /* 特殊指令前命令,在发送ACMD类指令前,需要发送此命令 */  

CMD56 GEN_CMD  Mandatory    

ACMD6 SET_BUS_WIDTH  Mandatory /* 设置SD卡的总线位宽,这个需要读取SCR确定 */ 

ACMD13 SD_STATUS  Mandatory    

ACMD22 SEND_NUM_WR_BLOCKS  Mandatory    

ACMD23 SET_WR_BLK_ERASE_COUNT Mandatory     

ACMD41 SD_APP_OP_COND  Mandatory /* 获取SD电压值 */

ACMD42 SET_CLR_CARD_DETECT  Mandatory    

ACMD51 SEND_SCR  Mandatory    SCR not supported by SDIO /* 获取SD卡的SCR寄存器的值 */

SD卡状态

sdio tf卡基础知识总结

SD初始化流程

sdio tf卡基础知识总结sdio tf卡基础知识总结

sdio tf卡基础知识总结