基于51单片机的MP3方案设计
随着人们对便携式音乐播放器要求的提高,MP3播放器以其较小的体积和较好的音质赢得了广大音乐爱好者的青睐。起初,MP3文件只能由电脑来播放,随着互联网的发展,促进了MP3播放器的产生,随着人们对MP3产品进一步的认识和更高层次的需求,MP3发生了一系列的变化,其更加小巧精致,更人机化和情趣化,个性区分也越来越强。还出现了功能的融人和产品的整合,总之,MP3播放器正朝着功能强大、外观丰富、价格便宜的方向发展。这里提出一种基于AT89C51SND1C的MP3播放器设计方案。
1 MP3播放器简介
MP3播放器是一种新兴的数字音乐播放器,播放MP3、WMA等格式的文件。通过用MPEG-1 Layer 3编码技术,可以得到大约12:1压缩的有损音乐信号。尽管MP3音乐是有损的,它在压缩过程中对功率谱较弱的信号有所丢失,但它同CD原声区别不大,不影响一般音乐爱好者对音乐的欣赏。MP3大大缩小了声音文件的长度,使音乐的存储和传输更方便。
1.1 结构
MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、D/A转换及音频输入。存储器可以是Flash存储器或硬盘。综合考虑元器件性价比等各方面的因素,选定方案为:1)CPU+MP3解码器+USB控制器:AT89C51SND1C;2)D/A转换器:CS4330;3)音频放大器:任意双路运算放大器即可;4)存储器:K9F120 8;5)串口调试选用串口电平转换器:MAX3232;6)MP3屏幕显示器:LCD1602。
1.2 功能
在该硬件系统设计中,采用美国Atmel公司生产的AT89C51SND1C作为主控MCU,可以实现如下功能:1)能对MP3或WMA格式的文件进行解码播放;2)可以进行模拟音量,音效调节,声道选择,音量的范围:+18~+75 dB,最小为静音;3)可对歌曲进行选择,具有进、退、快进、快退功能及指定播放第几首歌曲的功能;4)通过USB接口,可直接从PC机上高速下载音乐,应用标准语音编码格式压缩和存储数据。
2 MP3播放器工作原理
MP3播放器的基本工作原理如图1所示。通过USB接口把Flash存储器上的MP3或者WMA等格式的数字音乐文件,送到主芯片内部集成的解码芯片进行解码,这些音乐文件经过解码后解码为数字信号,然后通过A/D转换将数字信号转换为模拟音频信号,再通过功率放大器进行音频放大,最后通过耳机输出。本系统的一般工作过程如下:当用户要求播放MP3音乐时,如果在该系统Flash存储器里没有歌曲,可以通过USB接口连接PC机来下载音乐文件到存储芯片中;若该系统中已存有MP3歌曲,用户可根据显示屏上的文件名选择或者顺序选择MP3文件,选择文件后主芯片将所选的音频文件从Flash闪存中读到主芯片集成的MP3解码器解码后变成数字信号,该信号按照用户设定的外部D/A转换器格式通过音频接口输出的外部A/D转换器,外部A/D转换器将数字信号转换为人耳可接受的模拟信号并且通过功率放大器放大后送到耳机。在播放过程中可以进行音量的增减等的选择和控制。
3 MP3播放器的设计
3.1 硬件设计
该设计方案可以方便地将外部的MP3格式的音乐文件传输到本系统的存储器Flash中。由图2硬件连接框图可以看出本系统的具体硬件设计主要包括:1)主芯片AT89C51SND1C和存储器K9F1208之间的连接设计,包括片选信号,读写信号以及AD信号的连接;2)主芯片和USB接口的连接设计,此部分主要用于MP3文件的传输和固件下载;3)主芯片和按键以及LCD之间的设计连接,用户通过显示屏幕获取播放器的进程信息,通过按键来对音乐进行选择和控制;4)主芯片和D/A转换器之间,这一系统将该系统解码后的数字信号转换为人耳能识别的模拟信号,这一部分主要包括时钟信号、数据信号以及反馈信号的连接;5)电源转换部分,本系统内部使用的电源一般为3.3 V,而USB接口以及电池的电源都需要DC-DC部分来进行转换,从而为系统提供所需的3.3 V电源;6)播放系统和存储系统的切换电路设计。
3.1.1 主电路设计
系统的主芯片采用美国ATMEL公司的AT89C51SND1C,该芯片是一个2.5~3.3 V低电压、80 mW低功耗、运算速度高、功能完善、高度集成并且低成本的单芯片数字(MPEG1,2,2.53)音频解码器。其特点如下:1)基于8位C51MCU核(最大时钟频率20 MHz);2)内部集成了单独的
MP3解码器,而且支持48,44.1,32,24,22.05,16 kHz采样频率,支持左右声道独立的音量控制(软件使用31级)、重低音、中音、高音均衡控制(31级)、重低环绕声效果、辅助数据输出、“CRC错误”和“MPEG帧同步”指示;3)有44通用I/O口的嵌入式C51 Nand Flash,SSF-DC,I2S,SPI和IDE多种扩展功能接口容易适应多种应用场合Flash/CD/HDD播放器等;4)具有适应市场上不同的D/A转换器的可编程的音频输出接口,兼容PCM格式和I2S格式;5)内置2 304 B RAM;6)64KB Flash程序空间和4 KB引导闪存(AT89C51SND1),在系统编程:通过USB,UART接口进行在系统编程;7)USB1.1控制器,“Full speed”数据传输;8)内置锁相环,提供MP3音频时钟和USB时钟;9)兼容MultiMedia Card(MMC)卡接口、Atmel Data Flash SPI接口、IDE/ATAPI(硬盘)接口;10)通道10位A/D转换器,8 kHz(8位真有效值),包括电池电压监视和软监控的录音;11)两个标准的16位的定时/计数器、硬件看门狗、带有波特率发生器的标准通用异步串口、主从I2C控制器、主从SPI控制器;12)电源管理模块。包括上电复位、软件可编程MCU时钟和空闲、掉电模式。
AT89C51SND1C内部结构简化后实际就是64K80C51+MP3解码器+USB,使用该芯片设计MP3播放系统具有很多优点,如支持在系统编程不需要昂贵的仿真器,系统设计成本降低;内置2 304 B的RAM,方便用户增加复杂的功能。此外,由于该芯片内部集成了大量的接口,所以只需要很少的外围器件如DC-DC,音频D/A转换器和存储器就可以实现系统的要求,这样可以做到系统空间很小,这一点正好适应现代系统设计的纤小而功能全面的要求。
- 关于RTX51 TINY的分析与探讨(05-30)
- 浅析8051模块化编程技巧(05-28)
- 基于DSP和单片机通信的液晶显示设计方案(07-20)
- 锁相环控制及初始化简析(08-27)
- 基于MSP430自动胀管控制器的研究(09-07)
- 嵌入式C实现延时程序的不同变量的区别(03-01)