搜索
bottom↓
回复: 17

今天又有新作:基于CF卡的FAT文件系统初步研究成功。看看对MP3制作活动有没有帮助

[复制链接]

出0入0汤圆

发表于 2005-2-7 21:10:23 | 显示全部楼层 |阅读模式
点击此处下载armok0137482.rar



暂时只有访问目录、文件的功能,还没做写文件的功能。我是在ATmega8515上实现的,同时支持FAT12、FAT16、FAT32(FAT32暂不支持长文件名,但可通过短文件名访问)。我感觉最麻烦的是处理FAT12,因为每个簇项都用1.5个字节来表示,取值时有些麻烦,而且在FAT每个扇区的边缘还要特殊处理。



由于8515的资源非常有限,RAM只有可怜的512字节,为了节省RAM,我的处理过程写的比较臃肿,效率也不高。如果在M128上实现的话,应该可以作些改动,提高效率。





我的M8515程序区只剩下可怜的几十字节了(因为用了printf、puts这些非常吃资源的函数):





在一块16MB的CF卡(FAT12)上访问一首MP3的第一个扇区:





在128MB的CF卡(FAT32)上读取一个TXT文件:

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
头像被屏蔽

出0入0汤圆

发表于 2005-2-7 21:12:40 | 显示全部楼层
谢谢分享!



哇,你竟然使用 printf ?很耗FLASH空间的啊。

出0入0汤圆

 楼主| 发表于 2005-2-7 21:15:15 | 显示全部楼层
没办法啦~~~~用printf做串口调试比较方便,所有数据类型通吃。

出0入0汤圆

发表于 2005-2-7 21:45:18 | 显示全部楼层
带CF卡还是改MEGA128或MEGA64好些

出0入0汤圆

 楼主| 发表于 2005-2-7 21:54:46 | 显示全部楼层
刚才粗略估算了一下速度,在16MHz下,如果用64字节的接收缓冲区,速度大概不到40KB/s,如果用128字节的接收缓冲区,速度则提高到70-80KB/s。做MP3的话这个速度应该够了。


-----此内容被qwernet于2005-02-07,21:55:43编辑过

出0入0汤圆

发表于 2005-4-12 13:36:13 | 显示全部楼层
请问搂主,你用的是CF卡的哪种模式访问的(CF有三种模式访问)?能给出电路吗?

出0入0汤圆

 楼主| 发表于 2005-4-12 13:59:18 | 显示全部楼层
用TrueIDE方式,原理图我发过帖子了,你搜索一下。

出140入158汤圆

发表于 2005-5-24 19:37:42 | 显示全部楼层
我刚刚做成功的SD卡,mega8在11.0592晶体下,全扇区缓冲(512字节),fat16文件系统,单字节循环读,只有40KB/s,每字节随机读,速度更低至120B/s,不过块缓冲读的话,可以达到200KB/s 。做mp3的话基本上就成扇区来读,所以速度应该可以接受了。看来我的seek要重新写过了。
-----此内容被amigenius于2005-05-26,01:02:45编辑过

出0入0汤圆

发表于 2005-6-25 09:02:34 | 显示全部楼层
7楼 amigenius 你好,



     我最近也在做SD卡,但我用的是PIC18F4550,我有两块SD卡,在读松下16M卡时,可以初始化,送CMD17也有的回应,但另一块KINGMAX 256M 卡时,就只能初始化,送CMD17就没有相应了,不知道咋会事。

出0入0汤圆

发表于 2005-10-18 21:34:15 | 显示全部楼层
想用Mega16L作SD卡读写,那位大虾能指点一个可靠的电路,小弟谢了!

出0入0汤圆

发表于 2006-8-7 07:29:04 | 显示全部楼层
为什么楼主的串口调试助手2.2可以输出中文呢!我用同样的软件,读MMC卡,所有的中文不显示,英文都正常。为什么呢?

出0入0汤圆

发表于 2006-12-26 00:29:45 | 显示全部楼层
你好!我手头上刚好有一个SAMSUNG的128M的SM卡,想用51来读写其数据(按FAT16/32格式),可我怎么也没法读到引导分区表(DBR),请指教.

e-mail:yangdl_03@126.com

出0入0汤圆

发表于 2007-4-14 23:24:21 | 显示全部楼层
我使用DSP (tms320vc5509a)来读32M 的KODAK MMC卡,速度大约有700KB/S。

出0入0汤圆

发表于 2007-4-15 08:34:22 | 显示全部楼层
楼主竟然是一直等待标志位的而不用中断的,串口也没有使用中断,那不是很慢?

出0入0汤圆

发表于 2007-5-16 23:00:40 | 显示全部楼层
发现使用MultBlockRead和MultBlockWrite的方式读写SD/MMC卡比较快,现在读威刚1GB的SD卡速度有5Mbytes/s了,读32MB的KODAK MMC卡也有2MBytes/s.缺点就是非常消耗内存,建议大家外扩SRAM。

出0入0汤圆

发表于 2007-8-31 14:46:33 | 显示全部楼层
TO:

qwernet 小俊



你好!!我也想用个CF卡做个....

刚刚接触CF卡....

有联系方式???非常谢谢!!!

出0入0汤圆

发表于 2007-9-12 14:08:24 | 显示全部楼层
有图就好了,正在做CF卡读写的东东。不过是用51做的

出0入0汤圆

发表于 2011-1-6 13:39:33 | 显示全部楼层
回复【6楼】qwernet 小俊
用trueide方式,原理图我发过帖子了,你搜索一下。
-----------------------------------------------------------------------
原理图,应该是这个网址:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=402883&bbs_page_no=1&search_mode=3&search_text=qwernet&bbs_id=9999
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-15 10:45

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

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