搜索
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

出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-4-19 17:18

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

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