音樂播放器
ESP32- 項目應用1 音樂播放器之sd的驅動配置 #1
文章目錄
- 音樂播放器
- 1 sd卡介紹
-
- 1.1 SDCARD介紹
- 1.2 物理結構
- 1.3 協議說明
- 1.4 sd 卡模式
- 1.5 數據模式
- 1.6 sdio 初始化流程
- 1.7 SPI 模式下的 SD 卡初始化
- 2 原理圖
-
- 2.1 sd原理圖
- 2.2 esp32的接口
- 3 代碼配置
-
- 3.1 驅動代碼
- 3.2 獲取sd大小和體積
1 sd卡介紹
1.1 SDCARD介紹
最適合單片機系統的莫過于 SD 卡了,它不僅容量可以做到很大(32GB 以上),支持 SPI/SDIO 驅動,而且有多種體積的尺寸可供選擇(標準的 SD 卡尺寸及 Micro SD 卡尺寸等),能滿足不同應用的要求。只需要少數幾個 IO 口即可外擴一個高達 32GB 或以上的外部存儲器,容量從幾十 M 到幾十G 選擇范圍很大,更換也很方便,編程也簡單,是單片機大容量外部存儲器的首選。
1.2 物理結構
SD 卡的規范由 SD 卡協會明確,可以訪問 https://www.sdcard.org 查閱更多標準。SD 卡主要有 SD、Mini SD 和 microSD(原名 TF 卡,2004 年正式更名為 Micro SD Card,為方便本文用microSD 表示)三種類型,Mini SD 已經被 microSD 取代,使用得不多。SD 卡允許了不同的接口來訪問它的內部存儲單元。最常見的是 SDIO 模式和 SPI 模式,根據這兩種接口模式,我們也列出 SD 卡引腳對應于這兩種不同的電路模式的引腳功能定義。
SD 卡和 Micro SD 只有引腳和形狀大小不同,內部結構類似,操作時序完全相同,可以使用完全相同的代碼驅動,下面以 9’Pin SD 卡的內部結構為為例,展示 SD 卡的存儲結構。
1.3 協議說明
一個完整的 SD卡操作過程是:主機(單片機等)發起“命令”,SD卡根據命令的內容決定是否發送響應信息及數據等,如果是數據讀/寫操作,主機還需要發送停止讀/寫數據的命令來結束本次操作,這意味著主機發起命令指令后,SD 卡可以沒有響應、數據等過程,這取決于命令的含義。
SD 卡的命令固定為 48 位,由 6 個字節組成,字節 1 的最高 2 位固定為 01,低 6 位為命令號(比如 CMD16,為 10000B即 16進制的 0X10,完整的 CMD16,第一個字