SD卡的管腳排列和總線讀寫方式
SD卡的引腳定義:
管腳排列和總線讀寫方式" name="image_operate_52221302162801312" real_src="http://s12.sinaimg.cn/middle/5e374701ga04f0776e47b&690" src="http://s12.sinaimg.cn/middle/5e374701ga04f0776e47b&690" title="[轉(zhuǎn)載]SD卡的管腳排列和總線讀寫方式" />
SD卡引腳功能詳述:
注:S:電源供給 I:輸入 O:采用推拉驅(qū)動(dòng)的輸出
PP:采用推拉驅(qū)動(dòng)的輸入輸出
SD卡支持兩種總線方式:
SD方式與SPI方式。SD模式是SD卡標(biāo)準(zhǔn)的讀寫方式,但是在選用SD模式時(shí),往往需要選擇帶有SD卡控制器接口的MCU,或者必須加入額外的SD卡控制單元以支持SD卡的讀寫。然而,很多51單片機(jī)沒有集成SD卡控制器接口,若選用SD模式通訊就無形中增加了產(chǎn)品的硬件成本。在SD卡數(shù)據(jù)讀寫時(shí)間要求不是很嚴(yán)格的情況下,選用SPI模式可以說是一種最佳的解決方案。我用軟件模擬出SPI總線時(shí)序讀寫SD卡。
其中SD方式采用6線制,使用CLK、CMD、DAT0~DAT3進(jìn)行數(shù)據(jù)通信。
而SPI方式采用4線制,使用CS、CLK、DataIn、DataOut進(jìn)行數(shù)據(jù)通信。SD方式時(shí)的數(shù)據(jù)傳輸速度與SPI方式要快,采用單片機(jī)對(duì) SD卡進(jìn)行讀寫時(shí)一般都采用SPI模式。采用不同的初始化方式可以使SD卡工作于SD方式或SPI方式。這里只對(duì)其SPI方式進(jìn)行介紹。
SD卡SPI模式下與單片機(jī)的連接圖:
SD卡工作電壓范圍是2.0-3.6V
SD卡的IO的邏輯電平是3.3V,上圖只適合單片機(jī)的IO邏輯電平是3.3V的。
如果我們用的是5V的MCU我們就要進(jìn)行電平轉(zhuǎn)換。(下面的方法是比較保險(xiǎn)的做法,也有人用電阻分壓)
解決邏輯器件接口的電平兼容問題,原則主要有兩條:
一為輸出電平器件輸出高電平的最小電壓值,應(yīng)該大于接收電平器件識(shí)別為高電平的最低電壓值;
二為輸出電平器件輸出低電平的最大電壓值,應(yīng)該小于接收電平器件識(shí)別為低電平的最高電壓值。
考慮到SD卡在SPI協(xié)議的工作模式下,通訊都是單向的,于是在單片機(jī)向SD卡傳輸數(shù)據(jù)時(shí)采用晶體管加上拉電阻法的方案,而在SD卡向單片機(jī)傳輸數(shù)據(jù)時(shí)可以直接連接,因?yàn)樗鼈冎g的電平剛好滿足上述的電平兼容原則,既經(jīng)濟(jì)又實(shí)用。
這樣硬件連接就完成了,注意SD卡的工作電壓