在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎么通過(guò)FPGA采取SD模式實(shí)現(xiàn)Micro SD卡的驅(qū)動(dòng)

FPGA研究院 ? 來(lái)源:開源騷客 ? 2023-09-19 11:48 ? 次閱讀

在這篇文章,進(jìn)入正題,說(shuō)一說(shuō)怎么通過(guò)FPGA采取SD模式來(lái)實(shí)現(xiàn)Micro SD 卡的驅(qū)動(dòng),也就是怎么去讀寫 Micro SD 卡。

1 先來(lái)看看 Micro SD 卡的引腳:

d7fa1ab0-5694-11ee-939d-92fbcf53809c.jpg

【Micro SD 引腳】

d810461e-5694-11ee-939d-92fbcf53809c.jpg

【Micro SD 卡座原理圖】

除開電源相關(guān)引腳,其他可用的管腳都連接到了 FPGA 上。

對(duì)于這些引腳的介紹,先看下 SD 協(xié)議手冊(cè)上對(duì)于 SD 總線的引腳描述:

d81f8bb0-5694-11ee-939d-92fbcf53809c.jpg

這個(gè)表格上的引腳描述是給的 SD 卡的引腳信息,與Micro SD 卡的引腳序號(hào)是不一樣的,大家要辯證對(duì)待,主要是參考下 Micro SD 卡各引腳的介紹。

從表格中的引腳信息也可以看出,Micro SD 卡是兼容 SPI 操作模式的。

2 在正式操作 Micro SD 卡之前,需要對(duì)其進(jìn)行初始化。初始化的操作可以參考下面兩個(gè)流程圖。

d83a2d6c-5694-11ee-939d-92fbcf53809c.jpg

【SD 卡的識(shí)別流程】

這個(gè)圖告訴咱們可以通過(guò) CMD0 + CS置0 進(jìn)入 SPI 模式。

d86098c6-5694-11ee-939d-92fbcf53809c.jpg

【SD 模式下的初始化和識(shí)別流程】

初始化完成了,咱們就需要看到另外一個(gè)圖了。

d876d406-5694-11ee-939d-92fbcf53809c.jpg

在初始化流程中,執(zhí)行 CMD3 之后就實(shí)現(xiàn)了從 card identification mode data transfer mode 的跨越。

進(jìn)入到 data transfer mode ,就可以對(duì) SD 卡進(jìn)行數(shù)據(jù)傳輸了,也就是讀寫操作。

3 根據(jù)上面的三個(gè)流程圖,自己再看看手冊(cè),找找相關(guān)的指令怎么實(shí)現(xiàn),其實(shí)就可以正常的操作 SD 卡了。說(shuō)完上邊的三個(gè)流程圖,其實(shí)這篇文章也可以結(jié)束了。不過(guò),這種說(shuō)一半藏一半,完全不是我的風(fēng)格。我們?cè)倮^續(xù)說(shuō)一說(shuō)流程圖中的這些指令如何實(shí)現(xiàn)。

SD 模式的命令格式如下:

d88176fe-5694-11ee-939d-92fbcf53809c.jpg

命令總共由 48 bit 組成,start bit 總是為0,表示命令的開始,最后一個(gè)bit,也就是 end bit 總是為 1 。這種方式倒是和 IIC 的 SDA 數(shù)據(jù)線有點(diǎn)類似。當(dāng)主機(jī)沒(méi)有發(fā)送命令時(shí),可以將 CMD 這根管腳拉高,你要是不小心把 CMD 這根線拉低了,那 Micro SD 卡有可能就會(huì)當(dāng)成是一個(gè)命令的開始。

transmitter bit:為 1 ,表示這是從主機(jī)到 SD 卡的命令,表示命令方向。

CONTENT:這是命令的內(nèi)容了,包含命令索引和命令參數(shù)。

CRC:有7個(gè)bit,也就是用的CRC7。

以CMD8為例,可以看看命令格式到底是怎么樣的。

d88dc3c8-5694-11ee-939d-92fbcf53809c.jpg

具體的命令參數(shù),還需要根據(jù)很多情況進(jìn)行設(shè)定。

命令索引和參數(shù)都確定好之后,剩下的就是怎么來(lái)搞定 CRC 7 ?

對(duì)于 CRC 7 ,咱們就直接貼代碼吧。

d89c08f2-5694-11ee-939d-92fbcf53809c.jpg

這些值都確定好之后,再通過(guò) CMD 這個(gè)管腳串行的發(fā)送出去就可以了!

對(duì)于有寫命令,會(huì)收到 Micro SD 卡的響應(yīng)。而對(duì)于不同的操作指令,也會(huì)有不同的響應(yīng)。

d8b95ff6-5694-11ee-939d-92fbcf53809c.jpg

而不同的響應(yīng),與之對(duì)應(yīng)的就是在 CMD 線上收到 Micro SD 卡發(fā)送的不同數(shù)據(jù)。

d8db7f50-5694-11ee-939d-92fbcf53809c.jpg

d8eeb0c0-5694-11ee-939d-92fbcf53809c.jpg

有些指令前面有字母 A,如下圖所示:

d8ff6280-5694-11ee-939d-92fbcf53809c.jpg

那這些指令與沒(méi)有帶字母 “A” 的指令有什么區(qū)別呢?

ACMD6 為例,它要先執(zhí)行 CMD55 ,之后再執(zhí)行類似于 CMD6 指令,就是說(shuō)ACMD6 是由兩個(gè)指令組合在一起的。

4 說(shuō)完指令,接下來(lái)再說(shuō)一說(shuō)怎么寫數(shù)據(jù),怎么讀數(shù)據(jù)。

d91b6c28-5694-11ee-939d-92fbcf53809c.jpg

寫數(shù)據(jù)和讀數(shù)據(jù)都是這樣的數(shù)據(jù)包格式,start bit總是為0,end bit 總是為 1 。

在執(zhí)行完寫指令之后,相應(yīng)的在DAT 數(shù)據(jù)線上構(gòu)造這樣的數(shù)據(jù)包格式就行。

在執(zhí)行完讀指令之后,相應(yīng)的在DAT 數(shù)據(jù)線上就會(huì)接收到這樣的數(shù)據(jù)包格式。

稍復(fù)雜一點(diǎn)的,也就是如何構(gòu)造 CRC,數(shù)據(jù)包使用的是 CRC 16。

d92a78ee-5694-11ee-939d-92fbcf53809c.jpg

5 咱們現(xiàn)在基本上已經(jīng)把 Micro SD 卡的操作流程都已經(jīng)說(shuō)完了。接下來(lái)說(shuō)一說(shuō)我在這個(gè)項(xiàng)目中從初始化到讀寫數(shù)據(jù)的命令執(zhí)行流程是怎么樣的。

CMD0 -> CMD8 -> ACMD41 -> CMD2 -> CMD3 -> CMD 7 -> ACMD6 -> CMD25 (WRITE_MULTIPLE_BLOCK ) / CMD17 (READ_SINGLE_BLOCK)-> CMD12。

好了,這篇文章寫到就結(jié)束了。

我自己寫的這個(gè)項(xiàng)目的完整代碼,畢竟這是人家花了錢的,是絕對(duì)不會(huì)公開的,所以大家也不用在微信里邊私聊我要代碼了哈!

但是可以附上一套源碼給大家參考,這套代碼是 Lattice 給出的 關(guān)于 SD 卡控制器的 IP Core。當(dāng)時(shí) Kevin 也是參考了這個(gè) IP Core 的一些代碼才順利的調(diào)通。

d9406d52-5694-11ee-939d-92fbcf53809c.jpg

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21925

    瀏覽量

    612515
  • 原理圖
    +關(guān)注

    關(guān)注

    1320

    文章

    6392

    瀏覽量

    238332
  • Micro
    +關(guān)注

    關(guān)注

    2

    文章

    268

    瀏覽量

    35476
  • SD卡
    +關(guān)注

    關(guān)注

    2

    文章

    574

    瀏覽量

    64957
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    1495

    瀏覽量

    52046

原文標(biāo)題:基于FPGA的Micro SD卡控制器(SD模式實(shí)現(xiàn))

文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【OK210試用體驗(yàn)】sd驅(qū)動(dòng)實(shí)現(xiàn)

    微控制器都可以通過(guò)spi或模擬spi接口來(lái)讀寫sd。由于S5PV210具有sd主機(jī)控制器,并且支持s
    發(fā)表于 08-05 20:55

    K***28如何實(shí)現(xiàn)對(duì)Micro SD的讀寫

    我最近在使用一塊主芯片為K***28的板子,板子上帶有Micro SD的端口,我想請(qǐng)教各位資深大神,如何實(shí)現(xiàn)K***28對(duì)Micro SD
    發(fā)表于 03-13 22:31

    FPGA如何與SD結(jié)合

    Micro-SD有8個(gè)引腳,其中電源引腳為4與6。隨后需要3至6個(gè)引腳與FPGA相連,用到的引腳數(shù)取決于你使用什么模式。以下是SPI模式
    發(fā)表于 08-01 05:00

    STM32是怎樣通過(guò)SDIO模式實(shí)現(xiàn)對(duì)SD的讀寫

    我們的意識(shí)中,可能大家以為SD長(zhǎng)這樣不過(guò)這只是SD的一種,這種屬于SD-Micro,是一種
    發(fā)表于 02-23 06:33

    基于S3C2410的SD MMC驅(qū)動(dòng)實(shí)現(xiàn)

    設(shè)計(jì)了一個(gè)基于S3C2410 片內(nèi)SDI 的SD/MMC 驅(qū)動(dòng),該驅(qū)動(dòng)支持MMC SD
    發(fā)表于 01-06 15:41 ?53次下載

    SPI模式SD驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn)

    SPI模式SD驅(qū)動(dòng)的設(shè)計(jì)與實(shí)現(xiàn) SD以其優(yōu)越
    發(fā)表于 02-11 08:50 ?240次下載

    什么是micro sd?什么是TF? 什么是SD?

    什么是micro sd ? miniSD是在數(shù)碼相機(jī),PDA等所用的Flash Memory Card(中文名:快閃存儲(chǔ))基礎(chǔ)上發(fā)展
    發(fā)表于 04-27 18:41 ?1.9w次閱讀

    基于SDFPGA配置

    基于SDFPGA配置,本文給出了對(duì)Virtex FPGA 進(jìn)行配置的情 況,該方案也可以適用于Spartan 系列FPGA
    發(fā)表于 12-13 10:02 ?6376次閱讀
    基于<b class='flag-5'>SD</b><b class='flag-5'>卡</b>的<b class='flag-5'>FPGA</b>配置

    基于ReWorks嵌入式系統(tǒng)在SD模式實(shí)現(xiàn)SD驅(qū)動(dòng)程序的設(shè)計(jì)

    、高性能、安全性好等特點(diǎn)的多功能存儲(chǔ)。由于SD通過(guò)9針的硬件接口與專門的驅(qū)動(dòng)器接口相連接,不需要外接電源維持記憶信息,而且作為一體化固體介質(zhì),沒(méi)有任何移動(dòng)部件,所以不用擔(dān)心機(jī)械移動(dòng)
    的頭像 發(fā)表于 03-09 08:04 ?2153次閱讀
    基于ReWorks嵌入式系統(tǒng)在<b class='flag-5'>SD</b><b class='flag-5'>模式</b>下<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>驅(qū)動(dòng)</b>程序的設(shè)計(jì)

    SD端子定義,sd card pin description

    SD端子定義,sd card pin description 關(guān)鍵字:SD端子定義
    的頭像 發(fā)表于 09-20 18:53 ?2802次閱讀

    微雪電子Micro SD 存儲(chǔ)模塊簡(jiǎn)介

    Micro SD存儲(chǔ)模塊 支持插入TI 支持SDIO及SPI接口 接口規(guī)格為PIN間距2.54mm排針 型號(hào) Micro
    的頭像 發(fā)表于 11-12 16:41 ?3146次閱讀
    微雪電子<b class='flag-5'>Micro</b> <b class='flag-5'>SD</b><b class='flag-5'>卡</b> 存儲(chǔ)模塊簡(jiǎn)介

    HAL庫(kù) CubeMX STM32通過(guò)SDIO模式實(shí)現(xiàn)對(duì)SD的讀寫

    我們的意識(shí)中,可能大家以為SD長(zhǎng)這樣不過(guò)這只是SD的一種,這種屬于SD-Micro,是一種
    發(fā)表于 12-29 19:46 ?13次下載
    HAL庫(kù) CubeMX STM32<b class='flag-5'>通過(guò)</b>SDIO<b class='flag-5'>模式</b><b class='flag-5'>實(shí)現(xiàn)</b>對(duì)<b class='flag-5'>SD</b><b class='flag-5'>卡</b>的讀寫

    SD nand 與 SD的SPI模式驅(qū)動(dòng)

    文章目錄SDnand與SD的SPI模式驅(qū)動(dòng)1.概述2.SPI接口模式SD接口
    的頭像 發(fā)表于 05-10 17:45 ?1803次閱讀
    <b class='flag-5'>SD</b> nand 與 <b class='flag-5'>SD</b><b class='flag-5'>卡</b>的SPI<b class='flag-5'>模式</b><b class='flag-5'>驅(qū)動(dòng)</b>

    什么是Micro SD適配器?

    Micro SD適配器是一種小型設(shè)備,它允許Micro SD(也稱為TF或TransFlas
    的頭像 發(fā)表于 06-12 11:19 ?3237次閱讀
    什么是<b class='flag-5'>Micro</b> <b class='flag-5'>SD</b>適配器?

    如何在Micro SD上設(shè)置寫保護(hù)?

    我們了解客戶對(duì)Micro SD寫保護(hù)的疑問(wèn)。在這篇文章中,拓優(yōu)星辰將詳細(xì)解釋如何在Micro SD
    的頭像 發(fā)表于 07-11 16:37 ?2630次閱讀
    如何在<b class='flag-5'>Micro</b> <b class='flag-5'>SD</b><b class='flag-5'>卡</b>上設(shè)置寫保護(hù)?
    主站蜘蛛池模板: 亚洲免费一区二区 | 久久婷婷国产精品香蕉 | 日本毛片大全 | 又黄又爽又猛午夜性色播在线播放 | 色视频观看 | 国产精品一区二区三区四区 | 波多野结衣在线观看一区二区 | 嫩草影院www | 天堂资源中文官网 | 四虎影院在线网址 | 亚洲jizzjizz在线播放久 | 色天使久久| 天天操综合网 | 三级黄色在线视频 | 高清午夜线观看免费 | 色综合激情丁香七月色综合 | 久久精品草 | 亚洲影视自拍揄拍愉拍 | 久久香蕉国产线看观看亚洲片 | 天天干天天夜 | 可以免费看黄的网址 | 手机在线色 | 一级毛片一级毛片 | 九九国产精品视频 | 69国产成人综合久久精品 | nxgx欧美 | 男人j进女人j的视频一进一出 | 午夜看片在线 | 永久免费在线视频 | 亚洲 图片 小说 欧美 另类 | 日本免费不卡一区 | 喷潮白浆直流在线播放 | 午夜视频免费在线 | 午夜影院黄色片 | 亚洲jizzjizz中国妇女 | 91网站免费在线观看 | 综合网自拍 | 久久久久免费精品国产小说 | 伊人网在线免费视频 | 亚1州区2区3区4区产品乱码 | 日韩黄色免费 |