明(míng)德揚FPGA培訓班:
FPGA网(wǎng)絡班 FPGA就(jiù)業班
SD卡(kǎ)很容易與(yǔ)FPGA接口(kǒu)。它(tā)们(men)有(yǒu)不(bù)同(tóng)的(de)尺寸(cùn)(标(biāo)準的(de)、微型的(de)和(hé)微型的(de)),但它(tā)们(men)的(de)工作方(fāng)式都是(shì)一(yī)樣(yàng)的(de)。讓我(wǒ)们(men)專注于(yú)微SD卡(kǎ),因(yīn)为(wèi)它(tā)们(men)是(shì)方(fāng)便,小型和(hé)流行的(de)當今。
微SD卡(kǎ)有(yǒu)8个(gè)引脚.首先(xiān),電(diàn)源連(lián)接在(zài)引脚4和(hé)6上(shàng)。
然後(hòu),您需要(yào)三(sān)到(dào)六(liù)个(gè)連(lián)接到(dào)FPGA引脚取(qǔ)決于(yú)您決定(dìng)使用(yòng)的(de)操作模式。
SPI模式
在(zài)SPI模式下(xià),DI/DO行是(shì)單向(xiàng)的(de)。这(zhè)意(yì)味着:
-
不(bù)需要(yào)在(zài)DI/DO上(shàng)拉
-
命令(扇(shàn)區(qū)写入(rù)时(shí)的(de)扇(shàn)區(qū)數據(jù))被(bèi)發(fà)送到(dào)DI引脚。
-
響應(yìng)(以(yǐ)及(jí)读(dú)取(qǔ)扇(shàn)區(qū)时(shí)的(de)扇(shàn)區(qū)數據(jù))從DO引脚接收(shōu)。
微控制器系(xì)統中(zhōng)經(jīng)常采用(yòng)SPI模式。有(yǒu)了(le)FPGA,我(wǒ)们(men)会(huì)得到(dào)更(gèng)好(hǎo)的(de)服(fú)务.
SD模式
在(zài)SD模式下(xià),CMD/DATx線(xiàn)是(shì)双(shuāng)向(xiàng)的(de)。这(zhè)意(yì)味着:
-
在(zài)cmd/datx上(shàng)需要(yào)提(tí)速(fpga通(tòng)常可(kě)以(yǐ)在(zài)內(nèi)部(bù)提(tí)供)。
-
命令/響應(yìng)在(zài)CMD引脚上(shàng)發(fà)送/接收(shōu)
-
扇(shàn)區(qū)數據(jù)(用(yòng)于(yú)扇(shàn)區(qū)读(dú)写)是(shì)從DATx引脚發(fà)送/接收(shōu)的(de)。
因(yīn)此(cǐ),例如(rú),我(wǒ)们(men)需要(yào)在(zài)sd單位模式下(xià)的(de)这(zhè)些連(lián)接:
協議:
SD卡(kǎ)适用(yòng)于(yú)命令/響應(yìng)方(fāng)案(àn)。例如(rú),命令“17”允许读(dú)取(qǔ)卡(kǎ)內(nèi)存的(de)一(yī)个(gè)扇(shàn)區(qū)(512字(zì)节(jié))。所(suǒ)有(yǒu)通(tòng)信(xìn)都與(yǔ)主(zhǔ)機(jī)提(tí)供的(de)时(shí)鐘(zhōng)同(tóng)步(在(zài)本(běn)例中(zhōng)为(wèi)FPGA)。时(shí)鐘(zhōng)在(zài)啟動(dòng)时(shí)應(yìng)該運行在(zài)400 Khz以(yǐ)下(xià),并且在(zài)某些卡(kǎ)初始化(huà)後(hòu)可(kě)以(yǐ)運行得更(gèng)快(kuài)。
所(suǒ)有(yǒu)命令和(hé)大多(duō)數響應(yìng)都是(shì)48位长(6个(gè)字(zì)节(jié))。扇(shàn)區(qū)數據(jù)以(yǐ)512字(zì)节(jié)的(de)倍數表(biǎo)示。例如(rú),这(zhè)里(lǐ)有(yǒu)一(yī)个(gè)簡單的(de)代(dài)碼,允许向(xiàng)SD卡(kǎ)發(fà)送命令。

有(yǒu)些命令沒(méi)有(yǒu)響應(yìng),而(ér)另(lìng)一(yī)些命令則在(zài)sd_dat行上(shàng)發(fà)出(chū)響應(yìng)。例如(rú),要(yào)初始化(huà)卡(kǎ),我(wǒ)们(men)從CMD 0開(kāi)始,然後(hòu)是(shì)CMD 8:
-
CMD 0“Go_空閑狀态”
-
CMD 8“Send_if_Cond”,預期(qī)響應(yìng)
下(xià)面(miàn)是(shì)使用(yòng)Xylo-E演示软(ruǎn)件(jiàn)录(lù)制的(de)会(huì)話(huà):
❌
SD.exe
USB driver opened
CMD0 400000000095
CMD8 48000001AA87... OK
CMD55 770000000065... OK
CMD41 694018000019... OK
CMD55 770000000065... OK
CMD41 694018000019... OK
SDHC/SDXC (high capacity) card
CMD2 42000000004D... OK
ASTC 3.4
CMD3 430000000021... OK
RCA=0100
CMD7 4700010000DD... OK
CMD13 4D0001000053... OK
CMD17 510000000055... OK
FAT32 detected
Reading 1 sector(s) starting at 8192
CMD17 5100002000B1... OK
Directory /
初始化(huà)之後(hòu),卡(kǎ)接受CMD 17“read_Single_block”,这(zhè)樣(yàng)就(jiù)可(kě)以(yǐ)從卡(kǎ)中(zhōng)读(dú)取(qǔ)文(wén)件(jiàn)。
所(suǒ)有(yǒu)的(de)人(rén).。檢查下(xià)面(miàn)的(de)鍊(liàn)接并進(jìn)行实验(yàn)。