带U盘功能的MP3播放器设计方案
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转换器和存储器就可以实现系统的要求,这样可以做到系统空间很小,这一点正好适应现代系统设计的纤小而功能全面的要求。
3.1.2 存储部分
采用三星公司的Nand Flash K9F1208作为系统的数据存储器,用来存储本系统所需播放的音乐文件。主芯片AT89C51SND1C和Flash存储器间的通信跟读取一般的存储器RAM、EEPROM等基本上是一致,不同的就是多了CLE和ALE这2个引脚,这是由Flash本身的特点所决定的。主芯片通过读取R/B这个引脚来判断Flash读写是否完成的,如果正在读写那么这个引脚就为低电平表示正忙,如果读写完成,该引脚电平变高,处于READY(准备)状态,等待下次操作。ALE和CLE这两个信号均为上升沿有效。WP引脚为写保护,用来保护当电源由于切换等造成不稳定的情况下丢失数据的情况。
3.1.3 接口部分
AT89C51SND1C内嵌了USB1.1控制器,这样便于与外部PC机的连接。AT89C51SND1C有特定的引脚来检验USB接口是否接入USB主机设备,当电平由低变高,表示已接入USB主机,系统进入U盘功能。该控制器支持全速数据传输,所需的48 MHz的参考时钟是由PLL锁相环提供给控制器的。控制器内部通过数字锁相环DPLL生成控制器内部所需的12 MHz的时钟。如图3所示,USB接口电路中除了根据USB协议的要求,要在D+、D-上串联20 Ω电阻,并在D+上接一个1.5 KΩ的上拉电阻,还增加了一个USB插入的检测电路以及USB工作指示灯。USB插入检测电路由一个电阻分压组成。当USB插入PC上的USB接口时,USB_Insert信号会输出高电平到P3.4,此引脚检测到此信号后,便会执行U盘功能;否则,程序运行时会执行MP3功能。P3.5输入低电平时,VD1会点亮,这个二极管用于表示USB的数据交换状态,当USB的端点有数据交换时,此灯会闪烁。
![](../img/eep/emb/emb-11693fpwi2tx24jd.jpg)
3.1.4 D/A转换部分
当MP3或者WMA等格式的音乐文件经过主芯片内部解码后为数字信号,而人耳所能识别的信号却为模拟信号,系统利用CS4330进行转换。AT89C51SND1C从Flash中读取数据之后,将MP3格式的音乐在其内部进行硬件解码为二进制数据,之后通过D/A转换器CS4330来对这些数据进行数模转换,转换成人耳可以接受的音乐。主芯片AT89C51SND1C内部有一个音频输出接口,支持不同格式的音频数据流格式,如PCM格式和I2S格式,该接口可以跟几乎所有的通用音频D/A转换器相连。CS4330在改善音频质量,降低信噪比等方面都很好。同时AT89C51SND1C内部集成了MP3硬件解码器,系统不需要外接额外的解码器。解码后的数字信号经过D/A转换后还原为模拟音频信号。
3.1.5 控制部分
播控系统的设置通过按键来选择,AT89C51SND1C提供4个按键输入口,连接USB前,短接了DFU跳线,运行Boot Loader,进入到固件下载;接到USB前,按下了FORMAT,则格式化U盘;连接到USB,不按任何键,则进入U盘功能。使用电池供电时,不按任何键,则进入MP3模式。MP3键盘由4个键组成,分别为Play/Pause键、Preview键、Next键和Func键:Func,功能切换;Next,向后;Previous,向前;Pla-y/Pause,播放/暂停。用户在使用播放器时可以方便地根据自己的喜好来选择歌曲播放或暂停。操作状态和设置信息通过LCD1602来显示。LCD采用液晶显示模块,可显示汉字及图形。液晶显示具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,正好适应MP3播放器的需求。
3.2 系统软件设计
MP3播放器的软件设计由2大部分组成:MP3播放功能模块和USB通信功能模块。
3.2.1 MP3播放程序设计
MP3播放程序设计要与键盘配合起来使用。在主程序中,如果已经处于播放状态,则调用Play MP3程序播放歌曲,直
- SN2005学习系统 数字语音室解决方案(05-19)
- 以可编程DSP架构应对TD-SCDMA以及TD-LTE带来的设计挑战 (02-14)
- ARM-μCLinux嵌入式系统启动引导的实现(07-26)
- 多核处理器架构及调试方案(03-28)
- 基于DSP的电源解决方案(06-13)
- 间歇性Bug最佳解决方案(09-24)