我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 854|回复: 0

基于C51单片机的MP3播放器设计 - 消费电子 - 电子工程师俱

[复制链接]

该用户从未签到

1万

主题

1292

回帖

2万

积分

管理员

积分
29577

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-30 00:30:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

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

×
<strong>0 引言</strong>

便携式MP3播放器作为一种集音频播放、数据存储为一身的数码产品,其功能结构为电子设计人员所津津乐道。MP3是MPEG一1音频 III(1ayerIII)的简称。MPEG一1音频(ISO/IECll 172—3)是目前普遍应用的音频压缩标准,其中层III的算法最为复杂,但压缩比最大,效果也最好,在低码率的条件下基本能达到CD的音质效果。MP3 标准用尽可能低的码流实现CD音质的声音而不会产生数据损失。如果对于一段声音不进行压缩的话,那么每存储一秒钟的立体声CD音质音乐必须用 1.4Mbit,这是个十分大的开销。通过运用MPEG音频标准的压缩技术,我们可以把存储空间压缩到原来的1/12而不会降低声音的音质。即使使用 1/24的压缩因子,仍然比单纯降低采样率的音质要好。低数据量和高播放品质的优点使其成为音乐存储、数字广播、网上音乐传输的主要方式。人们不仅可以使用计算机软件,还可以通过数字随身听来欣赏音乐。本设计以C51内核单片机为核心,设计了MP3播放器。

<strong>1 MP3硬件设计</strong>

在该硬件系统的设计中,采用Atme 1公司生产的AT89C51SNDlC作为主控MCU。AT89C5lSNDlC是ATMEL公司专门针对MP3的需求而设计的一款多媒体8位微处理器,使用通用的C51内核,片上集成了多种外设,为MP3产品提供了一套方便的解决方案。该芯片对电路的高度集成大大降低了系统的耗电和发热,提高了系统的稳定性和速度,抗干扰能力也显著增强。AT89C51SNDlC具有如下外设的集成,大大简化了电路的设计:a.MP3硬件解码器;b.可编程音频输出接口 DAC;c.8位MCU C51:d.USBl.1控制器;e.内建锁相环PLL;f.多媒体卡接口适配器;g.SPI接口适配器;h.IDE/ATAPI接口;i.两路10位 ADC,8kHz;j.44个通用I/0;k.两个16位定时器/计数器;1.硬件看门狗定时器;m.标准全工UART;n.两线主被动模式控制器;o.SPI主被动模式控制器;p.电源管理模块。

整个播放器的结构框图如图l所示。PC机通过USB接口实现对U盘的MP3歌曲、文档等数据信息的存储。系统启动后,由MCU控制将储存于Flasht辛歌曲的码流信息送入MP3解码芯片中解码,并产生解码输出。在系统的DAC模块通过CS4340芯片把解码输出转换为模拟音频声音后, 经功放电路一级音频放大并驱动耳机,实现MP3歌曲的播放。系统硬件包括主控MCU、解码器、Flash存储系统、供电系统、按键和D/A转换器等几部分。


<ignore_js_op>





2010-3-22 16:07:04 上传
<strong>下载附件</strong> (6.29 KB)




</ignore_js_op>


1.1 解码部分

这是MP3播放器的核心部件, 本设计采用硬件解码技术。在本系统中笔者采用AT89C51SNDlC芯片。该芯片是一块自带MPEG I/II—Layer硬件解码器和Human Interface的51内核单片机。它可支持对8~320kbps基本数据流的解码,支持的取样频率范围为16~48kHz,非常适合于MPEG的音频解码, 并带有数字语音录音的MPEG播放模块, 具有很高的性价比。解码后的信号是可以直接输出到DAC的立体声、单声道或双声道的数字信号,SP—CA751A与DAC的接口是可编程的。只要通过通用的串行I/0口和控制接口就能对MPEG比特流进行I/0和回放控制,系统控制器能很轻易地对MPEG音频信号进行解码。通过一个通用的可编程I2S接口,就能把一解码的音频PCM数据输出到外部的DAC中,因此,大多数常用的音频DAC都能和本芯片兼容,本设计采用的是CS4340芯片。

1.2 存储部分

现采用1GB的FLASH存储器,该存储器能够存储19小时128kbps(达到CD音质)的音乐,该系统采用了SAMSUNG公司的1GB FLASH存储芯片K9F5608UOB。

1.3 接口部分

一般通过PC的USB接口进行MP3文件的下载,传输速率为12Mbps。由于Atmel公司生产的AT89C5lSNDlC芯片仅支持USBl.1技术规范,因此接口速度稍慢。但对于MP3播放来说,可以满足需要。

1.4 电源管理

便携式MP3的体积小,可以使用两节7号电池(3VDC)供电,同时也可以通过USB接口取电,因此采用低电压以及进行有效的功率管理是非常必要的。

<strong>2 MP3软件设计</strong>

硬件是设计的基础,软件是设计的灵魂。MP3程序由两大部分组成:MP3播放功能模块和USB通讯功能模块。此外,为了调试方便,还有调试功能模块。此模块在系统软件调试中使用,当MP3系统正常工作时去除。

MP3播放功能模块的工作分为两个部分:


<ignore_js_op>





2010-3-22 16:07:04 上传
<strong>下载附件</strong> (7.23 KB)




</ignore_js_op>


第一部分是循环播放MP3歌曲,该功能需要首先做一些初始化工作,MP3解码器一旦开始工作,就会一直向CPU请求数据,直至歌曲结束,只有通过键盘操作才会使该功能提前结束。因为MP3文件的数据量较大,在flash存储器内是以页为单位进行存储的,所以MP3的播放程序初始化就是要把该文件的首地址和页数先读出到CPU中,然后CPU可以根据如上数据进行取数据工作。

第二部分则一直在等待中断发生,该程序是与键盘结合起来的,主要用于使用者对播放过程的控制。键盘操作对MP3播放过程的控制还包括后退、跃进、跳到下一首、音量控制等。因为整个播放过程的键盘控制功能比较单一,没有键的复合操作,所以程序都很容易实现。当MP3播放器插入到USB接口时,系统执行USB 通讯功能模块,该模块主要用于对flash存储器内的文件数据进行管理。固件程序是该模块开发的主要工作,由于AT89C5lSNDlC没有外部中断引脚,USB中断没有中断向量地址入口,因此该固件程序的框架采用查询工作方式。

<strong>3 FAT文件格式</strong>

因为该系统还要具有U盘的功能,所以存储器中的文件还要能够让计算机读写和识别,也就是所有的文件还要严格满足计算机文件系统格式的要求。在所有计算机文件系统中,FAT是比较常用的一种。

一个FAT文件系统卷由4个部分组成:保留区、FAT区、根目录区、文件和目录数据区。其中保留区中的第一个分区必须是BPB,也称作“引导扇区”,因为它含有对文件系统进行识别的关键信息,计算机将以此信息识别存储器文件格式,因此十分重要。

FAT区存放的是文件分配表。操作系统的存储空间是按簇来分配的,簇是操作系统分配的最小存储单元,每个簇在FAT表中占据一个16位的位置,称为一个表项。同一个文件的数据并不一定存放在存储区的一个连续的区域内,往往会分成若干段,像一条链子一样的存放,这种存储方式称为文件的链式存储。为了实现文件的链式存储,必须准确地记录哪些簇已经被占用,还必须为每一个已经占用的簇指明后继内容的下一个簇的簇号,对于一个文件的最后一个簇,则要指明本簇没有后继簇,这些就是由FAT表来存储的。

根目录区存放的是目录项,每个目录项为32个字节,记录一个文件或目录的信息。目录项所占的空间与目录项的个数有关。

文件和目录数据区是真正存放文件数据的位置,所有数据都是按照以上信息分配存储的。

<strong>4 结束语</strong>

MP3为取得较好的压缩效果而采用相对复杂的技术,宽带音频信号的取样率也较高(一般为44.1kHz以上),所以MP3编解码的运算量和数据量都相当庞大。MPEGLayer III解码算法在AT89C51SNDlC上验证通过并获得较好的效果,在通过优化后可流畅播放。由于51内核单片机的性能限制,在缓冲时可能会有停顿。以上内容叙述了由AT89C51SNDlC构成的最小系统的结构,具备了便携式MP3播放器的基本功能。其实AT89C51SNDlC还支持LCD显示和 IDE接口,还可以通过对以上接口模块进行扩展,构成更大更复杂的系统。

<strong>参考文献</strong>

1.马忠梅 单片机的C语言应用程序设计 2007
2.Atmel AT83C51SND1C Users'Guide 2005
3.何立民 单片机高级教程 2007

作者:王宇炎, 李明伟( 洛阳理工学院电气工程与自动化系)
来源:电子技术 2009,(10)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

公告:服务器刚移机,
大家请不要下载东西。
会下载失败


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表