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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎么通過FPGA采取SD模式實現Micro SD卡的驅動

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

在這篇文章,進入正題,說一說怎么通過FPGA采取SD模式來實現Micro SD 卡的驅動,也就是怎么去讀寫 Micro SD 卡。

1 先來看看 Micro SD 卡的引腳:

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

【Micro SD 引腳】

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

【Micro SD 卡座原理圖】

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

對于這些引腳的介紹,先看下 SD 協議手冊上對于 SD 總線的引腳描述:

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

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

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

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

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

【SD 卡的識別流程】

這個圖告訴咱們可以通過 CMD0 + CS置0 進入 SPI 模式。

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

【SD 模式下的初始化和識別流程】

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

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

在初始化流程中,執行 CMD3 之后就實現了從 card identification mode data transfer mode 的跨越。

進入到 data transfer mode ,就可以對 SD 卡進行數據傳輸了,也就是讀寫操作。

3 根據上面的三個流程圖,自己再看看手冊,找找相關的指令怎么實現,其實就可以正常的操作 SD 卡了。說完上邊的三個流程圖,其實這篇文章也可以結束了。不過,這種說一半藏一半,完全不是我的風格。我們再繼續說一說流程圖中的這些指令如何實現。

SD 模式的命令格式如下:

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

命令總共由 48 bit 組成,start bit 總是為0,表示命令的開始,最后一個bit,也就是 end bit 總是為 1 。這種方式倒是和 IIC 的 SDA 數據線有點類似。當主機沒有發送命令時,可以將 CMD 這根管腳拉高,你要是不小心把 CMD 這根線拉低了,那 Micro SD 卡有可能就會當成是一個命令的開始。

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

CONTENT:這是命令的內容了,包含命令索引和命令參數

CRC:有7個bit,也就是用的CRC7。

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

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

具體的命令參數,還需要根據很多情況進行設定。

命令索引和參數都確定好之后,剩下的就是怎么來搞定 CRC 7 ?

對于 CRC 7 ,咱們就直接貼代碼吧。

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

這些值都確定好之后,再通過 CMD 這個管腳串行的發送出去就可以了!

對于有寫命令,會收到 Micro SD 卡的響應。而對于不同的操作指令,也會有不同的響應。

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

而不同的響應,與之對應的就是在 CMD 線上收到 Micro SD 卡發送的不同數據。

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

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

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

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

那這些指令與沒有帶字母 “A” 的指令有什么區別呢?

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

4 說完指令,接下來再說一說怎么寫數據,怎么讀數據。

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

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

在執行完寫指令之后,相應的在DAT 數據線上構造這樣的數據包格式就行。

在執行完讀指令之后,相應的在DAT 數據線上就會接收到這樣的數據包格式。

稍復雜一點的,也就是如何構造 CRC,數據包使用的是 CRC 16。

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

5 咱們現在基本上已經把 Micro SD 卡的操作流程都已經說完了。接下來說一說我在這個項目中從初始化到讀寫數據的命令執行流程是怎么樣的。

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

好了,這篇文章寫到就結束了。

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

但是可以附上一套源碼給大家參考,這套代碼是 Lattice 給出的 關于 SD 卡控制器的 IP Core。當時 Kevin 也是參考了這個 IP Core 的一些代碼才順利的調通。

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21736

    瀏覽量

    603319
  • 原理圖
    +關注

    關注

    1298

    文章

    6343

    瀏覽量

    234027
  • Micro
    +關注

    關注

    2

    文章

    262

    瀏覽量

    34839
  • SD卡
    +關注

    關注

    2

    文章

    565

    瀏覽量

    63899
  • 引腳
    +關注

    關注

    16

    文章

    1196

    瀏覽量

    50476

原文標題:基于FPGA的Micro SD卡控制器(SD模式實現)

文章出處:【微信號:FPGA研究院,微信公眾號:FPGA研究院】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【OK210試用體驗】sd驅動實現

    微控制器都可以通過spi或模擬spi接口來讀寫sd。由于S5PV210具有sd主機控制器,并且支持s
    發表于 08-05 20:55

    K***28如何實現Micro SD的讀寫

    我最近在使用一塊主芯片為K***28的板子,板子上帶有Micro SD的端口,我想請教各位資深大神,如何實現K***28對Micro SD
    發表于 03-13 22:31

    FPGA如何與SD結合

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

    STM32是怎樣通過SDIO模式實現SD的讀寫

    我們的意識中,可能大家以為SD長這樣不過這只是SD的一種,這種屬于SD-Micro,是一種
    發表于 02-23 06:33

    基于S3C2410的SD MMC驅動實現

    設計了一個基于S3C2410 片內SDI 的SD/MMC 驅動,該驅動支持MMC SD
    發表于 01-06 15:41 ?53次下載

    SPI模式SD驅動的設計與實現

    SPI模式SD驅動的設計與實現 SD以其優越
    發表于 02-11 08:50 ?240次下載

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

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

    基于SDFPGA配置

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

    基于ReWorks嵌入式系統在SD模式實現SD驅動程序的設計

    、高性能、安全性好等特點的多功能存儲。由于SD通過9針的硬件接口與專門的驅動器接口相連接,不需要外接電源維持記憶信息,而且作為一體化固體介質,沒有任何移動部件,所以不用擔心機械移動
    的頭像 發表于 03-09 08:04 ?1964次閱讀
    基于ReWorks嵌入式系統在<b class='flag-5'>SD</b><b class='flag-5'>模式</b>下<b class='flag-5'>實現</b><b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>驅動</b>程序的設計

    SD端子定義,sd card pin description

    SD端子定義,sd card pin description 關鍵字:SD端子定義
    的頭像 發表于 09-20 18:53 ?2559次閱讀

    微雪電子Micro SD 存儲模塊簡介

    Micro SD存儲模塊 支持插入TI 支持SDIO及SPI接口 接口規格為PIN間距2.54mm排針 型號 Micro
    的頭像 發表于 11-12 16:41 ?2932次閱讀
    微雪電子<b class='flag-5'>Micro</b> <b class='flag-5'>SD</b><b class='flag-5'>卡</b> 存儲模塊簡介

    HAL庫 CubeMX STM32通過SDIO模式實現SD的讀寫

    我們的意識中,可能大家以為SD長這樣不過這只是SD的一種,這種屬于SD-Micro,是一種
    發表于 12-29 19:46 ?13次下載
    HAL庫 CubeMX STM32<b class='flag-5'>通過</b>SDIO<b class='flag-5'>模式</b><b class='flag-5'>實現</b>對<b class='flag-5'>SD</b><b class='flag-5'>卡</b>的讀寫

    SD nand 與 SD的SPI模式驅動

    文章目錄SDnand與SD的SPI模式驅動1.概述2.SPI接口模式SD接口
    的頭像 發表于 05-10 17:45 ?1425次閱讀
    <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'>驅動</b>

    什么是Micro SD適配器?

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

    如何在Micro SD上設置寫保護?

    我們了解客戶對Micro SD寫保護的疑問。在這篇文章中,拓優星辰將詳細解釋如何在Micro SD
    的頭像 發表于 07-11 16:37 ?1785次閱讀
    如何在<b class='flag-5'>Micro</b> <b class='flag-5'>SD</b><b class='flag-5'>卡</b>上設置寫保護?
    主站蜘蛛池模板: 久青草视频免费视频播放线路1| 狠狠色综合网| 超级狂色而且免费又超好看| 欧美天天干| 欧美不卡视频在线观看| 日韩三级| 在线资源站| 高清性欧美xxx| 四虎影院在线观看网站| 国产精品天天爽夜夜欢张柏芝| 玖玖福利| 国产精品久久久久久免费播放| 欧美干色| 清纯漂亮小美女准备啪啪| 污污的网站免费阅读| 欧美一区二区影院| 天天澡天天摸天天添视频| 亚洲一区二区三区首页| 日韩免费无砖专区2020狼| 午夜看片免费| 爽好舒服快给老师| 免费毛片网站在线观看| 免费一级特黄3大片视频| 国产一区在线mmai| 久久99久久精品免费思思6| 九九午夜| 婷婷久久综合九色综合98| 91在线激情在线观看| 免费观看视频高清www| 日本三级特黄| 欧美无限看| 亚洲欧美视频在线| bt天堂资源种子在线8| 综合免费一区二区三区| 欧美一级片手机在线观看| 奇米影视久久| 性色网站| 午夜精品久久久| 美女把尿口扒开让男人桶出水| 黄色免费片| 黄色网视频|