SD卡的读取分析设计
很多单片机都需要大容量存储设备,用来存储数据。目前常用的有U盘,FLASH芯片,SD卡等。它不仅用量可以做到最大到(32GB以上),支持SPI/SDIO驱动,而且有多重体积的尺寸可供支持,能够满足不同应用需求。
只需要几个IO口就可以外扩一个高达32GB以上的外部存储器,用量从几十个M到几十个G选择尺度很大,更换也很方便。
本章介绍是以STM32F1为主控器,使用所提供的SDIO控制器,来读取SD卡。支持1位,4位和8位数据总线模式。
SDIO控制器包含两个部分:SDIO适配器模块和AHB总线接口。其功能图如下:
一、其中SDIO_D[7:0],是数据线工作在推挽模式。
SDIO_CMD有两种操作模式:
1、用于初始化的开路模式
2、用于命令传输的推挽模式。
二、SDIO的时钟
可以看到SDIO的时钟总共有三种时钟。
1、卡时钟(SDIO_CLK):每个时钟周期在命令或者数据线上传输一位命令或数据。
2、SDIO的适配器时钟(SDIOCLK):该时钟用于驱动SDIO适配器,其频率等于AHB总线频率(HCLK),并用于产生SDIO_CK时钟。
3、AHB总线接口时钟(HCLK/2):该时钟用于驱动SDIO的AHB总线接