搜索
bottom↓
回复: 12

发布用STA013的MP3测试程序

[复制链接]

出0入0汤圆

发表于 2005-2-19 16:09:09 | 显示全部楼层 |阅读模式




相关链接:http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=404593&bbs_page_no=2&bbs_id=1000



MP3测试程序说明

   by Ant(gz_ant@126.com)



--------

版本说明

--------

Title                : MP3测试程序

Author                : Ant (gz_ant@126.com)

Created                : 2005/02/16

Revised                : 2005/02/19

Version                : 0.1

Target MCU        : MEGA16

Editor Tabs        : 4





注:         本代码用于测试STA013硬件及其驱动程序, 并非一个完整的MP3播放器程序.

        上电后,会循环不停播放一段约2秒的MP3音乐.

        硬件没有连接RAM缓冲及储存MP3文件的设备, MP3数据是保存在AVR的FLASH中.

        本代码经测试, 但可能存有Bugs, 若你发现有任何Bug或有任何建议,

        请来信告知: ant@126.com



        本代码部分来自"Procyon AVRlib": http:hubbard.engr.scu.edu/embedded/avr/avrlib/release_notes.html

        特此感谢它的创始人: Pascal Stang !



        感谢在www.21icbbs.com帮助过winsu的朋友, 希望使用者能发扬网络的 "自由,开放" 精神.

               

--------

硬件说明

--------

硬件可分为AVR与MP3功能块, AVR是使用自制的MiniAVR(即MEGA16L), MP3功能块是由如下主要芯片组成:

STA013, WM8725, PT2308. 其中WM8725与CS4331兼容.

MP3功能块除电源外, 与AVR的连接只用6条线, 分别是:

1) MP3数据传输: SCKR, SDI;

2) I2C控制:SCK, SDA;

3) 数据请求:REQ;

4) 复位:        RST;

以上数据线与AVR的连接如下:



        MP3 Model                        AVR(MEGA16L)

                SCKR----------------PB7

                SDI-----------------PB5

                SCK-----------------PC0

                SDA-----------------PC1

                RST-----------------PD3

                REQ--------+--------PD2

                           |

                           +---[ R ]---+

                                       |

                                      --- GND

--------

软件说明

--------

测试程序包括以下文件:

main.c, main.h

UART.c, UART.h

sta013.c, sta013.h

I2C.c, I2C.h

spi.c, spi.h

type.h

I2C硬件上虽然连接在AVR的硬件I2C接口上, 但程序是用软件I2C实现的, 这样做是为了兼容其他AVR.

SPI亦是连接在AVR的硬件接口上, 程序可用软SPI和硬件SPI, 均测试通过.

REQ亦是连接到INT0, 实际上可用中断来传送MP3数据, 但为兼容起见, 本程序用查询方式.

STA013的配置文件由ST提供, ST并没提供有关说明, 所以你不必探讨那长长的数组.

MP3的数据由我经一首MP3转换为*.c格式的, 你亦可修改它.



--------

联系

--------

Ant: gz_ant@126.com



点击此处下载armok0138483.rar












-----此内容被ant.于2005-02-19,16:13:49编辑过

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

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

出0入0汤圆

发表于 2005-2-19 16:14:45 | 显示全部楼层
谢谢 ant 的资料共享!



是用GCC编译的吧?

出0入0汤圆

 楼主| 发表于 2005-2-19 16:17:07 | 显示全部楼层
在AVR GCC(WinAVR)下编译通过.
头像被屏蔽

出0入0汤圆

发表于 2005-2-19 16:27:04 | 显示全部楼层
ant 能否将你的 STA013 + CS4334 的电路图也贴出来? 我也正在画这个图,希望多一点参考。谢谢。



另外: 看来你是直接用 CS4334 驱动耳机的,声音够大吗? 输出串的560R电阻,有没有改小一点,以增加音量?

出0入0汤圆

 楼主| 发表于 2005-2-19 16:31:51 | 显示全部楼层
电路图我要整理一下了,这是我几年前做的板子. 其实是标准的接法, 网上很多.

当然不是直接用CS4334来驱动耳机(我不是用CS4334,而是用WM8725, 请看说明), 使用耳机功放PT2308.我想是不能直接用DAC来驱动耳机的,DAC出来还要通过阻容滤波,哪能驱动耳机?

不明白"输出串的560R电阻".
头像被屏蔽

出0入0汤圆

发表于 2005-2-19 16:36:06 | 显示全部楼层
如果是通用线路,那就不用上传了。谢谢。



上次我们网站免费派发的 TDA1548 DAC 是带有高性能的功放的。



CS4334 的输出标准电路,是串有一只560欧的电阻。



很多人反映,可以用CS4334直接驱动耳机,但声音不够大。

出0入0汤圆

 楼主| 发表于 2005-2-19 16:44:56 | 显示全部楼层
听你这样说,我查看了一下http://www.pjrc.com/的电路,确实如你所说.

从电路图上看,确实是直接驱动耳机的.

我的电路有阻容滤波,这是标准的做法.

直接驱动耳机,应该用高阻耳机声音才大点吧.

相信直接驱动耳机是用于测试的,没什么实用性,除非测试,不建议这样做.

串接560电阻,我想是用来限流的,估计CS4334没有驱动耳机功能.去掉电阻,可能对CS4334有害.



另外现在网上的源码,配置STA013一般是考虑CS4334,如果用不兼容的DAC,可能要稍改程序.

出0入0汤圆

发表于 2005-2-19 20:55:09 | 显示全部楼层
谢谢先, 赶快当下来再说. 我的013一直有问题. 现在怀疑,是不是焊坏了.

出0入0汤圆

发表于 2005-6-19 13:43:27 | 显示全部楼层
优化级别设高点呢

出0入0汤圆

发表于 2005-12-30 20:27:46 | 显示全部楼层
我用GCC打不开

出0入0汤圆

发表于 2009-7-5 11:34:56 | 显示全部楼层
mark

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-15 17:49

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

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