您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于STM32的嵌入式MP3设计
..word教育资料一.设计名称................................................................2二.设计要求................................................................2三.设计目的................................................................2四.设计环境................................................................2五.设计思路................................................................21.总体设计方案..........................................................25.1.1控制模块.......................................................25.1.2电源模块.......................................................25.1.3音频解码模块...................................................35.1.4显示模块.......................................................35.1.5总结...........................................................42.硬件电路设计...........................................................45.2.1SD卡模块.......................................................45.2.2音频解码模块...................................................55.2.3液晶显示模块...................................................63.软件程序设计..........................................................65.3.1MP3播放流程设计................................................7六.调试过程.................................................................86.1设计调试部分.........................................................86.1.1USB转串口......................................................86.1.2使用Flashloader进行串口连接..................................86.1.3SD卡设置......................................................96.2问题分析.............................................................96.2.1软件部分问题分析...............................................96.2.2硬件部分问题分析...............................................9七.心得体会...............................................................10八.参考文献...............................................................11..word教育资料一.设计名称基于STM32的嵌入式MP3设计二.设计要求实现简单的MP3音乐播放功能,单曲循环播放,下一首,音量调节,添加歌曲等简单功能。三.设计目的1.了解所选择的ARM芯片各个引脚的功能,工作方式,计时/定数,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。2.了解STM32、SPI接口、SD卡、TIMER、中断、FAT文件系统、USB等的应用。3.通过MP3播放器设计掌握嵌入式开发的基本方法和步骤。4.注重培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。四.设计环境硬件:PC机、ARMCortex系列为控制器开发套件USB串口线软件:windows98/XP/2000系统、Flashloader五.设计思路1.总体设计方案本次设计采用STM32系列微控制器,结合解码芯片VSl003、SD卡、LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VSl003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过LCD显示歌曲名字和播放状态;本系统还实现了读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。5.1.1控制模块此方案采用STM32ARM板实现,它使用高性能的ARMCortex-M332位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强型I/O端口以及包含2个12位的ADC、3个通用16位定时器和一个PWM定时器。使得处理速度大大提高,机器功耗大大降低,整体性能得到很大提高。32位的处理器使得控制更加稳定、迅速,窗口型看门狗,使得程序运行更加高效。另外,比较方便的是该板支持硬件仿真,通过Ulink仿真器可以方便实现在线逐步调试,这大大方便了系统的开发与调试工作。5.1.2电源模块电源设计是一个系统设计中的关键部分,对于整个系统,一个稳定的、具有一定功率的电源和合理的电源管理是必不可少的。本系统有以下几种电源:CPU..word教育资料的内核数字和模拟电源电压+1.8V,CPU的I/O口数字和模拟电源电压+3.3V、总线的隔离电源、LCD的驱动电源、其他外围设备电源电压+5V等电源。出于调试的方便和即插即用性,以及本系统的侧重点在MP3播放器上,所以我采用USB为系统供电,如此一来使系统的实现变得更加简便、迅速。5.1.3音频解码模块VS1003可以作为一个微控制器的从机,通过串行SPI接口来接收输入的比特流,输入的比特流被解码后,可以通过一个数字音量控制器到达一个18位过采样多位DAC。通过串行总线控制解码器。这样利用一个VS1003芯片与STM32F103x处理器配合,STM32处理器读取SD卡中的MP3文件,将其通过SPI接口送往VS1003芯片播放,然后再利用STM32F10X处理器的一些GPIO口来控制VS1003即可以实现一个MP3Player的原形设计。5.1.4显示模块1)常见的基于单片机设计的音乐播放器基本不能显示歌曲。该音乐播放系统设计上增加液晶显示器,LCD显示模块主要完成数据显示、输出数据与显示数据的同步等功能,可为使用者提供曲目信息。由于LED数码管只能显示数字而无法显示其他中英文字符,并对成本及功能考虑,因此从设计的成本及功能的角度考虑,采用LCD1602显示模块,它可以显示每目的英文名字。LCD1602驱动电路简单,可以由CPU输出命令驱动。2)又由于STM32V100开发板中没有液晶控制器的功能模块,如果所选择的液晶屏内部也没有液晶控制器,那么,要使CPU可以对液晶进行控制,就必须加设计一个液晶驱动控制电路。另外,由于液晶用来显示调节播放音量的ADC转换值和歌曲的顺序,所以字符型的LCD1602基本上能够满足显示要求。又由于系统设计时间的限制,因此本系统中选择自带控制器的液晶屏LCD1602液晶显示。其连接电路图如图5.1所示。..word教育资料图5.1LCD液晶管脚连接图5.1.5总结通过上述论证,本系统采用STM32作为微控制器,VS1003作为解码芯片,采用SD卡存储MP3/WMA文件,LCD作为显示器件,最终完成MP3的播放设计。同时PC机可以通过USB接口操作开发板上SD卡中的文件,也可以通过串口通信控制音乐播放。具体方案图如图4.2所示图4.2总体设计方案框图2.硬件电路设计本系统在硬件上分为4个模块:微控制器STM32F103、存储模块SD卡、解码模块VSl003、和显示屏LCD。MP3播放功能模块的工作分为两个部分:第一部分是循环播放MP3歌曲,该功能需要首先做一些初始化工作,MP3解码器一旦开始工作,就会一直向CPU请求数据,直至歌曲结束,只有通过键盘操作才会使该功能提前结束。因为MP3文件的数据量较大,在flash存储器内是以页为单位进行存储的,所以MP3的播放程序初始化就是要把该文件的首地址和页数先读出到CPU中,然后CPU可以根据如上数据进行取数据工作。第二部分则一直在等待中断发生,该程序是与键盘结合起来的,主要用于使用者对播放过程的控制。键盘操作对MP3播放过程的控制还包括后退、跃进、跳到下一首、音量控制等。因为整个播放过程的键盘控制功能比较单一,没有键的复合操作,所以程序都很容易实现。当MP3播放器插入到USB接口时,系统执行USB通讯功能模块,该模块主要用于对flash存储器内的文件数据进行管理。STM32F103x使用SPI2端口与VS1003芯片的SI、SO、SCLK连接;VS1003芯片的控制引脚xCS、xRESET、xDCS分别与STM32F103的PA1、PA0和PA2连接,低电平有效;VS1003的状态引脚DREQ与STM32F103处理器的PA3连接,低电平表示需要送数据,高电平表示正在处理数据。模块化电路设计5.2.1SD卡模块该系统使用STM32内部接口SPIl与SD卡进行通信,下面介绍其引脚连接情况。..word教育资料PE3:低电平有效,连接到SD卡的片选引脚CD/DAT3。SPI在和SD卡进行通信时,需要将PE3拉低才能对SD卡进行操作。PA7:映射为STM32内部接口SPIl的主输出从输入(MOSI)信号线。这里STM32是主设备,SD卡是从设备。数据流的传输方向是从STM32传输给SD卡。该信号线用于传输一些控制命令来完成SD卡的操作,如读、写等。PA5:已连接到STM32内部接口SPIl的时钟(SCLK)信号线。可设置SPI的时钟频率来调整读取SD卡数据的快慢。PA6:已连接到STM32内部接口SPIl的主输入从输出(MISO)信号线。数据的传输方向是从SD卡传输给STM32,主要返回SD卡的一些状态、内部寄存器值等。PCI2:用于检测SD卡是否完全插入。当SD卡完全插入时,PCl2为低电平,否则为高电平。由于本系统采用STM103V100-II开发板,所以就以其自带的SD卡的结构及读写方法进行介绍,STM103V100-II评估板有SD连接器,其使用SPI总线与STM32处理器连接,如图5.3所示图5.3SD连接器与STM32处理器SPI连接图5.2.2音频解码模块该系统使用STM32内部接口SPl2与VSl003进行通信,下面具体介绍其引脚连接以及使用情况。PA3:VSl003的中断请求引脚。当VSl003内部数据已处理完毕,需要新的数据时,将DREQ拉高。STM32根据这个信号来给VSl003发送新的数据流。PBl3:已连接到STM32内部接口SPI2的时钟(SCLK)信号线。PBl4:已连接到STM32内部接口SPI2的主输入从输出(MISO)信
本文标题:基于STM32的嵌入式MP3设计
链接地址:https://www.777doc.com/doc-5964672 .html