搜索
bottom↓
回复: 97

【经验分享】SD卡实验

  [复制链接]

出0入0汤圆

发表于 2014-12-8 11:28:07 | 显示全部楼层 |阅读模式
SD卡实验

       许多单片机系统都需要大容量存储设备,以存储数据。目前常用的有U盘、FLASH芯片、SD卡等。它们各有优点,综合比较,最适合单片机系统的莫过于SD卡了,他不仅容量可以做到很大(32GB以上),而且支持SPI接口,方便移动,并且有几种尺寸可供选择(标准的SD卡尺寸以及FT卡尺寸等)能满足不同应用的要求。
       只需4个I/O口,即可外扩一个最大达32GB以上的外部存储器,容量从几十M到几十G,选择尺度很大,更换也很方便,编程也不复杂,是单片机大容量外部存储器的首选。
       飞思卡尔Kinetis  L系列单片机集成SPI模块,能方便的与外围 device建立通信,而本篇文档则将介绍如何实现KL26读取SD卡操作。

图1 SD卡引脚排序图


图2 SPI模式总线拓扑结构图


文档下载:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2014-12-8 11:29:27 | 显示全部楼层
欢迎大家指正和留贴交流。
谢谢。

出100入101汤圆

发表于 2014-12-8 11:32:37 | 显示全部楼层
SD卡写数据后是否需要读回验证?还是说SDK写操作,硬件提供是否成功的反馈?

出0入0汤圆

 楼主| 发表于 2014-12-8 11:36:16 | 显示全部楼层
fengyunyu 发表于 2014-12-8 11:32
SD卡写数据后是否需要读回验证?还是说SDK写操作,硬件提供是否成功的反馈? ...

都不是,鉴于以前有网友索要KL26+SD卡的例程,然后突发奇想做了一个。

出0入0汤圆

发表于 2014-12-8 11:42:38 | 显示全部楼层
刚有这个需求,感谢分享

出0入0汤圆

 楼主| 发表于 2014-12-8 11:43:28 | 显示全部楼层
slotg 发表于 2014-12-8 11:42
刚有这个需求,感谢分享

哦,是吗,希望对你有帮助!

出0入0汤圆

发表于 2014-12-8 11:50:26 | 显示全部楼层
做过类似的 支持SD卡文件系统么?以前用的是FlashFS和fatfs

出0入0汤圆

发表于 2014-12-8 11:53:01 来自手机 | 显示全部楼层
sdhc 搞不定…

出0入0汤圆

 楼主| 发表于 2014-12-8 11:55:29 | 显示全部楼层
子鱼 发表于 2014-12-8 11:50
做过类似的 支持SD卡文件系统么?以前用的是FlashFS和fatfs

SDHC和FAT系统的做过。好像SDK也有类似的例程提供,几个第三方的库也有类似的工程提供。

出0入0汤圆

 楼主| 发表于 2014-12-8 11:56:08 | 显示全部楼层

是觉得哪一方面比较难呢?

出0入0汤圆

发表于 2014-12-8 11:59:08 | 显示全部楼层
好东东,收藏了

出0入0汤圆

发表于 2014-12-8 12:04:40 | 显示全部楼层
谢谢版主分享~

出0入0汤圆

发表于 2014-12-8 12:06:01 | 显示全部楼层
犹豫的朋友们,这是中文的文档,放开下载吧!

出0入0汤圆

发表于 2014-12-8 12:15:36 | 显示全部楼层
这个好
不一定要CPU的SDHC或eSDHC
MCU SPI就好

出0入0汤圆

发表于 2014-12-8 12:27:03 | 显示全部楼层
sd卡,尤记得当初协议看了个半死啊

出0入0汤圆

发表于 2014-12-8 12:31:43 | 显示全部楼层
FSL_TICS_ZP 发表于 2014-12-8 11:55
SDHC和FAT系统的做过。好像SDK也有类似的例程提供,几个第三方的库也有类似的工程提供。 ...

sdhc spi 一直没初始化成功过

不知道为啥

出0入0汤圆

发表于 2014-12-8 12:47:24 | 显示全部楼层
正在学了SD卡,谢谢分享

出0入8汤圆

发表于 2014-12-8 12:50:03 | 显示全部楼层
SD协会,不知道要不要入会啊。真正的产品。

出0入0汤圆

发表于 2014-12-8 12:55:18 | 显示全部楼层
mark............

出0入0汤圆

发表于 2014-12-8 13:02:18 | 显示全部楼层
好奇的问一下
目前写的驱动能cover 64M到32G的SD卡吗? 以前做过1G, 2G的

出0入0汤圆

发表于 2014-12-8 13:04:19 | 显示全部楼层
本帖最后由 turf456 于 2014-12-8 13:06 编辑

应该多讲讲SDHC了。SD已经不多见了,初始化不同,寻址不同,差别到不是很大。

出0入0汤圆

 楼主| 发表于 2014-12-8 13:31:09 | 显示全部楼层
zajia 发表于 2014-12-8 13:02
好奇的问一下
目前写的驱动能cover 64M到32G的SD卡吗? 以前做过1G, 2G的

说实话,32G的我没有试过,8G的是可以的。

出0入0汤圆

 楼主| 发表于 2014-12-8 13:31:57 | 显示全部楼层
turf456 发表于 2014-12-8 13:04
应该多讲讲SDHC了。SD已经不多见了,初始化不同,寻址不同,差别到不是很大。 ...

SPI来了,SDHC还会远吗?

出0入0汤圆

发表于 2014-12-8 13:36:52 | 显示全部楼层
期待SDHC的

出0入0汤圆

发表于 2014-12-8 13:43:15 | 显示全部楼层
看了一下楼主写的文档 文件系统不是第三方的库 是自己写的

在硬件连接上并没有加入"硬件检测" 位

出0入0汤圆

发表于 2014-12-8 13:46:37 | 显示全部楼层
没接触过, 是不是要带上FS, 才能读文件
另外,读SD卡的音频文件, 再播放出来, KE系列够用吗?

出0入0汤圆

 楼主| 发表于 2014-12-8 14:08:55 | 显示全部楼层
swap2013 发表于 2014-12-8 13:46
没接触过, 是不是要带上FS, 才能读文件
另外,读SD卡的音频文件, 再播放出来, KE系列够用吗? ...

你说的应该是要加文件系统啊,该文档没有介绍那么深。
只要有SPI接口,且电压合适,都是可以的。

出0入0汤圆

发表于 2014-12-8 16:53:01 | 显示全部楼层
楼主辛苦啦 , 写的不错 。

出0入0汤圆

发表于 2014-12-8 16:57:26 | 显示全部楼层
感谢版主的分亨,虽然比较基础,但必须掌握;

出0入0汤圆

 楼主| 发表于 2014-12-8 16:58:00 | 显示全部楼层
kinsno 发表于 2014-12-8 16:57
感谢版主的分亨,虽然比较基础,但必须掌握;

谢谢支持,有问题再交流!

出0入13汤圆

发表于 2014-12-8 22:21:07 | 显示全部楼层
还没用过SD卡,有时间弄一下

出0入0汤圆

发表于 2014-12-11 10:24:16 | 显示全部楼层
这个没玩过!

出0入0汤圆

发表于 2014-12-11 11:36:51 | 显示全部楼层
MARK下,感谢版主的分享。TF是不是也是一样的呢

出0入0汤圆

发表于 2014-12-11 12:26:35 | 显示全部楼层
sd卡。也可以用来bootloader哈。

出0入0汤圆

发表于 2014-12-11 12:34:50 | 显示全部楼层
手里几个都是SDHC和SDXC的卡,SD卡,CF卡之类得到家里退役的相机里找找……

出10入0汤圆

发表于 2014-12-11 12:51:21 来自手机 | 显示全部楼层
mark!!!谢谢分享!

出0入0汤圆

发表于 2014-12-11 13:36:40 | 显示全部楼层
学习了!谢谢

出0入0汤圆

发表于 2014-12-12 09:02:53 | 显示全部楼层
谢谢分享,楼主的确很厉害啊!

出0入0汤圆

发表于 2014-12-12 09:15:00 | 显示全部楼层
SD卡实验 mark

出0入0汤圆

发表于 2014-12-12 09:15:42 | 显示全部楼层
zhangchaoying 发表于 2014-12-8 12:06
犹豫的朋友们,这是中文的文档,放开下载吧!

心里想的都被你说出来了!!!

出0入0汤圆

发表于 2014-12-12 09:31:38 | 显示全部楼层
SD卡现在用的比较多,思路不错

出0入0汤圆

 楼主| 发表于 2014-12-12 09:33:41 | 显示全部楼层
浪里白条 发表于 2014-12-11 11:36
MARK下,感谢版主的分享。TF是不是也是一样的呢

是的,一样有用!

出0入0汤圆

发表于 2014-12-12 09:50:46 | 显示全部楼层
SD卡移植文件系统管理数据方便多了,FLASH对单片机操作坏块管理不好作

出0入0汤圆

发表于 2014-12-12 15:40:35 | 显示全部楼层
只用过SPI的模式,还有个问题SD卡移植的FATS在MCU上可以正常建文件并读写,用U口的读卡器放到电脑上看不到文件?

出0入0汤圆

 楼主| 发表于 2014-12-12 15:43:50 | 显示全部楼层
jinyi7016 发表于 2014-12-12 15:40
只用过SPI的模式,还有个问题SD卡移植的FATS在MCU上可以正常建文件并读写,用U口的读卡器放到电脑上看不到 ...

那就说明FAT文件系统没有移植成功吧!

出100入101汤圆

发表于 2014-12-12 15:52:14 | 显示全部楼层
liangerfan 发表于 2014-12-12 09:50
SD卡移植文件系统管理数据方便多了,FLASH对单片机操作坏块管理不好作

赞同,使用大容量的SPI FLASH的话,最好上文件系统。

出0入0汤圆

发表于 2014-12-12 16:24:07 | 显示全部楼层
fengyunyu 发表于 2014-12-12 15:52
赞同,使用大容量的SPI FLASH的话,最好上文件系统。

上文件系统的话,就要上操作系统,哪就玩大了

出0入0汤圆

发表于 2014-12-12 16:29:34 | 显示全部楼层
holts2 发表于 2014-12-12 16:24
上文件系统的话,就要上操作系统,哪就玩大了

上文系统不需要一定上OS的。

出0入0汤圆

发表于 2014-12-12 16:31:24 | 显示全部楼层
kang1209 发表于 2014-12-12 16:29
上文系统不需要一定上OS的。

都已经上文件系统了,不上OS太浪费了

出0入0汤圆

发表于 2014-12-12 17:06:08 | 显示全部楼层
FSL_TICS_ZP 发表于 2014-12-12 15:43
那就说明FAT文件系统没有移植成功吧!

MCU上可以正常读写啊,返回值也是FR_OK,而且在电脑上也能看到SD卡占用了写入数据的空间,就是看不到文件。
同样的移植在一个TF卡上就可以。
我的SD卡是个128M的,这跟卡有没有关系呢?

出0入0汤圆

发表于 2014-12-12 17:14:26 | 显示全部楼层
很详细,做个记号

出0入0汤圆

 楼主| 发表于 2014-12-12 19:50:32 | 显示全部楼层
jinyi7016 发表于 2014-12-12 17:06
MCU上可以正常读写啊,返回值也是FR_OK,而且在电脑上也能看到SD卡占用了写入数据的空间,就是看不到文件 ...

就是说标准SD卡(也就是一般说的大卡),MCU读写都是正常的,但在PC上却找不到对应的文档,而TF卡就可以,对吧?
如果你的例程也是针对Kinetis MCU的话,你可以上传一下工程,我想复现一下你的问题。

出0入0汤圆

发表于 2014-12-12 19:59:29 | 显示全部楼层
上OS是不是更好用

出0入0汤圆

发表于 2014-12-12 20:05:32 | 显示全部楼层
amnumber 发表于 2014-12-12 19:59
上OS是不是更好用

如果有文件操作的话肯定需要一个OS了。

出0入17汤圆

发表于 2014-12-12 20:19:48 | 显示全部楼层
谢谢楼主分享···!

出0入0汤圆

发表于 2014-12-13 21:07:45 | 显示全部楼层

好东东,收藏了

出0入0汤圆

发表于 2014-12-13 23:17:40 | 显示全部楼层
不知道极限速度是多少

出0入0汤圆

发表于 2014-12-13 23:53:32 | 显示全部楼层
好东西,正需要,下载学习一下,谢谢分享!

出0入0汤圆

发表于 2014-12-14 09:27:36 | 显示全部楼层
瞧瞧,顶下楼主

出0入0汤圆

发表于 2014-12-14 09:44:22 | 显示全部楼层
不错,不知道速度怎么样

出0入0汤圆

 楼主| 发表于 2014-12-15 09:43:18 | 显示全部楼层
yzl0208994 发表于 2014-12-13 23:17
不知道极限速度是多少

这个还这没有专门的测试过,但满足一般要求肯定是没问题的!

出0入270汤圆

发表于 2014-12-15 11:24:18 | 显示全部楼层
支持~~~~~~~~~~~~~~~~~~

出0入0汤圆

发表于 2014-12-17 21:24:06 | 显示全部楼层
FSL_TICS_ZP 发表于 2014-12-12 19:50
就是说标准SD卡(也就是一般说的大卡),MCU读写都是正常的,但在PC上却找不到对应的文档,而TF卡就可以, ...

例程是2812的,用的SPI接口。

出0入0汤圆

发表于 2014-12-17 21:37:12 | 显示全部楼层
K60直接用SHDC  硬件几个上拉电阻就好了  但是貌似KL26比较烦啊 师弟他们搞了好久才搞定  刚开始还各种烧tf卡

出0入0汤圆

发表于 2014-12-17 21:50:21 | 显示全部楼层
木有SDIO吗。

出0入0汤圆

发表于 2014-12-17 21:51:03 | 显示全部楼层
luckner 发表于 2014-12-17 21:37
K60直接用SHDC  硬件几个上拉电阻就好了  但是貌似KL26比较烦啊 师弟他们搞了好久才搞定  刚开始还各种烧tf ...

这个KL26搞烧了是怎么搞烧的??说说行吗?

出0入0汤圆

发表于 2014-12-17 22:08:07 | 显示全部楼层
感谢分享,期待SHDC

出0入0汤圆

发表于 2014-12-17 22:33:55 | 显示全部楼层
谢谢楼主分享,学习了

出0入0汤圆

发表于 2014-12-17 22:35:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2014-12-17 22:54:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2014-12-18 00:27:00 | 显示全部楼层
谢谢楼主!!!

出0入0汤圆

发表于 2014-12-18 00:52:56 来自手机 | 显示全部楼层
好   非常不锗

出0入0汤圆

发表于 2014-12-18 08:40:20 | 显示全部楼层
sdlibin007 发表于 2014-12-17 21:51
这个KL26搞烧了是怎么搞烧的??说说行吗?

烧TF卡  不是烧KL26

出0入0汤圆

 楼主| 发表于 2014-12-18 08:59:11 | 显示全部楼层
luckner 发表于 2014-12-17 21:37
K60直接用SHDC  硬件几个上拉电阻就好了  但是貌似KL26比较烦啊 师弟他们搞了好久才搞定  刚开始还各种烧tf ...

你还是说直接将TF卡烧掉啊吗?

出0入0汤圆

发表于 2014-12-18 09:00:48 | 显示全部楼层
很不错的分享,不过不晓得兼容性怎么样!

出0入4汤圆

发表于 2014-12-18 09:17:23 | 显示全部楼层
正好可以学习SD卡和fatfs,去找下LZ说的SDK里面的类程。

出0入0汤圆

发表于 2014-12-18 09:18:53 | 显示全部楼层
FSL_TICS_ZP 发表于 2014-12-18 08:59
你还是说直接将TF卡烧掉啊吗?

对的  后来才查清楚 他懒得用上拉  用上数据缓冲器还没加限流

出0入0汤圆

 楼主| 发表于 2014-12-18 09:33:47 | 显示全部楼层
luckner 发表于 2014-12-18 09:18
对的  后来才查清楚 他懒得用上拉  用上数据缓冲器还没加限流

这个问题头一次听说,记下啊!

出0入0汤圆

发表于 2014-12-18 16:13:16 | 显示全部楼层
嘿嘿,SD卡装需要升级的程序。随时插拔

出0入0汤圆

发表于 2015-1-3 17:33:29 | 显示全部楼层
SD卡 、 TF卡的热插拔从硬件电路与软件上要怎么实现?

出0入0汤圆

发表于 2015-1-3 18:41:15 | 显示全部楼层
真不错,竟然是中文的,有需要的朋友赶紧下吧。
建议楼主在楼主位明确说明是中文的文档。
相信很多坛友和我一样,看到英文文件名的文件,都懒得下载了。

出0入0汤圆

发表于 2015-1-3 20:14:04 | 显示全部楼层
好下了学习下

出0入0汤圆

发表于 2015-1-3 22:39:18 | 显示全部楼层
amnumber 发表于 2014-12-12 19:59
上OS是不是更好用

也只能上小型os

出0入0汤圆

发表于 2015-1-3 22:51:05 | 显示全部楼层
谢谢版主分享~

出0入0汤圆

发表于 2015-1-4 12:30:28 | 显示全部楼层
哦,用的是SPI还是SDIO方式,哪个型号有SDIO接口

出0入0汤圆

发表于 2015-1-4 13:39:13 | 显示全部楼层
tangbo_designer 发表于 2015-1-4 12:30
哦,用的是SPI还是SDIO方式,哪个型号有SDIO接口

例程用的是SPI方式

出0入0汤圆

发表于 2015-1-4 13:39:57 | 显示全部楼层
xjmlfm1 发表于 2015-1-3 18:41
真不错,竟然是中文的,有需要的朋友赶紧下吧。
建议楼主在楼主位明确说明是中文的文档。
相信很多坛友和我 ...

确实啊  ,飞思卡尔的中文资料比较少 。难得有中文的资料。

出0入0汤圆

发表于 2015-1-4 15:25:29 | 显示全部楼层
不错,帮顶

出0入0汤圆

发表于 2015-1-5 12:56:25 | 显示全部楼层
最近打算学习下SD                        

出0入25汤圆

发表于 2015-1-5 13:37:58 | 显示全部楼层
支持一个中文文档。

出0入0汤圆

发表于 2015-2-9 10:57:39 | 显示全部楼层
源码可以不可以贴上来呢 现在在做一个项目,把片内flash做U盘存储数据

出0入0汤圆

发表于 2015-2-9 10:59:40 | 显示全部楼层
#在这里快速回复#我想在kl26的片内flash创建txt文件,我添加fatfs文件系统,按照流程,f_init,f_mount,f_open,执行到f_open后,提示没有文件系统,通过单步调试,是因为文件系统在判断引导扇区的值。引导扇区的值是由单片机写入的吗

出0入0汤圆

发表于 2015-2-17 22:55:19 | 显示全部楼层
SD卡直接接到KL26上的吗?是不是还需要一些外围器件啊?

出0入0汤圆

发表于 2015-2-19 12:31:14 | 显示全部楼层
jinyi7016 发表于 2014-12-17 21:24
例程是2812的,用的SPI接口。

解决了,把SD卡彻底清除一下就可以了

出0入0汤圆

发表于 2015-2-19 12:32:07 | 显示全部楼层
eva 发表于 2015-2-17 22:55
SD卡直接接到KL26上的吗?是不是还需要一些外围器件啊?

有SPI就可以 ,

出0入0汤圆

发表于 2015-2-19 18:23:15 | 显示全部楼层

那就是需要按照SD卡的协议将数据写进去或者读取出来是吗?

出0入0汤圆

发表于 2015-2-19 18:46:31 | 显示全部楼层
eva 发表于 2015-2-19 18:23
那就是需要按照SD卡的协议将数据写进去或者读取出来是吗?

初始化成功了,就用fatfs吧,很好用

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-26 08:32

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

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