久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: RISC-V MCU開發(fā)實(shí)戰(zhàn) (二):SD初應(yīng)用 [打印本頁]

作者: BlackFilve    時(shí)間: 2021-10-27 14:35
標(biāo)題: RISC-V MCU開發(fā)實(shí)戰(zhàn) (二):SD初應(yīng)用
軟件平臺(tái): MounRiver Studio(MRS),硬件平臺(tái):CH32V103開發(fā)板,以及一張小于32G SD卡。

1、SD卡簡介

SD存儲(chǔ)卡( Secure Digital Memory Card)是一種基于半導(dǎo)體快閃存儲(chǔ)器的新一代高速存儲(chǔ)設(shè)備。SD存儲(chǔ)卡的技術(shù)是從MMC卡( MultiMedia Card格式上發(fā)展而來,在兼容SD存儲(chǔ)卡基礎(chǔ)上發(fā)展了SDIO( SD Input/ Output)卡,此兼容性包括機(jī)械,電子,電力,信號(hào)和軟件,通常將SD、SDIO卡俗稱SD存儲(chǔ)卡。

SD卡具有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動(dòng)靈活性以及很好的安全性,它被廣泛地應(yīng)用于便攜式裝置上,例如數(shù)碼相機(jī)、平板電腦和多媒體播放器等。根據(jù)SD卡容量大小不同,可將SD卡分為以下幾類:
0~2G:SD卡;2~32G:SDHC卡;32~2T:SDXC卡;

其中,SD卡協(xié)議和SDHC卡版本協(xié)議基本兼容,但SDXC卡與SD卡和SDHC卡相差較大,本文主要介紹使用SD卡和SDHC卡。
控制器對(duì)SD卡進(jìn)行讀寫通信操作一般有兩種通信接口可選,一種是SPI接口,另外一種是SDIO接口。 SPI協(xié)議驅(qū)動(dòng)SD卡方式相較于SDIO驅(qū)動(dòng)SD卡方式,使用引腳資源少,控制程序相對(duì)較為簡單,但傳輸速度不如使用SDIO接口的快。由于CH32V103開發(fā)板上SD卡槽與芯片引腳的連接方式為SPI驅(qū)動(dòng)方式,因此本文采用SPI協(xié)議驅(qū)動(dòng)SD卡方式。

使用SPI方式驅(qū)動(dòng)SD卡需要用到以下幾個(gè)寄存器:
① CID:卡識(shí)別號(hào)(Card identification number),用來識(shí)別卡的唯一的個(gè)體號(hào)碼;
② CSD:卡的特定數(shù)據(jù)(Card Specific Data),指卡的操作條件信息;
③ SCR:SD配置寄存器(SD Configuration Register),SD卡特殊性信息;
④ OCR:操作條件寄存器(Operation conditions register)
關(guān)于SD卡其他寄存器信息,可參考SD 簡易規(guī)格文件《 Physical Layer Simplified Specification V2.0》。
關(guān)于SD命令格式,固定為48bit,通過命令線(CMD)連續(xù)傳輸,其具體命令格式以及命令解釋如下:

起始位和終止位:命令的主體包含在起始位與終止位之間,它們都只包含一個(gè)數(shù)據(jù)位,起始位為0,終止位為1。
傳輸標(biāo)志:用于區(qū)分傳輸方向,該位為1時(shí)表示命令,方向?yàn)橹鳈C(jī)傳輸?shù)絊D卡,該位為0時(shí)表示響應(yīng),方向?yàn)镾D卡傳輸?shù)街鳈C(jī)。
命令主體內(nèi)容包括命令、地址信息/參數(shù)和 CRC 校驗(yàn)三個(gè)部分。
1)命令號(hào):它固定占用6bit,所以總共有64個(gè)命令(代號(hào): CMD0~CMD63),每個(gè)命令都有特定的用途,部分命令不適用于SPI總線,或不適用于SD卡操作,只是專門用于MMC卡或者SDI/O卡。
2)地址/參數(shù):每個(gè)命令有32bit地址信息/參數(shù)用于命令附加內(nèi)容,例如,廣播命令沒有地址信息,這32bit用于指定參數(shù),而尋址命令這32bit用于指定目標(biāo)SD卡的地址,使用SPI總線驅(qū)動(dòng)時(shí),通過片選引腳來選擇不同的卡,所以使用這些命令時(shí)地址可填充任意值。
3)CRC7校驗(yàn):長度為7bit的校驗(yàn)位用于驗(yàn)證命令傳輸內(nèi)容正確性,如果發(fā)生外部干擾導(dǎo)致傳輸數(shù)據(jù)個(gè)別位狀態(tài)改變將導(dǎo)致校準(zhǔn)失敗,也意味著命令傳輸失敗,SD卡不執(zhí)行命令。使用SPI驅(qū)動(dòng)時(shí),命令中的CRC7校驗(yàn)?zāi)J(rèn)是關(guān)閉的,即這CRC7校驗(yàn)位中可以寫入任意值而不影響通訊,僅在發(fā)送CMD0命令時(shí)需要強(qiáng)制帶標(biāo)準(zhǔn)的CRC7校驗(yàn)。
SPI模式下有以下幾個(gè)重要的操作指令:

SD卡R1響應(yīng)格式如下:

關(guān)于SD卡具體信息,可參考《 Physical Layer Simplified Specification V2.0》。
2、MRS中開發(fā)流程
1)首先新建一個(gè)CH32V103C8T6 的工程,這個(gè)要與對(duì)應(yīng)芯片對(duì)應(yīng)

上圖最下方紅框中是對(duì)選中芯片的資源的簡單介紹,方便查詢

2) 新建完工程之后,我們打開main.c文件,可以看到主函數(shù)只是一些初始化和串口打印,我們自己的主函數(shù)邏輯可以添加在打印下面就可以了;
3) 新建一個(gè)hardware的文件夾,右鍵工程new->folder,填寫文件名,點(diǎn)擊finish即可,我們可以以同樣的方式在hardware目錄下再新建SD目錄,SPI目錄,條理清晰。
4) 在SPI目錄下,New>Source File,填寫文件名spi.c,內(nèi)容是SPI初始化函數(shù)以及讀寫函數(shù),在新建個(gè)spi.h文件用來聲明函數(shù),這個(gè)新的頭文件需要添加到頭文件尋址路徑中,點(diǎn)擊菜單欄工程屬性頁按鈕,在彈出的頁面中,如下圖,點(diǎn)擊綠色加號(hào)添加路徑即可

部分代碼截圖如下,有詳細(xì)注釋,不再贅述


5) 在 SD目錄下新建sd.c ,sd.h,添加頭文件路徑方式與上條一致,sd.h文件主要包括各種宏定義及函數(shù)聲明,包括SD卡類型定義、SD卡指令定義等以及函數(shù)聲明;
sd.c文件主要進(jìn)行SD初始化等操作,關(guān)于SD卡初始化函數(shù)SD_Initialize,其具體操作流程如下:
(1)調(diào)用SD_SPI_Init函數(shù)初始化GPIO口及SPI工作模式,同時(shí)控制片選引腳使之輸出高電平;
(2)利用for循環(huán)并調(diào)用SD_SPI_ReadWriteByte函數(shù)進(jìn)行10讀寫操作,,同時(shí)產(chǎn)生80個(gè)時(shí)鐘信號(hào),滿足SD卡初始化至少需要74個(gè)時(shí)鐘的要求;
(3)調(diào)用SD_SendCmd函數(shù)發(fā)送CMD0命令,復(fù)位SD卡同時(shí)進(jìn)入空閑狀態(tài);
(4)調(diào)用SD_SendCmd函數(shù)發(fā)送相關(guān)命令對(duì)SD卡版本類型進(jìn)行判斷,同時(shí)返回響應(yīng)信息。
關(guān)于sd.c文件中其他函數(shù),程序中都有相應(yīng)注釋,可結(jié)合注釋以及《 Physical Layer Simplified Specification V2.0》手冊(cè)進(jìn)行理解。

部分代碼如下:




6) main.c文件主要進(jìn)行相關(guān)函數(shù)初始化以及SD卡插入檢測(cè)、初始化檢測(cè)以及讀取SD卡容量大小

7) 在工具欄中點(diǎn)擊編譯按鈕,進(jìn)行編譯,生成二進(jìn)制文件,開發(fā)環(huán)節(jié)結(jié)束
3、驗(yàn)證
點(diǎn)擊菜單欄下載按鈕,進(jìn)行下載,插入SD卡,從串口助手可以看到輸出正常





4.png (43.56 KB, 下載次數(shù): 159)

4.png

作者: xiaohuohaoxiao    時(shí)間: 2022-4-27 16:18
您好,請(qǐng)問有完整的源碼嗎




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美性猛交一区二区三区精品 | 四虎久久久 | 免费看黄色录像 | 黄色一级免费视频 | 免费色视频 | 激情五月综合网 | 久久精品一区二区国产 | 亚洲三区在线观看 | 亚洲经典一区 | av在线天堂网 | 国产一区二区三区在线 | yy6080午夜 | 成人扒开伸进免费观看 | 国产一区二区三区四区 | 一级黄色录像视频 | 欧美网站在线观看 | 欧美一区二区三区在线视频 | 日韩综合久久 | 欧美一区在线视频 | 成人国产精品免费观看 | 国产精品高潮呻吟久久 | 一区二区三区免费看 | 国产亚洲欧洲 | 日韩激情网站 | 国产精品久久久久久妇女6080 | 欧洲精品一区 | 欧美一级特黄视频 | 亚洲伊人影院 | 91精品国产麻豆国产自产在线 | 欧美一级免费 | 成人性色生活片 | 精品福利在线观看 | 亚洲一区视频在线 | 长河落日连续剧48集免费观看 | 九九精品在线观看 | 免费看的毛片 | 国产精品久久 | 一级毛片黄色 | 成年人小视频 | 免费国产视频 | 欧美视频亚洲视频 |