成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
    • 1.硬件電路
    • 2. SD卡協(xié)議簡介
    • 3.FPGA實現(xiàn)
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

基于FPGA的SD卡讀寫操作(二)

2024/07/11
5220
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

引言:上一篇博文介紹了SD卡的理論知識,本文我們介紹如何利用FPGA實現(xiàn)SD卡的讀寫操作。

1.硬件電路

開發(fā)板上裝有一個 Micro SD 卡座,F(xiàn)PGA 通過 SPI 數(shù)據(jù)總線訪問 Micro SD 卡, SD 卡座和 FPGA的硬件電路連接如圖1所示。

圖1:SD卡硬件原理圖設計

本文通過SD卡SPI模式進行讀寫操作,SPI模式管腳定義如圖1所示。

2. SD卡協(xié)議簡介

SD卡的協(xié)議是一種簡單的命令/響應的協(xié)議。全部命令由主機發(fā)起,SD卡接收到命令后并返回響應數(shù)據(jù)。根據(jù)命令的不同,返回的數(shù)據(jù)內(nèi)容和長度也不同。

SD卡命令是一個6字節(jié)組成的命令包,其中第一個字節(jié)為命令號,命令號高位bit7和bit6為固定的“01“,其它6個bit為具體的命令號。第2個字節(jié)到第5個字節(jié)為命令參數(shù)。第6個字節(jié)為7個bit的CRC校驗加1個bit的結束位。如果在SPI模式的時候,CRC校驗位為可選。如圖2所示,Command表示命令,通常使用十進制表示名稱,例如CMD17,這個時候 Command就是十進制的17。

圖2:SD卡命令格式

SD卡對每個命令會返回一個響應,每個命令有一定的響應格式。響應的格式跟給它的命令號有關。在 SPI 模式中,有三種響應格式:R1,R2,R3。

圖3:SPI模式響應R1格式

圖4:SPI模式響應R2格式

圖5:SPI模式響應R3格式

2.2.1 SD卡2.0版的初始化步驟

(1)上電后延時至少74clock,等待SD卡內(nèi)部操作完成;

(2) 片選CS低電平選中SD卡;

(3)發(fā)送CMD0,需要返回0x01,進入Idle狀態(tài);

(4)為了區(qū)別SD卡是2.0還是1.0,或是MMC卡,這里根據(jù)協(xié)議向上兼容的,首先發(fā)送只有SD2.0才有的命令CMD8,如果CMD8返回無錯誤,則初步判斷為2.0卡,進一步循環(huán)發(fā)送命令CMD55+ACMD41,直到返回0x00,確定 SD2.0卡;

(5)如果CMD8返回錯誤則判斷為1.0卡還是MMC卡,循環(huán)發(fā)送 CMD55+ACMD41,返回無錯誤,則為SD1.0卡,到此SD1.0卡初始成功,如果在一定的循環(huán)次數(shù)下,返回為錯誤,則進一步發(fā)送CMD1進行初始化,如果返回無錯誤,則確定為MMC卡,如果在一定的次數(shù)下,返回為錯誤,則不能識別該卡,初始化結束。(通過CMD16可以改變SD卡一次性讀寫的長度);

(6) CS 拉高。

2.2.2 SD卡的讀步驟

(1)發(fā)送 CMD17(單塊)或 CMD18(多塊)讀命令,返回 0X00;

(2)接收數(shù)據(jù)開始令牌fe(或fc)+正式數(shù)據(jù)512Bytes+CRC校驗2Bytes,默認正式傳輸?shù)臄?shù)據(jù)長度是 512Bytes。圖 6:單塊讀操作

2.2.3 SD卡的寫步驟

(1)發(fā)送 CMD24(單塊)或 CMD25(多塊)讀命令,返回 0X00;

(2)接收數(shù)據(jù)開始令牌fe(或fc)+正式數(shù)據(jù)512Bytes+CRC校驗2Bytes。

圖 7:單塊寫操作

3.FPGA實現(xiàn)

(1)軟件實現(xiàn)

本文要利用FPGA通過SPI接口實現(xiàn)SD卡讀寫操作。具體功能如下:

(1)SD卡SPI接口驅動設計;

(2)SD卡讀寫操作;

(3)讀出數(shù)據(jù)顯示在LED燈上;

(4)按鍵消抖功能。

軟件功能模塊劃分如圖8所示。

圖8:軟件功能模塊框圖

各個模塊功能:

(1)sd_card_test.v模塊為頂層模塊,實現(xiàn)模塊間互聯(lián);(2)spi_master.v實現(xiàn)SPI總線接口對外通信功能;
(3)sd_card_cmd.v實現(xiàn)SD卡命令協(xié)議功能;

(4)sd_card_sec_read_write.v實現(xiàn)SD卡讀寫命令狀態(tài)機操作功能;

(5)sd_card_top.v實現(xiàn)SD卡讀寫功能頂層互聯(lián);
(6)KeyJitters.v實現(xiàn)按鍵操作消抖功能;

(7)sd_test_ctrl.v實現(xiàn)SD卡測試數(shù)據(jù)讀寫狀態(tài)機控制。

?(2)測試結果

軟件下載至電路板,SD卡讀出數(shù)據(jù)正常顯示在LED上,如圖9所示,顯示讀寫操作正確。

圖9:SD卡讀出數(shù)據(jù)

圖10:SD卡讀出數(shù)據(jù)顯示在LED燈上

感謝關注公眾號,喜歡就多多轉發(fā)吧!

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
LFE5U-45F-7BG256I 1 Lattice Semiconductor Corporation Field Programmable Gate Array,

ECAD模型

下載ECAD模型
$18.74 查看
XC6SLX25-2FGG484I 1 AMD Xilinx Field Programmable Gate Array, 1879 CLBs, 667MHz, 24051-Cell, CMOS, PBGA484, 23 X 23 MM, 1 MM PITCH, LEAD FREE, FBGA-484

ECAD模型

下載ECAD模型
$90.44 查看
5CEBA9F31C7N 1 Intel Corporation Field Programmable Gate Array, 301000-Cell, CMOS, PBGA896, ROHS COMPLIANT, FBGA-896

ECAD模型

下載ECAD模型
$2577.94 查看

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

專注FPGA技術開發(fā),涉及Intel FPGA、Xilinx FPGA技術開發(fā),開發(fā)環(huán)境使用,代碼風格、時序收斂、器件架構以及軟硬件項目實戰(zhàn)開發(fā),個人公眾號:FPGA技術實戰(zhàn)。

巴楚县| 印江| 奉节县| 邵东县| 东城区| 通化市| 高唐县| 荣成市| 楚雄市| 麻阳| 沙坪坝区| 克东县| 乌审旗| 万宁市| 宁远县| 桦川县| 余江县| 昆明市| 丹阳市| 鹤峰县| 基隆市| 东至县| 邵东县| 平凉市| 台湾省| 交口县| 伊川县| 确山县| 雷山县| 莆田市| 金塔县| 洛隆县| 襄城县| 莫力| 慈利县| 蓝山县| 黑河市| 玉林市| 休宁县| 哈尔滨市| 德阳市|