基于stm32的嵌入式mp3播放器的研究_第1页
基于stm32的嵌入式mp3播放器的研究_第2页
基于stm32的嵌入式mp3播放器的研究_第3页
全文预览已结束

下载本文档

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

文档简介

1、 电子技术 基于STM32的嵌入式MP3播放器的研究山东科技大学 张学慧 朱爱珍 【摘要】本文采用STM32微控制器作为控制单元,满足高品质MP3文件播放和控制,并采用嵌入式实时操作系统的移植技术,实现多任务的执行。整个系统主要由电源模块、音频解码模块、SD卡模块、人机交互等几个模块组成。电源采用USB供电;采用VS1003作为硬件音频解码芯片;SD卡存储MP3/WMA文件;人机交互部分采用LCD和触摸屏实现,使系统更具人性化。【关键词】STM32;音频解码;SD卡;MP3播放器1. 引言MP3是一种高质量音乐压缩标准,采用MP3压缩的数据量可以缩小到1/12,音质却没有多少损失。由于MP3音

2、乐的较小数据量和高质量的播放效果,使它很快成为一种集音频播放、数据存储为一身的数码产品,并深受人们的喜爱。本文设计的MP3是基于ARM公司最新Cortex-M3 内核的STM32控制器,利用该处理器内置的SPI接口对SD存储卡进行控制,并对MP3音频文件进行解码实现MP3的播放。系统实现的功能:播放VS1003支持的MP3、WMA等音频文件,且具有歌词同步功能;控制播放上一首/下一首,音量增减;通过LCD显示音量图标和播放状态等。 2. 系统方案设计1系统采用STM32为主控制器有不可或缺的优势,STM32系列是意法半导体基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cort

3、ex-M3内核。时钟频率72MHz,功耗36mA,是32位市场上性价比最高的产品。系统主要由控制模块、电源模块、音频解码模块、SD卡模块、人机交互模块组成。其结构框图如图1所示。 系统的工作流程:STM32处理器读取SD存储卡里的MP3音乐文件数据,通过SPI 传输至音频解码芯片经过解码转换, 再送至耳机听筒。SPI总线控制音频DAC 芯片的参数实现音量控制等功能。使用人机交互设备实现播放/暂停、上一曲/ 下一曲等控制功能和显示播放状态。 3. 系统的硬件设计系统的硬件设计包含控制器及各模块芯片的选型和相关电路的设计。 3.1 STM32控制器电路设计STM32系列32位微控制器基于Corte

4、x- M3内核,旨在为MCU用户提供新的开发自由度。它具有高性能、低功耗、低电压等特性,同时还具有高集成度和易于开发的 特点,使该系列产品成为小型项目和作为完整平台的理想选择2。STM32的使用需要一个最小系统,包括晶振电路,复位电路。 1)晶振电路的设计:晶振电路用于向处理器提供工作时钟。本系统使用无源晶振 X1 作为系统的主振荡器,一个32.768kHz的晶振作为内置实时时钟 (RTC)振荡器3。晶体振荡器的连接如图2所示。 晶振的负载电容应当按照要求选取,电容不正确可能导致晶振起振缓慢甚至不起振,这将影响整个系统的稳定性。 2 ) 复位电路的设计: 采用简单的 “RC按键”复位形式,该复

5、位电路可以实现上电自动复位和手动按键复位3。上电自动复位是通过外部复位电路的电容充电来实现的,按键复位是通过复位端经电阻与电源VCC接通而实现的。3.2 电源电路的设计 系统中硬件电路的输入电源需要5V、3.3V和2.5V。对于5V电源输入,本着设计简单、有效的原则采用USB供电,而且还可以通过USB线直接对SD的文件进行操作,实现即插即用。 对于3.3V和2.5V电源输入,这些电 源要求的功率都不大,可以采用B1117-2.5 和B1117-3.3 稳压芯片来提供。3.3V 的电源输入如图3所示,2.2V电源输入与之类似。 3.3 音频解码电路的设计 由于使用了ARM处理器,MP3的解码方法

6、有两种, 一是通过ARM 处理器软解码,通过对MP3数据格式的解析实现MP3 播放。二是通过外部解码芯片解码。前者对处理器运算要求高,在解码高码率的MP3时,STM32的处理能力不足,得不到好的解码效果,而且STM32解码之后还需要外部的DAC 来做音频输出, 所以采用后者。 MP3解码芯片选择的是由芬兰VLSI公司出品的一款单芯片MP3/WMA音频解码芯片VS1003,其拥有一个高性能低功耗的DSP处理器核,5K的指令ROM,0.5K的数据RAM,串行控制和数据输入接口,同时片内带有一个可变采样速率的ADC、一个立体声DAC以及音频耳机放大器接口,还可以调节音量高低。其电路设计及与主控制器的

7、连接如图4所示。 VS1003与处理器的数据通信是通过SPI总线方式进行的。VS1003主要通过串行命令接口(SCI)和串行数据接口(SDI) 来接收STM32控制器的控制命令和MP3的 图2 晶振电路SD 存储卡 音频解码 STM32 电源电路 人机交互设备 微控制器 图1 系统结构框图图3 3.3V电源输入-22-/2012.04/ 电子技术 图5 SD卡连接开始图4 音频解码电路解析文件系统 STM32初始化从SD卡读取mp3文件信息各硬件模块初始化 mp3信息写入VS1003 FAT文件系统初始化 音频解码并播放 成功? 读SD的主引导目录 结束图6 人机交互设备电路图7 程序设计流程

8、图( 2 ) 与硬件无关的应用软件子系统,包括FAT文件系统管理模块和音乐播放模块。主程序的设计流程如图7所示。 系统启动后, 先初始化STM32 处理器,再初始化各硬件模块,完成底层驱动。由MCU通过FAT文件系统接口读取SD 卡的一些基本信息,如容量、FAT表及根目录所在的启始扇区等。通过获得这些信息,就可以找出SD卡是否有我们可以播放的音乐文件。若有音乐文件,处理器将通过SPI总线方式读出该文件的音频信息, 并将歌曲的数据流信息送入到解码芯片中,通过VS1003芯片解码以及其内含的高质量的立体DAC和耳机驱动电路,实现MP3 歌曲的播放。在触摸屏的控制下,通过LCD 中菜单选项实现歌曲选

9、择和音量控制。 5.总结本文提出了一种基于STM32的嵌入式MP3播放器的设计方案,硬件上重点介绍了各模块的电路设计,软件上介绍了需要的嵌入式知识和主程序的流程。该方案对于需要嵌入式媒体播放器的工业控制、车载播放器等行业具有一定的研究价值。方案设计中涉及到很多内容, 包括芯片的选型与设计,实时操作系统移植,FAT文件管理系统,GUI图形用户界面,对嵌入式的设计具有一定的参考性。整个系统设计简洁,可靠性高,具有很高的性价比。数据。通过XCS、XDCS引脚的置高、置低来确认是哪一个接口处于传送状态。对VS1003芯片的功能控制,如初始化、暂停、音量控制的读取等,均是通过SCI写入到特定寄存器来实现

10、的。 3.4 SD卡模块 SD卡在日常生活与工作中使用非常广泛,已经成为最为通用的数据存储卡。在MP3、数码相机等设备上也都采用SD卡作为存储设备。SD卡之所以得到如此广泛的使用,是因为它价格低廉、存储容量大、安全性强等优点。SD卡支持两种总线方式:SD方式与SPI方式。其中SD方式采用6线制,而SPI方式采用4线制,使用单片机对SD卡进行读写时一般都采用SPI模式。因此设计中使用STM32 内部接口SPI1 与SD卡进行通信4 ,图5是其引脚连接情况。 3.5 人机交互设备模块 人机交互设备包括输入设备和输出设备,对于输出设备,采用彩色液晶屏, 这 里 选 择 一 款 2.8 寸的 TFT

11、液晶屏ILI9341,其分辨率为320*240,工作模式为8位数据模式,与MCU的通讯所需IO 口较少,速度也较快。输入设备为了使控制方便,人性化,采用触摸屏实现。触摸屏的控制芯片选择由TI公司生产的12位四线触摸屏控制芯片ADS7843,因为该芯片的精度是12Bit,有很高的分辨率,有利于屏幕控制精度的提高。LCD与主控制器是SPI接口方式。其电路设计如 图6所示。 4. 系统软件设计4.1 系统软件开发平台 Cortex-M3 是ARM 公司推出的最新的针对控制器应用的内核,提供业内领先的高性能和低成本的解决方案。但目前能够支持Cortex-M3架构的开发工具很少,而MDK是ARM公司推出

12、目前性价比最高的支持Cortex-M3处理器的开发工具。故本次设计的软件平台是建立在MDK Vision3之上的5。 4.2 软件设计基础 1) ) FAT 文件系统: MP3 播放器支持 FAT文件系统,以便识别出SD卡上的音乐文件,需要文件系统存储数据的原理,协议,格式等。根据对文件系统 的掌握,通过跑在RTX实时操作系统上的MP3 驱动程序和应用程序,将存储在SD 卡上MP3数据文件读取出来,并进行正常的播放。 2) GUI图形用户界面:系统中的MP3 界面是基于GUI图形界面,采用图形方式显示MP3操作用户界面在视觉上更易于接受。可以通过窗体、菜单、按键等方式来方便的进行操作。 4.3

13、 软件模块化设计 从整个系统来说,按其与硬件是否直接相关,可以把软件分为两大部分: (1)与硬件相关的底层驱动软件子系统,包括LCD驱动模块、触摸屏驱动模块、SD卡驱动模块、VS1003驱动模块。 -23-/2012.04 电子技术 AVR单片机的V-USB和串口通信方式比较93707 王志海 【摘要】AVR单片机与计算机的数据传输方式通常使用串口通信,随着USB接口的快速普及,直接提供串口的PC机主板和应用串口进行数据传输的外围设备也越来越 少。选择一个简单、快速、适用的通信方式对于单片机系统的设计开发就尤为关键。本文对AVR单片机使用的串口通信方式和V-USB通信方式的开发实现过程进行比

14、较,分析了两种通讯方式的特点和应用场合,方便工程人员参考选择数据通信实现方案。【关键词】USB接口;V-USB;串口通信;AVR单片机1. 引言串口通信是单片机与上位机最常用的数据通信方式,随着USB接口的普及, 单片机与计算机之间越来越多的使用USB 接口进行数据传输,但是直接选用USB接口控制芯片会增加开发成本与难度。为单片机设备选择一个简单、快速、适用的通信方式,不但可以降低开发成本和技术难度,也可以最大程度的提高单片机系统的运行效率。本文对AVR单片机使用串口通信和V-USB 方案的开发实现过程进行比较,分析了两种通讯方式的特点和应用场合。 1.1 V-USB简介 V-USB系统的硬件

15、结构很简单,需要一个AVR单片机( 片上具有2KB Flash, 128字节RAM的大部分型号都可以),再加上少量的外部元件(晶振、电阻、稳压二极管等),就组成了一个基本的V-USB系统,实现方案需占用单片机的两个数据引脚(其中D+必须连接至INT0),并不占用其他的UART、计时器等硬件资源。系统组成如图1。 图中的D1和D2是3.6V稳压二极管, 目的是限制USB数据线上的电平。USB通信规范中规定,数据线D+、D-上的电平范围在3.0V至3.6V之间,而AVR单片机的输出电平是VCC。如果单片机的VCC是5V,如没有D1、D2的情况下将导致电平不匹配,会出现在计算机中无法正确识别出USB

16、设备的情况。单片机所需的电源VCC可由USB的5V输出电源直接提供,电阻R1和R2起到了限流和保护的作用,避免意外情况下损坏计算机的USB端口或单片机的端口。 V-USB的软件源代码是由C代码和汇编代码组成的,开发环境为AVR GCC,已组织好几种不同USB设备的框架,开发者只需直接利用即可。最小化的V-USB程序框架编译后需要占用单片机1150至1400 字节的程序空间。 由于V-USB使用单片机IO口模拟USB 通信,是用纯软件的方式实现了硬件芯片的功能。而USB通信的速率要求是比 较高的。因此在进行USB通信时单片机的CPU占用率比较高的。为保证可靠的USB数据传输, 单片机CPU 时钟

17、必须是工作在12MHz 、 12.8MHz 、 15MHz 、 16MHz 、16.5MHz、18MHz、20MHz这几个频率。 2.2 串口通信下位机实现 具备USART单元的AVR单片机都可以使用串行通信方式,硬件实现仅使用单片机的RXD 和TXD 引脚。为和计算机的RS- 232接口连接,一般使用MAX232芯片进行电平转换,这需要增加部分外围电路, MAX232应用电路如图2: 若要提高用串口通讯硬件的易用性,还可以选择成品的USB转TTL接口芯片,可以方便的将使用串口通信的单片机设备变为USB设备,并且不影响上位机和下位机的程序编制。 为减小波特率偏差,USART对单片机的使用的晶振

18、频率和串口设置的通讯速率有一些要求,不匹配的波特率和晶振频率会使传输出现通讯错误。具体可查各型单片机的数据手册中的波特率设置表。 3. 上位机程序编制3.1 V-USB上位机程序编写 V-USB项目在计算机端使用跨平台的开源项目LibUSB来访问USB设备。LibUSB- Win32 是 LibUSB 在 Windows 操作系 统(Win2k,WinXP,Vista,Win7) 上的通用USB设备驱动程序及开发包。 V-USB的全称是Virtual USB for AVR microcontrollers,是一个开源项目。它利用纯软件的实现方式在ATMEGA 公司的AVR系列单片机上虚拟出U

19、SB口, 将其模拟为低速USB设备,实现方案不需要添加其他的USB接口芯片。通常单片机与上位机进行USB通信,需要用专用的芯片进行USB协议的转换,例如CP2101、PL2303、SL811、PDIUSBD12等。其中CP2101 、PL2303 芯片使用起来虽然简单,但是功能单一,只能做USB转串口的通讯设备;而PDIUSBD12、SL811芯片功能较强,但是设计使用复杂,这些USB芯片的价格都相对较高,增加了系统的硬件成本。而V-USB简单易用,成本较低, 绝大多数的AVR系列单片机加上很少的几个外部元件,就可以组成一个USB系统。 1.2 串口通信简介 串口通信基于RS-232-C串行总线接口标准,最初是为了连接计算机主机与CRT终端之间的通信,后来逐渐广泛地应用于各种设备之间的数据交换。早期的计算机主机都带有RS-232接口,是最常用的数据接口,具

温馨提示

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

评论

0/150

提交评论