AT89C51SND1C单片机的 MP3播放器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

AT89C51SND1C单片机的 MP3播放器设计
徐阳;徐爱钧
【摘要】A MP3 player design scheme based on 51 microcontroller is proposed after analyzing the working principle and system compo‐sition of the portable MP3 player .The design uses the AT89C51SND1C microcontroller as the MP3 decoder ,the K9F1208 flash as exter‐nal memory ,the CS4330 as the sound playing circuit .The music file can be downloaded from PC through USB interface of the player .The scheme is simple ,cost‐effective ,low power consumption and easy to expand .%首先分析了便携式M P3播放器的工作原理及其系统构成,接着介绍了一种基于51单片机的M P3播放器设计方案。

采用AT89C51SND1C单片机,其片内集成了MP3解码器,使用 K9F1208闪存作为外存储器,放音电路采用CS4330,音乐文件通过播放器上的U SB接口从PC机上直接下载。

该方案设计简单,性价比高、低功耗、易扩展。

【期刊名称】《单片机与嵌入式系统应用》
【年(卷),期】2015(000)010
【总页数】3页(P65-67)
【关键词】AT89C51SND1C;MCU;MP3
【作者】徐阳;徐爱钧
【作者单位】长江大学工程技术学院,荆州434023;长江大学电子信息学院
【正文语种】中文
【中图分类】TP21
MP3作为高质量音乐压缩标准,正在进入越来越多人的生活,给数字音频工业带
来了强劲的冲击。

MP3使用此技术可以获得较大的音乐压缩比,还可以得到较高
的音乐回放质量,比如将CD格式的音乐数据压缩成MP3格式,音效相差无几,文件大小至少可以压缩12倍。

正是由于MP3音乐的较小数据量和近似完美的播放效果,使得以MP3为后缀的
音乐文件在网络上的传输得以实现。

当前MP3 播放器正朝着功能强大、外观丰富、价格便宜的方向发展,这里提出一种基于AT89C51SND1C 单片机的MP3 播放器设计方案。

MP3是MPEG Layer III(第3层音频编码标准)的缩写,图1为MP3编码器内部
原理框图。

它是一种超级声音文件的压缩方法,其数字压缩速率为每通道
128 Kb/s。

MPEG由音频和视频两部分组成,可以分别进行压缩。

MPEG在音频
上压缩分为MPEG Layer1、MPEG Layer2和MPEG Layer3,其中MP3具有最
高的压缩比12∶1。

在一般没有压缩数据的情况下,音频被数字化时,采样频率必须为实际声音最高频率的2倍以上。

目前最好的CD音质中,声音最高频率是20 kHz,采样频率定为44.1 kHz,16
位量化,要获得CD音质立体声,每秒钟的数据量将超过1.4 Mb;而采用MP3
压缩,数据量可以缩小到1/12,音质却没有损失。

如果再进一步压缩数据量到
1/24或者更多,依然可以维持相当好的音质,比起通过降低采样频率、缩短采样
深度的方法要好得多。

对于便携式MP3系统,主要考虑的是其体积小巧、低功耗、高容量、低价格。

当前流行的MP3播放器主要包括:单片机控制系统、大容量移动存储设备、MP3
解码器、D/A转换芯片、音频放大电路、USB接口、LCD显示和键盘电路等,其基本工作原理如图2所示。

通过USB接口把Flash存储器上的MP3、WMA等格式的数字音乐文件送到单片机内部集成的解码芯片进行解码,这些音乐文件经解码后成为数字信号,然后音频DAC通过D/A 转换将数字音频信号转换为模拟音频信号,再通过功率放大器进行音频放大,最后通过耳机输出音乐。

本系统主要实现一个MP3播放器功能,由于涉及文件传输和存储问题,所以附带需要实现USB存储器功能。

整个系统由AT89C51SND1C(MCU)、
K9F2808U0A(Flash芯片)、电源部分、音频部分、串行通信部分和人机接口部分组成。

MCU部分:控制整个系统,提供USB控制和MP3解码功能。

FLASH芯片:存放整个系统文件。

电源部分:提供系统工作需要的电源,包括一个升压和一个降压部分。

音频部分:把数据流转换为声音信号。

人机接口部分:包括按键和LED指示等。

USB接口部分:通过PC的USB接口进行MP3文件的下载。

AT89C51SND1C 是Atmel 公司专门针对MP3 设计需求研发的一款多媒体8位微处理器,使用通用的C51 内核,集成了CPU 和硬件解码器,为MP3 设计提供了一套方便的解决方案。

该芯片的高度集成大大降低了系统的耗电和发热,提高了系统的稳定性和速度,抗干扰能力也显著增强。

需要注意的是,由于在系统中有MP3和USB传输等高频信号,为了避免噪声对系统的影响,尤其是对音频输出信号的影响,所以在AT89C51SND1C的正负电源间需要加上一个RC滤波电路以消除电路中的噪声。

对于AVDD和UVDD的两个模拟电压和数字电源而言,两者需要在数字地和模拟地处单点通过一个磁珠相连,以免数字电源和模拟电源之间相互影响。

音频是整个系统中最为重要的一个部分,在把数字信号转换为模拟信号的过程中容易产生噪声,这个关系到MP3播放器声音效果的好坏,本系统选择的是CS4330
芯片,CS4330能兼容48 KHz、44.1 KHz和32 KHz的音频流。

声音数据通过串行输入引脚SDATA输入,左右输入时钟LRCK决定了左右声道,而在串行输入时钟SCLK的驱动下数据被送入CS4330的数据缓存中,而主时钟决定了数据滤波器的使用。

采用三星公司的NAND Flash K9F1208 作为系统的数据存储器,用来存储本系统所需播放的音乐文件。

主芯片AT89C51SND1C 和Flash 存储器间的通信与读取一般的存储器RAM、EEPROM 等基本一致,不同的就是多了CLE 和ALE 这
2 个引脚,这是由Flash 本身特点所决定的。

主芯片通过读取R/B 这个引脚来判断Flash 读写是否完成,如果正在读写,那么这个引脚为低电平,表示正忙; 如果读写完成,该引脚电平变高,处于READY(准备)状态,等待下次操作。

ALE 和CLE 这两个信号均为上升沿有效,WP 引脚为写保护,用来在电源由于切换等造成不稳定的情况下防止数据丢失。

人机接口部分主要提供一个人和系统进行信息交换的接口,包括键盘输入、LED 显示以及串行口3个部分。

键盘输入提供给用户选择功能的能力、LED显示系统现在的工作状态,串行口可以方便开发过程中的调试,通过串口调试助手等工具,把系统运行的情况反馈到PC机的屏幕。

一般通过PC的USB接口进行MP3文件的下载,传输速率为12 Mbps。

由于Atmel公司生产的AT89C51SND1C芯片仅支持USB1.1技术规范,因此接口速度稍慢。

但对于MP3播放来说,可以满足需要。

MP3播放系统的软件设计,按照模块可以划分为以下几个部分:
◆Flash存储部分:这是系统中的文件存储系统,按照FAT文件格式对Flash芯片进行划分,对芯片的操作必须按照FAT格式进行。

◆ USB通信驱动:USB驱动通信主要包括如何按照Windows 7中对USB移动硬盘的描述编写设备的固件程序,以便操作系统对MP3系统的操作。

◆ MP3解码控制:控制系统中间的MP3解码器把从Flash中取出来的MP3压缩数据流解码成音频数据流,提供给音频解码接口。

◆音频解码接口:和外围的音频驱动芯片接口,对音频驱动芯片进行配置以及控制,把解码后的数字信号转化为模拟声音并且驱动耳机。

◆其他部分:由提供人机接口的键盘扫描驱动、LED显示驱动、数码管驱动部分组成。

系统软件结构框图如图3所示。

在主程序时,如果处于播放状态,则调用PlayMP3函数播放歌曲,直至播放到最后一首,在PlayMP3里面,MP3解码器一旦开始工作以后,就会一直向CPU请求数据,直至歌曲结束。

程序进入此函数以后,只有改变当前歌曲的键盘操作才能使此函数提前结束,进入下一首歌曲的播放。

MP3播放函数的工作分两部分进行:第一部分是播放一首新的MP3歌曲时,要
做一些初始化工作;第二部分则一直在等待中断发生。

第二部分与键盘结合,以实现MP3播放过程中的用户操作。

MP3播放程序结构框图如图4所示。

当执行MP3程序的时候,需要通过按键操作来控制MP3歌曲的播放,每个键对
应一个键盘响应函数:
① Func:功能切换。

② Next:向后。

③ Previous:向前。

④ PlayPause:播放/暂停。

人机接口流程图如图5所示。

本文提出基于AT89C51SND1C 单片机的MP3 播放器的设计方案,MP3为取得
较好的压缩效果而采用相对复杂的技术,宽带音频信号的取样率也较高(一般为44.1 KHz以上),所以MP3编解码的运算量和数据量都相当庞大。

MPEG Layer III解码算法在AT89C51SND1C上验证通过并获得较好的效果,通
过优化后可流畅播放音乐。

此MP3 播放器系统既有播放歌曲的功能又有U盘功能。

两种功能的转换用USB 接口检测电路来控制:当MP3 播放器上的USB 设备插入PC 机上的USB 接口进行文件下载时,执行U 盘功能;否则程序执行MP3 功能。

【相关文献】
[1] 徐爱钧.单片机原理实用教程-基于Proteus虚拟仿真[M].2版.北京:电子工业出版社,2011.
[2] 徐爱钧.单片机高级语言应用编程与实践[M].北京:电子工业出版社,2013.
[3] 博创科技.MP3 播放器与U 盘设计[M].北京:清华大学出版社,2004.
[4] 王宇炎,李明伟.基于C51单片机的MP3播放器设计[J].电子技术,2009(10):29-30.
[5] 黄勇坚, 王亚丽.智能MP3播放控制系统的设计[J].电子技术,2006(10):36-38.。

相关文档
最新文档