基于STM32的多功能MP3设计 毕业设计(论文)文献综述

来源:互联网 发布:图象处理算法 编辑:程序博客网 时间:2024/05/18 07:40

中国计量学院

毕业设计(论文)文献综述

 

 

学生姓名:   卢   杰   学 号:  xxxxxxxxx 

专    业:        电子科学与技术            

班    级:          10电子1                

设计(论文)题目:

      基于STM32的多功能MP3设计       

指导教师:          叶有祥老师               

二级学院:       光学与电子科技学院          

 

 

 

 

 

 

 

 

 

 

2014 年 03 月 17 日

 

 

 

前言

MP3全称是MPEG Layer 3,狭义的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式,是一种高质量音乐压缩标准,给音频产业带来了具大的冲击,采用MP3压缩的数据量可以缩小到1/12,音质却没有多少损失,近乎于CD的音质。我们都知道传统音乐文件在网络上传播时,主要用Winamp等播放软件进行播放,使MP3音乐无法脱离计算机进行播放,给音乐欣赏带来不便,而由于人们对MP3音乐的较小数据量和高质量的播放效果所吸引,开始想办法将MP3音乐播放功能单独分离出来,这样就产生了MP3播放器。它的记录媒介是芯片或SD卡,无需转动部件,彻底摆脱了磁带和光碟的束缚,因而抗震和节电性能更好。随着MP3播放器技术的发展,人们对MP3播放器的要求也越来越高,制造商在MP3播放器的选型设计开发和功能等领域等方面做了很多努力,便携式多功能MP3播放器的应用也越来越具有实际应用价值和潜在的市场要求,各大公司纷纷推出了自己的MP3播放器产品,IC供应商也提供了众多的MP3解码芯片及其解决方案,这使得MP3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔。以前的MP3播放器大部分都是基于ARM公司最新Cortex-M3内核的STM32系列微控制器,利用该处理器内置的SPI接口对SD存储卡进行控制,并对MP3音频文件进行硬解码或者软解码实现MP3的播放,并使用LCD显示歌词、调节音量等,还有的扩展了USB连接,使MP3播放器可以直接从PC上拷贝音频文件等。

 

主题

1、常用模块

MP3播放器一般设计方案是以微控制器为主控芯片,比如STM32,从SD卡中读取音乐文件的数据,送音频解码芯片进行解码,通过数模转换器将解出来的数字信号转换成模拟信号,再把转换后的模拟音频放大,低通滤波后送到耳机。有的还加入了USB连接,PC机可通过USB接口直接对SD卡进行读写操作,以方便拷贝音频文件。下面先来介绍一下几个常用模块。

1.1、STM32微处理器

Cortex M3是ARM公司最新推出的基于ARM v7体系架构的处理器核, 具有高性能、低成本、低功耗的特点,专门为嵌入式应用领域设计。ARM v7架构采用了Thumb 2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的, 并且保持了对现存ARM解决方案完整的代码兼容性。Thumb 2技术比纯ARM代码少使用31%的内存, 减小了系统开销, 同时能够提供比Thumb技术高出38%的性能。在中断处理方面,Cortex M3集成了嵌套向量中断控制器NVIC ( Nested Vectored Interrupt Controller )。NVIC是Cortex M3处理器的一个紧耦合部分,可以配置1~240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占、尾链、迟到技术的使用,大大缩短了异常事件的响应时间。Cortex M3异常处理过程中有硬件自动保存和恢复处理器状态,进一步缩短了中断响应时间,降低了软件设计的复杂性。此外Cortex M3还具备高度集成化的特点,大大减小了芯片面积,内部集成了许多紧耦合系统外设,合理利用了芯片空间, 使系统满足下一代产品的控制需求。STM 32系列是基于Cortex M3核的微控制器,它在Cortex M3内核的基础上扩展了高性能的外围设备。

1.2、音频编解码器

现在的MP3播放器有采用VS1053音频编解码芯片作为音频文件的硬件解码方案,VS1053能解码MP3、WMA、WAV等格式的音频文件,并且还能进行ADPCM编码,包含一个低功耗,高性能的DSP处理器,VS1053采用SPI的通信方式,通过判断DREQ来控制数据传输,如果此引脚为高电平则发送数据,如果为低电平则停止发送数据,因为音频编解码芯片自带立体DAC输出,如果解码成功,可以用示波器从LEFT和RIGHT引脚测得波形,并能够直接驱动耳机。当然也有使用VS1003音频编解码芯片的,它内部包含1个高性能、低功耗的DSP处理核,1个工作内存,1片可供用户程序使用的5. 5KB RAM,1个串行SPI总线接口,1个高质量的采样频率可调的过采样DAC以及1个16位的采样ADC。无论是选择VS1003还是VS1053,MP3播放过程是STM32通过SPI接口将数据从SD卡中取出, 然后通过SPI接口送至解码芯片VS1003/VS1053解码播放。

1.3、TFT液晶显示模块

一般传统的显示屏都是使用LCD1602或LCD12864,由于它们像素和图片显示效果不佳,后来MP3播放器都采用了TFT-LCD,它的显示驱动芯片一般采用ILI9320,其有320*240的分辨率,供电电压2.5~3.3V,16位数据接口,高的对比,高亮度,低功耗模拟电阻式触摸屏。

1.4、SD卡模块

一般MP3播放器系统需要大容量的存储器来保存音乐、图片、汉字字库等文件,而EEPROM的容量不足以满足MP3播放器系统的需求,所以在MP3播放器设计中需要添加一个SD卡模块。SD卡即安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,如今己在各种嵌入式设备上得到了广泛的应用,它具有外观小巧安全性高数据传输率快存储容量大等优点。

2、系统硬件设计

MP3播放器的主要功能是播放常见的所有音频文件,如MP3、WMA、WAV文件,可控制音量增减,通过LCD显示歌曲名字和播放状态等,有的实现了读卡器功能,PC机可通过USB接口直接对SD卡进行读写操作,以方便拷贝音频文件,当MP3播放器插入到USB接口时,系统执行USB通讯功能。下面分别介绍传统MP3播放器系统的存储模块SD卡、解码芯片VS1003/VS1053与ST M 32的硬件连接情况。

2.1、SD卡与STM32的连接

一般使用STM32内部接口SPI与SD卡进行通信,具体的硬件引脚连接情况如下:

一个普通IO口,低电平有效,连接到 SD卡的片选引脚CD/DATA3。SPI在和SD卡进行通信时,需要将这个普通IO口拉低才能对SD卡进行操作。

STM32内部接口SPI的主输出从输入(MOSI)信号线。这里STM32是主设备, SD卡是从设备。数据流的传输方向是从STM32传输给SD卡。该信号线用于传输一些控制命令来完成SD卡的操作,如读、写等。

STM32内部接口SPI的时钟(SCLK )信号线。可设置SPI的时钟频率来调整读取SD卡数据的快慢。

STM32内部接口SPI的主输入从输出(MISO)信号线。数据的传输方向是从SD卡传输给STM32,主要返回SD卡的一些状态、内部寄存器值等。

另一个普通IO口,用于检测SD卡是否完全插入。当SD卡完全插入时,这个IO口为低电平, 否则为高电平。

2.2、音频编解码芯片与STM32的连接

常规的设计是使用STM32内部接口SPI与音频编解码芯片进行通信,这里的音频编解码芯片可以是VS1003或者VS1053等,下面以这两款芯片来介绍其引脚连接情况。VS1003或者VS1053的中断请求引脚。当VS1003/VS1053内部数据已处理完毕,需要新的数据时,DREQ拉高。STM32根据这个信号来给VS1003/VS1053发送新的数据流。SCLK连接到STM32内部接口 SPI的时钟(SCLK)信号线。SO连接到STM32内部接口SPI的主输入从输出( MISO)信号线。这里STM32是主设备,音频编解码芯片是从设备。数据流的传输方向是从音频编解码芯片传输给 STM32。主要用于读取音频编解码芯片的一些状态和内部寄存器值,比如寄存器测试返回的内部寄存器的值。SI连接到STM32内部接口SPI的主输出从输入(MOSI)信号线。这里STM32是主设备,音频编解码芯片是从设备。数据流方向是从STM32传输给音频编解码芯片,主要传输给音频编解码芯片一些控制命令、MP3/WMA数据流等。音频编解码芯片的片选CS是低电平有效,如果拉低该引脚,那么通过SPI传输的是控制信号。控制信号包括读写音频编解码芯片的内部寄存器、对音频编解码芯片进行初始化、设置左右声道音量等。DCS也是低电平有效,如果拉低该引脚,那么通过SPI传输的是数据信号。比如在向音频编解码芯片传输MP3/WMA的数据流时需要拉低该引脚。RESET引脚是低电平有效, 拉低该引脚则硬件复位音频编解码芯片。

3、系统软件设计

采用STM32为控制器方案的软件由集成开发工具MDK专业版开发,它具有强大的编译、 链接和调试功能。基本工作过程大致为是STM32通过一个SPI从SD卡中读取MP3/WMA文件,将所读取的数据流通过另一个SPI发送到音频编解码芯片中解码播放,如果有USB通信功能,PC机可通过USB总线读写SD卡的内容,传送MP3/WMA等文件,LCD显示屏用于显示MP3的文件名、 播放状态。由于STM32的一个SPI读取SD卡文件的速度远超过音频编解码芯片播放数据流的速度,因此音频编解码芯片在播放来自STM32的另一个SPI的数据流期间, 这个SPI能从SD卡中读取下次播放所需的数据,不会产生声音不连续的情况。由于使用了2个SPI接口,相互之间无干扰,且提高了文件系统的效率, 因此本系统能得到非常高品质的音乐。

开机后首先检测硬件资源及软件资源,实现系统自检,自检完成后,自动加载功能菜单,并在触摸屏上显示,然后再根据用户在触摸屏上的选择,进行相应的操作。MP3播放器的核心功能是实现音频播放,这需要获得相应的音乐文件数据,根据文件的存储格式并结合SD卡读取驱动,得到相应的文件数据,每次读取多少个字节,当已经初始化完成并等待接收数据,DREQ引脚为高电平时,将读到的数据以每次32字节的速度送入到音频编解码芯片的RAM中,音频编解码芯片会自动去处理这些数据并得到模拟音频信号。

 

总结

上面介绍了一种基于STM32利用SPI读取SD卡里面的音频文件,在送音频编解码芯片硬解码,播放MP3音乐。但是这些设计只是做到了一个最基本的MP3播放器,主要功能有播放解码芯片支持的所有音频文件,如MP3、WMA、WAV文件,控制音量增减,通过LCD显示歌曲名字和播放状态等。现在音乐手机、PAD大行其道,他们都具备MP3播放功能,如果MP3播放器不改进,肯定是要被淘汰的。基于以上分析,MP3播放器最好设计成一个多功能的,比如是集音乐播放﹑电子图书、计算器、数码相框、照相机、FC游戏机、收音机、记事本、3D效果、手写画笔、录音机、USB连接和TOM猫等众多功能为一体的MP3播放器,实现触摸控制,良好的用户界面,让用户有更多功能可以体验。

 

参考文献

[1] 邹捷,唐荣年等.基于嵌入式系统的MP3播放器设计[J].海南大学学报(中国水运(下半月)), 2013,13 (2):1-2.

[2] 周兆丰,侯向锋,鲁池梅,李莲英等.uC/OS-II在STM32F103上移植的新方法[J].湖北师范学院学报(自然科学版), 2013,33 (2):1-5.

[3] 马义德,周炜超,文芳,李柏年,李庚. 基于SPCE061A的声控MP3播放器设计[J]. 微计算机信息,2009,1(8) :301-303.

[4] 程磊.基于STM32的MP3播放器的设计[J].苏州工业职业技术学院(内江科技), 2011,1(12):1-2.

[5] 李宁,熊刚,徐良平等.基于 Cortex M3的MP3播放器设计[J].武汉理工大学(自然科学版), 2009,1 (2):1-5.

[6] 颜锐,谭周文.基于STM32的多功能MP3设计[J].湖南人文科技学院(自然科学版), 2013,1 (4):1-4.

[7] 高云红,刘志群.基于STM32的多功能音频播放器的设计[J].山东行政学院(自然科学版), 2012,1 (12):1-3.

[8] 张学慧,朱爱珍.基于STM32的嵌入式MP3播放器的研究[J].山东科技大学(电子技术版), 2012,1 (4):1-3.

[9] 熊锦玲,陈湘萍.基于STM32的音频解码器[J].贵州大学(自然科学版), 2013,1 (2):1-5.

[10] 颜秋男,胡毅.STM32F103VB的SD卡在应用编程设计[J].合肥工业大学(自然科学版), 2012,2 (2):1-4.

0 0
原创粉丝点击