基于C51单片机的MP3播放器设计与实现
时间:11-18
来源:互联网
点击:
便携式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播放器。
1 MP3硬件设计
在该硬件系统的设计中,采用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转换器等几部分。
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接口取电,因此采用低电压以及进行有效的功率管理是非常必要的。
2 MP3软件设计
硬件是设计的基础,软件是设计的灵魂。MP3程序由两大部分组成:MP3播放功能模块和USB通讯功能模块。此外,为了调试方便,还有调试功能模块。此模块在系统软件调试中使用,当MP3系统正常工作时去除。
MP3播放功能模块的工作分为两个部分:
第一部分是循环播放MP3歌曲,该功能需要首先做一些初始化工作,MP3解码器一旦开始工作,就会一直向CPU请求数据,直至歌曲结束,只有通过键盘操作才会使该功能提前结束。因为MP3文件的数据量较大,在flash存储器内是以页为单位进行存储的,所以MP3的播放程序初始化就是要把该文件的首地址和页数先读出到CPU中,然后CPU可以根据如上数据进行取数据工作。
第二部分则一直在等待中断发生,该程序是与键盘结合起来的,主要用于使用者对播放过程的控制。键盘操作对MP3播放过程的控制还包括后退、跃进、跳到下一首、音量控制等。因为整个播放过程的键盘控制功能比较单一,没有键的复合操作,所以程序都很容易实现。当MP3播放器插入到USB接口时,系统执行USB通讯功能模块,该模块主要用于对flash存储器内的文件数据进行管理。固件程序是该模块开发的主要工作,由于AT89C5lSNDlC没有外部中断引脚,USB中断没有中断向量地址入口,因此该固件程序的框架采用查询工作方式。
1 MP3硬件设计
在该硬件系统的设计中,采用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转换器等几部分。
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接口取电,因此采用低电压以及进行有效的功率管理是非常必要的。
2 MP3软件设计
硬件是设计的基础,软件是设计的灵魂。MP3程序由两大部分组成:MP3播放功能模块和USB通讯功能模块。此外,为了调试方便,还有调试功能模块。此模块在系统软件调试中使用,当MP3系统正常工作时去除。
MP3播放功能模块的工作分为两个部分:
第一部分是循环播放MP3歌曲,该功能需要首先做一些初始化工作,MP3解码器一旦开始工作,就会一直向CPU请求数据,直至歌曲结束,只有通过键盘操作才会使该功能提前结束。因为MP3文件的数据量较大,在flash存储器内是以页为单位进行存储的,所以MP3的播放程序初始化就是要把该文件的首地址和页数先读出到CPU中,然后CPU可以根据如上数据进行取数据工作。
第二部分则一直在等待中断发生,该程序是与键盘结合起来的,主要用于使用者对播放过程的控制。键盘操作对MP3播放过程的控制还包括后退、跃进、跳到下一首、音量控制等。因为整个播放过程的键盘控制功能比较单一,没有键的复合操作,所以程序都很容易实现。当MP3播放器插入到USB接口时,系统执行USB通讯功能模块,该模块主要用于对flash存储器内的文件数据进行管理。固件程序是该模块开发的主要工作,由于AT89C5lSNDlC没有外部中断引脚,USB中断没有中断向量地址入口,因此该固件程序的框架采用查询工作方式。
电子 单片机 MCU 电路 解码器 DAC USB ADC 看门狗 电源管理 Atmel 电压 LCD 相关文章:
- LCD TV整体电源解决方案-“GreenEngine?”技术(02-23)
- 在消费电子应用中考虑使用OTP存储器(04-13)
- 晶体元件在电子器件中不可缺(05-12)
- 用于移动电子设备的电路保护方案(11-08)
- 耳机设计:品质VS效率(01-07)
- SMARTCAR软件平台实现汽车电子系统软件的整体设计(03-30)