【STM32】使用SDIO進行SD卡讀寫,包含文件管理FatFs(三)-SD卡的操作流程


其他鏈接

【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卡協會的官網有的

那么下一章就開始代碼操作了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM