基于STM32的MP3播放器设计.._第1页
基于STM32的MP3播放器设计.._第2页
基于STM32的MP3播放器设计.._第3页
基于STM32的MP3播放器设计.._第4页
基于STM32的MP3播放器设计.._第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中北大学课程设计说明书学生姓名:贺彦兴学 号:1106044224学院:仪器与电子学院专业:电子科学与技术题目:基于STM32的MP3播放器设计指导教师:李锦明 职称:副教授2015年1月30日摘要MP3是一种高质量音乐压缩标准,采用 MP3压缩的数据量可以缩小到1/12,音 质却没有多少损失。由于MP3音乐的较小数据量和高质量的播放效果,使它很 快成为一种集音频播放、数据存储为一身的数码产品,并深受人们的喜爱。本文 采用STM32系列微控制器,结合解码芯片 VS1003、SD卡、LCD等外围设备 设计并实现了 MP3播放器。其主要功能有:播放 VS1003支持的所有音频文件, 如MP3、WM

2、A、WAV文件,且音质非常好;通过摇杆控制播放上一首 /下一首, 通过电位计来控制音量增减,通过 LCD显示音量图标和播放状态等;本系统还 计划实现读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写 操作,以方便拷贝音频文件。关键字:MP3 播放器、CortexM3、STM32、VS1003ABSTRACTIs a high quality MP3 music compression standard, with MP3 compressed data can be reduced to 1 / 12, but there is little loss of sound qual

3、ity. MP3 music as the smaller amount of data and high-quality playback, it will soon become a set of audio playback, the data is stored as a digital product, and very popular. In this paper, STM32 family of microcontrollers, combined with decoder chip VS1003, SD card, LCD and other peripherals desig

4、n and implementation of MP3 players. Its main functions are: Play VS1003 supports all audio files, such as MP3, WMA, WAV files, and the sou nd quality is very good; through the joystick con trol playback on a / to the n ext, through a potentiometer to control volume change, through the LCD show the

5、volume icon and play status, etc.; The system also plans to achieve reader function, PC machine in terfaces via USB directly to the developme nt board of the SD card read and write operations to facilitate the copying audio files.Key words: MP3 Players; CortexM3; STM32; VS1003目录第一章 绪论 11.1 选题背景与现状 1

6、1.2 设计和研究方向 1第二章 系统概述与硬件电路设计 22.1 系统的总体构架 22.2 电源模块 22.3 微控制器模块 32.3.1 CortexM3 32.3.2 STM32F103 42.5VS1003音频模块 42.5.1 VS1003 概述 52.5.2 VS1003 解码电路设计 72.4 SD 卡 72.4.1 SD卡概述 72.4.2 FAT16文件系统 82.4.3 SD卡驱动电路 92.5 液晶显示器 92.5.1 液晶显示原理 92.5.2 液晶显示模块 10第三章 系统软件设计 103.1软件设计总流程 103.2底层驱动程序设计 113.2.1 VS1003 驱

7、动设计 113.2.2 SD 卡读取驱动 123.2.3 RTC时钟驱动 143.2.4液晶显示设计 143.3功能模块的设计 153.3.1音乐播放功能的设计 153.3.2 USB 读卡器 16第四章 结论 17结束语 18参考文献 19附件20第一章 绪论1.1 选题背景与现状二十一世纪的第一个十年过去了, 随着电子技术的高速发展和嵌入式系统的 应用,越来越多的电子产品进入人们的视野。面对多形式、多渠道的信息,人们 对信息的整合运用与随时调整的要求越来越高, 消费电子无疑将潜移默化地改变 人们的生活。 目前,消费电子产业每年都持续增长, 所涉及的产品领域和行业也 越来越多。丰富的电子产品

8、正从各个角度向消费者展示着 “数字生活 ”的新概念, 给人们带来了耳目一新的全面享受。随着数字声音作为一种存储、 处理和传输高保真声音的方法在消费电子等领 域的广泛应用,与之相关的数字音频压缩技术也得到了充分的发展, MP3 音乐 格式的出现和In ternet的日益普及更是将数字音乐推向了高潮。 MP3压缩音乐的 方式是通过一个运算法则, 去掉声音中高频与低频的部分, 大幅删减不必要的容 量浪费,同时保留了人类所能感受到的音频部分, 因此其好处在于大幅降低了数 字声音文件的容量,而不会破坏原来的音质。音质越低的声音在 MP3 的运算法 则下可以得到越高的压缩比。低数据量和高播放品质的优点使其

9、成为音乐存储、 数字广播、 网上音乐传输的主要方式。 人们不仅可以使用计算机软件, 还可以通 过数字随身听来欣赏音乐。自从 1998年世界上第一台 MP3 播放器1推出以来。 MP3 播放器市场以极快 的速度发展, M P3 的功能也越来越多。 国产品牌的 MP3 播放器也进入市场当中, 以纽曼、蓝魔、魅族等企业为代表的MP3播放器企业占据了国内MP3播放器市 场主要份额。1.2 设计和研究方向STM32系列微控制器采用ARM公司最新的CortexM3内核。VS1003音频 解码芯片为 VS10xx 系列的第三代产品,是芬兰 VLSI Solution 公司生产的单片 MP3/WMA/MIDI

10、 解码和 ADPCM 编码芯片。本文采用STM32系列微控制器,结合解码芯片 VS1003、SD卡、LCD等 外围设备设计并实现了 MP3 播放器。其主要功能有:播放 VS1003 支持的所有 音频文件,如 MP3、 WMA、 WAV 文件,且音质非常好;通过按键控制播放上 一首 /下一首、音量增减等;通过 LCD 显示音量图标和播放状态;本系统还计划实现读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作, 以方便拷贝音频文件。第二章系统概述与硬件电路设计2.1系统的总体构架本系统采用STM32作为微控制器,VS1003作为解码芯片,采用SD卡存储 MP3/WMA文件,LCD

11、作为显示器件,最终完成 MP3的播放设计。同时PC机 可以通过USB接口操作开发板上SD卡中的文件,也可以通过串口通信控制音SD-k乐播放。具体方案图如图3.4所示STM32F10X *甘屛003侵块+ 声音模块图2.1总体设计方案框图MP3播放功能模块的工作分为两个部分:第一部分是循环播放 MP3歌曲,该功能需要首先做一些初始化工作,MP3解码器一旦开始工作,就会一直向 CPU请求数据,直至歌曲结束,只有通过键 盘操作才会使该功能提前结束。因为MP3文件的数据量较大,在flash存储器内 是以页为单位进行存储的,所以 MP3的播放程序初始化就是要把该文件的首地 址和页数先读出到CPU中,然后

12、CPU可以根据如上数据进行取数据工作。第二部分则一直在等待中断发生,该程序是与键盘结合起来的,主要用于使 用者对播放过程的控制。键盘操作对 MP3播放过程的控制还包括后退、跃进、跳到下一首、音量控制等。因为整个播放过程的键盘控制功能比较单一,没有键 的复合操作,所以程序都很容易实现。当 MP3播放器插入到USB接口时,系统 执行USB通讯功能模块,该模块主要用于对flash存储器内的文件数据进行管理。 2.2电源模块电源是电子设备中必不可少的一部分, 它为设备提供了能量。电源模块电路 如图2-2所示。本系统有以下几种电源:CPU的内核数字和模拟电源电压+1.8 V, CPU的1/O 口数字和模

13、拟电源电压+3.3 V、总线的隔离电源、LCD的驱动电源、 LCD的背光逆变电源、其他外围设备电源电压+5 V等电源。5V电源适配器经过 AMS1117-3.3和AMS1117-2.5产生3.3V和2.5V的直流电源供系统使用。D1畑STCDD VC杂D3I.GNDUTTT 10uF P-F半E丄05O.luFlOnFU1 AS1117-33VVinVineVuuiz cU3 ASH 17-2.5 V阴DD2|N4148上14TouFruIluF图2.2电源电路GNI32.3微控制器模块2.3.1 CortexM3CortexM3是ARM公司最新推出的基于 ARMv7体系架构的处理器核,具有

14、高性能、低成本、低功耗的特点,专门为嵌入式应用领域设计。ARMv7架构采用了 Thumb2技术,它是在ARM的Thumb代码压缩技术的 基础上发展起来的,并且保持了对现存 ARM解决方案完整的代码兼容性3。Thumb2技术比纯ARM代码少使用31%的内存,减小了系统开销,同时能够提 供比Thumb技术高出38%的性能。在中断处理方面,CortexM3集成了嵌套向量中断控制器NVIC(NestedVectored Interrupt Controller)。NVIC 是 CortexM3 处理器的一个紧耦合部分,可 以配置1240个带有256个优先级、8级抢占优先权的物理中断,为处理器提供 出色

15、的异常处理能力。同时,抢占(Pw cmpiion)、尾链(Tail chaining).迟 到技术(Lmc arriving)的使用,大大缩短了异常事件的响应时间。CortexM3异常处理过程中由硬件自动保存和恢复处理器状态,进一步缩短了中断响应时 间,降低了软件设计的复杂性。CortexM3体系架构提出了新的单线调试技术, CortexM3处理器的跟踪调试是通过调试访问端口 (Debug Access Port DAP)来实 现的。DAP端口可以作为串行线调试端口(SWDP)或串行JTAG调试端口(SWJDP,允许JTAG或SW协议)使用。其中SWDP只需要时钟和数据2个引脚,实现低成本跟踪

16、调试,避免使用多引脚进行JTAG调试,并全面支持RealView编译器和 RealView调试产品。此外 CortexM3还具备高度集成化的特 点,大大减小了芯片面积,内部集成了许多紧耦合系统外设, 合理利用了芯片空 间,使系统满足下一代产品的控制需求。2.3.2 STM32F103本设计中的微控制器采用意法半导体公司出产的STM32F103VBT64芯片,STM32F103VBT6增强型系列使用高性能的 ARM Cortex-M3 32位的RISC内核, 工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的 SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。

17、所有型号的器件 都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标 准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN。STM32F103VBT6增强型系列工作于-40 至+105C的温度范围,供电电压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。是一款性价比很高的32位ARM处理器,是低成本ARM嵌入式应用的极佳选择。其引脚分布如图2.3所示。i2歪Ik codfr -FlI rMladJ-l OSH Lodt-1 tadll Kldll 90JII zadHM sn n- H dHdl1 rlnoBli sdlk SCJI

18、r OH LJII Egll6PE2 CPE3 tPE4匚PE5C PK E -且上.匚 尸匕疑匸E PCMOSC32_iN r PC15-D3C32_CUT 匚VS3_5 t DD_5 E OSC_N eO3C GUT CRRSTiEPCfl匚IQFPIinDPC1 EPC?匚PC3匚VS3A l VRzF-r YREF* 匚VC DA e PC-AHUP 匚 PI匚 R2 tnrTrrnrTnnfzr-irrnnrrrl-lfzrJ -ln-lVDO-2 V3SJ2 NG RMJ BM2 RM1 PA13 PAO PAfl pea PCB PCT PC6 POI5 PDi4 PD13 PQ

19、12 PDii roio POT PD3 尸別5* PB14 PB13 PB12UUJJUUUULIUUIUUJJUUJJLIUUIJUUUU翟制i i i d. QiSSiujuAiiuSSio17 ql Cl d jX d d d 叟 g图2.3 STM32引脚图2.5 VS1003音频模块虽然STM32F103RB具有最高72MHZ勺频率,但它没有独立的DSP音效处理 能力,如果直接用它来进行音频数据处理, 很难实现优质的音频输出,同时考虑 到自己的能力和精力有限,因而本系统的音频解码部分则另采用一款简单实用的音效处理芯片vsioo30来完成。本模块涉及到模拟信号与数字信号,在设计时要考

20、虑信号的隔离措施,模拟信号与数字信号的连接处需串联磁珠或 o欧电阻 以避免信号干扰。2.5.1 VS1003 概述VS1003是一个单片MP3/WMA/MIDI音频解码器和ADPCM编码器。它包含一个高性能、自主产权的低功耗 DSP处理器核VS_DSP4; 个工作数据存储 器,为用户应用提供5KB的指令RAM和0.5KB的数据RAM。串行的控制和数 据接口,4个常规用途的I/O 口,一个UART,也有一个高品质可变采样率的 ADC 和立体声DAC,还有一个耳机放大器和地线缓冲器。VS1003通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。输入的比特流被解码,然后通过一个数字音量控

21、制器到达一个 18位过采样 多位DAC。通过串行总线控制解码器。除了基本的解码,在用户 RAM中它还 可以作其他特殊应用,例如 DSP音效处理。VS1003的内部结构及引脚如图2.4所示图2.4 VS1003内部结构及引脚图具体特性如下:能解码 MPEG 1 和 MPEG2 音频层 III ( CBR+VBR+ABR); WMA 4.0/4.1/7/8/9 5-384kbps 所有流文件; WAV(PCM+IMAAD-PCM); 产生 MIDI/SP-MIDI 文件。寸话筒输入或线路输入的音频信号进行 IMAADPCM编码支持MP3和WAV流(低音控制单时钟操作12.13MHZ部PLL锁相环时

22、钟倍频器氐功耗含高性能片上立体声数模转换器,两声道间无相位差含能驱动30欧负载的耳机驱动器莫拟,数字,I/O单独供电为用户代码和数据准备的5.5KB片上RAM串行的控制,数据接口可被用作微处理器的从机特殊应用的SPI Flash引导供调试用途的UART接口新功能可以通过软件和4 GPIO添加引脚功能说明如图2.4所列。引脚号管脚名称管脚功能 20, 21, 22DGMD处理器檢与才0地6, 14,19ICVDDT/O电源興型値:2. 8V最大値土 3. 6V)38, 3, 4547APIR模拟电源典型值:57最大值:2. 8V)5, 7, 24, 31CVDD处連器内核电源(理型值:2-0?最

23、大值:3.6V)37, 4Q, 41, 47ACND模拟地1和2MICE 和 MICT同相和反相差行话筒输入,自體压3XRESET低电平有效异歩复位端SDREQ数据请求,输入总线gGPLO2/DCLK通用1/02,串行数擄总线时钟10GPLO3/SDATA通用1/03,串厅戳据总线数拯13XDCS/ESYNC数据片选端/字节同步15VC0时钟蛋控振誘器匹0输出IT 和 18XTAL0 和 XTAL1晶振愉出和晶振愉入23XCS片迭输入.低电平有敢26RX(IART接收口,不用时接IOVDD27TXUART发送口28SCLK串行总线的时钟29 和 30S:和 so串行输入和串行输岀32TEST保

24、留做测试,连接至IOVDD33GPIOO/SFIEOCT通用10/0, /SPIBOOT,使用LOOK下拉电阻34cproi通用1/0139 和 46RIGHT 和 LEFT右声道输出和左声道输出42GBUF公共地缓冲器44RCAP基淮谑滅电容4.8LIME IN线路输入2.5.2 VS1003解码电路设计在设计VS1003解码电路时,数字地与模拟地必须相互连接并尽量靠近VS1003以避免锁存上拉,为了能播放48KHZ采样率的音频文件,输入时钟使用 12.288MHz。具体设计电路如图 2-12 所示。VS1003 通过 MISO、MOSI、SCK(SPI 接口)来接收输入的MP3数据,经过V

25、S1003内置的采样DAC转换为音频模拟 量,最后通过Left、Right输出。咅频解叫駆动电路1邯tilr- v. i :耳机駆功电路虫电路图2.7 SD卡内部结构及引脚10图2.6音频解码电路2.4 SD 卡2.4.1 SD卡概述SD卡(Secure Digital Memory Card)是一种为满足安全性、容量、性能和使用环境等各方面的需求而设计的一种新型存储器件,SD卡允许在两种模式下工作,即SD模式和SPI模式,本系统采用SPI模式。本小节仅简要介绍在 SPI 模式下,STM32处理器如何读写SD卡,如果读者如希望详细了解 SD卡,可以参考相关资料SD卡内部结构及引脚如图2.7所示

26、SD 卡主要引脚和功能为:CLK :时钟信号,每个时钟周期传输一个命令或数据位,频率可在025MHz 之间变化,SD卡的总线管理器可以不受任何限制的自由产生 025MHz的频率;CMD :双向命令和回复线,命令是一次主机到从卡操作的开始,命令可以 是从主机到单卡寻址, 也可以是到所有卡; 回复是对之前命令的回答, 回复可以 来自单卡或所有卡;DAT 03:数据线,数据可以从卡传向主机也可以从主机传向卡。SD卡以命令形式来控制SD卡的读写等操作。可根据命令对多块或单块进行读写操作。在SPI模式下其命令由6个字节构成,其中高位在前。2.4.2 FAT16 文件系统SD卡如果采用FAT16文件格式,

27、按照其不同的特点和作用大致可分为 5部 分:MBR区、DBR区、FAT区、FDT区和DATA区。由于SD卡一般不做引导 盘,一般也不分区,因此通常无 MBR 区,直接从 DBR 区开始。下面对后面四 个区分别作简介DBR 区内容为系统引导记录,它包括一个引导程序和一个被称为BPB(BiosParameter Block)的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时, 判断本分区根目录是否有操作系统引导文件, 如果有则将其读 入内存,并把控制权交给该文件。 BPB 参数块记录着本分区的起始扇区、结束 扇区、文件存储格式、根目录大小、FAT个数,分配单元大小等重要参数。 F

28、AT 区该区内容为文件分配表,FAT16文件系统进行空间分配的最基本单位是簇。 文件分配表反映了 SD 卡所有簇的使用情况, 通过查文件分配表可以得知任一簇 的使用情况。对于 FAT16 来说, FAT 表每项占用两个字节。 FAT 表的第一项通 常为FFF8H。对于其它项,若其值为 0000H表示可用;FFF7H表示为坏簇; FFF8H-FFFFH 之间表示该簇为某文件或目录的最后一个簇, FFF0H-FFF6H 之间 为保留值;其它值则指示下一个簇的簇号。FDT 区该区的内容为文件目录表,FAT文件系统的一个重要思想是把目录(文件夹) 当作一个特殊的文件来处理,FAT32甚至将根目录当作文

29、件处理。FAT分区中所 有目录文件,实际上可以看作是一个存放其它文件 (文件夹)入口参数的数据表。 因此,目录占用空间的大小并不等同于其下所有数据的大小,但也不等于 0,通常是占很小的空间。其具体的存储原理是:不管目录文件所占空间为多少簇, 簇为多少扇区、多少字节;系统都会以 32个字节为单位,进行目录文件所占簇 的分配。DATA 区该数据区存放文件的内容,SD卡所占用的空间绝大部分为此部分。如果文 件长度大于一个簇的大小,需要多个簇存放该文件,这些放通过FAT链表串连起来。2.4.3 SD卡驱动电路使用SPI总线与STM32处理器连接,如图2.8所示PL3PC 12 R 占%+3V3 IDA

30、TA?CDDATA3CDVSS,-VDDCLK vss DATAO DATA!CD COMMWPDGNDSD图2.9 LCD1602字符表13图2.8 SD连接器与STM32处理器SPI连接图2.5液晶显示器2.5.1液晶显示原理1602液晶模块内部的字符发生存储器(CGROM)已经存储了 160个不同的 点阵字符图形,如表(1)所示,这些字符有:阿拉伯数字、英文字母的大小写、 常用的符号、和日文假名等,每一个字符都有一个固定的代码IMT4-M |D0Qrn |陆曲1 I 4 El I I T I H i D I A I B I C I fi aai mn amJ. 二逻:;: 制 号=fF】

31、T: cs BE 口l-,ll;-: i眇p.pfr ? Tlx Thi: I1.1=7=1AI:,rr丿 : IsrT丿呼.ILIJU. 2曰 cD ;J, HiI A6n74个CLK);(3) 复位卡(CMD0);(4) 激活卡,内部初始化并获取卡类型(CMD1 (用于MMC卡)、CMD55、CMD41);(5) 查询OCR,获取供电状况(CMD58);(6) 是否使用 CRC(CMD59);(7) 设置读写块数据长度(CMD16);(8) 读取CSD,获取存储卡的其他信息(CMD9);(9) 发送8CLK后,禁止片选.在SD卡初始化完成后,就可以读 SD卡读写数据。SD卡读取数据通过 C

32、MD17完成,具体步骤如下:(1)发送 CMD17 ;接收卡响应R1 ;(3) 接收数据起始令牌OXFE ;(4) 接收数据;(5) 接收2个字节的CRC,如果没有开启CRC,这两个字节在读取后可以 丢掉;(6) 8CLK之后禁止片选;SD卡写数据通过CMD24完成,具体步骤如下:(1)发送 CMD24 ;接收卡响应R1 ;(3) 发送写数据起始令牌OXFE;(4) 发送数据;(5) 发送2字节的伪CRC;(6) 8CLK之后禁止片选。3.2.3 RTC时钟驱动STM32F103RBT6内带RTC模块,它拥有一组连续运行的计数器,可以通 过适当的软件设置提供日历时钟功能和闹铃功能。RTC的驱动

33、时钟可以是一个使用外部晶体的32.768kHz的振荡器,RTC具有一个32位的可编程计数器,使 用比较寄存器可以进行长时间的测量。有一个20位的预分频器用于时基时钟,默认情况下时钟为32.768kHz时,它将产生一个1秒长的时间基准。通过设置RTC的相关寄存器,就可以实现时钟和闹铃功能了。RTC工作的一般步骤如下:使能电源时钟和备份区域时钟,RCC-APB1ENR|=3CR|=1BDCR|=1BDCR|=1BDCR|=1PRLH与RTC-PRLL。 更新配置,设置 RTC中断,RTC-CRH|=0X01。进入中断服务程序。3.2.4液晶显示设计液晶显示模块是一个慢显示器件,所以在执行每条指令之

34、前一定要确认模块 的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字 符地址,也就是告诉模块在哪里显示字符,表3-4是DM-1602的内部显示地址。1234567 K 9101!12131416W 01 02 03 04 05 06 07 M 09 0A OB 0C 0D 0E OF第-行40 41 42 43 44 45 46 47 4849 4A 4B 4C 4D 4E 4F第二行表3-4 DM-1602的内部显示地址比如第二行第一个字符的地址是 40H,那么是否直接写入40H就可以将光 标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为

35、高电平1所以实际写入的数据应该是01000000B( 40H)+10000000B(80H)=11000000B(C0H)具体流程图如图3.2所示4:?图3.2液晶显示流程图3.3功能模块的设计3.3.1音乐播放功能的设计要实现音乐播放功能,需要获得相应的音乐文件数据,根据FAT文件的存储格式并结合SD卡读取驱动,得到相应的文件数据,每次读取 512个字节。当 VS1003已经初始化完成并等待接收数据(DREQ引脚为高电平)时,将读到的 数据以每次32字节的速度送入VS1003的RAM中,VS1003会自动去处理这些 数据并得到模拟音频信号。在每次读取新的音频文件时,采用文件名比较(只比较前3

36、个字节)的方法 查找存在SD卡中的歌词文件,如果存在歌词文件,就将文件数据全部复制到 RAM中(超过6144个字节的部分将丢弃),同时初始化30ms中断的定时器用 于歌词显示的刷新操作。音乐播放功能实现的具体流程如图 3.3所示。t图3.3音乐播放功能的实现流程3.3.2 USB读卡器STM32F103RBT6内置1个USB 2.0全速接口,可以实现 USB读卡器的功 能。该功能的实现需要2个部分:USB传输部分和SD卡读写部分。根据ST官 网提供的例程,USB读卡器用到2个函数:一个是 MSD_WriteBuffer函数,用 于向SD卡写入数据,当你要 COPY文件到SD卡的时候,就是由这个

37、函数完 成的;另一个是 MSD_ReadBuffer函数,该函数用于读取 SD卡上面的数据。下载ST官网的例程,移植到本设计中即可实现 USB读卡器功能第四章 结论本系统实现了简易 MP3 Player 的基本原型设计,还可以进一步利用英蓓特 STM103V100-II 评估板资源来完善和丰富该 MP3 Player 的功能,例如利用 Joystick来选择歌曲、利用LCD来显示歌曲名、利用 ADC来调节音量、利用几 个 LED 灯来表示音量大小。如果能完成以上所有相关设计,则可以基本熟悉 STM32 处理器的各种应用开发。37结束语本文提出了一种基于 STM32 的 MP3 播放器设计方案,

38、 并使用 ARM 开发工 具 RealView MDK 实现了该方案的原型。尽管该方案无法作为一个通用 MP3 的 方案,但是对于某些音频需要的工业控制、 汽车电子、 医疗电子等方案具有一定 的参考性。本系统也可以尝试采用更有效的中断方式,在内存中设置一个环形的缓冲 区,SPI1从SD卡读取的MP3文件数据存放在其中,当 VS1003需要数据时其 DREQ 引脚将产生低电平, 利用其产生中断, 在中断服务程序中从缓冲区读取数 据送VS1003,直至DREQ引脚恢复为高电平时退出中断。限于时间与篇幅的问 题,我将不对上述情况予以实现。参考文献1 百度百科.MP3 播放器EB/OL . 2010-

39、11-262 薛小铃,刘志群,贾俊荣单片机接口模块应用与开发详例 M 北京:北京 航空航天大学出版社, 20103 AMS1117技术手册EB/OL 2010-7-21.4 STM32F103 增强型系列数据手册EB/OL 2009/0513/1405.htm,l2009- 05-13/2011-03-01 王永红,徐炜,郝立平.STM32系列ARM Cortex-M3微控制器原理与实践M 北京:北京航天航空大学出版社,20086 DS18B20 技术文档EB/OL http:/www.maxim- 2011-2-15.7 24C02 中文资料EB/OL 2011-3-22.8 ILI9320

40、 手册EB/OL . 2011-2-15.9 ADS7846EB/OL 2010-6-10.10 VS1003-MP3/WMA 音频解码器 EB/OL df, 2008-08-04.11 张涛,左谨平,马华玲.FatFs在32位微控制器STM32上的移植J.电子技 术, 2010,(03).12 SD 卡规范EB/OL 2010- 05-05.13 李宁.ARM开发工具RealViewMDK使用入门M.北京:北京航空航天大 学出版社, 2008原理图:附件!=!哙IJ hAWfAVF.rhiOJ-lTi讪I二?r二亡二=J - - J - . F F ;- ;-=:.三二PCB:主芯片最小板的

41、PCB图外围电路PCB电路图代码:/* Includes */#include stm32f10x_lib.h#include hw_config.h#include config.h#include fat16.h#include msd.h#include vs1003.h/* Global define */u8 Stream_Buffbuffsize;u8 readNextBytes;u32 mp3data_pointer;/* Extern declare */extern void SetupUART1(void);extern void SetupClock(void);extern void Speaker_Timer_Config(void);extern void Get_Medium_Characteristics(void);extern void VS1003_Config(void);extern void Mp3Reset(void);extern void SPI_Config(u16 BaudRatePrescaler);extern void Delay(int);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论