1.我们先看一下原理图:
我们看到的就是一个可以插SD卡的一个卡槽,nCD接的是EINT4,和中断有关,具体干吗的,暂时还不太清楚。
我们查看SD卡,有9个金属引脚,对应卡槽上面的:DAT1、DAT0、VSS2、CLK、VDD、VSS1、CMD、CD/DAT3、DAT2
VDD:就是电源线
VSS1和VSS2:就是GND
CLK:时钟线
CMD:命令线
DAT0-DAT3:数据线
所以就是:有2个地,1个电源,6个信号线
SD协议与SPI协议:
SD卡虽然只有一种物理接口,但是却支持两种读写协议:SD协议和SPI协议。
SPI协议特点:
(1)SPI协议是单片机中广泛使用的一种通信协议,并不是为SD卡专门发明的。
(2)SPI协议相对SD协议来说速度比较低。
(3)SD卡支持SPI协议,就是为了单片机方便使用。
SD卡协议特点:
(1)SD协议是专门用来和SD卡通信的。
(2)SD协议要求SoC中有SD控制器,运行在高速率下,要求SoC的主频不能太低。
SD读写过程:
SD卡内部除了存储单元Flash外,还有SD卡管理模块,我们SoC和SD卡通信时,通过9针引脚以SD协议/SPI协议向SD卡管理模块发送命令、时钟、数据等信息,然后从SD卡返回信息给SoC来交互。工作时每一个任务(譬如初始化SD卡、譬如读一个块、譬如写、譬如擦除····)都需要一定的时序来完成(所谓时序就是先向SD卡发送xx命令,SD卡回xx消息,然后再向SD卡发送xx命令····)