hubaixdl 发表于 2011-10-29 09:51:55

用PROTEUS与MDK412(KEIL)仿真MMC(SD),用的是FATFS08B版

用PROTEUS与MDK412(KEIL)仿真MMC(SD),用的是FATFS08B版,内文的所有程序都是从网上找到的,下一步就是进行硬件仿真,作一个MP3,如有VS1003(最好是板子)的朋友买给我一个最好。
因为是初学,还有很多不清楚的地方。大家多指教。
文件中有WINHEX破_解版,可以查看改过的MMC文件。
点击此处下载 ourdev_689786XNS460.rar(文件大小:2.75M) (原文件名:ptoteusfsfslpc2131mdk41208B4.rar)

hubaixdl 发表于 2011-10-29 09:59:38

-----------------------------------------------------------------------
在CPU和示波器之间增加两个NOT进行反向,否则无法工作,不知是设置的问题还是软件有BUG.

hubaixdl 发表于 2011-11-7 19:41:55

硬件测试时,读0扇区的数据时只能读到逻辑0扇区的数据,而不能读到物理0扇区的数据。我搞了好几张卡都是如此,有一个卡是在我在0扇区全部写入了00,后来重新格式化,此卡可以读到逻辑0的数据(我也不清楚怎么弄的)。我查看过别人的例子,也没有发现有区别物理扇区和逻辑扇区的问题。请用过的朋友指点一下。
下面是我的程序
点击此处下载 ourdev_692772FCDX0R.rar(文件大小:1.43M) (原文件名:08B72.rar)

sync765 发表于 2011-11-7 21:35:13

帮楼主顶下了

3050311118 发表于 2011-11-10 00:50:42

这个要顶

hubaixdl 发表于 2011-11-10 09:39:47

问题已解决,物理扇区和逻辑扇区有区别,我增加了OFFSET,用于判别卡的逻辑扇区地址,现在可以在我的几张卡中写入文件了。写的乱,我又是业余的,但我会跟着大家一起努力。
点击此处下载 ourdev_693701FG8NJL.rar(文件大小:1.37M) (原文件名:08B8.rar)

hubaixdl 发表于 2011-11-29 15:42:08

现在可以放MP3B ,但还有一些问题,
1.播放MP3时无法控制它的速率,我查到VS1003自动可以识别MP3的解码速率,只要DREQ为低时,只管向VS1003写入数据就可以了,但我的程序只能解一种速率的,比如设定64KBS时(就是设定SPI的读写速度),解64KBS的就没有问题,128KBS和192KBS就不行了。因为只有一个VS1003,我现在无法判定是程序的问题还是硬件的问题。
2.播放64KBS的MP3时,音量比较小。
   路过的朋友请指点一二。
以下是我的程序:
         点击此处下载 ourdev_700101LTUGBM.rar(文件大小:1.15M) (原文件名:08B913.rar)

JQ_Lin 发表于 2011-11-29 17:26:56

回复【1楼】hubaixdl
-----------------------------------------------------------------------
在cpu和示波器之间增加两个not进行反向,否则无法工作,不知是设置的问题还是软件有bug.

-----------------------------------------------------------------------

我试了一下,取消反相器没有问题。

如图(点击图片看清晰大图)
http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_700126SNGCX8.png
(原文件名:取消反相器没有问题.png)

hubaixdl 发表于 2011-11-30 08:26:32

回复【7楼】JQ_Lin
-----------------------------------------------------------------------

请再测试一下,下面的附件,去掉NOT后,无法读MMC中的内容。
点击此处下载 ourdev_700198IDIGCH.rar(文件大小:159K) (原文件名:mmc.rar)
再请教一个问题,PNG图片是怎么贴上去的?

tgfsge 发表于 2011-11-30 15:36:19

mark

student88 发表于 2011-11-30 18:28:08

mark

hubaixdl 发表于 2011-12-2 14:19:24

感谢dongls 董的指点,问题已解决。将DREQ端口改为输入口后问题解决。
后面我会将整理后的程序放上。感谢网上朋友的友持,我的程序都是从网找的,自已不可能写出来。
感谢阿莫提供一个良好的平台。
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5156424&bbs_id=1037上也有。
下面是没有整的程序,先传上:
点击此处下载 ourdev_700843KZ24SD.rar(文件大小:1.15M) (原文件名:08B915.rar)

hubaixdl 发表于 2011-12-3 17:57:32

整理了代码
点击此处下载 ourdev_701258E7R9XZ.rar(文件大小:1.15M) (原文件名:08B916.rar)

hubaixdl 发表于 2011-12-8 09:52:58

现在播放320KBPS的MP3没有问题。从DREQ脚可以看到有低电平出现,说明CPU的速度高于MP3播放的速度。

请网友指点一下:
一:如何实现上一首功能?现在只是实现了下一首功能。此功能只是强行跳出循环就可以了。但上一首功能怎么实现?网上很多,但有些不是FATFS作的,看不懂。
二:现在只能播放根目录下的MP3文件。如何播放不知名文件夹下的MP3?如MMC上有一个/111的文件夹,它里面有1.MP3和2.MP3,要想播放此两个MP3,怎么实现呢?

kevin_me 发表于 2011-12-8 10:09:33

PROTEUS是个好东西 虽然现在很少用了
支持LZ

hubaixdl 发表于 2011-12-10 13:43:32

现在可以打开文件目录下的MP3,但是要有MP3的文件名都有数据,如文件件夹222下有1.任贤齐 - 沧海一声笑.MP3,在8.3的文件名格式下显示为:"任贤齐~1.MP3",数据为C8 CE CF CD C6 EB 7E 31 4D 50 33,此时文件名是满的,可能打开播,2.但是如果有MP3的名为刘欢-好汉歌.MP3,在8.3的文件名格式下为:刘欢-~1.MP3,数据为C1 F5 BB B6 2D 71 31 20 4D 50 33,因为此时文件名中有一个20的数据,无法读取文件。res返回为0x04.
请作过的网友指点一下。见附件。
点击此处下载 ourdev_703418NLPN6N.rar(文件大小:1.36M) (原文件名:08B918.rar)

hubaixdl 发表于 2011-12-19 20:12:14

在8个字节不满的情况下可以读取文件。增加了一个数组,将目录和文件名考入数组中,并在中间增加“/”.即可以播放任意文件夹下的任意mp3。
点击此处下载 ourdev_705962N6LWEP.rar(文件大小:1.36M) (原文件名:08B919.rar)

hubaixdl 发表于 2011-12-29 18:02:08

将MP3的文件名加入到一个TXT文件中,实现上一首和 下一首功能

点击此处下载 ourdev_708774CINN0C.rar(文件大小:1.80M) (原文件名:08B924.rar)

jlhgold 发表于 2011-12-29 19:09:43

鼓励楼主发学习过程贴

wenjin0386 发表于 2011-12-29 21:34:22

支持楼主!

mcuprogram 发表于 2011-12-29 22:00:52

mark

hubaixdl 发表于 2011-12-30 09:06:09

谢谢大家的支持!所有的思路都是从网上找的,底子太薄,别人干一天或一个星期的事,我搞了几个月。

Sc0pin 发表于 2013-7-16 17:50:35

mark下,明天看

hubinghuandi 发表于 2013-10-8 00:41:20


mark下,明天看
页: [1]
查看完整版本: 用PROTEUS与MDK412(KEIL)仿真MMC(SD),用的是FATFS08B版