您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于STM32的MP3播放器设计
中北大学课程设计说明书学生姓名:贺彦兴学号:1106044224学院:仪器与电子学院专业:电子科学与技术题目:基于STM32的MP3播放器设计指导教师:李锦明职称:副教授2015年1月30日摘要MP3是一种高质量音乐压缩标准,采用MP3压缩的数据量可以缩小到1/12,音质却没有多少损失。由于MP3音乐的较小数据量和高质量的播放效果,使它很快成为一种集音频播放、数据存储为一身的数码产品,并深受人们的喜爱。本文采用STM32系列微控制器,结合解码芯片VS1003、SD卡、LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VS1003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过摇杆控制播放上一首/下一首,通过电位计来控制音量增减,通过LCD显示音量图标和播放状态等;本系统还计划实现读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。关键字:MP3播放器、CortexM3、STM32、VS1003ABSTRACTIsahighqualityMP3musiccompressionstandard,withMP3compresseddatacanbereducedto1/12,butthereislittlelossofsoundquality.MP3musicasthesmalleramountofdataandhigh-qualityplayback,itwillsoonbecomeasetofaudioplayback,thedataisstoredasadigitalproduct,andverypopular.Inthispaper,STM32familyofmicrocontrollers,combinedwithdecoderchipVS1003,SDcard,LCDandotherperipheralsdesignandimplementationofMP3players.Itsmainfunctionsare:PlayVS1003supportsallaudiofiles,suchasMP3,WMA,WAVfiles,andthesoundqualityisverygood;throughthejoystickcontrolplaybackona/tothenext,throughapotentiometertocontrolvolumechange,throughtheLCDshowthevolumeiconandplaystatus,etc.;Thesystemalsoplanstoachievereaderfunction,PCmachineinterfacesviaUSBdirectlytothedevelopmentboardoftheSDcardreadandwriteoperationstofacilitatethecopyingaudiofiles.Keywords:MP3Players;CortexM3;STM32;VS1003目录第一章绪论......................................................11.1选题背景与现状·························11.2设计和研究方向·························1第二章系统概述与硬件电路设计.................................22.1系统的总体构架·························22.2电源模块·····························22.3微控制器模块··························32.3.1CortexM3···························32.3.2STM32F103···························42.5VS1003音频模块·························42.5.1VS1003概述··························52.5.2VS1003解码电路设计······················72.4SD卡·······························72.4.1SD卡概述···························72.4.2FAT16文件系统························82.4.3SD卡驱动电路·························92.5液晶显示器···························92.5.1液晶显示原理·························92.5.2液晶显示模块························10第三章系统软件设计.....................................103.1软件设计总流程·························103.2底层驱动程序设计························113.2.1VS1003驱动设计·······················113.2.2SD卡读取驱动························123.2.3RTC时钟驱动························143.2.4液晶显示设计························143.3功能模块的设计·························153.3.1音乐播放功能的设计·····················153.3.2USB读卡器·························16第四章结论.............................................17结束语...........................................................18参考文献.........................................................19附件.......................................................................201第一章绪论1.1选题背景与现状二十一世纪的第一个十年过去了,随着电子技术的高速发展和嵌入式系统的应用,越来越多的电子产品进入人们的视野。面对多形式、多渠道的信息,人们对信息的整合运用与随时调整的要求越来越高,消费电子无疑将潜移默化地改变人们的生活。目前,消费电子产业每年都持续增长,所涉及的产品领域和行业也越来越多。丰富的电子产品正从各个角度向消费者展示着“数字生活”的新概念,给人们带来了耳目一新的全面享受。随着数字声音作为一种存储、处理和传输高保真声音的方法在消费电子等领域的广泛应用,与之相关的数字音频压缩技术也得到了充分的发展,MP3音乐格式的出现和Internet的日益普及更是将数字音乐推向了高潮。MP3压缩音乐的方式是通过一个运算法则,去掉声音中高频与低频的部分,大幅删减不必要的容量浪费,同时保留了人类所能感受到的音频部分,因此其好处在于大幅降低了数字声音文件的容量,而不会破坏原来的音质。音质越低的声音在MP3的运算法则下可以得到越高的压缩比。低数据量和高播放品质的优点使其成为音乐存储、数字广播、网上音乐传输的主要方式。人们不仅可以使用计算机软件,还可以通过数字随身听来欣赏音乐。自从1998年世界上第一台MP3播放器[1]推出以来。MP3播放器市场以极快的速度发展,MP3的功能也越来越多。国产品牌的MP3播放器也进入市场当中,以纽曼、蓝魔、魅族等企业为代表的MP3播放器企业占据了国内MP3播放器市场主要份额。1.2设计和研究方向STM32系列微控制器采用ARM公司最新的CortexM3内核。VS1003音频解码芯片为VS10xx系列的第三代产品,是芬兰VLSISolution公司生产的单片MP3/WMA/MIDI解码和ADPCM编码芯片。本文采用STM32系列微控制器,结合解码芯片VS1003、SD卡、LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VS1003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过按键控制播放上一首/下一首、音量增减等;通过LCD显示音量图标和播放状态;本系统还计划2实现读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。第二章系统概述与硬件电路设计2.1系统的总体构架本系统采用STM32作为微控制器,VS1003作为解码芯片,采用SD卡存储MP3/WMA文件,LCD作为显示器件,最终完成MP3的播放设计。同时PC机可以通过USB接口操作开发板上SD卡中的文件,也可以通过串口通信控制音乐播放。具体方案图如图3.4所示图2.1总体设计方案框图MP3播放功能模块的工作分为两个部分:第一部分是循环播放MP3歌曲,该功能需要首先做一些初始化工作,MP3解码器一旦开始工作,就会一直向CPU请求数据,直至歌曲结束,只有通过键盘操作才会使该功能提前结束。因为MP3文件的数据量较大,在flash存储器内是以页为单位进行存储的,所以MP3的播放程序初始化就是要把该文件的首地址和页数先读出到CPU中,然后CPU可以根据如上数据进行取数据工作。第二部分则一直在等待中断发生,该程序是与键盘结合起来的,主要用于使用者对播放过程的控制。键盘操作对MP3播放过程的控制还包括后退、跃进、跳到下一首、音量控制等。因为整个播放过程的键盘控制功能比较单一,没有键的复合操作,所以程序都很容易实现。当MP3播放器插入到USB接口时,系统执行USB通讯功能模块,该模块主要用于对flash存储器内的文件数据进行管理。2.2电源模块电源是电子设备中必不可少的一部分,它为设备提供了能量。电源模块电路如图2-2所示。本系统有以下几种电源:CPU的内核数字和模拟电源电压+1.8V,CPU的I/O口数字和模拟电源电压+3.3V、总线的隔离电源、LCD的驱动电源、LCD的背光逆变电源、其他外围设备电源电压+5V等电源。5V电源适配器经过AMS1117-3.3和AMS1117-2.5产生3.3V和2.5V的直流电源供系统使用。3图2.2电源电路2.3微控制器模块2.3.1CortexM3CortexM3是ARM公司最新推出的基于ARMv7体系架构的处理器核,具有高性能、低成本、低功耗的特点,专门为嵌入式应用领域设计。ARMv7架构采用了Thumb2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案完整的代码兼容性\[3\]。Thumb2技术比纯ARM代码少使用31%的内存,减小了系统开销,同时能够提供比Thumb技术高出38%的性能。在中断处理方面,CortexM3集成了嵌套向量中断控制器NVIC(NestedVectoredInterruptController)。NVIC是CortexM3处理器的一个紧耦合部分,可以配置1~240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供出色的异常处理能力。同时,抢占()、尾链()、迟到技术()的使用,大大缩短了异常事件的响应时间。CortexM3异常处理过程中由硬件自动保存和恢复处理器状态,进一步缩短了中断响应时间,降低了软件设计的复杂性。CortexM3体系架构提出了新的单线调试技术,CortexM3处理器的跟踪调试是通过调试访问端口(DebugAccessPort,DAP)来实现的。DAP端口可以作为串行线调试端口(SWDP)或串行JTAG调试端口(SWJDP,允许JTAG或SW协议)使用。其中SWDP只需要时钟和数据2个4引脚,实现低成本跟踪调试,避免使用多引脚进行JTAG调试,并全面支持RealVie
本文标题:基于STM32的MP3播放器设计
链接地址:https://www.777doc.com/doc-2535117 .html