基于ARM的多功能音频播放器设计_第1页
基于ARM的多功能音频播放器设计_第2页
基于ARM的多功能音频播放器设计_第3页
基于ARM的多功能音频播放器设计_第4页
基于ARM的多功能音频播放器设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

基于ARM的多功能音频播放器设计摘要嵌入式系统设计分为硬件设计和软件设计,前者是使用32位高性能CORTEXM3芯片作为主控制器,将音频信号解码芯片、外部电路、薄膜晶体管液晶显示器、安全数码卡、文件管理系统以及按键等模块,按照设计完成的多功能音频播放器原理图架构,实现一个完整的MP3播放器。后者使用KEILMDK软件提供一个完善的C程序环境,MDK提供了大量的中间库。用C语言编写播放器实现程序,在代码编译成功之后,下载代码到STM32开发板上,程序先执行字库监测,然后对VS1003B进行RAM测试和正弦测试。当检测到SD卡根目录的MUSIC文件夹有效音频文件,将正常解码和播放音乐。本播放器能够实现的功能丰富,如音乐播放、下一曲按键、音量调节、曲名显示等多种功能。音频文件存放在SD卡中,通过文件系统进行明确硬盘或分区管理。系统有按键控制方式,其中包括STM板模式选择键、电源开关、复位键、向下翻动键、音量调节双键,设计中使用了两个LED灯,其中LED0用于指示程序运行状态,LED1用于指示VS1003B正在初始化。最终完成后实物系统能够完好的实现设计要求,播放的音乐质量优秀。关键词解码芯片;CORTEXM3单片机;SD卡;音频播放器;文件系统IABSTRACTEMBEDDEDPERFORMANCECORTEXM3CHIPASMAINCONTROLLER,AUDIOSIGNALDECODINGCHIP,THEEXTERNALCIRCUIT,ATHINFILMTRANSISTORLIQUIDCRYSTALDISPLAY,SECUREDIGITALCARD,FILEMANAGEMENTSYSTEMANDKEYMODULE,ACCORDINGTOTHEDESIGNCOMPLETEDMULTIFUNCTIONAUDIOPLAYERSCHEMATICARCHITECTURE,THEREALIZATIONOFACOMPLETEMP3PLAYERTHELATTERISTHEUSEOFKEILMDKSOFTWARETOPROVIDEACOMPLETECPROGRAMMINGENVIRONMENT,MDKPROVIDESALARGENUMBEROFINTERMEDIATEBASEUSINGCLANGUAGETOACHIEVETHEPROGRAMPLAYER,AFTERTHECODESUCCESSFULLYCOMPILED,DOWNLOADTHECODETOTHESTM32DEVELOPMENTBOARD,THEFIRSTIMPLEMENTATIONOFFONTMONITORINGPROGRAM,THENRAMTESTANDSINETESTONVS1003BWHENTHEMUSICDETECTSTHATTHEEFFECTIVEAUDIOFILEFOLDERSDCARDROOTDIRECTORY,CANTHENORMALPLAYMUSICTHEPLAYERCANREALIZETHEFUNCTIONOFTHERICH,SUCHASAVARIETYOFFUNCTIONALMUSICPLAYER,THENEXTSONG,VOLUMECONTROL,THEKEYDISPLAYAUDIOFILESSTOREDONTHESDCARD,CLEARLYTHEHARDDISKANDPARTITIONMANAGEMENTTHROUGHTHEFILESYSTEMSYSTEMHASAKEYCONTROLMODE,INCLUDINGTHESTMPLATEMODESELECTIONKEYS,THEPOWERSWITCH,THERESETBUTTON,SCROLLDOWNKEYTOADJUSTTHEVOLUME,THEDOUBLEBONDTWOLEDLAMPDESIGN,THELED0ISUSEDTOINDICATETHEPROGRAMRUNNINGSTATE,LED1ISUSEDTOINDICATETHEVS1003BISINITIALIZINGFINALLYAFTERTHECOMPLETIONOFREALSYSTEMCANWELLMEETTHEDESIGNREQUIREMENTS,THEMUSICOFOUTSTANDINGQUALITYKEYWORDSDECODERCHIP;CORTEXM3MICROCONTROLLER;SDCARD;AUDIOPLAYERMP3;THEFILESYSTEMII目录前言3第1章绪论4第11节开发背景4第12节研究的目的和意义4第13节本文所做的工作4第2章方案分析5第21节控制器与显示器5211控制器选择5212显示模块5第22节存储器与音频芯片5221存储器模块5222音频解码模块6第3章硬件设计7第31节STM32概述7311STM32F103VCT6概述7312STM32F103VCT6外部电路8第32节音频解码芯片9321芯片封装9322引脚定义10323芯片特性12324供电系统13325读写操作时序13第33节TFT彩屏13第34节SD卡14第4章软件设计16第41节开发工具介绍16411KEILMDK概述16412KEILMDK介绍16第42节程序框图17第43节文件系统17431概述17432FATFS简介18第44节重要函数分析18441MP3功能的实现原理18442读写命令函数19443TFTLCD显示控制主函数20第5章系统功能测试与分析22第51节音乐播放功能测试22III511MP3歌曲播放测试22512MP3下一首歌曲翻动测试22513音量调节测试23514播放多种音频格式23第52节测试结果分析23结论24参考文献25致谢26附录27附录1实物照片说明28附录2部分源程序28第0页前言ARM的取得的辉煌成就离不开优质的核心处理器配合优秀的开发工具和工具链,此成就是ARM开发者们辛勤劳动的结果。也正因此,ARM的工具链工程师和CPU工程师强强联手,不懈耕耘呕心沥血为ARM7TDMI设计出了优化、精练和实用的内部结构,终于创造了ARM7TDMI的风姿无限的辉煌。全新的CORTEXM3处理器在化茧成蝶之后,身上处处闪烁着ARM体系结构艳丽惊人的新突破。它是基于研究前沿最好最优的32位ARMV7架构,能够支持高度成功的THUMB2指令集,而且还带来了很多其他芯片望尘莫及的新特点。在它架构优秀,功能强大的同时,编程模型也更加简练,因而带来了越做越完美的良性循环。随着电子科学技术的极速发展,电子类产品新旧更迭的愈来愈快。MP3是在人们生活中占据重要地位一款消费类电子产品,其在多年前就打败了磁光碟储存媒体、激光唱机,在随身听市场独占鳌头。然而多年以来,音频播放器非但没有被淘汰的迹象,反而因为工业设计愈加丰富的新元素、愈加强大的功能,愈加时尚的造型,让音频播放器持久地焕发着勃勃生机和活力,取得市场上愈加辉煌的战绩。前十年,MP3曾经风行一时,几乎人手一个。如果能自己做一个MP3,想来对于很多朋友来说,是一件十分值得自豪的事情。基于此背景,本次设计要求设计并制作一个音频播放器,支持播放WAV、MP3等常见音频格式,并具有乐曲名称显示、音量调制、下一首歌曲翻动、复位等多个功能。要求支持文件管理系统,能播放存在SD卡内的音频文件。本次设计选择的VERYAISTM32开发板自带了一颗非常强劲的MP3解码芯片VS1003B,支持常见格式如MP3/OGG/WMA/WAV/FLAC/AAC/MIDI等。利用该芯片,可以实现许多种音频文件的播放。第1页第1章绪论第11节开发背景随着电子科技的向前推进,人们的精神享受需求愈加提高。在音乐影视享受方面,电视影院已经难以满足人们的视听需求,能够随身携带的电子设备成了人们的首选,因此便携式电子设备获得了巨大的发展空间,工程师们对嵌入式媒体播放器的研究愈加广泛了,国内外已经发明了像音频播放器、平板电脑、智能手机等多种多样的便携式嵌入式媒体播放器。早前的电子产品只能播放单一或有限的几种文件格式,可扩展性相对较差然而随着现在电子应用的持续增加,工程师们提出了更多种类的先进的压缩算法,使得媒体格式呈现多样化,在这种情况下,必然对嵌入式媒体播放器做出能够兼容更多种文件格式的要求。因此,通过对多种优秀的个人机播放器架构的借鉴与研究,本设计从软件方面着手,设计了一种具有良好可扩展性架构的嵌入式媒体播放器,能够通过操作界面使用音频播放器。第12节研究的目的和意义本文的目的是设计一个基于ARM芯片CORTEXM3的多功能音频播放器的设计,使用具有开发模块化、接口化、开放化的ARM开发板。单片机的应用经历了几十年的辉煌,如今正在逐步被高性能32位ARM微控制器所顶替,市场上大部分8位单片机开发板的局限性在于它们不具备开放性,不够模块化,因而限制了它的移植性导致其应用的局限性。工程师们提出来越来越多的优秀压缩算法,使得媒体应用日趋多样化,单片机运算速度低,支持格式也比较固定,功能单一,已经不能满足人们现在的视听需求了。因而,更高计算速率,更多功能的嵌入式媒体播放器的开发和研究必然会取代单片机成为人们电子消费的新宠。第13节本文所做的工作设计制作一个音频播放器的软件系统,并对播放器的代码进行编译和调试,保证代码正确无误;配置主机开发环境,对代码进行交叉编译;编译BOOTLOADER,嵌入式系统内核和文件系统;译播放器的驱动模块,满足根文件系统;行调试和测试,进行总结系统人机对话的功能;细描述了系统的硬件调试、各模块功能测试和系统性能测试,并给出测试结果。第2页第2章方案分析第21节控制器与显示器211控制器选择采用STM32F103VCT6作为主控制器。STM32F103VCT6是TI公司推出的一款以CORTEXM3为内核的32位高性能单片机。拥有多达68个IO口。本设计对主控制器的速度有很高要求,速度对歌曲的播放效果有较大的影响,STM32F103VCT6主频速度最大可以达到72MHZ,这个值是单片机遥不可及的。此外,由于本系统需要至少50个以上IO口,而51单片机最多仅有40个,因而无法满足系统的要求。而且STM32F103的性能十分强大,成本较为低廉且具有体积小、功耗低等特点。它可以支持ARM(32位)/THUMB(16位)双指令集,可以很好的兼容8位/16位元器件。由于ARM使用多个寄存器同时工作,它执行指令的速度非常快,系统可以再在寄存器中完成大部分数据操作。每次的指令长度是固定的,寻址方式也很灵活快速,因此它的执行效率较高。212显示模块TFTLCD是薄膜晶体管型液晶显示屏,正是人们口中的“真彩”(TFT)。TFT的每一个像素对应设置一个半导体开关,使得每个像素都可以通过点脉冲控制,节点都是独立的,能够连续控制,这种设计能够大大提高显示屏的反应速度,显示的色阶可以精确控制,因而TFT的色质更真。TFT液晶显示屏的有很多优点,如屏幕亮度好、高对比度、颜色十分鲜艳,金无足赤人无完人,TFT也存在着比较耗电和成本过高的缺点。TFT液晶技术促进了手机彩屏的进步。现在的新手机大多都支持65536色显示,更有甚者支持16万色显示,此时TFT的高对比度,色彩丰富的优势显得尤为重要了。第22节存储器与音频芯片221存储器模块安全数码卡(SD)是基于半导体快闪记忆器的一种新的记忆设备,它被广泛地用于便携式的装置上,如个PDA、数码照相机、多媒体播放器等。在1999年,日本松下主导了设计概念,由美国SANDISK公司和东芝公司参与合作,进行实质研发而完成一种基于半导体闪存工艺的存储卡。SD卡是具有安全性好、容量大、性能强等许多特点的多功能存储卡,读写速度是MMC卡的4倍,能够达到2M/秒。它是一种非易失性外部存储器,能够满足许多应用的设计要求,其一般工作电压一般是33V,并且对电流有一定的要求。第3页SD卡内存范围非常宽,小到几兆字节大到几十GB,它为众多的应用提供了充足的外部存储空间。222音频解码模块VS1003B是荷兰VLSI公司设计的一款高性能音频解码芯片。该芯片可以解码的音频格式有MP3/WMA/WAV/MIDI等,同时还能够完成IMAADPCM格式的编码,是一款性价比很高,值得工程师们收藏的芯片。VS1003B各个单元组成高性能DSP处理器核VS_DSP一枚,05K的数据RAM和16K的指令RAM;通过SPI控制,一个串口和2个可用的通用I/O口,一个可变采样率立体声ADC(支持咪头/咪头线路/2线路)、一个高性能立体声DAC,一个音频耳机放大器。第4页第3章硬件设计第31节STM32概述311STM32F103VCT6概述STM32F103VCT6是TI公司制作的最新一代CORTEXM3内核32位微处理器,拥有令人赞叹的快速响应速度,为实现MCU的需要提供了廉价的平台、引脚数缩减、系统功耗降低以及卓越的计算能力和快速的中断响应速率。融合了16位及32位指令集功能的THUMB2技术,使得编程代码密度和性能处于一种最佳平衡状态。它主要特性如下A、CORTEXM3处理器内核,最高时钟频率可达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、100LQFP封装,多达80个可配置的IO口,管脚图如图11。图11STM32F103VCT6引脚图第5页312STM32F103VCT6外部电路(1)、供电系统STM32F103VCT6电源电压值33V,采用TI公司推出的TLV111733电源芯片。该芯片带有33V固定电源、稳压器拓扑为正固定式、芯片内部电流限制800MA,单个输出LDO、配有过流保护线性稳压器等。供电系统电路图如图12GNDI3OUT24LV7S0CMHNDUCTOR_图12TLV111733电路图47V15V输入电压范围,33V额定输出电压。系统供电采用12V电源。图中L1、C13和C12用来进行滤波和隔离。(2)、晶振振荡电路STM32F103VCT6可供使用的时钟源有4个主振荡器、内部振荡器、内部30KHZ振荡器、外部时钟振荡器。片内时钟通过内部振荡器提供,无需使用任何外部元器件,而不依靠精确时钟的好处是可以降低系统成本。STM32的主振荡器有2种方式的构造一是在OSC0输入管脚和OSC1输出管脚之间连接一个外部晶体,二是在OSC0输入管脚输入一个外部单端时钟信号。PLL的将主振荡器作为时钟参考源,支持晶体的频率范围为358MHZ816MHZ。系统采用8MHZ晶振,如图4Y8MPF图13STM32F103VCT6外部晶振振荡电路图(3)、复位电路STM32F103VCT6外部复位输入管脚(RST)为低电平时有效。其复位电路见图1第6页4GNDS210R3C7KV_T图14LM3S9B95复位电路图上电时该电路会迅速产生一个上电复位信号,另外按下复位按键RST也可对系统进行复位。(4)、JTAG接口JTAG接口是用来完成系统程序的下载与调试,该端口由5个标准的管脚组成,有效数据通过TDI串行发送至相应的控制器,经过TDO从控制器串行输出结果电信号。电路图见图1589PJA卡OIM图15STM32F103VCT6JTAG接口电路第32节音频解码芯片321芯片封装VS1003B采用LQFP48封装,封装图如图18第7页图16VS1003B封装图图17VS1003B电路原理图322引脚定义VS1003B共有48个管脚,引脚定义见下图18第8页第9页图18VS1003B引脚定义323芯片特性VS1003B音频解码芯片的主要特性(1)该芯片可以解码MPEG1、MPEG2音频层III(CBRVBRABR)产生MIDI/SPMIDI;(2)单时钟1213MHZ;(3)高低声音控制;(4)支持WAV和MP3流;(5)对线路输入或话筒输入的音频信号进行IMAADPCMM编码;(6)内设PLL锁相环时钟倍频器;(7)芯片内置立体声数模转换器,两声道间没有相位差;(8)新模块可通过软件和4GPIO添加;功耗低;(9)可以驱动30欧负载的耳机驱动器;(10)为用户代码和数据准备的55KB片上RAM;(11)I/O,模拟,数字单独供电;(12)控制/数据接口是串口;可作CPU从机;(14)用于调试的接口UART;特殊应用的SPIFLASH引导。第10页324供电系统I/O端口,模拟、数字全都是单独供电的,电压值有33V和25V两种。33V电压统一使用系统33V直流电,为防止干扰需增加必要的隔离器件。25V电压用TLV111725稳压器单独供电。TI公司单通道LDO线性稳压器,39V15V输入电压范围,25V输出固定电压。电路图如图19GND1I3OUT24LV750C_F6MHNDUCTOR图19TLV111725电路图325读写操作时序VS1003B采用SPI总线模式,其时序图见图110图110VS1003BSPI读写时序图第33节TFT彩屏本系统采用的薄膜晶体管型液晶显示屏28寸,分辨率为240320。可以支持65K/262K色,数据位为可选方式16/8位,ILI9325控制器。引脚定义见图111BSR8W9XYEAK图111VS1003SPI读写时序图第11页引脚功能(1)写信号开关WR;读信号开关RD;复位RESET;(2)16位数据线DB0DB15;寄存器选择信号RS;(3)触摸屏Y轴输出Y、Y;触摸屏X轴输出X、X;(4)液晶背光公共端LEDA;背光选择LEDK1LEDK4;(5)电源VDD;地GND;引脚功能中LEDA为接33V电压的公共端,通过L1L4设置背光亮度LEDK1LEDK4全部接10欧姆电阻再接地时背光达到最大亮度。第34节SD卡SD卡(安全数码卡)是基于FLASH储存介质的记忆设备,具有容量大、体积小、安全性能好、数据传输快、移动灵活以及兼容MMC卡等特点。SD卡具有SD、SPI两种工作模式,较SD模式,SPI模式能够降低成本、简化主机设计。由于没有SD总线接口,STM32F103VCT6只能使用SPI模式。SD卡管脚定义,见图112图112SD管脚定义SD卡的工作电压为2736V。在SPI模式下,4脚6脚是电源端、3脚为数据输入端、1脚8脚保留(未使用)、2脚是片选端、5脚为时钟信号端、7脚为数据输出端。电路图见图113第12页RSV1C2DI34LK5GN6OUT78卡_0KFSX图113SD卡电路图在本系统中SD卡的主要作用是存储乐音文件。相较于FLASH芯片,SD卡容量大,且驱动程序较简单。SD卡采用SPI总线模式。STMF103VCT6集成了2个SPI接口,方便对于系统的控制。第13页第4章软件设计第41节开发工具介绍411KEILMDK概述KEILMDK,也称MDKARM,REALVIEWMDK、UVISION4等,是一款工程师们为了研发微控制器而专门设计出的专业的针对性软件,具有学习难度低,功能丰富强大,用途十分广泛等特色,几乎所有的嵌入式架构及应用都能使用该软件进行设计与开发,该软件为基于CORTEXM、ARM7、ARM9等处理器的嵌入式设计提供了非常的完整开发环境。KEILMDK发展至今共有四个版本,分别是MDKBASIC、MDKLITE、MDKPROFESSIONAL、MDKSTANDARD,所有版本都能够提供一个完善的C语言/C语言开发平台,以供软件开发、测试工程师们创造与设计应用软件及操作系统。412KEILMDK介绍1、功能特点CORTEXR4、ARM7、CORTEXM和ARM9系列嵌入式设备在KEILMDK开发环境获得完美的支持,MDK的ARMC/C编译工具链拥有行业遥遥领先的技术,拥有带源码确定的KEILRTX小型封装实时操作系统和VISION4IDE集成开发环境,调试器和仿真环境TCP/IP网络套件提供了多种协议和各种应用,提供带标准驱动类的USB设备和USB主机栈,能够提供关于程序运行的完整代码覆盖率信息;MDK执行分析工具和性能分析器可使程序得到最优化,能够为带图形用户接口的嵌入式系统提供了完善的GUI库支持,此外ULINKPRO可实时分析运行中的应用程序,且能记录CORTEXM指令的每一次执行大量的项目例程帮助软件学习者快速熟悉KEILMDK强大的内置特征。2、国内支持目前KEILMDK在国内由代理商提供技术支持,包括该工具的销售和市场工作。第14页第42节程序框图开始检测字库是否存在对VS1003B进行RAM测试和正弦测试循环播放SD卡MUSIC文件内的歌曲在TFTLCD上显示歌曲信息及当前状态结束复位键是否按下POWER键是否关闭电源按键输入值(上下键、音量键)图114MP3播放器运行流程框图第43节文件系统431概述在存储设备上组织文件的方法就是文件系统,作用是操作系统用于明确存储设备(磁盘或固态硬盘)或分区上的文件的方法和数据结构,文件管理系统是指操作系统中负责管理和存储文件信息的软件架构,简称文件系统。文件系统的三个重要组成部分接口文件系统、对象及属性、对对象操纵和管理的软件集合。文件系统从系统角度来解释,是组织和分配文件存储设备的空间,负责文件存储并对存入的文件进行保护和检索的系统。详细来说,文件系统负责为用户建立文件,存入、读出、转储、修改文件,控制文件的存取,当用户不需使用时将文件撤销等。432FATFS简介文件系统模块FATFS是一种用于在小型嵌入式系统中实现FAT文件系统的通用模块。编写FATFS遵循ANSIC不需要硬件平台。设计者可以将文件系统FATFS嵌入到廉价的第15页微控制器中,如ARM,AVR等,不用对其做任何的修改。该文件系统是一个完全免费、开源的FAT文件系统模块。本设计所采用的版本中使用的源代码共有7个,见下FATFS文件系统API函数声明“FFH”文件;FATFS文件系统的配置“FFCONFH”文件;FATFS源码“FFC”文件;FATFS与储存设备接口函数声明“DISKIOH”文件;FATFS与储存设备接口函数“DISKIOC”文件;FATFS用到的所有变量类型的定义“INTEGERH”文件;FATFS长文件名编码转换表“CC936C”文件;第44节重要函数分析441MP3功能的实现原理软件复位的实现与分析打开MP3播放器工程,可以看到我们在工程中新建了一个组APP,下面加入了MP3解码文件MP3PLAYERC以及头文件MP3PLAYERH。同时我们还在HARDWARE组中加入了文件VS10XXC,以及头文件VS10XXH和FLACH。首先要介绍的是VSSR函数,该函数的功能是软复位VS1003B解码芯片,其代码如下图所示图115软复位函数第16页软复位函数VSSR使用过程,第一步配置好VS1003B解码芯片模式,第二部调用该函数,执行软复位操作,第三步在软复位完成之后,将时钟设置准确,完成整个过程软复位环节。442读写命令函数这里简单介绍一下VSWRCMD函数的结构及用途,该函数用于向VS1003B芯片写命令,代码如下所示图116写命令函数该函数用于向VS1003B发送命令,VS1003B的写操作只需要1/4CLKI,读操作需要读1/7CLKI,写操作比读操作快,虽然写寄存器最快可以达到1/4CLKI速率,但是经实际软件测试发现其在1/4CLKI的时候会出现ERROR,所以在写寄存器的时候我们可以适当的把SPI速度降低一些,之后在向寄存器发送音频数据的时候,1/4CLKI的速度就可以达到了。函数VSRDREG是系统的读命令的函数,其用来读取音频解码芯片的寄存器内容。该函数代码如下图所示第17页图117读命令函数该函数的作用和VSWRCMD的作用基本相反,用于读取寄存器的值。FLACH仅仅用来存储播放FLAC格式所需要的PATCH文件,以支持FLAC解码。着重介绍的是MP3一PLAY_S0NG函数,该函数就是解码MP3的核心函数了,该函数在音频解码芯片VS1003B初始化之后,进入死循环代码里面等待直到检测到DREQ信号出现,即每当VS_DQ上升沿时,就通过VSSMD函数向VS1003B发送32个BYTE,逐渐把整个文件循环往复直到读取完成。这一段程序代码还包含了对按键信号的处理(如音量大小调节、复位键、下一首键等)及当前正在播放的文件的一些信息、状态的显示。443TFTLCD显示控制主函数该函数先检测外部FLASH是否存在字库,然后选择音频通道为MP3音源,之后执行VS1003B的RAM测试和正弦测试,这两个测试结束后,调用MP3_PLAY函数开始播放SD卡MUSIC文件夹里面的音乐。系统能够支持WMA、MP3、WAV、等多种常见音频格式的解码,但是音频文件的波特率需要小于192KBPS才可以被接受,由音频解码芯片VS1003B完成主要的文件解码过程,系统首先通过FOPEN函数打开一个音频文件,然后读取其中一个扇区的数据并通过SPI接口传送至VS1003B芯片寄存器。VS1003B解码之前,需要进行初始化,主要是通过调用函数RESET对VS1003B进行复位操作。发送数据程序代码如下图所示第18页图118发送数据程序代码从第一个扇区数据发送完成开始,音响能够得到VS1003B解码完成音频信号,人们可以尽情享受美妙的音乐了。音频文件大小决定了将会发送多少个扇区的数据,之前通过FOPEN函数读取音频文件时,音频文件的大小便会被系统立即获知,并将相关信息数据存放在FILE1FSIZE,并通过循环函数FOR不断的向解码芯片VS1003B发送该音频文件数据,FOR函数简单结构见下图所示图119FOR循环语句发送数据当一首歌曲播放结束后,系统会自动播放下一首歌曲,如此循环。直到音频播放器播放到最后一首歌曲之后重新从列表第一首歌曲开始顺序播放。第19页第5章系统功能测试与分析第51节音乐播放功能测试系统功能测试(FCT)是对于设计的PCB上电后,测试设计的系统各个功能是否正常,硬件的工艺是否合格等。本系统是基于ARM音频播放器,测试的主要内容是是否能播放音乐;是否能播放多种格式音频文件,如MP3、WAV等常见格式;设置的按键功能是否能完成操作要求;TFT液晶显示的内容是否达到预计。下面分别展示各个主要功能的测试过程和结果511MP3歌曲播放测试图120播放测试(WAV格式)512MP3下一首歌曲翻动测试图121下一首测试第20页513音量调节测试图122音量调节测试(WAV格式)514播放多种音频格式图123播放测试(MP3格式)第52节测试结果分析通过系统功能功能测试,本系统的各个功能完整,全部达到设计要求,其中歌曲播放、不同格式播放,TFT彩屏显示当前播放的歌曲序列、歌曲总数、歌曲名称、歌曲格式、音量调节、下一首等主要功能都完整实现,均完成了设计指标,达到了设计要求。本系统音频播放器设计,也有一些不足之处,例如设置了向下翻页按键,却没有了向上翻动的按键,使用起来略有不适。音质效果不是很完美,运放器性能不理想。显示屏显示的操作界面不够美观,没有时尚的触摸屏功能。第21页结论通过本次课题为“基于ARM的多功能音频播放器设计”毕业设计,综合了大学3年多以来所学的大部分电子专业课程,将诸如电子线路CAD、数电、模电、C语言、单片机、电子综合设计、高频信号处理等学科的知识联系在一起,通过自己动手设计,查阅资料,对大学阶段电子专业所学知识起到了一个很好的巩固作用。硬件设计使得本人原本不是很熟悉的PROTEL软件,也通过设计原理图和画PCB板,克服多种困难和障碍,努力自学,从而对PROTEL的运用变得十分熟练,这些掌握到的知识必然会对本人在今后的工作岗位上受益无穷。整体硬件设计涉及许多硬件相关知识,搜索了很多资料,工作量相当巨大,对一个几乎没有复杂硬件设计经验的大学生来说是一个不小的考验。好在通过本人不懈之努力和导师及同学们的热心帮助,最终完成了音频播放器的设计,各个设计要求的功能全部实现,使得本人硬件设计能力活的了空前提升。软件设计过程中,遇到了许多问题,因为对KEILMDK软件只是略知皮毛,平时停导师讲课时没感觉多难,真到自己亲手设计时,发现许多不解不懂的地方,接口设置、模式设置、软件的很多参数不会修改,通过求教导师和向同学请教才慢慢的掌握,直至熟练。因为早期学习的C语言功底不扎实,在编程过程中,遇到很多问题,指令用错,子程序调用出错,程序层次不明等问题,一边查询资料,一般实验,才逐渐掌握C语言的运用。回顾本人开始进行这份毕业设计时,从无从下手到一个一个子模块的设计与调试,到整体架构的设计,软件的设计与调整,无一不是一步一个脚印,慢慢掌握,积少成多,才逐渐投入进去。在次过程中虽然遇到很多困难和麻烦,但经过不懈努力,都一一解决了。这些问题既带来许多烦恼,也感谢它们让自己能力得到了大大的提高。虽然现在系统还有一些问题尚未解决,如开发板的硬件资源大量浪费,还可以扩展很多其他应用,在以后的工作时间内,要亲手设计更多应用,功能更强大的媒体播放器总体而言,音频播放器的功能还是比较完善和良好的,敦促自己在毕业以后多做一些此类设计,通过实验积攒经验,使自己成为一名合格的电子类工程师第22页参考文献1康健,竖琴般的音乐享受MSCDMG128MP3播放器J电脑采购周刊,2004,122赵勇,郑培臣,张欢欢,CORTEXM3的音频播放器设计J单片机与嵌入式系统应用,2012,93魏庆福,郑文波嵌入式系统的技术发展和我们的机遇J自动化博览,2003,S14杜剑,熊建设,邵敏,李莉基于嵌入式系统的音频点播系统J重庆邮电学院学报自然科学5版,2005,26王成,刘金刚基于LINUX的嵌入式操作系统的研究现状及发展展望J微型机与应用,2004,57卢贶,基于STM32F103VCT的嵌入式媒体播放器设计J湖南

温馨提示

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

评论

0/150

提交评论