日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32下SD卡驱动详解

發布時間:2025/4/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32下SD卡驱动详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://hy907539007.blog.163.com/blog/static/1888458622012932656384/

自己在這幾個月中為了畢業設計放下了對S3C2440的學習,從而著手在STM32上的模塊開發。我用STM32做的是一個有界面的MP3所以不得不用到SD卡,(當然nandflash也可以不過pcb難畫不說,最主要容易壞掉)。SD卡方便快捷。

說道SD卡就會想到他的具體驅動,網上也有很多例子,但是都沒這么詳細說一個過程對于新手很難吃懂,當然這篇對于做過的同學來說沒有什么作用,現在來具體分析一下吧。

?

我們所說的SD卡只是閃存的一種其全稱是Secure Digital,意為“安全數碼”,是由日本兩大電器集團松下電器和東芝聯手SanDisk共同推出的,于1999年8月首次發布。常見的閃存有:SD卡、CF卡、XD卡、MMC卡、SM卡、Mini SD卡、T-Flash卡。而SD卡又分類為:

SD、MiniSD、MicroSD、SDHC、MiniSD、MicroSD、SDXC、smart SD、SDI/O。它們在外形、速度、容量和命令都有區別。說道這就得說說最近的反日了,其實我們真沒必要給國家添麻煩了,我們身邊很多東西都是別人的,只是都不知道。所以壯大自己的知識為國家多做點事才是真正的愛國。

SD卡支持兩種總線方式:SD方式與SPI方式。其中SD方式采用6線制,使用CLK、CMD、DAT0~DAT3進行數據通信。而SPI方式采用4線制,使用CS、CLK、DataIn、DataOut進行數據通信。SD方式時的數據傳輸速度與SPI方式要快,采用單片機對SD卡進行讀寫時一般都采用SPI模式。采用不同的初始化方式可以使SD卡工作于SD方式或SPI方式。

這就說明SD卡里面是有一個控制器的,有相應寄存器,我們用SD卡其實是對相應的寄存器的設置,設置好后就可以用命令來對它進行操作了,(所以說SD卡用起來簡單,因為很多事SD卡廠商已經做了)。

?一,SPI方式驅動SD卡的方法????

SD卡的SPI通信接口使其可以通過SPI通道進行數據讀寫。從應用的角度來看,采用SPI接口的好處在于,很多單片機內部自帶SPI控制器,不光給開發上帶來方便,同時也見降低了開發成本。然而,它也有不好的地方,失去了SD卡的快速的性能優勢。(SPI模式下用USB下載測試只有100K~300K的速度,而用SD模式就可以高達3M~10M),這就是SPI嚴重的缺點,但是對于我們學生用SPI是最簡單,SD模式有很復雜的模式轉換,轉來轉去的有一定的難度,不過也可以做SD模式,很多控制器都有SDIO了。

二,SD卡的命令

SD卡最重要的就是初始化,初始化重要的是命令的使用。SD卡初始化成功后幾乎都能用了,所以我們要重點看一下初始化,不同的卡又不同的初始化過程(初始化時要注意SPI的速度不要高于400K)

SD卡的典型初始化過程如下:

1、初始化與SD卡連接的硬件條件(MCU的 SPI配置,IO口配置);

2、上電延時(>74 個 CLK)(必須的);

3、復位卡(CMD0);

4、激活卡,內部初始化并獲取卡類型(CMD1(用于 MMC卡)、CMD55、CMD41)(不同的地方就在這里)

5.、查詢 OCR,獲取供電狀況(CMD58)(就是電壓,一般不判斷不然很多卡不能用);

6、是否使用CRC(CMD59)(CRC校驗);

7、設置讀寫塊數據長度(CMD16);

8、讀取 CSD,獲取存儲卡的其他信息(CMD9);

9、發送 8CLK 后,禁止片選;

下面用圖表示一下:(網上都有)

?

?

?

SD卡的每一個BLOCK的大小就是在這決定的一般為512.

?

?可以看出操作SD卡都是命令,只要把這些命令作用搞清楚就可以自己驅動SD卡了,我把命令都貼出來:

SPI方式下的要SD模式下的話STM官方有很詳細的庫文件;

Class0 :(卡的識別、初始化等基本命令集)

CMD0:復位SD 卡.

CMD1:讀OCR寄存器.

CMD9:讀CSD寄存器.

CMD10:讀CID寄存器.

CMD12:停止讀多塊時的數據傳輸

CMD13:讀 Card_Status 寄存器

Class2 (讀卡命令集):

CMD16:設置塊的長度

CMD17:讀單塊.

CMD18:讀多塊,直至主機發送CMD12為止 .

Class4(寫卡命令集) :

CMD24:寫單塊.

CMD25:寫多塊.

CMD27:寫CSD寄存器 .

Class5 (擦除卡命令集):

CMD32:設置擦除塊的起始地址.

CMD33:設置擦除塊的終止地址.

CMD38: 擦除所選擇的塊.

Class6(寫保護命令集):

CMD28:設置寫保護塊的地址.

CMD29:擦除寫保護塊的地址.

CMD30: Ask the card for the status of the write protection bits

class7:卡的鎖定,解鎖功能命令集

class8:申請特定命令集。

class10 -11 :保留

其中 class1,??? class3,class9:SPI模式不支持

命令知道了我們來看一下命令的格式:

SD卡的指令由6字節(Byte)組成,如下:

Byte1:0 1 x x x x x x(命令號,由指令標志定義,如CMD39為100111即16進制0x27,那么完整的CMD39第一字節為01100111,即0x27+0x40)
Byte2-5:Command Arguments,命令參數,有些命令沒有參數
Byte6:前7位為CRC(Cyclic Redundacy Check,循環冗余校驗)校驗位,最后一位為停止位1

byte1??????????????????? byte2-5?????????????????? byte6

01命令號??????????????參數????????????????????? CRC校驗+1

參數是命令需要的沒有參數的用0,比如CMD16在這寫的就是512。?


總結

以上是生活随笔為你收集整理的STM32下SD卡驱动详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天超碰 | 欧美国产精品 | 怡红院亚洲 | www.x日本| 狠狠干美女 | 特级a级片 | 深夜免费在线视频 | 成人免费观看网站 | 欧美成人高清在线 | 日韩最新在线 | 五月天丁香视频 | 亚洲精品大全 | 亚洲AV无码一区二区伊人久久 | 亚洲人成在线观看 | 献给魔王伊伏洛基亚吧动漫在线观看 | 日产毛片 | 久久久久久久久久久久97 | 人妻精品一区一区三区蜜桃91 | 在线免费不卡视频 | 玖玖成人 | 日本成人动漫在线观看 | 懂色一区二区三区 | 亚洲aⅴ乱码精品成人区 | 视色影视| 久久久精品久久久 | 美女张开腿让人桶 | 亚洲精品av中文字幕在线在线 | 一本到视频 | 亚洲精品aaa | 日剧大尺度床戏做爰 | 亚洲一区二区三区影院 | 美丽的姑娘在线观看 | 日韩欧美视频免费观看 | 日本三级中文 | 91精品国产综合久久精品图片 | 国产黑丝在线 | 污视频网站免费观看 | 999国产精品视频免费 | 亚洲欧美一区二区在线观看 | 波多野结衣一区在线 | 波多野结衣人妻 | 日人视频| 69激情网| 极品久久久久 | 国产精品igao | 动漫裸体无遮挡 | 777精品伊人久久久久大香线蕉 | 国产午夜精品一区 | 日本少妇裸体做爰 | 色哟哟网站在线观看 | 懂色av | 小镇姑娘国语版在线观看免费 | 九色porn蝌蚪 | 91av在| 95视频在线| 毛片在线看网站 | 国产熟妇一区二区三区四区 | 在线看你懂 | 伊伊成人 | 91成人在线观看国产 | 免费精品无码AV片在线观看黄 | 亚洲免费黄色片 | 人人射人人插 | 日韩一区二区三区在线观看视频 | 另类综合网 | 天堂伊人| а 天堂 在线 | 波多野结衣一区二区在线 | 91视频在线观看 | 亚洲国产视频在线观看 | 国产精品大片 | 久久久久亚洲精品国产 | 精品视频站长推荐 | 国产香蕉一区二区三区 | 精品亚洲精品 | 欧美一区二区国产 | 不卡中文av| 污片在线免费观看 | 尤物影院在线观看 | 欧美性猛交xxx乱大交3 | 熟女人妻在线视频 | 里番acg★同人里番本子大全 | 国产亚洲精品久久久久久久久动漫 | 亚洲成人生活片 | 樱花草涩涩www在线播放 | 欧美男女交配视频 | 黄色三级在线 | 国产精品久久久久久久久久久不卡 | 日韩在线播放中文字幕 | 野战少妇38p| 在线观看亚洲欧美 | 嫩草午夜少妇在线影视 | 日韩成人高清视频 | 男女在线观看视频 | 久草免费福利视频 | 黄色片网站国产 | 日本欧美久久久久免费播放网 | 成人免费在线网址 | 久久国产精品波多野结衣av |