随着技术的不断进步和市场对MP3播放器新的要求,MP3解决方案也不断推陈出新。特别是最近一年,各家IC公司以眼花缭乱之势推出了从多片到单片SOC的新方案。
ATMEL在上述形势下,于2002年率先推出了带即插即用U盘功能的单芯片闪存MP3解码器芯片。TLG公司在ATMEL协助下,已成功开发了多款性价比极优的畅销机型。
AT89C51SND1具有以下功能:
*MP3硬件解码器 *具有适应市场上不同的DAC的可编程的音频输出接口 *基于8位C51 MCU核(最大时钟频率20MHz) *内置2304字节RAM *64K字节FLASH程序空间 *4K字节引导闪存(T89C51SND1) *USB Rev1.1控制器 *内置锁相环 *兼容MultiMediaCard (MMC)卡接口 |
*兼容Atmel DataFlash SPI接口 *兼容IDE/ATAPI(硬盘)接口 *通道10位AD转换器,8KHz(8位真有效值) *超过44个可用的通用I/O口: *两个标准的16位的定时/记数器 *硬件看门狗 *带有波特率发生器的标准通用异步串口 *主从I2C控制器 *主从SPI控制器 *电源管理模块 *工作范围: |
典型应用
·MP3播放器
·PDA,数码相机,MP3移动电话
·汽车多媒体MP3
·家庭多媒体MP3
ATMEL单片闪存MP3解码芯片的优点
·集成USB,MMC的嵌入式C51非常小的系统软件功能齐全带USB功能的MP3播放器仅需15K字节固件代码。
·有44通用I/O口的嵌入式C51NAND Flash, SSFDC, I2C, SPI和IDE多种扩展功能接口容易适应多种应用场合(Flash/CD/HDD播放器,汽车/旅行/组合音响...)。
·硬件MP3解码器和硬件接口控制器非常低的工作电流:25mA@(128Kbps,48KHz采样率,16MHz时钟C51 X1模式,3V, 25C)。
·可以通过USB进行固件升级的flash版本通过网页下载音乐和固件系统引导或者用户特殊引导的E2PROM。
·低成本的掩模ROM版本:64K 80C51 + MP3解码器 + USB!
·提供廉价的开发工具和不需要软件授权费用。
·提供绝大部分的程序C51代码,给用户充分发挥的空间。
·内置2304字节的RAM,方便用户增加复杂的功能。
·内置程序存储器和多种固件加密方式,保护用户独有创新的知识版权。
·需要很少的外围器件SND1,DC-DC,音频DAC和存储器,可以做到很小的空间内,适应现代MP3的纤小而功能全面的要求。
ATMEL单片闪存MP3解码芯片典型应用的硬件结构
我们使用ATMEL单片闪存MP3解码芯片设计一个市场上最流行的MP3播放器,具有中文LCD显示,即插即用而且可以当U盘使用,内置128M字节NAND闪存,使用一节AAA(7号)电池,有录音、复读和电池电量指示。
硬件框图略(详见《单片机天地》2003.10)
1.AAA电池通过DC-DC电路从1.5V转换到3V提供给MCU、DAC、耳机放大器、LCD模块、NAND闪存、录音前置放大器等电路电源。
2.MCU在通过键盘和LCD液晶显示屏和用户进行交流,接收用户的指令并从LCD液晶显示屏中将用户指令执行的结果显示出来。如:a用户按播放键要求播放MP3音乐时,MCU读NAND闪存的数据。如果有MP3歌曲在闪存上,MCU读MP3文件,并且将MP3的歌名显示在LCD液晶显示屏上;如果没有MP3歌曲在闪存上,MCU显示没有的歌曲的信息在LCD液晶显示屏上,如果还有别的问题也显示在LCD液晶显示屏上。
3.如果用户把MP3播放器连接到电脑(包括使用MICROSOFT WINDOWS、UNIT、LINUX、MAC OS)中,MCU识别到用户读写NAND闪存要求时,根据电脑的指令对NAND闪存进行读写,并且及时将状态显示在LCD液晶显示屏上。
4.当用户进行录音时,MCU将麦克风和麦克风前置放大电路的电源打开,将其他无关的电路电源切断,防止对录音产生干扰,经过放大的麦克风声音信号经过MCU集成的A/D转换器将模拟信号转换成数字信号,然后MCU将该数字信号存储到HAND闪存上,MCU按照一定的频率周而复始的重复上述过程,直到用户要求录音停止或HAND闪存用完。
5.当用户要求播放MP3音乐时,如果有MP3歌曲在闪存上,MCU将一段的MP3歌曲的数字数据从HAND闪存读到MCU集成的MP3解码器中,并且根据MP3数据的格式和用户的要求设置好MP3解码器的参数,MP3数据通过MP3解码器解码后变成WAV格式的数字信号,该信号按照用户设定的外部A/D转换器格式通过音频接口输出的外部A/D转换器,外部A/d转换器将WAV格式的数字信号转换为人耳朵可以接受的模拟信号并且通过耳机放大器放大后送到耳机。
ATMEL单片闪存MP3解码芯片典型应用的固件(Firmware)结构图略(详见《单片机天地》2003.10)
由于系统管理的接口、器件和任务都比较复杂,整个固件系统是复杂的。但是掌握一定的方法消化并运用固件是不困难的。
固件从任务调度的角度来说,分为:
a disp_task.c负责显示任务,定时的更新显示状态。
kbd_task.c负责接收用户的按键请求。
usb_task.c负责接收电脑通过USB口发来的命令和数据。
mem_task.c负责存储器的管理工作。
mode_task.c负责模式转换的分配工作,主要是song_task,voice_task,tool_task之间的转换:
song_task.c负责MP3播放工作,voice_task.c负责录音的录和放工作,tool_task.c负责常用工具的管理工作。
各个任务之间是一种协作式多任务方式工作的,每个任务接收系统发出的调度数据,处理相应的工作,如果工作的条件(I/O资源、时间等)满足,就执行相应的工作,否则释放MCU的控制权,等待下次MCU的控制权。
ATMEL单片闪存MP3解码芯片典型应用的软件结构
由于ATMEL单片闪存MP3解码芯片是即插即用的U盘,只有WIN98下需要驱动程序,ATMEL免费提供编译好的版本和用户可修改的版本WIN98驱动程序。
ATMEL单片闪存MP3解码芯片开发平台:
开发板:DVK-04 kit
仿真器:CEIBO FE-51SND
固件(Firmware)编译器:Keil C51 V7.0+
固件(Firmware)下载工具:FLIP 1.60+
固件的下载电缆:RS232串口电缆(TTL带电平转换)或USB连接电缆。
展望
顺应市场对MP3播放器在下载速度、耗电、保护知识产权、体积等方面的要求,TLG已完成以硬盘为存储介质的超大容量新一代MP3开发。ATMEL具有USB2.0主从OTG、集成电源管理、集成A/D转换器、存储控制器等更强功能的下一代芯片也即将推出。