下面是幾種卡的類型(容量)
下面來說明一下SD卡的引腳
SD卡的讀取方式有兩種:SDIO、SPI
【SDIO模式】
CLK:時鐘,通信過程需要的東西,沒這個東西,數據會不穩定
CMD:命令,可下達命令,例如讀取SD卡的信息,或是寫入數據等等
DAT0、1、2、3:數據線
VCC、VSS:電源和地
【SPI模式】
CLK:時鐘,理由同SDIO裡面的CLK
MOSI:命令或數據輸出到SD卡
MISO:SD卡傳輸數據到主機
CS:片選,選擇是否要操作當前的SD卡
SDIO的存儲速度會高於SPI,假設都是SD卡傳輸數據到主機
SPI只有MISO這1條數據線,而SDIO有4條數據線(當然,SDIO也可以只使用1條數據線來傳輸)
另外,SDIO相當於總線,它可以掛載很多SD卡,但是STM32F4只支持一張SD卡
在與SD卡操作的過程中,會有兩種不同的操作頻率
第一種:識別SD卡階段的時鐘頻率FOD,最高為400KHz
第二種:後續數據傳輸的時鐘頻率FPP,默認最高為25MHz,還可以透過寄存器修改,修改後最高為50MHz
下面介紹SD卡的8個寄存器
CID:卡識別寄存器,一些製造商ID、版本、日期等相關訊息
RCA:相對卡地址寄存器,初始化時,動態由主機確定,後續掛載在SDIO總線上時,透過RCA找到對應的SD卡來進行操作
DSR:驅動級寄存器,配置卡的輸出驅動
CSD:卡的特殊數據寄存器,SD卡的操作信息
SCR:SD配置寄存器,SD卡的特殊信息
OCR:操作條件寄存器,例如SD卡的電壓信息
SSR:SD狀態寄存器,SD卡專有的特徵信息
CSR:SD卡狀態寄存器,SD卡的狀態信息
閱讀更多 愛碼廝小妖 的文章