基于STC单片机的MP3设计

2017-04-26 04:04张逸龙姜亚民
无线互联科技 2017年6期
关键词:播放器音量解码

张逸龙,姜亚民

(西华大学,四川 成都 610039)

基于STC单片机的MP3设计

张逸龙,姜亚民

(西华大学,四川 成都 610039)

文章完成了基于51单片机的音乐播放器的软件设计,主要介绍了对SD所存储的MP3格式的文件识别、提取以及音频解码程序实现的方法,通过与硬件调试表明所设计的音乐播放器可以通过按键选择歌曲以及控制音量,声音的播放可以通过扬声器或耳机进行,基本实现了音乐播放器的功能。

单片机;音乐播放器;SD文件读取;音频解码

1 系统方案设计

本设计的音乐播放器,有5个按键控制按钮:下一曲、上一曲、播放/暂停、音量加、音量减。通过对按钮的控制来实现对单片机要求播放的音乐,通过液晶显示出当前的播放信息,并通过放大电路和音频设备输出声音。必要时可调节音量的大小。硬件总体系统如图1所示。

图1 硬件总体系统

本次的MP3播放系统是以STC12C5A60S2为控制核心,SD卡模块、智能解码芯片VS1003和播放器按键处理模块,以及液晶显示模块组成。位于SD卡里面的MP3格式的媒体文件首先被读取到单片机内存中,然后紧接着又被传送到VS1003的解码芯片里面等待进行解码,被解码以后的媒体文件信息被转换成了模拟的音频信号,最后模拟信号在扬声器中被放大并输出,最终形成了人们所听到的音乐。但是由于此次设计所采用的单片机本身并不支持USB接口功能,所以微处理器便无法同电脑直接进行数据上的交换,因此就需要相应的存储设备来作为这样一个进行数据交换的桥梁。除此以外设计中的其他部分所使用的芯片均是直接连接在普通I/O口上面。

2 硬件电路设计

2.1 STC12C5A60S2单片机

STC12C5A60S2/AD系列单片机是一种使用相当广泛的单时钟机器周期的单片机,与普通的8051单片机相比,它拥有如下特点:

(1)在晶振频率相同的情况下,处理速度使普通51单片机的8~12倍。(2)还拥有一个8路10位的AD转换器。(3)相较于51单片机,多了两个定时器,而且还都兼有PWM功能。(4)在指令代码方面则与51单片机相互兼容,可以说在代码指令的编写上,拥有十分优良的可移植性。

2.2 按键控制电路

按键控制电路,当按键按下时接口接低电平,从而实现对音乐曲目的选择控制。按键一实现下一曲更换,按键二实现上一曲更换,按键三来实现播放/暂停切换,按键四接通实现音量增大操作,按键五接通实现音量减小操作,接线如下所示。

2.3 音频解码芯片VS1003电路

VS1003芯片是一个MP3/WMA/MIDI音频解码器和ADPCM编码器。它包含一个高性能,自主产权的低功耗DSP处理器VS_DSP4,工作数据存储器,为用户应用提供5 kb的指令RAM和0.5 kb的数据RAM。4个常规用途的I/O端口,一个UART,一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器。VS1003通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。输入的比特流先被解码,然后通过一个数字音量控制器到达一个18位过采样多位ε-ΔDAC。通过串行总线控制解码器。

2.4 SD卡电路

此次的智能音乐播放器设计是选择的将SD卡来作为媒体文件的存储介质,由于SD卡目前的存储和使用技术较为成熟而且价格成本也比较低廉,所以将其用来存放待播放的MP3文件是十分明智的选择。

SD卡数据传输分为SPI模式和SD模式,设计中采用SPI模式。SPI模式下SD卡只需接MISO,MOSI,CLK等7个引脚,而ATmega32单片机提供了相应接口,其标准电压为5 V,SD卡的供电及接口标准电压均为3.3 V,故设计了ATmega 32单片机与SD卡的电压转换电路,其原理如图2所示。

3 系统软件设计

3.1 软件总体分析

VS1003解码即VS1003译码程序,主要完成数字信号的采集、信号滤波等功能。考虑到模块化程序设计以及高内聚低耦合的原则,VS1003的解码程序于是便分成了若干小模块来进行设计。解码程序的总体设计思路是解码芯片VSl003通过同步串行总线SPI与微处理器进行命令和数据的传输。只要正确写SPI相关寄存器就能轻松实现控制。VSl003的同步串行总线(SPI)接口拥有两种工作模式:分别是兼容模式和新模式这两种。将寄存器“SM_SDINEW”设置为1可以使VSl003处于新模式的工作状态,此时设置SM_ SDISHARE为0,控制信号和数据信号的传送会分别采用XCS和XDCS作为同步信号。在系统开始工作时,通过单片机的控制便将存放在SD卡里面的媒体文件信息送到VS1003中去,然后通过VSl003芯片解码以及其内含的高质量的立体声DAC和耳机驱动电路,实现MP3歌曲的播放功能。

图2 ATmega 32单片机与SD卡的电压转换电路

3.2 VS1003模块的MP3文件播放程序设计

系统上电启动后,由单片机控制将存储于SD中歌曲的MP3数据格式流信息通过CH375的USB接口芯片送入到VSl003芯片中,通过VSl003芯片解码及其内含高质量的立体声DAC和耳机驱动电路,实现MP3歌曲的播放,在按键的控制下,可实现对歌曲的选择、音量增减等功能。VSl003的所有数据和控制命令均通过SPI总线接口实现。

要控制VS1003首先要实现的就是写命令,它是控制实现成功的前提。关于通信接口部分,它是一种同步串行接口方式(SPI从机模式),它要求SCLK信号必须由外部电路产生,数据(SDATA)在SCLK的上升沿或下降沿时被写入。

对VS1003的初始化与测试都通过后,就可以给它发送MP3文件。数据的写入方法主要是看DREQ信号,在VS1003的FIFO能够接收数据的时候输出高电平。每次可以写入32个字节的数据,因为VS1003有32 Byte的数据缓冲区,而DREQ变低时,单片机就要停止数据的发送。

一般一次读一个扇区,然后将数据发往VS1003,由于VS1003有32Byte的数据缓冲区,一次可以发32个字节的数据,然后检测DREQ电平,当DREQ为高时送下一个32 Byte的数据,直到发完为止。DREQ为高表明VS1003可以接受新的数据,如果不考虑DREQ的状态,直接连续地给VS1003发的MP3数据的话将会出现音乐断断续续的情况。

4 结语

MP3播放器在现在市场上已经变得非常常见,从这个角度看,MP3的发展潜力已经不是很乐观。但是,微型存储卡技术却在飞速发展,而且,将存储卡与MP3相结合的技术却并不乐观,因为在这方面字库处理的方法还需要得到提升,当SD/MMC卡更换后,怎样才能让汉字字库保持不变很难办到。因此,这种基于SD卡的MP3播放器在现实中,仍然具有一定潜力。而且,它在被用作MP3的同时还可以用作存储器。对于用户来说,这无疑是一种新意、一种优势,值得去购买、体验。由于它本身的小巧,还可以嵌入车载系统、家庭娱乐系统等设备中。如果能在这些方面加以应用,这种基于SD卡的MP3播放器还有很大潜力可供挖掘。

[1]范海绍,李方园.零起点学Proteus单片机仿真技术[M].北京:机械工业出版社,2012.

[2]智兆华,张鹏.USB接口芯片CH375的原理及应用[J].今日电子,2005(8):74-75.

[3]董杨生.USB主机在嵌入式系统中的应用[J].嵌入式系统,2008(6):22-25.

[4]袁卫,党纪源.基于单片机的MP3播放器设计[J].现代电子技术,2011(4):123-125.

[5]黄平平,吉荣廷,沈大鹏.基于CH375实现单片机读写U盘[J].现代电子技术,2006(18):13-15.

Design of MP3 based on STC microcontroller

Zhang Yilong, Jiang Yaming
(Xihua University, Chengdu 610039, China)

This topic finishes the software design of the music player based on the 51 microcontroller. The paper mainly introduces the method of identification, extraction and audio decoding program to the storing the SD disk MP3, WMA or MIDI format file. At the same time the hardware debugging shows that the music player can select the songs and control the volume through the keyboard, at the same time through the screen display the song name. The sound can play through the speakers or headphones. The design basically realizes the function of music player.

microcontroller; music player; SD file read; audio decoding

张逸龙(1995— ),男,四川成都,本科;研究方向:轨道交通信号与控制。

猜你喜欢
播放器音量解码
测测你的“音量值”
《解码万吨站》
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
解码eUCP2.0
基于STM32的MP3播放器设计
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
Moon ACE播放器/放大器一体机
请放心地扭大音量看电影听音乐吧!Mclntosh Sonus Faber家庭影院套装
播放器背板注塑模具设计