APP下载

基于VS1003解码器的MP3播放器设计※

2010-01-26洪家平

单片机与嵌入式系统应用 2010年11期
关键词:解码器播放器低功耗

洪家平

(湖北师范学院计算机科学与技术学院,黄石 435002)

基于VS1003解码器的MP3播放器设计※

洪家平

(湖北师范学院计算机科学与技术学院,黄石 435002)

以MSP430F149作为核心控制器,结合VS1003音频解码器,设计了一种带SD卡的MP3播放器,给出了MP3播放系统的软硬件设计。在硬件设计上,解码器与存储器分离,增加了存储容量;在软件设计上,使用条项菜单方式进行管理,可以方便地进行硬件或软件的升级。经过测试,该MP3播放器播放效果较好。

MP3播放器;SPI总线;MSP430F149;VS1003

引 言

虽然现在市场上MP3的款式越来越多,功能越来越丰富,外观设计也越来越个性化和人性化,但是,现有的MP3播放器大部分还是将解码器与存储器一体化。这种设计对MP3播放器的便携性起了关键性的作用,但与此同时也带来了一些问题:一方面存储容量不易扩展,另一方面也不利于MP3播放器在其他领域的应用。本系统将存储器与解码器分离,可以利用多余的I/O接口,只要适当增加少量硬件开销并添加相应代码,即可以在此系统基础上方便地增加电压测量、频率测量、温度测量等功能,做到一机多用。

1 系统设计

MP3播放器系统结构框图如图1所示。系统在硬件上主要包括MSP430F149单片机最小系统、音频解码模块、SD卡读写模块、液晶显示模块以及用来存储自制字库的Flash存储器等重要模块。

图1 MP3播放器系统结构框图

MSP430F149是美国TI公司的MSP430系列单片机,它具有适合于各种应用的16位结构。采用“冯◦诺依曼”结构,因此其 RAM、ROM和全部外围模块都位于同一片地址空间内。而且具有超低功耗性能,同其他微控制器相比,MSP430系列可以大大延长电池的使用寿命,这对手持设备及一些要求低功耗电子产品中是非常重要的。此外,它还具有灵活、强大的处理能力、丰富的存储器、外设等优点。

2 硬件模块的具体实现

2.1 MSP430F149单片机最小系统

MSP430F149最小系统是整体设计中最核心的部分,控制着系统各个子模块之间的协调运行。它设计的成功与否,直接关系到整个设计能否正常运行。如图2所示,MSP430F149最小系统中主要由稳压模块、晶振电路、复位电路以及人机交互式按键输入4部分组成。SPX1117M 3-3.3是系统稳压芯片,为系统提供稳定的3.3 V电源。SP708S是系统管理芯片,与手动复位开关一起,主要起可靠复位作用。考虑到MP3播放器的人机交互操作,共设计了6个按键(KEY1到KEY6)。它们的按键功能分别是:确定、向下、向上、退出、音量加、音量减。

2.2 音频解码模块

图2 MSP430F149最小系统

VS1003是芬兰VLSI公司生产的单芯片MP3/WMA音频解码芯片。其拥有一个高性能、低功耗的DSP处理器核VSDSP,5KB的指令RAM,0.5 KB的数据RAM,串行的控制和数据输入接口,4个通用I/O口,1个UART口,1个可变采样率的ADC,1个立体声DAC以及音频耳机放大器。其内部结构图如图3所示。

图3 VS1003内部结构图

音频解码模块对单片机从SD卡里读取的数字MP3音频数据流进行解析,并转换成模拟信号进行输出。图4是该MP3播放器的音频解码模块电路原理图。

图4 音频解码模块电路原理图

采用VS1003音频解码芯片来实现音乐数据流的解析。VS1003与核心控制器MSP430F149的数据通信是通过SPI总线方式进行的。VS1003通过串行命令接口(SCI)和串行数据接口(SDI)来接收MSP430F149的控制命令和MP3的数据;通过xCS、xDCS引脚的置高/低来确认是哪一个接口处于传送状态。VS1003的功能控制,如初始化、软复位、暂停、音量控制、播放时间的读取等,均是通过SCI口写入特定寄存器实现的。两条SCI指令之间要通过DREQ引脚信号判断上一次处理是否完成。

2.3 SD卡模块

SD卡价格低,存储容量大,使用方便,通用性与安全性强,MP3、数码相机等设备上都采用SD卡作为其存储设备。

SD卡支持两种总线模式:SD模式与SPI模式。其中,SD模式采用6线制,而SPI模式采用4线制。采用单片机对SD卡进行读写时一般都采用SPI模式。可用不同的初始化方式使SD卡工作于SD或SPI模式。

本设计中,音频数据MP3文件以SD卡为载体,所以设计电路时必须含有读取SD卡模块。图5为SD卡模块(SPI模式)的接口电路。

2.4 液晶显示模块

LCD3310液晶是一个48行84列的液晶显示器。其带有低功耗PCD8544的CMOS LCD控制驱动器,串行输入速度最高可达4.0 M b/s。为了让LCD3310液晶能够显示4行12×12的汉字,系统开辟了一个6×84字节的缓冲区。写液晶时就不用直接写入LCD3310的静态DDRAM了,可以先写入系统为它开辟的数据缓冲区,最后再刷新修改的部分就可以显示出要显示的内容。LCD3310的接口采用SPI模式,其电路如图6所示。

图5 SD卡模块接口电路

图6 液晶显示模块接口电路

3 软件设计

图7是MP3播放器的软件流程。系统启动后,先初始化硬件模块。由单片机通过FAT32文件系统接口读取SD卡的一些基本信息,如容量、扇区大小、FAT表以及根目录所在的起始扇区等。通过这些信息就可以找出SD卡是否有可以播放的音乐文件。若有,单片机通过SPI总线方式读出音频信息,并将歌曲的码流信息送入到VS1003芯片中,通过VS1003解码芯片及其内含的高质量立体声DAC和耳机驱动电路,实现MP3歌曲的播放功能。在按键的控制下,通过LCD3310中菜单选项的选择,实现对歌曲选择及音量控制等功能;在播放的同时,LCD3310上显示的信息除歌曲名称外,还包括进度和音量等。

图7 MP3播放器的软件流程

编者注:SD卡、LCD3310液晶、VS1003音频解码器初始化程序略。

经过运行测试,系统可以正常流畅地播放出320 kb/s的高音质MP3音乐文件,而且在使用500 m A锂电池的情况下,可以连续正常地播放长达10个小时。可见,其功耗比较低。

结 语

本着低成本、实用性强的原则,设计了一种解码器与存储器分离的MP3播放器,可以流畅地播放出高音质的MP3文件。同时,只要适当增加少量硬件开销并添加相应代码,即可以利用多余的I/O口在此系统基础上方便地增加如电压测量、频率测量、温度测量等功能,真正做到一机多用。

编者注:本文为期刊缩略版,全文见本刊网站www.mesnet.com.cn。

[1]胡大可.MSP430系列超低功耗16位单片机原理与应用[M].北京:北京航空航天大学出版社,2000.

[2]魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002.

[3]梁炎昌.一个占用内存极少的菜单系统的实现[EB/OL].(2009-4-26)[2010-05].http://www.docin.com/p-26094353.htm l.

[4]肖宏伟.Visual C++开发答疑[M].北京:人民邮电出版社,2003.

MP3 Player Design Based on Decoder VS1003※

Hong Jiaping
(College of Com puter Science and Technology,HubeiNormal University,Huangshi 435002,China)

Taking MSP430F149 as the core controller and VS1003 as audio decoder,an MP3 p layerwith SD card is designed.System hardw are and softw are designs are given.In the design of hardw are,the decoder and thememory are separated,increasing the storage capacity;in the design of softw are,management is achieved through themenu items,facilitating the hardware and softwareupgrading.Test show s that thisMP3 player can play high-quality audio files with good effect.

MP3 player;SPIbus;MSP430F149;VS1003

TP368.1

A

洪家平(教授),主要研究方向为嵌入式系统应用、无线传感器网络技术与应用。

2010-05-17)

TKScope嵌入式仿真开发平台讲座(21)

猜你喜欢

解码器播放器低功耗
科学解码器(一)
一种高速低功耗比较器设计
科学解码器(二)
科学解码器(三)
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于STM32的MP3播放器设计
Moon ACE播放器/放大器一体机
播放器背板注塑模具设计
ADI推出三款超低功耗多通道ADC