打印
[DemoCode下载]

NUC240 驅動SDCARD

[复制链接]
1488|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a_ziliu|  楼主 | 2015-1-30 22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用平台:nedu nuc240
sdcard有sdhc及spi 2種介面,本例子以 PD0, PD1, PD2 and PD3 for SPI2 連接sdcard.,並且作sdcard初始化及讀寫驅動
NUC230_240BSP_CMSIS_V3.00.001 - SDCARD DRIVER.zip (577.29 KB)
Sample code path:
\NUC230_240BSP_CMSIS_V3.00.001 - SDCARD DRIVER\SampleCode\NuEdu\Smpl_Basic01_SPI_SDCARD\KEIL

SD 卡的典型初始化過程如下:
1、初始化與SD 卡連接的硬體條件(MCU 的SPI 配置,IO 配置);
2、上電延遲(>74 個CLK);
3、回復卡原始狀態(CMD0);
4、 啟動卡,內部初始化並取得卡類型(CMD1(用於MMC 卡)、CMD55、CMD41);
5.、查詢OCR,取得供電狀況(CMD58);
6、是否使用CRC(CMD59);
7、設置讀寫區塊數據長度(CMD16);
8、讀取CSD,取得卡的其他資訊(CMD9);
9、發送8CLK 後,CS拉High;
這樣我們就完成了對 SD 卡的初始化,一般設置讀寫區塊資料長度為512 個Byte,並禁止使用CRC。在完成了初始化之後,就可以開始讀寫資料了。
SD 卡讀取資料,透過CMD17 來實現,流程如下:
1、發送CMD17;
2、接收卡回應R1;
3、接收資料起始旗標0XFE;
4、接收資料;
5、接收2 個位元組的CRC,如果沒有開啟CRC,這兩個位元組在讀取後可以丟掉。
6、8CLK 之後,CS拉High;
以上就是一個典型的讀取SD 卡資料過程。
SD 卡的寫於讀數據差不多,寫資料透過CMD24 來實現,具體流程如下:
1、發送CMD24;
2、接收卡回應R1;
3、發送寫資料起始旗標0XFE;
4、發送資料;
5、發送2 位元組的偽CRC;
6、8CLK 之後,CS拉High;
以上就是一個典型的寫 SD 卡過程。
沙发
598330983| | 2015-1-31 08:39 | 只看该作者
非常不粗哦啊,谢谢,真想研究这个,就送来了资料,及时雨

使用特权

评论回复
板凳
598330983| | 2015-2-27 16:58 | 只看该作者
通过SPI读写SSD卡,不错啊,如果能添加个FAT就行了,可以电脑上读。

使用特权

评论回复
地板
mintspring| | 2015-2-28 07:11 | 只看该作者
内存卡?不错,需要存储的设计优先选择

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

295

帖子

6

粉丝