日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

sdio (一) 硬件

發布時間:2024/3/26 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sdio (一) 硬件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sdio 資料下載
  • sdio 交互有哪些硬件
http://www.wowotech.net/basic_tech/mmc_sd_sdio_intro.html sdio 控制器sd 卡 或者 mmc 卡 或者 tf卡 sdio卡sd卡是 sd 存儲卡mmc卡 也是存儲卡sdio卡 功能就多了,可能是 wifi卡,gps卡等 SD插槽不僅能插入內存卡。 SDIO卡是一種接口(應該是是一種物理標準和電氣標準和協議標準)(聯通了sdio卡槽,和卡片(必須能插入卡槽))即由使用標準SD卡插槽來擴展設備,讓設備擁有新的功能。新功能舉例:GPS 相機 Wi-Fi 調頻廣播 以太網 條形碼讀卡器 藍牙;目前常見的 SDIO 外圍(SDIO 卡)有· Wi-Fi card(無線網絡卡) · CMOS sensor card(照相模塊) · GPS card · GSM/GPRS modem card · Bluetooth card sdio 的 物理接口將與SD memory card同樣的終端·形狀的卡槽利用于擴張卡的規格。把對應SDIO卡槽(插口)稱為SDIO卡槽,擴張卡稱為SDIO卡。 sdio卡與sd卡的區別https://wenku.baidu.com/view/8ee1076ef111f18583d05ab4.htmlhttps://www.cnblogs.com/foolish-fish/p/4064316.htmlsd存儲卡 支持的標準協議版本0-2Gbyte sdsc/sd2-32Gbyte sdhc // cmd 16 (設置塊大小指令)對 sdhc 無效,對 sdxc 也無效32G-2Tbyte sdxc // 因為cmd17 規定讀取數據塊的首地址(32位),一塊固定位512字節,所以,最多可以讀到 2^32*512字節,也就是 2TB
  • 有哪些標準協議及文檔
SD Specifications Part 1 Physical Layer Simplified Specification Secure Digital I/O and Memory Card Interface (SDIO and SDIO_AKE) – User Guide

具體接口

  • 內部接口
總線時鐘:驅動總線接口 sdio 控制器(適配器時鐘)驅動適配器 中斷和dma請求中斷請求并不是從總線上來,而是從dma來
  • 外部接口(線序)
clk cmd data0(1bit) 或 data[0-3](4bit) 或 data[0-7](8bit)
  • sdio控制器與sd卡交互方式
命令與回應 命令與回應信息都走在 cmd線上數據 走在 data 線上, 穿插在 命令與回應中
  • sd卡的初始化
參考 https://www.bilibili.com/video/av56936776/?p=72 參考 SD Specifications Part 1 Physical Layer Simplified Specification 4.2 節可以 從 sd 的初始化區分出 mmc卡 sd卡 v1.x sdsc v2.x // 標準容量的 2.x 版本的sd卡 sdhc v2.x // 高容量的 2.x 版本的sd卡
  • sd 卡 寄存器

操作命令序列

  • 初始化
// 開始最大為 400hz cmd0 // 復位所有的卡到idle狀態。 cmd8 // 發送SD卡接口條件,包含主機支持的電壓信息,并詢問卡是否支持。 cmd55 // 用來區分 sd 卡(有響應) 和 mmc卡(無響應) acmd41(cmd55 + cmd41) // 一直發直到sd卡上電為止(31位為1) cmd2 // 取得cid , 長響應 cmd3 // sd卡,取得相對地址rca // mmc卡,設置相對地址rca --- cmd9 // 通知卡發送csd信息 cmd7 // 參數為rca,唯一標識一張卡,用來進入 tansfer模式 cmd16 // 設置 讀寫塊size acmd51 // 用來判斷是否支持寬總線 acmd6 // 設置位寬 ---- // 頻率改變為高頻率 25Mhz
  • 單塊讀寫硬件時序
// 如果當前為 standby mode,需要cmd7 進入 tansfer mode 一條命令與回應 與 另一條 有 32個時鐘周期間隔,命令與響應之間有11個時鐘周期 一個命令 48個時鐘周期,一個回應(48字節回應)48個時鐘周期------------------------------寫從16 a13(等待READY_FOR_DATA == 124 結束(單塊寫序列) 到 d0線 拉低 有 有42 個時鐘周期間隔,然后從d0線拉低的第二個上升沿開始發送第一個數據。發送完成之后,需要用cmd13查詢 crad status ,等待 到 READY_FOR_DATA.才算完成。當然不等也行,但是會影響下一次寫單塊。------------------------------讀從16 17 結束(單塊讀序列),大概 212363.875個周期后開始d0拉低,然后從d0線拉低的第二個上升沿開始采樣第一個數據。512 個數據 實際接收用了 4283.625 個 時鐘周期,是對的,計算上應該是 4,096?(512*8)個周期(一個bit一個時鐘周期)
  • 多塊讀寫硬件時序
// 如果當前為 standby mode,需要cmd7 進入 tansfer mode 512byte/block * 3 block 寫用了15012.875 個時鐘周期(中間有988個空閑周期),實際上應該用 12,288? 個時鐘周期讀 用了 12,895.75? 個周期,很符合。 // 正常,因為 波特率不穩定,有時候 會跳到22mhz/45nm, 而 頻率是按照 25mhz/40nm 算的------------------------------16 a23(預擦除數據塊) 25 (多塊寫序列開始),多快寫以命令12結束,然后發送cmd13,等待寫入過程完成.(status[11]1,表示寫入完成)------------------------------讀從16 18 結束(多塊讀序列),大概 39,796.375個周期(和單塊讀差異很大)后開始d0拉低,然后從d0線拉低的第二個上升沿開始采樣第一個數據。 多快讀以命令12結束.命令13 是怎么回事? 為什么會在寫之后會有大量的 cmd13??讀取卡狀態,因為數據傳輸在線上完結之后,并不是 實際寫入了. cmd13 的參數是 rca,用來選中sd卡 a23 的參數 是 擦除的數據塊的個數,可以提高寫入性能 55 命令的參數是rcacard status // 正在寫入 111000000000 // data線不再繁忙,被sd卡釋放 111100000000 // READY_FOR_DATA 100100000000

-1bit與4bit

4bit需要設置 SDIO 控制器的 CLK 寄存器 為 4bit需要發送acmd6 命令,參數為2 4bit 線傳輸 1個字節.采樣第一個上升沿,d3:bit7,d2:bit6,d1:bit5,d0:bit4采樣第二個上升沿,d3:bit3,d2:bit2,d1:bit1,d0:bit0
  • 寄存器與命令

總結

以上是生活随笔為你收集整理的sdio (一) 硬件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。