




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-基于ARM的多功能音频播放器设计摘要嵌入式系统设计分为硬件设计和软件设计,前者是使用32位高性能Cortex-M3芯片作为主控制器,将音频信号解码芯片、外部电路、薄膜晶体管液晶显示器、安全数码卡、文件管理系统以及按键等模块,按照设计完成的多功能音频播放器原理图架构,实现一个完整的MP3播放器。后者使用KeilMDK软件提供一个完善的C程序环境,MDK提供了大量的中间库。用C语言编写播放器实现程序,在代码编译成功之后,下载代码到STM32开发板上,程序先执行字库监测,然后对VS1003B进行RAM测试和正弦测试。当检测到SD卡根目录的MUSIC文件夹有效音频文件,将正常解码和播放音乐。本播放器能够实现的功能丰富,如音乐播放、下一曲按键、音量调节、曲名显示等多种功能。音频文件存放在SD卡中,通过文件系统进行明确硬盘或分区管理。系统有按键控制方式,其中包括STM板模式选择键、电源开关、复位键、向下翻动键、音量调节双键,设计中使用了两个LED灯,其中LED0用于指示程序运行状态,LED1用于指示VS1003B正在初始化。最终完成后实物系统能够完好的实现设计要求,播放的音乐质量优秀。关键词:解码芯片;Cortex-M3单片机;SD卡;音频播放器;文件系统-i-AbstractEmbeddedperformanceCortex-M3chipasmaincontroller,audiosignaldecodingchip,theexternalcircuit,athinfilmtransistorliquidcrystaldisplay,securedigitalcard,filemanagementsystemandkeymodule,accordingtothedesigncompletedmulti-functionaudioplayerschematicarchitecture,therealizationofacompleteMP3player.ThelatteristheuseofKeilMDKsoftwaretoprovideacompleteCprogrammingenvironment,MDKprovidesalargenumberofintermediatebase.UsingClanguagetoachievetheprogramplayer,afterthecodesuccessfullycompiled,downloadthecodetotheSTM32developmentboard,thefirstimplementationoffontmonitoringprogram,thenRAMtestandsinetestonVS1003B.WhentheMUSICdetectsthattheeffectiveaudiofilefolderSDcardrootdirectory,canthenormalplaymusic.Theplayercanrealizethefunctionoftherich,suchasavarietyoffunctionalmusicplayer,thenextsong,volumecontrol,thekeydisplay.AudiofilesstoredontheSDcard,clearlytheharddiskandpartitionmanagementthroughthefilesystem.Systemhasakeycontrolmode,includingtheSTMplatemodeselectionkeys,thepowerswitch,theresetbutton,scrolldownkeytoadjustthevolume,thedoublebond.TwoLEDlampdesign,theLED0isusedtoindicatetheprogramrunningstate,LED1isusedtoindicatetheVS1003Bisinitializing.Finallyafterthecompletionofrealsystemcanwellmeetthedesignrequirements,Themusicofoutstandingquality.Keywords:decoderchip;Cortex-M3microcontroller;SDcard;AudioplayerMP3;Thefilesystem-ii-目录前言.3第1章绪论.4第1.1节开发背景.4第1.2节研究的目的和意义.4第1.3节本文所做的工作.4第2章方案分析.5第2.1节控制器与显示器.52.1.1.控制器选择.52.1.2.显示模块.5第2.2节存储器与音频芯片.52.2.1.存储器模块.52.2.2.音频解码模块.6第3章硬件设计.7第3.1节STM32概述.73.1.1.STM32F103VCT6概述.73.1.2.STM32F103VCT6外部电路.8第3.2节音频解码芯片.93.2.1.芯片封装.93.2.2.引脚定义.103.2.3.芯片特性.123.2.4.供电系统.133.2.5.读写操作时序.13第3.3节TFT彩屏.13第3.4节SD卡.14第4章软件设计.16第4.1节开发工具介绍.164.1.1.KeilMDK概述.164.1.2.KeilMDK介绍.16第4.2节程序框图.17第4.3节文件系统.174.3.1.概述.174.3.2.FATFS简介.18第4.4节重要函数分析.184.4.1.MP3功能的实现原理.184.4.2.读写命令函数.194.4.3.TFT-LCD显示控制主函数.20第5章系统功能测试与分析.22第5.1节音乐播放功能测试.22-iii-5.1.1.MP3歌曲播放测试.225.1.2.MP3下一首歌曲翻动测试.225.1.3.音量调节测试.235.1.4.播放多种音频格式.23第5.2节测试结果分析.23结论.24参考文献.25致谢.26附录.27附录1:实物照片说明.28附录2:部分源程序.28第0页前言ARM的取得的辉煌成就离不开优质的核心处理器配合优秀的开发工具和工具链,此成就是ARM开发者们辛勤劳动的结果。也正因此,ARM的工具链工程师和CPU工程师强强联手,不懈耕耘呕心沥血为ARM7TDMI设计出了优化、精练和实用的内部结构,终于创造了ARM7TDMI的风姿无限的辉煌。全新的Cortex-M3处理器在化茧成蝶之后,身上处处闪烁着ARM体系结构艳丽惊人的新突破。它是基于研究前沿最好最优的32位ARMV7架构,能够支持高度成功的Thumb-2指令集,而且还带来了很多其他芯片望尘莫及的新特点。在它架构优秀,功能强大的同时,编程模型也更加简练,因而带来了越做越完美的良性循环。随着电子科学技术的极速发展,电子类产品新旧更迭的愈来愈快。MP3是在人们生活中占据重要地位一款消费类电子产品,其在多年前就打败了磁光碟储存媒体、激光唱机,在随身听市场独占鳌头。然而多年以来,音频播放器非但没有被淘汰的迹象,反而因为工业设计愈加丰富的新元素、愈加强大的功能,愈加时尚的造型,让音频播放器持久地焕发着勃勃生机和活力,取得市场上愈加辉煌的战绩。前十年,MP3曾经风行一时,几乎人手一个。如果能自己做一个MP3,想来对于很多朋友来说,是一件十分值得自豪的事情。基于此背景,本次设计要求设计并制作一个音频播放器,支持播放WAV、MP3等常见音频格式,并具有乐曲名称显示、音量调制、下一首歌曲翻动、复位等多个功能。要求支持文件管理系统,能播放存在SD卡内的音频文件。本次设计选择的VeryAI-STM32开发板自带了一颗非常强劲的MP3解码芯片VS1003B,支持常见格式如MP3/OGG/WMA/WAV/FLAC/AAC/MIDI等。利用该芯片,可以实现许多种音频文件的播放。第1页第1章绪论第1.1节开发背景随着电子科技的向前推进,人们的精神享受需求愈加提高。在音乐影视享受方面,电视影院已经难以满足人们的视听需求,能够随身携带的电子设备成了人们的首选,因此便携式电子设备获得了巨大的发展空间,工程师们对嵌入式媒体播放器的研究愈加广泛了,国内外已经发明了像音频播放器、平板电脑、智能手机等多种多样的便携式嵌入式媒体播放器。早前的电子产品只能播放单一或有限的几种文件格式,可扩展性相对较差;然而随着现在电子应用的持续增加,工程师们提出了更多种类的先进的压缩算法,使得媒体格式呈现多样化,在这种情况下,必然对嵌入式媒体播放器做出能够兼容更多种文件格式的要求。因此,通过对多种优秀的个人机播放器架构的借鉴与研究,本设计从软件方面着手,设计了一种具有良好可扩展性架构的嵌入式媒体播放器,能够通过操作界面使用音频播放器。第1.2节研究的目的和意义本文的目的是设计一个基于ARM芯片Cortex-M3的多功能音频播放器的设计,使用具有开发模块化、接口化、开放化的ARM开发板。单片机的应用经历了几十年的辉煌,如今正在逐步被高性能32位ARM微控制器所顶替,市场上大部分8位单片机开发板的局限性在于它们不具备开放性,不够模块化,因而限制了它的移植性导致其应用的局限性。工程师们提出来越来越多的优秀压缩算法,使得媒体应用日趋多样化,单片机运算速度低,支持格式也比较固定,功能单一,已经不能满足人们现在的视听需求了。因而,更高计算速率,更多功能的嵌入式媒体播放器的开发和研究必然会取代单片机成为人们电子消费的新宠。第1.3节本文所做的工作设计制作一个音频播放器的软件系统,并对播放器的代码进行编译和调试,保证代码正确无误;配置主机开发环境,对代码进行交叉编译;编译BootLoader,嵌入式系统内核和文件系统;译播放器的驱动模块,满足根文件系统;行调试和测试,进行总结系统人机对话的功能;细描述了系统的硬件调试、各模块功能测试和系统性能测试,并给出测试结果。第2页第2章方案分析第2.1节控制器与显示器2.1.1.控制器选择采用STM32F103VCT6作为主控制器。STM32F103VCT6是TI公司推出的一款以Cortex-M3为内核的32位高性能单片机。拥有多达68个IO口。本设计对主控制器的速度有很高要求,速度对歌曲的播放效果有较大的影响,STM32F103VCT6主频速度最大可以达到72MHZ,这个值是单片机遥不可及的。此外,由于本系统需要至少50个以上IO口,而51单片机最多仅有40个,因而无法满足系统的要求。而且STM32F103的性能十分强大,成本较为低廉且具有体积小、功耗低等特点。它可以支持ARM(32位)/Thumb(16位)双指令集,可以很好的兼容8位/16位元器件。由于ARM使用多个寄存器同时工作,它执行指令的速度非常快,系统可以再在寄存器中完成大部分数据操作。每次的指令长度是固定的,寻址方式也很灵活快速,因此它的执行效率较高。2.1.2.显示模块TFT-LCD是薄膜晶体管型液晶显示屏,正是人们口中的“真彩”(TFT)。TFT的每一个像素对应设置一个半导体开关,使得每个像素都可以通过点脉冲控制,节点都是独立的,能够连续控制,这种设计能够大大提高显示屏的反应速度,显示的色阶可以精确控制,因而TFT的色质更真。TFT液晶显示屏的有很多优点,如屏幕亮度好、高对比度、颜色十分鲜艳,金无足赤人无完人,TFT也存在着比较耗电和成本过高的缺点。TFT液晶技术促进了手机彩屏的进步。现在的新手机大多都支持65536色显示,更有甚者支持16万色显示,此时TFT的高对比度,色彩丰富的优势显得尤为重要了。第2.2节存储器与音频芯片2.2.1.存储器模块安全数码卡(SD)是基于半导体快闪记忆器的一种新的记忆设备,它被广泛地用于便携式的装置上,如个PDA、数码照相机、多媒体播放器等。在1999年,日本松下主导了设计概念,由美国SanDisk公司和东芝公司参与合作,进行实质研发而完成一种基于半导体闪存工艺的存储卡。SD卡是具有安全性好、容量大、性能强等许多特点的多功能存储卡,读写速度是MMC卡的4倍,能够达到2M/秒。它是一种非易失性外部存储器,能够满足许多应用的设计要求,其一般工作电压一般是3.3V,并且对电流有一定的要求。第3页SD卡内存范围非常宽,小到几兆字节大到几十GB,它为众多的应用提供了充足的外部存储空间。2.2.2.音频解码模块VS1003B是荷兰VLSI公司设计的一款高性能音频解码芯片。该芯片可以解码的音频格式有MP3/WMA/WAV/MIDI等,同时还能够完成IMAADPCM格式的编码,是一款性价比很高,值得工程师们收藏的芯片。VS1003B各个单元组成:高性能DSP处理器核VS_DSP一枚,0.5K的数据RAM和16K的指令RAM;通过SPI控制,一个串口和2个可用的通用I/O口,一个可变采样率立体声ADC(支持咪头/咪头+线路/2线路)、一个高性能立体声DAC,一个音频耳机放大器。第4页第3章硬件设计第3.1节STM32概述3.1.1.STM32F103VCT6概述STM32F103VCT6是TI公司制作的最新一代Cortex-M3内核32位微处理器,拥有令人赞叹的快速响应速度,为实现MCU的需要提供了廉价的平台、引脚数缩减、系统功耗降低以及卓越的计算能力和快速的中断响应速率。融合了16位及32位指令集功能的Thumb-2技术,使得编程代码密度和性能处于一种最佳平衡状态。它主要特性如下:A、Cortex-M3处理器内核,最高时钟频率可达72MHz;B、256KFlash、48KRAM;C、32路直接内存访问控制器(DMA);D、8个电机控制PWM发生单元;E、1个看门狗定时器和RTC实时时钟、7个定时器;F、2个SPI总线模块、2个I2C总线模块、16、10位通道AD转换单元;G、3个UART通用串行模块、1个CAN总线模块、10/100M以太网控制器;H、100-LQFP封装,多达80个可配置的IO口,管脚图如图1-1。图1-1STM32F103VCT6引脚图第5页3.1.2.STM32F103VCT6外部电路(1)、供电系统STM32F103VCT6电源电压值3.3v,采用TI公司推出的TLV1117-33电源芯片。该芯片带有3.3v固定电源、稳压器拓扑为正固定式、芯片内部电流限制800mA,单个输出LDO、配有过流保护线性稳压器等。供电系统电路图如图1-2:GNDI3OUT24LV7-.S0CmHnductor_图1-2TLV1117-33电路图4.7v-15v输入电压范围,3.3v额定输出电压。系统供电采用12v电源。图中L1、C13和C12用来进行滤波和隔离。(2)、晶振振荡电路STM32F103VCT6可供使用的时钟源有4个:主振荡器、内部振荡器、内部30KHz振荡器、外部时钟振荡器。片内时钟通过内部振荡器提供,无需使用任何外部元器件,而不依靠精确时钟的好处是可以降低系统成本。STM32的主振荡器有2种方式的构造:一是在OSC0输入管脚和OSC1输出管脚之间连接一个外部晶体,二是在OSC0输入管脚输入一个外部单端时钟信号。PLL的将主振荡器作为时钟参考源,支持晶体的频率范围为3.58MHz-8.16MHz。系统采用8MHz晶振,如图4:Y8MpF图1-3STM32F103VCT6外部晶振振荡电路图(3)、复位电路STM32F103VCT6外部复位输入管脚(RST)为低电平时有效。其复位电路见图1-第6页4:GNDS210R3C7KV_.T图1-4LM3S9B95复位电路图上电时该电路会迅速产生一个上电复位信号,另外按下复位按键RST也可对系统进行复位。(4)、JTAG接口JTAG接口是用来完成系统程序的下载与调试,该端口由5个标准的管脚组成,有效数据通过TDI串行发送至相应的控制器,经过TDO从控制器串行输出结果电信号。电路图见图1-5:89PJA卡OIM图1-5STM32F103VCT6JTAG接口电路第3.2节音频解码芯片3.2.1.芯片封装VS1003B采用LQFP-48封装,封装图如图1-8:第7页图1-6VS1003B封装图图1-7VS1003B电路原理图3.2.2.引脚定义VS1003B共有48个管脚,引脚定义见下图1-8:第8页第9页图1-8VS1003B引脚定义3.2.3.芯片特性VS1003B音频解码芯片的主要特性:(1)该芯片可以解码MPEG1、MPEG2音频层III(CBR+VBR+ABR)产生MIDI/SP-MIDI;(2)单时钟1213MHz;(3)高低声音控制;(4)支持WAV和MP3流;(5)对线路输入或话筒输入的音频信号进行IMAADPCMM编码;(6)内设PLL锁相环时钟倍频器;(7)芯片内置立体声数模转换器,两声道间没有相位差;(8)新模块可通过软件和4GPIO添加;功耗低;(9)可以驱动30欧负载的耳机驱动器;(10)为用户代码和数据准备的5.5KB片上RAM;(11)I/O,模拟,数字单独供电;(12)控制/数据接口是串口;可作CPU从机;(14)用于调试的接口UART;特殊应用的SPIFlash引导。第10页3.2.4.供电系统I/O端口,模拟、数字全都是单独供电的,电压值有3.3v和2.5v两种。3.3v电压统一使用系统3.3v直流电,为防止干扰需增加必要的隔离器件。2.5v电压用TLV1117-25稳压器单独供电。TI公司单通道LDO线性稳压器,3.9v-15v输入电压范围,2.5v输出固定电压。电路图如图1-9:GND1I3OUT24LV7-.50C_F6mHnductor图1-9TLV1117-25电路图3.2.5.读写操作时序VS1003B采用SPI总线模式,其时序图见图1-10:图1-10VS1003BSPI读写时序图第3.3节TFT彩屏本系统采用的薄膜晶体管型液晶显示屏2.8寸,分辨率为240*320。可以支持65K/262K色,数据位为可选方式16/8位,ILI9325控制器。引脚定义见图1-11:BSR8W9X+YEAK图1-11VS1003SPI读写时序图第11页引脚功能:(1)写信号开关:WR;读信号开关:RD;复位:RESET;(2)16位数据线:DB0-DB15;寄存器选择信号:RS;(3)触摸屏Y轴输出:Y+、Y+;触摸屏X轴输出X+、X-;(4)液晶背光公共端:LED+A;背光选择:LED-K1LED-K4;(5)电源:VDD;地:GND;引脚功能中LED+A为接3.3V电压的公共端,通过L1L4设置背光亮度:LED-K1LED-K4全部接10欧姆电阻再接地时背光达到最大亮度。第3.4节SD卡SD卡(安全数码卡)是基于FLASH储存介质的记忆设备,具有容量大、体积小、安全性能好、数据传输快、移动灵活以及兼容MMC卡等特点。SD卡具有SD、SPI两种工作模式,较SD模式,SPI模式能够降低成本、简化主机设计。由于没有SD总线接口,STM32F103VCT6只能使用SPI模式。SD卡管脚定义,见图1-12:图1-12SD管脚定义SD卡的工作电压为2.73.6V。在SPI模式下,4脚6脚是电源端、3脚为数据输入端、1脚8脚保留(未使用)、2脚是片选端、5脚为时钟信号端、7脚为数据输出端。电路图见图1-13:第12页RSV1C2DI34LK5GN6OUT78卡()_.0kFsx图1-13SD卡电路图在本系统中SD卡的主要作用是存储乐音文件。相较于Flash芯片,SD卡容量大,且驱动程序较简单。SD卡采用SPI总线模式。STMF103VCT6集成了2个SPI接口,方便对于系统的控制。第13页第4章软件设计第4.1节开发工具介绍4.1.1.KeilMDK概述KeilMDK,也称MDK-ARM,RealviewMDK、uVision4等,是一款工程师们为了研发微控制器而专门设计出的专业的针对性软件,具有学习难度低,功能丰富强大,用途十分广泛等特色,几乎所有的嵌入式架构及应用都能使用该软件进行设计与开发,该软件为基于Cortex-M、ARM7、ARM9等处理器的嵌入式设计提供了非常的完整开发环境。KeilMDK发展至今共有四个版本,分别是MDK-Basic、MDK-Lite、MDK-Professional、MDK-Standard,所有版本都能够提供一个完善的C语言/C+语言开发平台,以供软件开发、测试工程师们创造与设计应用软件及操作系统。4.1.2.KeilMDK介绍(1)、功能特点Cortex-R4、ARM7、Cortex-M和ARM9系列嵌入式设备在KeilMDK开发环境获得完美的支持,MDK的ARMC/C+编译工具链拥有行业遥遥领先的技术,拥有带源码确定的KeilRTX小型封装实时操作系统和Vision4IDE集成开发环境,调试器和仿真环境TCP/IP网络套件提供了多种协议和各种应用,提供带标准驱动类的USB设备和USB主机栈,能够提供关于程序运行的完整代码覆盖率信息;MDK执行分析工具和性能分析器可使程序得到最优化,能够为带图形用户接口的嵌入式系统提供了完善的GUI库支持,此外ULINKpro可实时分析运行中的应用程序,且能记录Cortex-M指令的每一次执行大量的项目例程帮助软件学习者快速熟悉KeilMDK强大的内置特征。(2)、国内支持目前KEILMDK在国内由代理商提供技术支持,包括该工具的销售和市场工作。第14页第4.2节程序框图开始检测字库是否存在对VS1003B进行RAM测试和正弦测试循环播放SD卡MUSIC文件内的歌曲在TFTLCD上显示歌曲信息及当前状态结束复位键是否按下POWER键是否关闭电源按键输入值(上下键、音量键)图1-14MP3播放器运行流程框图第4.3节文件系统4.3.1.概述在存储设备上组织文件的方法就是文件系统,作用是操作系统用于明确存储设备(磁盘或固态硬盘)或分区上的文件的方法和数据结构,文件管理系统是指操作系统中负责管理和存储文件信息的软件架构,简称文件系统。文件系统的三个重要组成部分:接口文件系统、对象及属性、对对象操纵和管理的软件集合。文件系统从系统角度来解释,是组织和分配文件存储设备的空间,负责文件存储并对存入的文件进行保护和检索的系统。详细来说,文件系统负责为用户建立文件,存入、读出、转储、修改文件,控制文件的存取,当用户不需使用时将文件撤销等。4.3.2.FATFS简介文件系统模块FatFs是一种用于在小型嵌入式系统中实现FAT文件系统的通用模块。编写FATFS遵循ANSIC不需要硬件平台。设计者可以将文件系统FATFS嵌入到廉价的第15页微控制器中,如ARM,AVR等,不用对其做任何的修改。该文件系统是一个完全免费、开源的FAT文件系统模块。本设计所采用的版本中使用的源代码共有7个,见下:FATFS文件系统API函数声明:“ff.h”文件;FATFS文件系统的配置:“ffconf.h”文件;FATFS源码:“ff.c”文件;FATFS与储存设备接口函数声明:“diskio.h”文件;FATFS与储存设备接口函数:“diskio.c”文件;FATFS用到的所有变量类型的定义:“integer.h”文件;FATFS长文件名编码转换表:“cc936.c”文件;第4.4节重要函数分析4.4.1.MP3功能的实现原理软件复位的实现与分析打开MP3播放器工程,可以看到我们在工程中新建了一个组APP,下面加入了mp3解码文件mp3player.c以及头文件mp3player.h。同时我们还在HARDWARE组中加入了文件VS10XX.C,以及头文件VS10XX.h和flac.h。首先要介绍的是VS-SR函数,该函数的功能是软复位VS1003B解码芯片,其代码如下图所示:图1-15软复位函数第16页软复位函数VS-SR使用过程,第一步配置好VS1003B解码芯片模式,第二部调用该函数,执行软复位操作,第三步在软复位完成之后,将时钟设置准确,完成整个过程软复位环节。4.4.2.读写命令函数这里简单介绍一下VS-WR-CMD函数的结构及用途,该函数用于向VS1003B芯片写命令,代码如下所示:图1-16写命令函数该函数用于向VS1003B发送命令,VS1003B的写操作只需要1/4CLKI,读操作需要读1/7CLKI,写操作比读操作快,虽然写寄存器最快可以达到1/4CLKI速率,但是经实际软件测试发现其在1/4CLKI的时候会出现ERROR,所以在写寄存器的时候我们可以适当的把SPI速度降低一些,之后在向寄存器发送音频数据的时候,1/4CLKI的速度就可以达到了。函数VS-RD-REG是系统的读命令的函数,其用来读取音频解码芯片的寄存器内容。该函数代码如下图所示:第17页图1-17读命令函数该函数的作用和VS-WR-CMD的作用基本相反,用于读取寄存器的值。flac.h仅仅用来存储播放flac格式所需要的patch文件,以支持flac解码。着重介绍的是mp3一play_s0ng函数,该函数就是解码MP3的核心函数了,该函数在音频解码芯片VS1003B初始化之后,进入死循环代码里面等待直到检测到DREQ信号出现,即每当VS_DQ上升沿时,就通过VS-SMD函数向VS1003B发送32个Byte,逐渐把整个文件循环往复直到读取完成。这一段程序代码还包含了对按键信号的处理(如音量大小调节、复位键、下一首键等)及当前正在播放的文件的一些信息、状态的显示。4.4.3.TFT-LCD显示控制主函数该函数先检测外部flash是否存在字库,然后选择音频通道为MP3音源,之后执行VS1003B的RAM测试和正弦测试,这两个测试结束后,调用mp3_play函数开始播放SD卡MUSIC文件夹里面的音乐。系统能够支持wma、mp3、wav、等多种常见音频格式的解码,但是音频文件的波特率需要小于192Kbps才可以被接受,由音频解码芯片VS1003B完成主要的文件解码过程,系统首先通过f-open函数打开一个音频文件,然后读取其中一个扇区的数据并通过SPI接口传送至VS1003B芯片寄存器。VS1003B解码之前,需要进行初始化,主要是通过调用函数Reset对vs1003B进行复位操作。发送数据程序代码如下图所示:第18页图1-18发送数据程序代码从第一个扇区数据发送完成开始,音响能够得到VS1003B解码完成音频信号,人们可以尽情享受美妙的音乐了。音频文件大小决定了将会发送多少个扇区的数据,之前通过F-open函数读取音频文件时,音频文件的大小便会被系统立即获知,并将相关信息数据存放在File1-Fsize,并通过循环函数for不断的向解码芯片VS1003B发送该音频文件数据,For函数简单结构见下图所示:图1-19for循环语句发送数据当一首歌曲播放结束后,系统会自动播放下一首歌曲,如此循环。直到音频播放器播放到最后一首歌曲之后重新从列表第一首歌曲开始顺序播放。第19页第5章系统功能测试与分析第5.1节音乐播放功能测试系统功能测试(FCT)是对于设计的PCB上电后,测试设计的系统各个功能是否正常,硬件的工艺是否合格等。本系统是基于ARM音频播放器,测试的主要内容是:是否能播放音乐;是否能播放多种格式音频文件,如MP3、WAV等常见格式;设置的按键功能是否能完成操作要求;TFT液晶显示的内容是否达到预计。下面分别展示各个主要功能的测试过程和结果5.1.1.MP3歌曲播放测试图1-20播放测试(wav格式)5.1.2.MP3下一首歌曲翻动测试图1-21下一首测试第20页5.1.3.音量调节测试图1-22音量调节测试(wav格式)5.1.4.播放多种音频格式图1-23播放测试(MP3格式)第5.2节测试结果分析通过系统功能功能测试,本系统的各个功能完整,全部达到设计要求,其中歌曲播放、不同格式播放,TFT彩屏显示当前播放的歌曲序列、歌曲总数、歌曲名称、歌曲格式、音量调节、下一首等主要功能都完整实现,均完成了设计指标,达到了设计要求。本系统音频播放器设计,也有一些不足之处,例如设置了向下翻页按键,却没有了向上翻动的按键,使用起来略有不适。音质效果不是很完美,运放器性能不理想。显示屏显示的操作界面不够美观,没有时尚的触摸屏功能。第21页结论通过本次课题为“基于ARM的多功能音频播放器设计”毕业设计,综合了大学3年多以来所学的大部分电子专业课程,将诸如电子线路CAD、数电、模电、C语言、单片机、电子综合设计、高频信号处理等学科的知识联系在一起,通过自己动手设计,查阅资料,对大学阶段电子专业所学知识起到了一个很好的巩固作用。硬件设计使得本人原本不是很熟悉的Protel软件,也通过设计原理图和画PCB板,克服多种困难和障碍,努力自学,从而对Protel的运用变得十分熟练,这些掌握到的知识必然会对本人在今后的工作岗位上受益无穷。整体硬件设计涉及许多硬件相关知识,搜索了很多资料,工作量相当巨大,对一个几乎没有复杂硬件设计经验的大学生来说是一个不小的考验。好在通过本人不懈之努力和导师及同学们的热心帮助,最终完成了音频播放器的设计,各个设计要求的功能全部实现,使得本人硬件设计能力活的了空前提升。软件设计过程中,遇到了许多问题,因为对KeilMDK软件只是略知皮毛,平时停导师讲课时没感觉多难,真到自己亲手设计时,发现许多不解不懂的地方,接口设置、模式设置、软件的很多参数不会修改,通过求教导师和向同学请教才慢慢的掌握,直至熟练。因为早期学习的C语言功底不扎实,在编程过程中,遇到很多问题,指令用错,子程序调用出错,程序层次不明等问题,一边查询资料,一般实验,才逐渐掌握C语言的运用。回顾本人开始进行这份毕业设计时,从无从下手到一个一个子模块的设计与调试,到整体架构的设计,软件的设计与调整,无一不是一步一个脚印,慢慢掌握,积少成多,才逐渐投入进去。在次过程中虽然遇到很多困难和麻烦,但经过不懈努力,都一一解决了。这些问题既带来许多烦恼,也感谢它们让自己能力得到了大大的提高。虽然现在系统还有一些问题尚未解决,如开发板的硬件资源大量浪费,还可以扩展很多其他应用,在以后的工作时间内,要亲手设计更多应用,功能更强大的媒体播放器总体而言,音频播放器的功能还是比较完善和良好的,敦促自己在毕业以后多做一些此类设计,通过实验积攒经验,使自己成为一名合格的电子类工程师!第22页参考文献1.康健,.竖琴般的音乐享受MSCDM-G128MP3播放器J.电脑采购周刊,2004,(12).2.赵勇,郑培臣,张欢欢,.Cortex-M3的音频播放器设计J.单片机与嵌入式系统应用,2012,(9).3.魏庆福,郑文波.嵌入式系统的技术发展和我们的机遇J.自动化博览,2003,(S1).4.杜剑,熊建设,邵敏,李莉.基于嵌入式系统的音频点播系统J.重庆邮电学院学报(自然科学5.版),2005,(2).6.王成,刘金刚.基于Linux的嵌入式操作系统的研究现状及发展展望J.微型机与应用,2004,(5).7.卢贶,.基于STM32F103VCT的嵌入式媒体播放器设计J.湖南工业职业技术学院学报,2011,(5).8.张春平
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 伟大的母爱550字10篇
- 公交阅读日活动方案
- 公务文明活动方案
- 2025至2030年中国人造艺术石行业投资前景及策略咨询报告
- 2025至2030年中国九洲菌毒灭行业投资前景及策略咨询报告
- 2025至2030年中国三佳音电控气喇叭行业投资前景及策略咨询报告
- 2025至2030年中国RC高光写真相纸行业投资前景及策略咨询报告
- 浙江国企招聘2025宁波璟诚公司下属企业招聘25人笔试参考题库附带答案详解
- 古剑奇谭的结局续写改写800字12篇
- 个人收入水平分类表格(地区)
- 大学写作(山东联盟)智慧树知到期末考试答案2024年
- 健身房安全知识培训
- 初中地理七下8.3.2《撒哈拉以南非洲》教学设计
- 铝锭应用行业分析
- 策划视频大赛策划方案
- 心衰的中西医结合治疗
- 《如何阅读文献》课件
- 公路技术状况检测与评定-公路技术状况评定
- 高中化学课本实验全(附答案)
- 乡村医生从业管理条例
- 圆锥体积公式的推导(动画演示)
评论
0/150
提交评论