微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于VS1003解码器的MP3播放器设计

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

时间:02-18 来源:单片机与嵌入式系统 点击:

  引言

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

  1 系统设计

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

  


 

 

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

  2 硬件模块的具体实现

  2.1 MSP430F149单片机最小系统

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

  


 

 

  2.2 音频解码模块

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

  

 

 


 

 

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

  


 

 

  采用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.O Mb/s。为了让LCD3310液晶能够显示4行12×12的汉字,系统开辟了一个6×84字节的缓冲区。写液晶时就不用直接写入LCD3310的静态 DDRAM了,可以先写入系统为它开辟的数据缓冲区,最后再刷新修改的部分就可以显示出要显示的内容。LCD3310的接口采用SPI模式,其电路如图6 所示。

  3 软件设计

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top