搜索
bottom↓
回复: 615

SD卡学习的全过程

  [复制链接]

出0入0汤圆

发表于 2010-2-10 16:14:05 | 显示全部楼层 |阅读模式
SD卡学习的全过程                   希望如果大家没什么事也一起学一下,娱乐一下也好
实时更新

楼主  工作进度
___________________________________________________________________________________________
2.11号晚0:20   先睡了  明早更新   大家顶起
2.12号晨10:00  开始做模拟SPI       现在贴SPI代码  在2楼
2.12号中午11.45 SPI完成             代码在2楼
                                    图在3楼
2.12号下午16.00 遇到问题 自己以解决,SPI其实和串口一样,一个发一个接。不能搞错,不然收不到东西
——————————————————————————————————————————————
      本人作为一个即将走上工作岗位的学生(3月1号到深圳科技园的公司报到)
      想告诉大家(学生朋友)工作以后,带你的师傅也不可能告诉你太多的东西。
      一定要靠自己去学。
      自己去钻。(个人的体会)

——————————————————————————————————————————————
      为了方便大家学习,特别是学生朋友。


1楼   资料工具

2楼   文本解释(以及代码)

3楼   图片解释

4楼   (空)广告招租   加QQ  285524959

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-2-10 16:15:35 | 显示全部楼层
学习的资料,学习工具汇总

protues右键datasheep下载的官方手册
点击此处下载 sandisk.pdf(文件大小:1.70M) (原文件名:sandisk.pdf)

winhex  生成*.mmc的工具ourdev_533451.rar(文件大小:1.45M) (原文件名:winhex_ch.rar)
仿真的模型    点击此处下载 仿真的模型.rar(文件大小:35K) (原文件名:sd卡.rar)
希望大家看看这个帖子,一定会给大家很多帮助的(来自  ——jjldc(九九)的电子博客)
http://blog.ednchina.com/jjldc/190030/message.aspx
点击此处下载 技术文档和程序.zip(文件大小:2.79M) (原文件名:技术文档和程序.zip)
发布三款SD卡座封装图纸:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3870753&bbs_page_no=1&bbs_id=9999
CF卡的操作
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=402883&bbs_page_no=1&sub_kind_id=2065&bbs_id=1000
文件系统
http://elm-chan.org/fsw/ff/00index_e.html
How to Use MMC/SDC
http://elm-chan.org/docs/mmc/mmc_e.html

SPI协议
点击此处下载 ourdev_533491.pdf(文件大小:167K) (原文件名:spi.pdf)
中文版SPI
http://www.weeqoo.com/zhuanti/SPI-Agreement/
用计算机并口模拟SPI通讯的C源程序
http://www.avrw.com/article/art_107_4016.htm

出0入0汤圆

 楼主| 发表于 2010-2-10 16:36:43 | 显示全部楼层
为了不看起来太乱,我把所有图片都放在3楼,免得把大家眼都看花了。这一楼放纯文本
2010年2月10号

打算用Protues仿真SD卡,但是Proutes上没有SD卡的模型现在就只好用MMC卡的模型了。

不知道大家是否需要这个模型。需要我就上传。大家给顶一下。

第一个问题


我来说一下,MMC卡需要*.MMC的镜像文件。添加了就好了
就是下面这样
用第一楼的工具后就可以生成MMC的文件。
Protues就可以仿真了。  这只是第一步
生成MMC直接另存为就可以了。之所以说这么细,是因为有人在网上问过这个问题,却没人回答。
模拟SPI代码
#include <mega16.h>
#define sd_spi_cs        3
#define sd_spi_di        2
#define sd_spi_do        1
#define sd_spi_clk       0
#define sd_spi_port_dir  DDRA
#define sd_spi_port_dat  PORTA     
////////////////////////////////////////////////////////
#define sd_spi_cs_H        PORTA=PORTA|(1<<sd_spi_cs)
#define sd_spi_di_H        PORTA=PORTA|(1<<sd_spi_di)
#define sd_spi_do_H        PORTA=PORTA|(1<<sd_spi_do)
#define sd_spi_clk_H       PORTA=PORTA|(1<<sd_spi_clk)
/////////////////////////////////////////////////////////
#define sd_spi_cs_L        PORTA=PORTA&(~(1<<sd_spi_cs))
#define sd_spi_di_L        PORTA=PORTA&(~(1<<sd_spi_di))
#define sd_spi_do_L        PORTA=PORTA&(~(1<<sd_spi_do))
#define sd_spi_clk_L       PORTA=PORTA&(~(1<<sd_spi_clk))
//////////////////////////////////////////////////////////
void  spiInit (void)
{
DDRA=DDRA|(1<<sd_spi_cs)|(1<<sd_spi_di)|\
                         (1<<sd_spi_do)|\
                         (1<<sd_spi_clk);
sd_spi_cs_L;   
sd_spi_clk_H;                     
}


void spi_Send_Byte(unsigned char u_Byte)
{
sd_spi_clk_L;if(u_Byte&)
sd_spi_clk_L; if(u_Byte&0x80) sd_spi_do_H; else sd_spi_do_L; sd_spi_clk_L;
sd_spi_clk_L; if(u_Byte&0x40) sd_spi_do_H; else sd_spi_do_L; sd_spi_clk_L;
sd_spi_clk_L; if(u_Byte&0x20) sd_spi_do_H; else sd_spi_do_L; sd_spi_clk_L;
sd_spi_clk_L; if(u_Byte&0x10) sd_spi_do_H; else sd_spi_do_L; sd_spi_clk_L;
sd_spi_clk_L; if(u_Byte&0x08) sd_spi_do_H; else sd_spi_do_L; sd_spi_clk_L;
sd_spi_clk_L; if(u_Byte&0x04) sd_spi_do_H; else sd_spi_do_L; sd_spi_clk_L;
sd_spi_clk_L; if(u_Byte&0x02) sd_spi_do_H; else sd_spi_do_L; sd_spi_clk_L;
sd_spi_clk_L; if(u_Byte&0x01) sd_spi_do_H; else sd_spi_do_L; sd_spi_clk_L;
}

出0入0汤圆

 楼主| 发表于 2010-2-10 16:37:00 | 显示全部楼层
2010年2月10号

打算用Protues仿真SD卡,但是Proutes上没有SD卡的模型现在就只好用MMC卡的模型了。

(原文件名:QQ截图未命名.png)

不知道大家是否需要这个模型。需要我就上传。大家给顶一下。

第一个问题

(原文件名:QQ截图未命名.png)

我来说一下,MMC卡需要*.MMC的镜像文件。添加了就好了

(原文件名:QQ截图未命名.png)
就是下面这样

(原文件名:QQ截图未命名.png)
用第一楼的工具后就可以生成MMC的文件。
Protues就可以仿真了。  这只是第一步

(原文件名:QQ截图未命名.png)
生成MMC直接另存为就可以了。之所以说这么细,是因为有人在网上问过这个问题,却没人回答。
Contact Surface

(原文件名:QQ截图未命名.png)


(原文件名:QQ截图未命名.png)
按照这样说protues 上的MMC卡应该是第二种。因为它有CS.
你们觉的呢??

(原文件名:QQ截图未命名.png)

分析一下还是SPI模式。

(原文件名:QQ截图未命名.png)


(原文件名:QQ截图未命名.png)
对比可以看出,很简单呀!!!!!!!!!!!!!!!!!!!!!!!!!
SPI要好好掌握!
很多卡都兼容这种接口!


(原文件名:QQ截图未命名.png)


(原文件名:QQ截图未命名.png)

(原文件名:QQ截图未命名.png)

(原文件名:QQ截图未命名.png)
这个argument(参数)是什么意思呀??

(原文件名:QQ截图未命名.png)


(原文件名:QQ截图未命名.png)

(原文件名:QQ截图未命名.png)
没有什么难度就像24C02一样简单

(原文件名:QQ截图未命名.png)

SPI协议
读取在上升沿
上升沿发送、下降沿接收、高位先发送
模拟SPI上图

(原文件名:QQ截图未命名.png)

(原文件名:QQ截图未命名.png)

从主机的高位到从机的低位。

(原文件名:QQ截图未命名.png)

出0入0汤圆

 楼主| 发表于 2010-2-10 16:40:11 | 显示全部楼层
我只占四楼

出0入0汤圆

发表于 2010-2-10 18:44:27 | 显示全部楼层
有意思 上次也想这么弄,就是mmc文件不知道怎么生成,lz可否详细讲下。
mark

出0入0汤圆

发表于 2010-2-10 19:04:01 | 显示全部楼层
帮顶一把,哈哈....

出0入0汤圆

发表于 2010-2-10 19:10:39 | 显示全部楼层
顶上

出0入0汤圆

发表于 2010-2-10 19:26:27 | 显示全部楼层
顶一把

出0入0汤圆

 楼主| 发表于 2010-2-10 19:58:53 | 显示全部楼层
回复【5楼】KuJJ 水箱
-----------------------------------------------------------------------

你想问什么?请说

我会把每一步都写的很清楚的

出0入0汤圆

发表于 2010-2-10 20:07:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-10 20:15:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-10 21:06:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-10 21:06:46 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-2-10 21:33:04 | 显示全部楼层
回复【5楼】KuJJ 水箱
-----------------------------------------------------------------------

用我上传的软件,另存为就可以了。
你再试试。
不行我传个给你。
你留MAIL

出0入0汤圆

 楼主| 发表于 2010-2-10 21:53:52 | 显示全部楼层
谁知道  micro SD  和   SD 的区别???

出0入0汤圆

发表于 2010-2-10 22:19:49 | 显示全部楼层
这个安逸,我就怕把我的卡写坏了^_^

出0入0汤圆

 楼主| 发表于 2010-2-10 22:23:43 | 显示全部楼层
回复【16楼】fengxin32
-----------------------------------------------------------------------

坏了再买
要不了几个钱
大不了
我们集体买32M的  买它1K

出0入0汤圆

发表于 2010-2-10 22:46:19 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-2-10 23:29:02 | 显示全部楼层
spi

出0入0汤圆

发表于 2010-2-10 23:53:46 | 显示全部楼层
不错

出0入0汤圆

发表于 2010-2-11 00:23:58 | 显示全部楼层
很详细,

出0入0汤圆

发表于 2010-2-11 10:31:37 | 显示全部楼层
好OK

出0入0汤圆

发表于 2010-2-14 13:37:37 | 显示全部楼层
好东西,准备学呢

出0入0汤圆

发表于 2010-2-14 16:08:35 | 显示全部楼层
绝对支持!!!!!!!

出0入0汤圆

发表于 2010-2-16 20:36:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-16 22:00:08 | 显示全部楼层
hi, 哥们儿,
说实在的, 俺仔仔细细的看了您的帖子,
俺真的不知道 mmc 文件如何生成。

是不是手头非要有个 mmc 卡?

我自己是这样做的,
1. 将mmc卡放入读卡器
2. 将读卡器插到电脑上。
3. 打开winhex, 用winhex 打开插入的移动硬盘(也就是mmc卡)
4. 选择winhex 的“文件”-> “另存为” 菜单项, 保存文件。

我想问下,有没有手边没有 mmc 卡和读卡器就可以生成映像的方法?
而且, 我手边的mmc卡位512m的, 读出的文件映像太大。

麻烦告知。

多谢!

出0入0汤圆

发表于 2010-2-17 16:53:17 | 显示全部楼层
这也能做模拟哈~~不错,顶楼主

出0入0汤圆

发表于 2010-2-17 17:53:24 | 显示全部楼层
好东西  学习

出0入0汤圆

发表于 2010-2-17 18:16:20 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-2-20 22:36:48 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-21 08:34:31 | 显示全部楼层
随便顶

出0入0汤圆

发表于 2010-2-21 08:42:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-21 08:46:36 | 显示全部楼层
顶然后Mark

出0入0汤圆

发表于 2010-2-21 09:25:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-6 22:11:46 | 显示全部楼层
http://elm-chan.org/fsw/ff/00index_e.html 能访问吗?老是转到yahoo网站去!

出0入0汤圆

发表于 2010-3-7 00:07:49 | 显示全部楼层
记号了。谢谢

出0入0汤圆

发表于 2010-3-7 23:58:12 | 显示全部楼层
记号,好东西

出0入0汤圆

发表于 2010-3-8 09:31:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-8 14:01:57 | 显示全部楼层
不错,有时间玩一下.

出0入0汤圆

发表于 2010-3-8 14:25:12 | 显示全部楼层
mark~~~

出0入0汤圆

发表于 2010-3-10 22:55:03 | 显示全部楼层
记下了!!!

出0入0汤圆

发表于 2010-3-11 09:17:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-12 16:09:18 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-3-12 23:00:10 | 显示全部楼层
有没有SD card 4-bit操作模式的资料.
好像SPI慢了一点.

出0入59汤圆

发表于 2010-3-12 23:32:36 | 显示全部楼层
记号~

出0入0汤圆

发表于 2010-3-13 01:13:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-13 07:53:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-31 13:32:36 | 显示全部楼层
一起学习,,,mark

出0入0汤圆

发表于 2010-4-5 09:40:10 | 显示全部楼层
不错,应给申酷了!

出0入0汤圆

发表于 2010-4-5 09:58:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-5 10:28:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-5 13:10:42 | 显示全部楼层
来学习

出0入0汤圆

发表于 2010-4-5 16:04:40 | 显示全部楼层
学习学习!!

出0入0汤圆

发表于 2010-4-5 21:46:04 | 显示全部楼层
学习下,目前正用到这个东西

出0入0汤圆

发表于 2010-4-5 22:32:12 | 显示全部楼层
做个记号!哈哈。

出0入0汤圆

发表于 2010-4-11 11:06:58 | 显示全部楼层
学习 学习 一定要动手学习了

出0入0汤圆

发表于 2010-4-11 11:34:46 | 显示全部楼层
支持下

出0入0汤圆

发表于 2010-4-11 11:34:51 | 显示全部楼层
好贴子。顶一顶。

出0入0汤圆

发表于 2010-4-11 11:47:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-11 12:17:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-13 01:21:54 | 显示全部楼层
数据不对啊,我用的LZ的51的那个工程,把数据从串口发出来,不对啊

出0入0汤圆

发表于 2010-4-13 08:09:04 | 显示全部楼层
頂!!!!!

出0入0汤圆

发表于 2010-4-13 09:13:40 | 显示全部楼层
回复【3楼】chen285524959 陈嵌
-----------------------------------------------------------------------

ddddddddddd

出0入0汤圆

发表于 2010-4-13 18:57:51 | 显示全部楼层
mark!

出0入0汤圆

 楼主| 发表于 2010-4-16 23:34:53 | 显示全部楼层

读写时序问题 (原文件名:sd3.jpg)

我是楼主
以前是用AVR的硬件SPI
现在用STM8了
发现了一些问题
现在用IO口模拟SPI操作
希望对大家有用
如果大家对SD卡的初始化还有问题,发邮件给我,或者直接电话给我,加我QQ我的电话在QQ上,希望可以帮到大家.

pdf文档ourdev_546956.pdf(文件大小:209K) (原文件名:sd3.pdf)

出0入0汤圆

发表于 2010-4-16 23:45:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-17 09:25:26 | 显示全部楼层
mark

出10入10汤圆

发表于 2010-4-17 12:10:24 | 显示全部楼层
很好很强大.谢谢共享!

出0入0汤圆

发表于 2010-4-17 20:04:50 | 显示全部楼层
感谢楼主,还是仿真比较好,手里没有小容量的卡,都是2G以上的,怕乱写写坏

出0入0汤圆

发表于 2010-4-19 00:13:45 | 显示全部楼层
很强大.谢谢共享!

出0入0汤圆

发表于 2010-4-19 00:49:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-19 00:51:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-19 00:53:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-19 00:56:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-19 08:24:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-19 08:37:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-19 08:38:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-19 09:01:32 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-4-19 09:24:01 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-4-28 00:06:45 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-4-29 15:37:59 | 显示全部楼层
mark,LZ真好人!!

出0入0汤圆

发表于 2010-5-13 11:59:53 | 显示全部楼层
那个生成镜像MMC用WINHEX怎么用啊
详解啊

出0入0汤圆

发表于 2010-5-13 12:25:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-13 15:27:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-13 16:38:40 | 显示全部楼层
LZ, 3楼的PPT做得不错,可否分享一下?

出0入0汤圆

发表于 2010-5-13 16:45:51 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-5-13 18:05:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-16 11:33:32 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-5-20 22:13:27 | 显示全部楼层
mark~~~~~~~~~~~~

出0入0汤圆

发表于 2010-5-21 01:12:25 | 显示全部楼层
马克一下

出0入0汤圆

发表于 2010-5-21 08:19:32 | 显示全部楼层
楼主讲的蛮详细的
学习了!

出0入0汤圆

发表于 2010-5-21 08:36:47 | 显示全部楼层
关注

出0入0汤圆

发表于 2010-5-21 08:54:51 | 显示全部楼层

出0入264汤圆

发表于 2010-5-21 09:37:31 | 显示全部楼层
学习。

出0入0汤圆

发表于 2010-5-21 10:15:52 | 显示全部楼层
学习了,正在看SD模式的

出0入0汤圆

发表于 2010-5-27 16:52:34 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-5-28 09:26:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-28 09:43:30 | 显示全部楼层
回复【3楼】chen285524959 陈嵌
-----------------------------------------------------------------------

dddddddd

出0入0汤圆

发表于 2010-5-28 09:51:01 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-3 15:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表