其他鏈接
【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(一)-初步認識SD卡
【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(二)-了解SD總線,命令的相關介紹
【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(三)-SD卡的操作流程
【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(四)-介紹庫函數,獲取一些SD卡的信息
【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(五)-FatFs的介紹(暫定,待研究FatFs后,寫博客)
【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(六)-實現SD卡的讀取(暫定,完成第五篇博客后,填寫第六篇)
首先放上的這張圖片,是SD卡的完整流程圖
圖片看不清楚的,我也不知道要怎么調整了,麻煩暫時用新分頁開啟這張圖片,或是另存圖片在自己的電腦里,謝謝了
分割線上方(紅線以上)是【卡識別模式】(卡初始化模式)
分割線下方(紅線以下)是【數據傳輸模式】
來說說靠近分割線(紅線)的幾個命令
在【卡識別模式】下,發送CMD3,獲取RCA地址,就可以進入紅線下方,也就是進入【數據傳輸模式】了(前提是你已經經過一系列的識別了)
在【數據傳輸模式】下,發送CMD3,SD卡會返回新的RCA地址
在【數據傳輸模式】下,發送CMD15,會進入無效狀態,並非進入卡識別狀態,這感覺很像把U盤插入電腦,然后我就直接退出U盤,就進入無效模式了,我想再次使用U盤,我必須重新上電(重新拔插U盤)
在【數據傳輸模式】下,發送CMD0,SD卡會重新進入空閑狀態,然后又可以對SD卡進行識別了
其他的詳細流程介紹,我會如圖片所說,分別再用兩張圖片來說明
先說明 【卡識別模式】,此階段的時鍾頻率FOD,最高為400KHz
這流程圖和我上方完整的流程圖,有些出入
在SD2.0協議的PDF文檔里面,有更詳細的卡識別流程圖(卡初始化流程圖)
你要仔細對比的話,上電后,不都是發送CMD0嗎?后續不是還接着CMD8?識別成功后,下方不是還有ACMD41嗎?
這個初始化流程圖,就和紅線以上的【卡識別模式】是一樣的,只是更詳細
至於介紹的話,初始化流程圖已經說的很清楚了
再先說明 【數據傳輸模式】,此階段的時鍾頻率FPP,默認最高為25MHz,配置寄存器后,最高可達50MHz
大致的流程就是這樣
圖片已經說明的很清楚了
對照我第二章寫的博客,有一大堆CMD相關的命令
再來看這張圖,就會很清楚了
這些圖片我都是截取SD2.0協議的PDF文檔
文檔在SD卡協會的官網有的
那么下一章就開始代碼操作了