基于嵌入式系统的多媒体音乐播放器
摘要:为了改善音乐播放器传统界面,扩充功能,提高音质,基于ARM7嵌入式系统平台和FAT 32文件系统,设计了一款带有文本阅览功能的多媒体音乐播放器。它不仅能正确识别并显示存储在SD,MMC等存储卡内的音频文件,支持环绕立体声调节和重低音调节,还可通过液晶屏浏览存储在存储卡内的中、英文TXT文档。该播放器选用具有出色音频解码能力的VS1053解码芯片,它支持320 Kb/s的MP3或256 Kb/s的WMA音乐文件的播放。该播放器通过视听验证,实现了4种以上不同的音效,满足使用者对音效的不同喜好。实现了环绕立体声调节和真正的立体声双声道音频输出。同时在操作上简单便捷,具有友好的人机界面。
关键词:ARM7;SD卡;多媒体播放器;VS1053
0 引言
嵌入式系统具有处理速度快、低功耗、体积小、功能强大且易于移植等优点而得到广泛的应用。MP3(Moving Picture Experts Group Audio LayerⅢ)全称是动态影像专家压缩标准音频层面3。它设计用来大幅度地压缩音频数据量,并实现重放的音质与原来不经压缩的音频相比没有明显的下降。鉴于MP3编码方式的特点,将其作为音乐播放器的音频文件时,可以在有限的存储空间内存放更多的音频信息。现在的数字音乐播放器市场,采用ARM主控+DSP音频解码芯片+SD存储卡所构成的数字音乐播放系统具有强大的播放能力和较好的性价比,在中、高端音频解码领域内有着较强的生命力。本文针对嵌入式系统的开发特点,设计了基于嵌入式系统的MP3播放器。
1 系统组成
系统主要由主控制器LPC2138、音频解码芯片VS1053、存储设备SD卡、显示设备OCM12864、输入设备键盘和系统供电电源组成。其中各部分电路均采用模块化设计,各模块之伺通过杜邦线进行连接。系统框图如图1所示。
2.1 主控系统LPC2138
LPC2138是支持实时仿真和跟踪的16/32位ARM7TDMI-STM CPU,并带有64 KB RAM和512 KB的高速FLASH存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最高时钟速率下运行。ARM7体系为32位构架,它在处理数据时相对于8位单片机效率明显提高,在处理文件系统所需要的大量的长整形数据的乘除运算时这种优势更为明显。同时它的硬件SPI,SSP总线控制器可以使控制器方便的与外部扩展设备进行连接。而且它的性价比较高,很适合用来做数字音乐播放系统的主控制器。
2.2 音频解码器VS1053
VS1053是VLSI Solution Oy公司生产的高性能、低功耗的以VS_DSP为内核的一款音频解码芯片,可轻松解码MP1,MP2,MP3,WMA,IMA ADPCM,General Midi 1,Ogg Vorbis,LC-AAC和HE-AAC等音频格式的文件,片内还集成有16 KB RAM。该芯片具有高信噪比DAC,功耗更低,并具有环绕立体声调节和高低频渲染等功能。采用VS1053芯片可以在不提高CPU主频的情况下实现320 Kb/s的MP3文件或256 Kb/s的WMA文件的音频解码工作,并且音质上有了明显的提高,信噪比可达90 dB以上,满足系统85 dB的要求。
2.3 I/O口分配
LPC2138主控制器直接采用了广州周立功公司的EasyARM开发板,减短了开发时间并有效保证了电路部分的稳定性。系统晶振采用11.059 2MHz的外部晶振,通过内置的PLL倍频电路,可以将主频升高到44.236 8 MHz,满足系统要求。I/O资源分配如表1所示。
LPC2138具有2个独立的SPI总线控制器(其中一个由SSP配置得到),SD卡均可通过SPI总线和处理器通信。将SPI接口分配给SD卡。
对于液晶屏,通过I/O口模拟其串行通信时序,因此只需分配两个I/O(数据线和时钟线)即可。
对于键盘部分,考虑到使用者操作的便捷性,共设计了5个按键。由于LPC2138的I/O资源非常丰富且该音乐播放器使用按键数量较少,故不采用矩阵译码键盘而直接使用了5个通用I/O口。这样简化了硬件设计和程序设计。
2.4 SD卡存储器模块
SD卡的通信线在总线空闲状态下应保持高电平,因此总线上接有50 kΩ的上拉电阻。SD卡在上电初期,卡主控通过检测引脚1(DAT3)的电平来决定工作在SD模式还是SPI模式。当此脚高电平时,SD卡进入SD模式;当此脚为低电平时,SD卡则工作于SPI模式2。卡槽采用了非弹出式的卡座,可以有效地保证SD卡通信的稳定性和可靠性。采用杜邦线将SD卡的SPI总线接口和LPC2138的SSP总线接口对接起来,实现数据的通信。
2.5 OCM12864液晶显示
OCM12864液晶屏可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。它提供3种控制接口,分别是8位微处理器接口,4位微处理器接口和串行接口。在该系统中由于未涉及图形显示,且对显示的速度要求不是很高,因此采用串行接口实现与处理器的通信。OCM12864通过SCLK线和R/W线实现和处理器的串行通信。根据表1,将SCLK和R/W线与单片机分配的对应I/O用杜邦线连接起来即可。
2.6 MP3声音输出的功放单元采用UTC2822D
UTD2822D输入电压在1.8~15 V之间,在正常发热状态下工作电流约为1.4 A,可以使用在该设计当中。功放电路的设计原理图如图2所示。
- DIY你的电子玩具:网络音乐电台,给你系统解决方案、软硬件设计实现(04-16)
- 变频器在音乐喷泉上的应用(12-20)
- 单片机音乐-输出口P0.4 STC89C52RC测试通过(11-30)
- 基于51单片机的数字音乐盒C语言驱动程序(11-28)
- 基于单片机设计的音乐马桶(11-28)
- mcu音乐程序的设计与实验(11-27)