毕业设计基于STM32单片机的mp3播放器毕业设计.doc
《毕业设计基于STM32单片机的mp3播放器毕业设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于STM32单片机的mp3播放器毕业设计.doc(32页珍藏版)》请在三一办公上搜索。
1、11032011物理与电子信息工程系电气工程及其自动化2007级0710617114张蓝凯讲师曾繁政18978414837基于STM32的MP3播放器设计基于STM32的MP3播放器设计摘 要随着数字编解码及压缩技术的发展,语音文件也朝着高压缩比、高保真的方向发展,从MP1、MP2到目前的MP3格式。因此高压缩比、高保真MP3播放器设计研究有很好的应用前景。本论文详细介绍了基于STM32的MP3播放器的设计的方法,系统实现了把SD卡中存储的MP3格式的文件解码播放,并在TFT触摸屏上显示播放歌曲的名称、歌曲播放剩余时间及显示歌曲对应的歌词,通过TFT触摸屏上的图形交互用户图界,还可以实现歌曲的
2、快进、快退、暂停和更改循环模式等,基本上可以实现一个带有触摸屏功能的MP3播放器。关键词:MP3播放器;STM32F103VCT6;VS1003;SD卡ABSTRACTAt the development of the digital coding and decoding and compression technology, Voice files are also moving in a high compression ratio, high-fidelity direction, from MP1, MP2 to MP3 format now. Therefore, high com
3、pression ratio, high-fidelity design of MP3 players have a good prospect.This paper introduces based STM32s MP3 player design methods, system implements the SD card stored in MP3 format decoding player, and TFT touch screen display playing a song title, song playback remaining time and display songs
4、 Corresponding to the lyrics, through the TFT touch screen graphic interactive graphical user community, Songs can also fast forward, rewind, pause and change the loop mode, basically can function with a touch screen MP3 player. Key words: MP3 player; STM32F103VCT6; VS1003; SD Card目 录摘 要IABSTRACTII1
5、绪论11.1选题背景11.2国内外研究现状及意义12系统硬件方案设计22.1设计目标22.2设计方案对比22.2.1控制器方案22.2.2MP3解码方案32.2.3显示模块方案32.2.4MP3储存介质方案32.3系统设计原理42.3.1中央处理器工作原理42.3.2音频解码芯片52.3.3TFT电阻式触摸屏72.3.4SD卡93系统软件方案设计113.1系统软件开发平台113.1.1程序设计流程图123.2各模块软件系统设计123.2.1VS1003驱动程序123.2.2TFT显示屏驱动程序133.2.3SD卡驱动程序154系统测试、调试164.1运行过程164.2设计过程遇到的困难和问题1
6、74.2.1硬件方面174.2.2软件方面185结论18参考文献18致 谢 1 绪论1.1 选题背景随着数字编解码及压缩技术的发展,语音文件也朝着高压缩比、高保真的方向发展,从MP1、MP2到目前的MP3格式。便携式MP3播放器作为一种集音频播放、数据存储为一身的数码产品,其功能结构为电子设计人员所津津乐道。MP3是MPEG一1音频III(1ayerIII)的简称。MPEG一1音频(ISO/IECll 1723)是目前普遍应用的音频压缩标准,其中层III的算法最为复杂,但压缩比最大,效果也最好,在低码率的条件下基本能达到CD的音质效果。MP3标准用尽可能低的码流实现CD音质的声音而不会产生数据
7、损失。如果对于一段声音不进行压缩的话,那么每存储一秒钟的立体声CD音质音乐必须用1.4Mbit,这是个十分大的开销。通过运用MPEG音频标准的压缩技术,我们可以把存储空间压缩到原来的1/12而不会降低声音的音质。即使使用124的压缩因子,仍然比单纯降低采样率的音质要好。低数据量和高播放品质的优点使其成为音乐存储、数字广播、网上音乐传输的主要方式。人们不仅可以使用计算机软件,还可以通过数字随身听来欣赏音乐。在这种数字化潮流下,嵌入式系统已成为当前研究和应用的热点之一,嵌入式手持设备的视音频多媒体应用也越来越广泛。由于嵌入式系统的应用要求及成本因素决定了嵌入式系统在系统资源, 包括硬件资源和软件资
8、源方面都是非常精简和高效的1.2 国内外研究现状及意义MP3全称是MPEG Layer 3,狭义的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。在INTERNET广泛普及的今天, MP3音乐以其较小数据量和近似完美的播放效果已经成为计算机上和INTERNET最流行的音乐格式了。将CD格式的音乐数据压缩成MP3格式,音效相差无几(除非你有很好的音响和鉴赏力),文件大小至少可以压缩12倍(每首PCM格式的CD歌曲大约4050MB数据量)。自韩国世韩(Seahan)公司1998年推出世界上第一台MP3随身听以来, MP3播放器以其小巧的外形,不错的近乎于CD的音质,前卫的功能,越来
9、越受到消费者的青睐,也就成为业界甚至大众媒体关注的一个热门话题。它的记录媒介是芯片或卡,无需转动部件,彻底摆脱了磁带和光碟的束缚,因而,抗震和节电性能更好。在市场消费刺激下,各大公司纷纷推出了自己的mp3播放器产品,IC供应商提供了众多的MP3解码芯片及其解决方案。除了Micronas方案(MAS3507+DAC3550)、ST方案(ST92163+STA013/015)、Crystal软解压单芯片方案(EP7209,EP7212)、TI软解压单芯片方案(TMS320C5409),还有台湾创品方案(T33510,T33520)、美国SigmaTel方案(STMP3400)和TI的DA-250解
10、决方案。这使mp3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔 。2 系统硬件设计2.1 设计目标本论文是基于STM32的MP3播放器的设计,论文中将涉及到:STM32的学习和嵌入式原理的应用,MP3解码的实现原理及其解码芯片的应用指南,SD卡的数据存储结构及其各种文件系统的区别,TFT触摸屏的操作及简单GUI在TFT上的实现。预期将能实现在TFT液晶上对MP3播放的实时控制。2.2 设计方案对比2.2.1 控制器方案方案一:此方案采用 89C51 单片机实现,单片机软件编程自由度大,可用编程实现各种控制算法和逻辑控制。但是 89C51 需外接模数转换器来满足数据采样。如果系统
11、增加语音播放功能,还需外接语音芯片,对外围电路来说,比较复杂,且软件实现也较麻烦。另外,51 单片机需要用仿真器来实现软硬件调试,较为繁琐。方案二:此方案采用 SPCE061A 单片机实现,此单片机内置 8 路 ADC,2 路 DAC,且集成开发环境中,配有很多语音播放函数,用 SPCE061A 实现语音播放相对方便。但5V的工作电压,16位的处理器芯片,较低的闪存,使得功耗比较大,处理速度比较慢,工作效率比较低,存储量受到限制。方案三:此方案采用STM32F103VCT6实现,它使用高性能的ARM Cortex-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字
12、节的闪存和20K字节的SRAM),丰富的增强型I/O端口以及包含2个12位的ADC、3个通用16位定时器和一个PWM定时器。使得处理速度大大提高,机器功耗大大降低,整体性能得到很大提高。32位的处理器使得控制更加稳定、迅速,窗口型看门狗,使得程序运行更加高效。另外,比较方便的是该板支持硬件仿真,通过Ulink仿真器可以方便实现在线逐步调试,这大大方便了系统的开发与调试工作。基于STM32的高性能,低功耗,方便调试等特性,故选择方案三。2.2.2 MP3解码方案 方案一: 此方案采用软解MP3,直接用软件解码。节约了硬件成本,但代码复杂,编程难度较高,工作量极大,而且对控制器的处理速度和资源要求
13、都比较高。方案二:此方案采用硬解MP3,直接用音频解码芯片解码。它使用高性能的VS1003 MP3解码芯片,功能强大而且价格便宜,VS1003支持MP3、WAV、WMA、MIDI等诸多音频格式,音质可与市场上中档MP3播放器相媲美。基于上述比较,故选择方案二;2.2.3 显示模块方案 方案一:此方案采用LCD1602,完成数据显示。LCD1602驱动电路简单,它可以显示简单的中英文字符,功能和设计的成本都比较低!方案二:此方案采用LCD12864,它既可以显示中英文字符,也可以显示图片。但其图案分辨率较低,而且只能显示单色字符。方案三:此方案采用TFT液晶模块,它既可以显示彩色数字、中英文字符
14、和图案,还可以加上触摸屏模块,实现GUI用户图形交互实时控制!基于TFT液晶的强大功能,故选择方案三。2.2.4 MP3储存介质方案方案一:此方案采用直接将MP3文件存放在控制器的内部ROM储存器中,读取速度快,操作简单方便。但是,相比于51,AVR, SPCE061A等单片机,虽然STM32有着很大的内部ROM容量,但还是不能完整的保存一首MP3歌曲。方案二:此方案采用U盘来储存MP3文件,极大的提高了储存容量。方案三:此方案采用SD卡来储存MP3文件。采用SPI通讯方式的SD卡不仅读取数据的速度快,而且具有小体积,大容量等特点。根据本人的实际情况,故采用了方案三。 2.3 系统设计原理本设
15、计由STM32最小系统,SD卡的读取模块,TFT控制模块,外扩FLASH模块,触摸屏模块,串口通信模块组成。将要解决SD卡的读取及使用FATFS系统对SD卡的操作、TFT液晶的控制及触摸屏原理、还有图形用户界面GUI的实现等问题。硬件系统方框图如图2-1所示。基本设计流程是使用STM32系列微控制器,采用FATFS文件系统方式读取SD卡中的MP3文件,并控制MP3解码芯片对MP3文件进行解码播放,并在TFT液晶上显示实时播放情况。STM32F103VCT6TFT 触摸屏SD卡VS1003音频解码外扩FLASH串口通信图 2-1 硬件系统方框图2.3.1 中央处理器工作原理STM32系列是基于C
16、ortexM3核的微控制器,它在CortexM3内核的基础上扩展了高性能的外围设备。CortexM3是ARM公司最新推出的基于ARMv7体系架构的处理器核,具有高性能、低成本、低功耗的特点,专门为嵌入式应用领域设计。ARMv7 架构采用了Thumb2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案完整的代码兼容性。 Thumb2技术比纯ARM代码少使用31%的内存,减小了系统开销,同时能够提供比Thumb技术高出38%的性能。在中断处理方面,CortexM3集成了嵌套向量中断控制器NVIC(Nested Vectored Interrupt Cont
17、roller)。NVIC是CortexM3处理器的一个紧耦合部分,可以配置1240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占(Preemption)、尾链(Tailchaining)、迟到技术(Latearriving)的使用,大大缩短了异常事件的响应时间。CortexM3异常处理过程中由硬件自动保存和恢复处理器状态,进一步缩短了中断响应时间,降低了软件设计的复杂性。CortexM3体系架构提出了新的单线调试技术,CortexM3处理器的跟踪调试是通过调试访问端口(Debug Access Port,DAP)来实现的。DAP端口可以作为串行线调试
18、端口(SWDP)或串行JTAG调试端口(SWJDP,允许JTAG或SW协议)使用。其中SWDP只需要时钟和数据2个引脚,实现低成本跟踪调试,避免使用多引脚进行JTAG调试,并全面支持RealView编译器和 RealView调试产品。此外CortexM3还具备高度集成化的特点,大大减小了芯片面积,内部集成了许多紧耦合系统外设,合理利用了芯片空间,使系统满足下一代产品的控制需求。其引脚分布如图2-2所示:图2-2 STM32F103VCT6 微控制器引脚分布图2.3.2 音频解码芯片VS1003 是一个单片MP3/WMA/MIDI音频解码器和ADPCM编码器。它包含一个高性能,自主产权的低功耗D
19、SP 处理器核VS_DSP4,工作数据存储器,为用户应用提供5KB 的指令RAM 和0.5KB 的数据RAM。串行的控制和数据接口,4 个常规用途的I/O 口,一个UART,也有一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器,芯片原理图如图2-3所示。其具体特性如下:(1)能解码 MPEG 1 和MPEG2 音频层 III(CBR+VBR+ABR);WMA 4.0/4.1/7/8/9 5-384kbps 所有流文件;WAV(PCM+IMAAD-PCM);产生MIDI/SP-MIDI 文件。(2)对话筒输入或线路输入的音频信号进行IMAADPCM编码。支持 MP3 和
20、WAV 流。(3)高低音控制,低功耗,单时钟操作1213MHz,内部PLL锁相环时钟倍频器。(4)内含高性能片上立体声数模转换器,两声道间无相位差。内含能驱动30欧负载的耳机驱动器,模拟,数字,I/O 单独供电。(5)为用户代码和数据准备的5.5KB片上RAM,串行的控制,数据接口,可被用作微处理器的从机。(6)特殊应用的SPI Flash引导,供调试用途的UART接口,新功能可以通过软件和4 GPIO 添加。 图2-3 VS1003芯片原理图2.3.3 TFT电阻式触摸屏TFT电阻式触摸屏由TFT显示屏、驱动IC(ILI9320控制TFT)、触摸屏、触摸屏控制器(ads7843控制触摸屏电压
21、的转换)等组成。本设计采用的TFT显示屏是3.2寸TFT240*32026万色彩屏模块,支持SD卡,支持DATAFLASH,支持16位/8位模式,模块可以180度任意旋转使用。ILI9320是一款包括一个720通道的源极驱动器,一个320通道门驱动器,172,800字节数据RAM,能驱动240RGBx320TFT液晶显示器的驱动芯片。电阻式触摸屏工作原理如下:电阻式触摸屏利用压力感应进行控制,它的主要部分是一块与显示器表面配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面图有一层透明氧化金属导电层,上面盖有另外一层氧化金属导电层,在他们之间有许多细小的(小于1/1
22、000英寸)透明隔离点把两层导电层隔开绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,控制器侦测到这一接触并计算出(X,Y)的位置,再根据模拟鼠标的方式运作。图2-4 电阻式触摸屏的原理图触摸屏控制芯片为ADS7843, ADS7843是一个内置12位模数转换、低导通电阻模拟开关的串行接口芯片。供电电压2.75 V,参考电压VREF为1 V+VCC,转换电压的输入范围为0 VREF,最高转换速率为125 kHz,其引脚功能如表2-5所示。ADS7843典型应用电路如图图2-6所示。表2-5 ADS7843的引脚功能表 图2-6 ADS7843典型应用电路2.3.4 SD卡SD卡(Se
23、cure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件,SD卡允许在两种模式下工作,即SD模式和SPI模式,本系统采用SPI模式。本小节仅简要介绍在SPI模式下,STM32处理器如何读写SD卡。SD卡如果采用FAT16文件格式,按照其不同的特点和作用大致可分为5 部分:MBR区、DBR区、FAT区、FDT区和DATA区。由于SD卡一般不做引导盘,一般也不分区,因此通常无MBR区,直接从DBR区开始。下面对后面四个区分别作简介:(1)DBR区内容为系统引导记录,它包括一个引导程序和一个被称为BPB(Bios Paramet
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 STM32 单片机 mp3 播放
链接地址:https://www.31ppt.com/p-4149619.html