基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx

上传人:b****9 文档编号:25380548 上传时间:2023-06-07 格式:DOCX 页数:58 大小:1.03MB
下载 相关 举报
基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx_第1页
第1页 / 共58页
基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx_第2页
第2页 / 共58页
基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx_第3页
第3页 / 共58页
基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx_第4页
第4页 / 共58页
基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx

《基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx》由会员分享,可在线阅读,更多相关《基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx(58页珍藏版)》请在冰豆网上搜索。

基于STC12C5A60S2的MP3播放器设计本科毕业设计.docx

基于STC12C5A60S2的MP3播放器设计本科毕业设计

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:

引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:

理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:

任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:

按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

3)其它

摘要

MP3播放器从上世纪90年代末开始,发展至今已经是一种相当成熟,广泛应用的电子娱乐消费产品。

目前市面上的MP3播放器种类繁多,功能各异,各种MP3方案层出不穷以适应不同的需求,本设计以51单片机为主控核心,VS1003为音频解码模块,MicroSD卡为音频文件的存储煤质,加上TFT彩屏友好的人机交互界面作为该毕业设计的MP3播放器方案。

同时,为提高本设计的灵活性,可拓展性,方便后续升级,引入文件系统,而界面系统可依据需求进行配置。

关键字:

MP3播放器,51单片机,音频解码,文件系统

 

Abstract

MP3playersincethelate1990s,thedevelopmentsofarisaquitematureandwidelyusedelectronicentertainmentconsumerproducts.MP3playercurrentlyonthemarketawidevariety,differentfunction,allkindsofMP3solutionsemergeinendlesslytoadapttothedifferentrequirements,thedesignof51single-chipmicrocomputerasthecore,controlVS1003audiodecodingmodule,MicroSDcardforaudiofilesstoredcoalquality,coupledwithTFTcolorscreenfriendlyhuman-computerinteractioninterfaceasthegraduationdesignofMP3players.

Atthesametime,inordertoimprovetheflexibilityofthedesign,canexpandsex,convenientupgradefollow-up,theintroductionofthefilesystem,andtheinterfacesystemcanbeconfiguredaccordingtotherequirements.

 

Keywords:

MP3players,51single-chip,audiodecoding,filesysterm

 

第1章绪论

1.1课题背景

MP3是一种音频压缩技术,是MPEG-1audiolayer3的简称。

MPEG-1是目前普遍应用的音频压缩标准,其中层III的算法最为复杂,但压缩比最大,效果也最好,在低码率的条件下基本能达到CD的音质效果。

如果对于一段声音不进行压缩的话,那么每存储一秒钟的立体声CD音质音乐必须用1.4Mbit,这是个十分大的开销。

通过运用MPEG音频标准的压缩技术,我们可以把存储空间压缩到原来的1/12而不会降低声音的音质。

即使使用1/24的压缩因子,仍然比单纯降低采样率的音质要好。

低数据量和高播放品质的优点使其成为音乐存储、数字广播、网上音乐传输的主要方式。

而MP3播放器则是能够播放MP3格式音频文件,同时具有存储,显示一体这一特定功能的小型电脑。

1.2设计意义

随着电子技术的发展,MP3播放器向大容量、高音质、小巧便携方向不断发展,如今的MP3播放器基本与存储器一体设计,使MP3播放器更加的便于携带,但与此同时也带来其他新的问题,比如存储容量有限,尤其是在追求播放器小巧的今天,其容量一般不会很大,如果想升级更大容量的,就只能去购买新的产品了,从而造成资源浪费;另一方面,一体化的设计又限制了MP3播放器在其他领域的应用,比如LCD液晶显示升级或更换,与其他系统模块的整合,因此,MP3播放器的模块独立化也是其发展的另一方向。

本设计以单片机为主控中心,MicroSD卡为音频数据的存储煤质,其容量大小可根据需求进行自由更换,同时,以VS1003为音频解码模块,该模块也可根据解码速率及音频格式进行更改,MCU通过对MicroSD卡上的音频文件进行读取送到解码模块进行解码,并通过音频接口进行播放,且将相应信息显示在液晶屏幕实现人机交互。

1.3方案论证

(1)主控芯片选择:

作为本设计的核心大脑,主控芯片必须具有能够富有余力的执行整个代码流程的能力,这在其处理速度上有着硬性要求,照此看来,ARM系列或者STM系列或是不错的选择,无论是其强大的处理速度还是丰富的接口,都有比其他处理器有着先天的优势,但对于MP3播放器这一类的电子产品,其价格是其致命伤,成本控制同样是重要的考量因素,而51单片机似乎是个不错的选择,成本低,市场量高,是一款成熟的处理器,很多中低端的产品都有它的身影,支持度也很好,唯一的缺点是处理速度不够快,为此,我选择51系列的增强版STC12C5A60S2,该款单片机不仅价格便宜,使用度广,同时1T最高可达35MHZ的处理速度相较于AVR也毫不逊色,接口也基本满足设计需求。

尤其是具有硬件SPI。

(2)解码方式选择:

音频解码可分为软解码和硬解码两种方式,软解码需要大量的运算,无论是空间资源还是时间资源都消耗很大,因此要求处理器的存储容量(存储软解码代码的ROM和运行时所需的RAM)及处理速度都要求很高,市面上的一般的单片机甚至ARM7都很难做到对音频流畅无压力的解码,何况解码后的数据还要DAC转换才能形成模拟信号,要是其DAC驱动能力不够的话,还需另外添加功率放大电路,总之付出的硬件成本是比较高的。

硬件解码一般是由专门的解码芯片实现,处理速度快,集成度高(内含DAC,功放等所需电路),且除去繁琐的控制使得处理器可以解脱出来做其他事情,要做的只是将音频数据送入到解码模块中即可。

常见的MP3解码芯片有VS100X系列和STA01X系列,由于VS100X系列不仅自带DAC输出功能,支持MP3、WMA、WAV、MIDI等音频格式,还具有调节音量,高低音等,更为可喜的是具有MIC功能。

这极大地提高了MP3播放器的可拓展性和丰富性,本设计选择VS1003作为音频解码模块。

(3)存储煤质选择:

一首歌的大小普遍在3~4MB左右,音质稍微好点的基本在5MB以上,显然存储在处理器内部是不现实的,这要求外设存储设备,且需要大容量的,可以选择外接Flash,MicroSD卡,U盘等,由于Flash是焊接到PCB上,一旦确定其大小就被固定了,对后续升级不便,且也不方便移动和携带,而MicroSD卡和U盘是不错的选择,大容量,可插拔,价格不贵容易购买,考虑到SD卡和microSD卡兼容,大部分人相机用的是SD卡而手机用的就是microSD卡,所以本设计选择以MicroSD卡作为音频的存储设备。

(4)LCD界面选择:

良好的用户体验离不开具有人机交互的图形界面,所以本设计也着重于界面的设计,从界面的实现功能要求及成本考虑,本设计的界面模块也采用广泛使用的液晶LCD12864,该模块基本满足设计要求,如果要升级的话也可采用与LCD12864接口兼容的彩屏,不过考虑成本及目前实现的功能需求来说,暂不需要彩屏,同时,由于LCD12864具有串行传输模式和并行传输模式可供选择,增加了灵活性,因此,本设计最终采用LCD12864作为界面显示模块。

(5)文件系统选择:

对音频文件的存储,管理,检索,播放离不开文件系统的支持,而当前对存储设备管理的文件系统当属FatFS,FatFS是一个为小型嵌入式系统设计的通用FAT(FileAllocationTable)开源文件系统。

FatFs的编写遵循ANSIC,并且完全与磁盘I/O层分开。

因此,它独立(不依赖)于硬件架构。

它可以被嵌入到低成本的微控制器中,如AVR,8051,PIC,ARM,Z80,68K等等,而不需要做任何修改。

其提供的函数接口足以满足我们对存储设备的操作,但由于本设计所使用的处理器为STC12C5A60S2,内部资源尤其是RAM非常有限,且大部分的函数功能不需要用到,因此采用PetitFatFs文件传统,PetitFatFs是FatFs的精简版,比较适用于低端8位单片机中。

可以用在小RAM的单片机中,RAM可以小于扇区的RAM(512bytes)中。

因此,本设计最终方案以STC12C5A60S2为主控芯片,MicroSD卡为音频存储设备,VS1003为音频解码模块,TFT彩屏为人机交互界面,通过主控MCU搭载的PetitFatFs文件传统对MicroSD卡上的音频文件进行检索并显示在界面,根据用户选择将相应音频文件输出至VS1003模块进行解码播放,同时将其信息如歌曲名,歌词,播放时长等显示到界面。

第2章系统硬件原理及概述

2.1系统硬件总体框架介绍

歌曲信息

音频流

硬件SPI

serial

 

图2-1系统硬件框架图

硬件启动流程:

上电后,主控芯片STC12C5A60S2设置启用硬件SPI功能并采用该SPI对存储设备MicroSD卡进行初始化后检索根目录下的MP3格式音频文件名,然后按照检索的顺序依次显示在LCD上供用户浏览,用户可根据4个独立的按键进行选择操作,4个按键中分别为prev,next,play,quit,由于按键数量不多但要完成的操作多余4个,故采用复用功能,在选择歌曲界面时,prev表示前一首歌曲,next表示下一首歌曲,play表示播放;当处于播放状态时,prev表示快退,next表示快进,而play表示暂停,且在暂停状态时,prev表示音量调小,next表示音量调大,最后的quit是退出当前的界面返回上一级界面。

MCU收到用户的按键信息后会根据不同的指令对对应的文件名进行读取,并将数据流直接送到VS1003解码模块进行解码,用户即可通过解码模块VS103的音频口听到优雅的音乐了,同时,MCU会将该音频文件的其他信息显示到LCD上,包括MP3文件名,播放时长,以方便用户阅览并后续的操作,另外,为方便设计期间对代码的调试,也添加了serial串口模块(可裁剪),以方便开发人员软件设计的调试,可通过设置宏定义使得开发期间使能串口打印功能,而当完成调试relase的时候禁止打印功能即可。

 

2.2系统硬件各模块介绍

2.2.1主控芯片STC12C5A60S2处理器简介

在众多的51系列单片机中,要算国内STC 公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,如STC12C5A60S2单片机内部就自带高达60K FLASH ROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。

片上集成1280字节RAM,基本满足大部分程序运行所需内存大小。

而且STC系列单片机支持串口程序烧写。

显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。

写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。

重要的一点STC12C5A60S2目前的售价与传统51差不多,市场供应也很充足,是一款高性价比的单片机。

STC12C5A60S2单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍(工作频率范围:

0 - 35MHz,相当于普通8051的 0~420MHz)。

内部集成MAX810专用复位电路、2路PWM、8路高速10位A/D转换(250K/S)、双串口、特别适用强干扰场合。

本设计着重其具有的硬件SPI功能!

因为对MicroSD卡扇区的读写操作需要更快的操作。

这是普通51单片机所没有的先天优势。

其各引脚分布如下:

图2-2STC12C5A60S2引脚分布图

2.2.2VS1003音频解码模块

VS1003是一个单片MP3/WMA/MIDI音频解码器和ADPCM编码器。

它包含一个高性能,自主产权的低功耗DSP 处理器核VS_DSP4,工作数据存储器,为用户应用提供5KB的指令RAM和0.5KB的数据RAM。

串行的控制和数据接口,4个常规用途的I/O口,一个UART,也有一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器。

VS1003通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。

输入的比特流被解码,然后通过一个数字音量控制器到达一个18位过采样多位ε-Δ DAC。

通过串行总线控制解码器。

除了基本的解码,在用户RAM中它还可以做其他特殊应用,例如DSP音效处理。

图2-3VS1003架构图

由于本设计主要是利用VS1003的解码功能,所以仅要求了解其解码相关的部分引脚即可,其相关引脚如下

引脚名称

LQFP-48

引脚类型

引脚功能

XRESET

3

DI

低电平有效,异步复位端

DGND0

4

DHND

处理器核与I/O地

CVDD0

5

CPER

处理器核电源

IOVDD0

6

IOPWR

I/O电源

CVDD1

7

CPEW

处理器核电源

DREQ

8

DO

数据请求

GPIO2/DCLK

9

DIO

通用I/O2/串行总线时钟

GPIO3/SDATA

10

DIO

通用I/O3/串行数据总线数

XDCS/BSYNC

13

DI

数据片选端/字节同步

IOVDD1

14

IOPWR

I/O电源

XTALO

17

AO

晶振输出

XTALI

18

AI

晶振输入

IOVDD2

19

IOPWR

I/O电源

DGND2

20

DGND

处理器核与I/O地

DGND3

21

DGND

处理器核与I/O地

DGND4

22

DGND

处理器核与I/O地

XCS

23

DI

片选输入,低电平有效

CVDD2

24

CPWR

处理器核电源

RX

26

DI

UART接收口,不用时接IOVDD

SCLK

28

DI

串行总线的时钟

SI

29

DI

串行输入

SO

30

DO3

串行输出

CVDD3

31

CPWR

处理器核电源

TEST

32

DI

保留做测试,连接至IOVDD

GPIO0/SPIBOOT

33

DIO

通用I/O0/SPIBOOT,使用100K下拉电阻

GPIO1

34

DIO

通用I/O1

AGND0

37

APWR

模拟地,低噪声参考地

AVDD0

38

APWR

模拟电源

RIGHT

39

AO

右声道输出

AGND1

40

APWR

模拟地

AGND2

41

APWR

模拟地

GBUF

42

AO

公共地缓冲器

AVDD1

43

APWR

模拟电源

AVDD2

45

APWR

模拟电源

LEFT

46

AO

左声道输出

AGND3

47

APWR

模拟地

表2-4VS1003重要引脚说明

 

在VS1003的使用中除了对引脚有所了解外,还要对其寄存器有很好的了解才能对相应寄存器进行设置从而使用该芯片。

VS1003共有16个16位的寄存器,地址分别为0x0 – 0xF;除了模式寄存器(MODE,0x0)和状态寄存器(STATUS,0x1)在复位后的初始值分别为0x800和0x3C外,其余的寄存器在VS1003初始化后的值均为0。

下面将VS1003各寄存器逐一介绍:

1)MODE(地址0x0;RW,可读写) 

模式寄存器在VS1003中是一个较为重要的寄存器,其每一位都对应着VS1003的不同设置。

 

●bit0:

SM_DIFF 

SM_DIFF = 0 正常音频相位 SM_DIFF = 1 左声道反转 

当SM_DIFF置位时,VS1003将左声道反相输出,立体声输入将产生环绕效果,对于单声道输入将产生差分(反相)左/右声道信号。

●bit1:

SM_SETTOZERO 置零  

●bit2:

SM_RESET 

SM_RESET = 1,VS1003软复位。

软复位之后该位会自动清零。

 

 

●bit3:

SM _OUTOFWAV 

SM _OUTOFWAV = 1,停止WAW解码。

 

当你要中途停止WAV、WMA或者MIDI文件的解码时,置位SM _OUTOFWAV,并向VS1003持续发送数据(对于WAV文件发送0)直到将SM _OUTOFWAV清零;同时SCI_HDAT1也将被清零。

●bit4:

SM_PDOWN 

SM_PDOWN = 1,软件省电电模式,该模式不及硬件省电模式(由VS1003的xReset激活)  

●bit5:

SM_TESTS 

SM_TESTS = 1,进入SDI测试模式。

 

 

●bit6:

SM_STREAM 

SM_STREAM = 1,使能VS1003的流模式,具体请参考应用笔记VS10XX。

  

●bit7:

SM_PLUSV 

SM_PLUSV = 1,MP3 + V解码使能。

●bit8:

SM_DACT 

SM_DACT = 0,SCLK上升沿有效;SM_DACT = 1,SCLK下降沿有效。

 

 

●bit9:

SM_SDIORD 

SM_SDIORD = 0,SDI总线字节数据MSB在前,即须先发送MSB; SM_SDIORD = 1,SDI总线字节数据LSB在前,即须先发送LSB; 该位的设置不会影响SCI总线。

●bit10:

SM_SDISHARE 

SM_SDISHARE = 1,SDI与SCI将共用一个片选信号(同时SM_SDINEW = 1),即将xDCS与xCS这两根信号线合为一条,能省去一个IO口。

  

●bit11:

SM_SDINEW 

SM_SDINEW = 1,VS1002本地模式(新模式)。

VS1003在启动后默认进入该模式。

 注:

这里的模式指的是总线模式。

  

●bit12:

SM_ADPCM 

SM_ADPCM = 1,ADPCM录音使能。

 

同时置位SM_ADPCM和SM_RESET将使能VS1003的IMA ADPCM录音功能。

●bit13:

SM_ADPCM_HP 

SM_ADPCM_HP = 1,使能ADPCM高通滤波器。

 

同时置位SM_ADPCM_HP 、SM_ADPCM和SM_RESET将开启ADPCM录音用高通滤波器,对录音时的背景噪音有一定的抑制作用。

  

●bit14:

 SM_LINE_IN 

录音输入选择,SM_LINE_IN = 1,选择线入(line in);SM_LINE_IN = 0,选择麦克风输入(默认)。

2)SCI_STATUS(0x1,RW) 

SCI_STATUS为VS1003的状态寄存器,提供VS1003当前状态信息。

3) SCI_BASS(0x2,RW) 重音/高音设置寄存器。

 

VS1003的内置的重音增强器VSBE是种高质量的重音增强DSP算法,能够最大限度的避免音频削波。

当SB_AMPLITUDE(bit:

7-4)不为零时,重音增强器将使能。

可以根据个人需要来设置SB_AMPLITUDE。

例如,SCI_BASS = 0x00f6,即对60Hz以下的音频信号进行15dB的增强。

当ST_AMPLITUDE(bit:

15-12)不为零时,高音增强将使能。

例如,SCI_BASS = 0x7a00,即10kHz以上的音频信号进行10.5dB的增强。

4) SCI_CLOCKF(0x3,RW) 

在VS1003种对该寄存器的操作有别于VS10x1和VS1002。

 

●SC_MULT(bit:

15-13)时钟输入XTALI的倍频设置,设置之后将启动VS1003内置的倍频器。

●SC_ADD(bit:

12-11) 用于在WMA流解码时给倍频器增加的额外的倍频值。

 

●SC_FREQ(bit:

10-0) 当XTALI输入的时钟不是12.288M时才需要设置该位段,其默认值为0,即VS1003默认使用的是12.288M的输入时钟。

5) SCI_DECODE_TIME(0x4,RW) 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1