基于STM32的MP3 下载本文

内容发布更新时间 : 2024/5/4 10:55:23星期一 下面是文章的全部内容请认真阅读。

贺州学院本科毕业论文(设计)

引 言

伴随电子畛域的各个技术的迅速发展,各类电子产品的消费也产生了革命性的转变,引领新技术、创新产品层见叠出。特别是跟着网络媒体的技术的遍及、数字音频视频技术的迅速发展,和种种视频,音频数据压缩标准和相应的终端设备相继问世,已成为消费电子产品新的快速增长点。集成MP3的优点,同时拥有更多的新技术。

第一款MP3的出现是在1998年,从它问世电子消费市场短短的几个月时间就在市场上站稳的脚,而且消费的趋势一直呈上增长,直到2005年之后MP5的出现,而MP5的出现,更是把MP3几乎挤出了市场,MP5不光能够播放MP3、MP4,更是可以直接播放AVI和RMVB等合流的影片格式,说白了便是MP5具备MP3、MP4的全部功效,同时还具有他们不具备的功效,是以MP5代替MP3只是时间的问题,当前MP5的价钱较高是最主要的缘由,要是MP5的价钱降下来了,便是MP3离开消费者的时候了。当前此外一个数码产物-数码相框,跟着数码相机的不断广泛应用,也在偷偷的袭来,数码相框便是能直接播放JPG/JPEG的一个微型显示器,正常的数码相框比MP3体积大,然而它们的本来目的不是面向移动设备的,数码相框重要作用在于家庭,它们主要功能不再移动上面,实际上,数码相框主要功能是显示照片,如果做成移动设备的话,体积必定不能太大,但是体积小带来的结果是图片显示效果就不好。

现在的数码相框显示屏分辨率一般是480*720,对于日常的照片显示效果还是可以应付过来的,当然数码相框的开发者对图像显示进行了精心设计,使得我们的照片的分辨率不管是怎么样的,它都会执行最优的选择,以用来显示最佳效果,同时数码相框一般还具有其他附加功能,MP3便是其中一个功能,可以让图片与声音同时播放,为相片的浏览添加了声音的色彩,同时数码相框还拥有TV-OUT的功效,这就很好的提高了分辨率的显示,让照片可以在电视上显示,可以大大的提高相片的观赏价值。

通过对以上两款数码产品的分析,可以发现,新出的数码产品都包含了MP3的功能,但是又不限于此,也就是集成了MP3的优点,同时拥有原来MP3不具有的功能。这样,大大的提高了消费者对新的数码产品需求。

2

贺州学院本科毕业论文(设计)

1 方案设计

1.1主要内容

本设计课题是一个由STM32f103RBt6主控来完成MP3音频播放设计的软硬件相结合类的设计题目。能够实现MP3的基本播放功能,也具有其他多样化的外扩功能,系统的整体功能包含:音频播放,电子图书,图片浏览,画板,录像,录音机,日历,游戏,收音机,记事本,计算机等。

系统的组成部分只要有VS1003的音频解码、TEA5767的收音制作、CD3314音量级处理、SD卡控制、功率放大、电源、人机交互等,全系统由一块小型MPU(STM32F103RBT6)掌管运行,利用各模块通信协议协调运转。本系统实现多样化功能,非常具有挑战性,主要的重心难点在于FAT32文件及系统的解析,JPEG/BMP图片数据格式解码,触摸屏的运转等。由于本系统的特点需要,采用了各个击破的方法,一一实现以上功能,最终完成整个系统的功能。

2 系统硬件设计

2.1 整体设计思路

MP3音频播放重点完成图片浏览和音乐播放等,所以本设计要求对MCU内存

运行、处理的能力比较高,因为图片解码压缩需要的RAM比较多,对于MP3播放,要求较高的处理速度,特别是320Kbps的MP3格式数据的处理,为了保证MP3歌曲的流畅播放处理速度必须要快。可选择的MCU有16位的AVR,8位的STC等,可选择的32位的处理器有SAMSUNG、NXP、STM32、ATMEL等。

在RAM方面来说,对于8位单片机内部的RAM一般在4Kbyte以内,更多的内存是需要外部提供,32位的单片机里面,SAMSUNG很少自带RAM,也要外部提供,对于本设计来说,成本越低越好,外部提供的RAM必定会提高成本的开发,所以为了更好的掌控成品的高低,尽可能的选用MCU自带有FLASH和RAM的。

其次,本设计有MP3歌曲的播放以及JPEG/BMP图片浏览等功能,但是这两种文件格式需要较大的存储空间,可供选择的FLASH芯片,如SAMSUNG公司的K9F系列,但是这样的话,整个系统的容量就不可以改变了,需要扩容是困难。相比较来说U盘和SD卡是个不错的选择,但SD卡相比较与U盘,在掌控上面较容易,而且相同的容量SD卡价格便宜一些,故系统选择SD卡作为存储媒介。

3

贺州学院本科毕业论文(设计)

第三,MP3音乐的播放是在读取SD卡和VS1003的同时进行的,它们用到的都是SPI通讯协议,所以需要主控芯片要有两个或两个以上SPI共使用,这样才能有效的把读取速度提高。

综上所述,本设计采用STM32f103RBT6作为主控芯片,该芯片具有的内部资源加上一点外扩之后可以胜任本设计。 2.2 硬件器件的选择

在系统实现的过程中,硬件选择是非常重要的一部分,主控芯片已经确定好了,接下来就是其他芯片的选取,来实现其相对应的功能,下面我们重点分析以下几个芯片的选型。 2.2.1 MP3解码芯片选择

使用STM32主控芯片解码有两种方法,第一是通过处理器的软件解码,第二是通专用芯片解码,第一种方法要求芯片运算速度非常高,而且声音不是很流畅,对播放的采样有极大要求,故选择第二种专用芯片解码。

本设计使用解码MP3的芯片是VS1003,它支持WAV格式、MP3格式、MIDI格式、WMA格式等,同时可以设置调整音量高低等,而且还有一个功能是可以支持MICI,此外还可以扩展录音功能。 2.2.2 收音机芯片选择

本设计的收音功能只适用于FM收音,选用TEA5767芯片来实现,TEA芯片是飞利浦公司生产的一款低功耗电调谐调的立体声收音机芯片,该芯片通过IIC总线协议可以直接控制。可以实现调频接收,频率的范围在76MHZ~108MHZ,而且接收的是立体声,带信号强弱指示,但由于芯片体积较小,焊接困难,所以直接采用模块来实现,使用非常方便,可以提高本设计效果,节约时间以及成本。 2.2.3 EEPROM芯片选择

本设计需要保存用户的部分数据,而STM32需要外部扩展EEPROM,防止系统

掉电之后整个系统的数据将会复位,利用外扩的EEPROM芯片可以实现用户数据的存储,EEPROM芯片有很多可供选择的,由于在学习过程中比较常用的是ATMEL的24CXX系列的,而且价格便宜,故本设计最终采用了ATMEL的24C16芯片。 2.2.4 功率放大芯片选择

本设计包含两块放大芯片,一块是用来放大从CD3314输出的音频信号以方便驱动耳机,另一块是功率放大,用来驱动扬声器的。

一级放大可供选择非常多,比如TDA2822,TPA152等,但是TPA152与TDA2822

4

贺州学院本科毕业论文(设计)

比较事,后者的优势比较大,TDA2822对音质失真控制不好,THD大概在10%,而TPA152在带有32Ω负载的前提下THD是2%,在带有10KΩ负载的前提下小于0.01%。而且TPA152的输出功率比TDA2822大,总输出可以达到1.5W。因此,这里选取音质相对好的TPA152芯片,作为耳机驱动芯片。 2.2.4电源芯片选择

本设计要求系统电压输入: 2.5V, 3.3V,5V.所以对电源的处理需要满足能输出以上电压,

系统电源主要包括给数字芯片供电,这些电源需要的功率小,可以选用REG1117-2.5和REG1117-3.3V稳压芯片供给2.5V和3.3V的电压。REG1117的输出电流为800ma,符合设计要求。

对于5V输入,也是采用LM2576,因为整个系统的数字部分电源供给都是来自5V的,所以它的电流较大。 2.3 硬件系统框图

综上分析,可以得出,整个设计系统由STM32F103RBT6芯片掌控,各个模块电路的详细介绍也在下面一一介绍,如图2.1所示是整个硬件系统设计框图。

图2.1 硬件系统框图

图2.1描述了各个模块与主控芯片之间的联系,由于电源不被MCU控制,所以在图2.1内没有画出。由上图2.1可以得出,整个硬件系统设计以STM32F103RBT6为核心,通过各种方式控制各个模块的工作,使整个系统完成预

5

贺州学院本科毕业论文(设计)

定的功能。

2.4 硬件模块化原理图设计

在此节中,将根据上面的硬件系统框图进行具体的硬件设计介绍,整个设计可以分为若干个模块。下面对这些模块进行逐一介绍。 2.4.1 MCU和DS18B20模块电路设计

MCU为整个设计系统的核心,它控制着这个系统的运行,让主控芯片稳定运行是必要前提,下图(图2.2)为MCU的原理图,包含一个后备电源UPS1,一个主电源VCC3.3和一个模拟电源,模拟电源通过从VCC3.3加滤波电路得到。MCU外围的必须电路由滤波电容,下载电路(串口1)以及复位开关组成。同时,考虑到系统需要时钟功能,给时钟部分增加了后背电源电路,通过二极管连接到VBAT脚,给实时时钟供电。这里采用了双电源结构,即在电源有外部供电的时候,后备电池不给时钟供电,时钟的电源来自外部,只有当外部电源断开的时候,后备电源才给时钟供电,以保持时钟的计时,这样可以延长后备电池的使用时间。

同时,为了方便调试,电路中还添加一个多余的按键以及LED,以方便在调试时使用,而且为了最大化的使得布线难度的降低,布局的美观,对一些IO的控制做了相应的调整,而且所以的IO也全部引出,方便以后功能的扩展,如:门禁系统等。与此同时,SMT32F103RBT6自带的USB口也引出,方便日后升级使用。

这里值得注意的是,因为CD3314,TEA5767,AT24C16这三个器件使用的是同一IIC接口,可以节省IO。

6