基于dsp的mp3播放器终稿学位论文.docx

上传人:b****5 文档编号:3276716 上传时间:2022-11-21 格式:DOCX 页数:18 大小:134.92KB
下载 相关 举报
基于dsp的mp3播放器终稿学位论文.docx_第1页
第1页 / 共18页
基于dsp的mp3播放器终稿学位论文.docx_第2页
第2页 / 共18页
基于dsp的mp3播放器终稿学位论文.docx_第3页
第3页 / 共18页
基于dsp的mp3播放器终稿学位论文.docx_第4页
第4页 / 共18页
基于dsp的mp3播放器终稿学位论文.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于dsp的mp3播放器终稿学位论文.docx

《基于dsp的mp3播放器终稿学位论文.docx》由会员分享,可在线阅读,更多相关《基于dsp的mp3播放器终稿学位论文.docx(18页珍藏版)》请在冰豆网上搜索。

基于dsp的mp3播放器终稿学位论文.docx

基于dsp的mp3播放器终稿学位论文

摘要:

在当今这个信息、科技高速发展的数字化时代,数字信号处理技术逐步体现出它的优势与拓展空间。

越来越多的电子产品将数字信号处理作为技术核心,并广泛应用于控制、通信、图像处理等各个领域。

为了适应这一发展趋势,基于DSP的MP3播放器设计的这一课题也就如期而至,在这次接近实践的实习中我们将针对DSP的硬件实现原理和其结构特点,利用汇编语言设计相应的代码来实现预期目的中所要达到的MP3播放器各项功能。

与此同时,针对DSP的MP3解码问题的理解和解决也成为了我们这次设计中需要克服的最大难题。

相比专用芯片的MP3解码,采用DSP芯片进行软解码的灵活性、可移植性、通用性等都具有很大优势。

实习中需要用PROTEL软件对外围电路进行设计和绘制,利用CCS软件进行汇编程序的编译和调试,在软硬件设计完成后将其结合进行仿真完成设计要求。

 

关键词:

数字信号处理;MP3;解码;PROTEL

目录

1课题综述1

1.1课题来源1

1.2课题意义1

1.3预期目标1

1.4面对问题1

2系统分析1

2.1涉及到的基础知识1

2.2解决问题的基本思路4

2.3软件分析4

2.4硬件分析4

2.5总体方案4

3系统设计5

3.1软件设计5

3.2硬件设计6

3.3程序代码7

4电路设计10

4.1电源电路10

4.2FLASH存储器电路11

4.3USB接口电路12

4.4PCB图13

5系统仿真与调试13

总结15

致谢16

参考文献17

1课题综述

1.1课题来源

DSP应用的快速发展为数字信息产品带来广阔的发展空间,并将支持通信、计算机和消费类电子产品的数字化融合。

与此同时,数字编解码及压缩技术也不断进步,在对于音视频处理领域也成了当前的热点之一。

MP3在这时也应运而生,成为了当今科技时尚潮流的代名词,各种手持娱乐终端、消费类电子产品中对于MP3播放器的功能,也是风靡一时。

而对于MP3的压缩解码器技术理所应当的成为了我们实习的最好课题。

1.2课题意义

随着各种MP3的不断更新换代,对于MP3的压缩编码解码的要求也就越来越高,本课题采用基于DSP技术下的MP3播放器,采用慢速大容量外存加高速小容量外存的组合方式,音乐文件先从慢速外存下载至高速外存再载入DSP的高速RAM,下载一部分处理一部分的工作方式,充分体现了当今时代对MP3功能的需求。

而研究如何将DSP技术和MP3有机的结合就成为了我们这次实习的重要意义所在。

1.3预期目标

通过对软硬件的设计,使基于DSP的MP3播放器实现播放、搜索、音量控制、暂停、删除、锁定、浏览、停止、关机、播放模式控制、音场选择等功能模块。

并针对其不同的功能设定不同的快捷键来方便使用。

1.4面对问题

在这次设计过程中,我们需要解决基于DSP芯片上的MP3软件设计和硬件设计两大部分。

对于软件部分,要利用汇编语言来实现其解码功能,并最终和其各项功能结合在一起。

硬件部分的难点是合理的将各模块的DSP芯片有机的连接起来。

2系统分析

2.1涉及到的基础知识

2.1.1MP3

MP3全称是动态影像专家压缩标准音频层面3(MovingPictureExpertsGroupAudioLayerIII)。

是当今较流行的一种数字音频编码和有损压缩格式,它设计用来大幅度地降低音频数据量,而对于大多数用户来说重放的音质与最初的不压缩音频相比没有明显的下降。

它是在1991年由位于德国埃尔朗根的研究组织Fraunhofer-Gesellschaft的一组工程师发明和标准化的。

MP3也是一个数据压缩格式。

它丢弃掉脉冲编码调制(PCM)音频数据中对人类听觉不重要的数据(类似于JPEG是一个有损图像压缩),从而达到了小得多的文件大小。

在MP3中使用了许多技术其中包括心理声学以确定音频的哪一部分可以丢弃。

MP3音频可以按照不同的位速进行压缩,提供了在数据大小和声音质量之间进行权衡的一个范围。

2.1.2DSP

数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。

20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。

数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。

在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。

DSP的优点:

对元件值的容限不敏感,受温度、环境等外部因素影响小;容易实现集成;VLSI可以分时复用,共享处理器;方便调整处理器的系数实现自适应滤波;可实现模拟处理不能实现的功能:

线性相位、多抽样率处理、级联、易于存储等;可用于频率非常低的信号。

DSP的缺点:

需要模数转换;受采样频率的限制,处理频率范围有限;数字系统由耗电的有源器件构成,没有无源设备可靠。

但是其优点远远超过缺点。

2.1.3PDIUSBD12

PDIUSBD12是一款性价比很高的USB器件。

它通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口,它还支持本地的DMA传输;这种实现USB接口的标准组件使得设计者可以在各种不同类型微控制器中选择出最合适的微控制器;这种灵活性减小了开发的时间、风险以及费用(通过使用已有的结构和减少固件上的投资)从而用最快捷的方法实现最经济的USB外设的解决方案;

PDIUSBD12完全符合USB1.1版的规范,它还符合大多数器件的分类规格:

成像类、海量存储器件、通信器件、打印设备以及人机接口设备。

同样,地PDIUSBD12理想地适用于许多外设,例如:

打印机、扫描仪、外部的存储设备(Zip驱动器)和数码相机等等。

它使得当前使用SCSI的系统可以立即降低成本;

PDIUSBD12所具有的低挂起功耗连同LazyClock输出可以满足使用ACPI、OnNOW和USB电源管理的要求。

低的操作功耗可以应用于使用总线供电的外设;

此外它还集成了许多特性,包括SoftConnetTM、GoodLinkTM、可编程时钟输出、低频晶振和终止寄存器集合。

所有这些特性都为系统显著节约了成本,同时使USB功能在外设上的应用变得容易。

PDIUSBD12引脚图如图2-1所示。

图2-1PDIUSBD12芯片引脚图

D0~D7:

双向8位数据线;

ALE:

地址锁存使能信号;

CLKOUT:

可编程时钟输出;

/INT:

PDIUSBD12中断输出;

D-:

USBD-数据线;

D+:

USBD+数据线。

2.1.4SDRAM

SDRAM(SynchronousDynamicRandomAccessMemory),同步动态随机存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。

SDRAM从发展到现在已经经历了四代,分别是:

第一代SDRSDRAM,第二代DDRSDRAM,第三代DDR2SDRAM,第四代DDR3SDRAM。

2.2解决问题的基本思路

从基础出发,不难看出对于本次课程设计我们需要从两方面考虑,一方面是对于软件的设计,另一方面是其硬件问题的解决。

对于软、硬件的问题我们需要先分析其设计的要求,并根据其设计要求具体设计方案,分派任务,将一项工程分而治之,各个击破。

即化整为零,整理妥当后在合二为一的综合设计思路。

因为MP3的编码系统和各实现模块电路在本次设计中是重点,也是难点,所以对于这部分的工作还是要做到细致入微的才行。

2.3软件分析

通过系统的软件要实现数据存储介质中读取MP3码流数据,并保证数据读取的速度满足系统的需要;能够正确定位MP3文件数据的地址和文件长度,为后期进行歌曲选择打下基础;与此同时,对MP3码流进行解码,并且以所需要的格式和方式输出。

解码算法要在目标系统中实现,因此,不但要保证算法的正确性,也要保证算法的适应性,充分利用目标系统性能特性,并满足系统的运算速度要求;最后,要能正确协调硬件各个模块的工作,提供正确的芯片控制信号。

2.4硬件分析

对于MP3播放器的系统分析除了软件分析,当然还有对其硬件的分析。

首先,做出的硬件要能够对MP3码流进行解码,从MP3格式恢复成PCM码流。

系统应该能够保证解码过程的正确性,并能够满足解码算法在实现过程中所需要的存储空间、计算速度等需求;而且可以存储一定量的MP3码流文件,供解码系统使用。

在系统初步实现时,存储的码流长度至少要保证能够从主观上感受到音频信号解码的效果;在解码后输出的PCM码流通过扬声设备,如耳机、音箱等播放出来,这样才能够从直观上判断解码的效果,并且方便后期在使用该系统方案时进行直观性能评价和直接应用;最后,能够满足系统的功率要求。

一般情况下,对于电子类便携式系统,或者嵌入式应用方案来说,系统的功耗要比较低,用电池供电能够满足系统的工作需要。

2.5总体方案

对于本次课程设计,我们将设计的工作分为两个部分:

即硬件系统部分和软件系统部分。

其中硬件系统主要包括主译码模块、控制模块、模拟音频模块、电源模块等。

软件系统主要实现MP3解码算法,存储器访问控制,MP3文件播放控制等功能。

系统总体设计如图2-2所示。

图2-2总体设计图

3系统设计

3.1软件设计

考虑到MP3解码软件的复杂度和可读性,整个解码软件采用DSPC语言编写。

DSPC语言具有与标准ANSIC语言相同的语法特点,同时还和DSP硬件相结合,能够直接控制DSP的在片或外围设备资源。

随着信号处理技术的不断发展,DSP的C语言编译器编译效率也越来越高,54X系列的C语言编译器效率能达到60%~70%,6000系列的编译器效率高达80%。

所以用C语言来对DSP进行编程是必然的趋势。

MP3解码算法虽然复杂,但是整个解码过程分为各个模块进行,各个模块之间相对比较独立。

在整个解码软件的设计过程中,对各个模块采用子函数的方式,各个模块间的联系表现为函数的参数传递。

整个解码软件由一个主函数控制,调度各个模块的有序运行。

软件系统设计方案是用DSP软件实现MP3解码算法功能,并完成相应的接口访问功能,包括控制子系统和MP3子系统两部分。

控制子系统包括通用驱动、FLASH文件系统、HPI驱动等部分;MP3子系统包括HPI驱动、MP3解码、输出均衡、D/A转换等部分。

软件功能设计原理如图3-1所示。

图3-1MP3软件系统设计图

3.2硬件设计

对于硬件平台设计的结构框图如图3-2所示。

图3-2硬件平台结构图

从结构图可以看出,整个硬件平台分为以下几个部分:

核心处理器TMS320VC5416,用来执行MP3解码程序以及一些控制功能。

可编程逻辑芯片CPLD,作为各个模块间的接口,包括地址译码、时序控制及格式转换等功能。

存储器模块,包括程序存储器、大容量与非数据存储器,程序存储器为FLASH器件,用来存储DSP的可执行程序,上电后加载到DSP内部程序空间运行解码程序,数据存储器用来存储MP3数据。

音频CODEC,用来对DSP输入/输出地音频流进行数模转换,播放MP3音乐。

与PC机的接口,即USB接口,用来传送大容量MP3数据。

电源,用来给整个电路板供电。

整个硬件平台的工作流程如下:

首先通过串口或USB接口从PC机中下载MP3数据,存储在大容量数据存储器中。

DSP读取存储器中的数据进行解码,还原出PCM信号,再通过DSP的缓冲串口送到音频CODEC,最终播放出MP3音乐。

3.3程序代码

.title"CVSDcoder.asm"

.mmregs

STACK.usect"STACK",10h

.globalInit,Begin

DeltaMax.set1280h

DeltaMin.set65h

Beta.set99h

Delta0CVSD.set10h

.data

TBL:

.word0,1,0

.bssThreeJudge,3

.bssInData,1

.bssOutData,1

.bssDeltaCVSD,1

.bssValPreCVSD,1

.text

Init:

STM#ThreeJudge,AR5;将ThreeJudge的地址赋给AR5

RPT#3;重复执行以下指令3次

MVPDTBL,*AR5+;将TBL的数据赋给AR5指定的地址空间

STM#ThreeJudge,AR5;将ThreeJudge的地址赋给AR5

ST#20,*(DeltaCVSD);将立即数20赋给DeltaCVSD

ST#0,*(ValPreCVSD);将立即数0赋给ValPreCVSD

ST#100,*(InData);将立即数100赋给InData

Begin:

LD*(InData),A;将InData的内容赋给A

STLMA,AR1;将InData的内容赋给AR1

LD*(ValPreCVSD),A;将ValPreCVSD的地址赋给A

STLMA,AR0;将ValPreCVSD的内容赋给AR0

CMPRLT,AR1;AR1-AR0,小于零置TC位为1

BCDiffNeg,TC;TC=1跳转到DiffNeg

STM#1,*AR5+;ThreeJudgeCVSD[0]=1

ST#1,*(OutData);OutData=1;判断三连码

LD#1,A

AND*AR5+,A

AND*AR5+,A

BCL1,ANEQ;A不等于零,A=1(三连码)跳转到L1

STM#DeltaCVSD,AR6;将DeltaCVSD赋给A

STM#Beta,T;将Beta赋给T

MPYAR6,A;DeltaCVSD*=Beta;

BL2

L1:

LD#DeltaCVSD,A;将DeltaCVSD赋给A

STM#Delta0CVSD,AR3;将Delta0CVSD赋给AR3

ADDAR3,A;DeltaCVSD+=Delta0CVSD;

;判断Delta是否超出最大值

L2:

STM#DeltaMax,AR0;将DeltaMax赋给AR0

STLA,AR4;A的低16位赋给AR4

CMPRLT,AR4;AR4小于AR0,没有超出最大值,置TC为

BCL3,TC;没有超出最大值,跳转

LDAR0,A;如果超出最大值,置A为AR0,即最大值

;判断Delta是否超出最小值

L3:

STM#DeltaMin,AR0;将DeltaMin赋给AR0

STLA,AR4;A的低16位赋给AR4

CMPRGT,AR4;AR4大于AR0,没有超出最小值,置TC为

BCL4,TC;没有超出最小值,跳转

LDAR0,A;如果超出最小值,置A为AR0,即最小值

L4:

STLA,*(DeltaCVSD);将A的低16位值赋给DeltaCVSD

STM#ValPreCVSD,AR4;将ValPreCVSD的地址赋给AR4

ADD*AR4,A;AR4所指向的内容与A相加

STLA,*(ValPreCVSD);将A低16位值赋给ValPreCVSD

Bending

DiffNeg:

STM#0,*AR5+;ThreeJudgeCVSD[0]=0;

ST#0,*(OutData);OutData=0

;判断三连码

LD#0,A

ADD*AR5+,A

ADD*AR5+,A

BCL5,ANEQ;A不为零(非三连码)跳转到L5

LD#DeltaCVSD,A

STM#Delta0CVSD,AR3;

ADDAR3,A;DeltaCVSD+=Delta0CVSD;

BL6

L5:

STM#DeltaCVSD,AR6

STM#Beta,T

MPYAR6,A;DeltaCVSD*=Beta;

L6:

STM#DeltaMax,AR0

STLA,AR4

CMPRLT,AR4;AR4小于AR0,置TC为1

BCL7,TC;没有超出最大值

LDAR0,A

L7:

STM#DeltaMin,AR0

CMPRGT,AR4;AR4大于AR0,置TC为1

BCL8,TC;没有超出最小值

LDAR0,A

L8:

STLA,*(DeltaCVSD)

STLA,AR4

STM#ValPreCVSD,AR6

LD*(AR6),A

SUBAR4,A

STLA,*(ValPreCVSD)

ending:

STLA,*(ValPreCVSD)

.END

4电路设计

4.1电源电路

TMS320VC5416的内核电压典型值为1.26V,电压范围为1.1~1.8V;外部接口电压典型值为3.3V,电压范围为3.0~3.6V。

另外单片机需+5V供电;电平转换电路需3.3V供电;故电源系统有5V、3.3V和1.26V四种电压。

电系统的5V电压由外部稳压电源供给;3.3V和1.26V由系统内部线性电压调节器提供。

采用TPS70348线性调压电路芯片,能满足系统设计要求。

TPS70348为双输出低漏电压调整器,具有快速瞬态响应功能;3.3V/1.26V可调电压输出;输出电流范围为0~1A;200ms延迟的双通道上电复位;热关断保护;超低静态电流,典型值为80uA;关断电流为1uA。

采用TPS70348构成的电源电路如图4-1所示。

从外部稳压电源引入5V电压。

+5V电压一方面输入给TPS70348,经TPS70348后输出电压1.26V和3.3V,另一方面又直接供给内核电源。

图4-1电源电路图

4.2FLASH存储器电路

DSP与FLASH是主从关系,由DSP的相关输出管脚控制FLASH的擦除和读写。

其中,A0一A18为地址线,DO—D7为数据线。

FLASH用于存放引导程序段和用户代码,由DSP软件编程来写入。

当系统脱机加电时,DSP首先从外部FLASH指定的引导程序段的起始位置处开始执行引导装载。

所谓引导装载,就是将原先存储在FLASH中的用户代码移植到DSP内部的高速执行单元,然后将程序指针设置为用户代码的起始地址。

这样,接下来就可以利用DSP资源高速执行用户代码了。

对于MP3解码器而言,存储容量是非常关键的问题,一首4分钟的MP3约占4M字节,因此需要大容量存储器来存储这些数据。

由于本系统DSP采用ROM加载方式,在上电复位之后首先将CE1空间的程序代码搬到片内地址O处开始运行,因此FLASH主要分配到DSP的外部CE1空间。

为使DSP能够正确地从FLASH引导并加载程序,还需配置相应的引脚。

由于DSP提供了与FLASH的无缝接口,因此设计FLASH的接口电路就变得相对较简单。

其模块电路图如下图所示。

图4-2FLASH存储器模块电路图

4.3USB接口电路

为了实现从PC端高速地下载数据,我们采用Philips公司的PDIUSBDl2芯片做为桥接芯片,它完全符合USBl.1标准,同时内部集成320字节多结构FIFO存储器,主要通过RD读信号,WR写信号,/CS片选,AO地址标志位,ALE地址锁存,DO.D7数据线来实现与DSP的接口。

为了能和不同类型微处理器接口,PDIUSBDl2的AO和ALE可有两种不同设置方式:

当ALE=0,表示数据线和地址线分开,此时AO=0,传送数据;A0=I,传送指令。

当AO=1,表示数据线和地址线复用,此时ALE的下降沿就用来锁存地址信息。

USB芯片和DSP的接口采用第一种方式,如图4-3所示,通过AO的设置来确定I/O总线上传输的是数据或者指令内容。

对USBDl2的操作也是通过模拟它的读写时序来完成的。

USB芯片与DSP及PC的连接如图4-3所示,其中DO.D7、A0、INTUSB连接到DSP的相应管脚。

图4-3USB接口电路图

4.4PCB图

图4-4PCB图

5系统仿真与调试

整个硬件平台经过原理图设计、PCB设计及硬件制版后,就要进行系统的调试。

调试的目的是保证平台各部分模块的正常运作,为MP3播放器功能的实现提供基础。

硬件的调试主要是把电路各种参数调整到符合设计要求。

先排除硬件故障,包括设计性错误和工艺性障碍。

一般原则是先静态后动态。

利用万用表或逻辑测试仪器,检查电路中的各器件以及引脚是否连接正确,是否有短路障碍。

若这些都没问题,则可上电调试。

在串口调试过程中,采用串口与闪存联合调试的方法,对串口接收到的数据直接存入闪存中。

对串口的调试主要是对寄存器的编程配置。

对寄存器的编程主要包括两部分:

初始化和数据收发。

初始化编程主要完成对其工作模式的设定及内部寄存器的设置;对于数据的收发,一般采用中断方式,并且在每次收发数据时,都要通过握手信号来判断通信链路的当前状态,以确保通信的可靠性。

寄存器初始化完毕后,便可从PC机接收数据。

PC端的软件采用串口调试,可以发送或接收任意字节的数据。

调试开始时,首先对串口芯片进行初始化,然后再对闪存进行块擦除;擦除成功后,PC端开始发送MP3数据,寄存器接收串行数据并转换成并行数据后,以中断的形式通知DSP,DSP以字节为单位从寄存器读取数据存在片内RAM中,存满一页(512字节)便启动闪存卡编程操作,将数据写入闪存中。

最后检验写入闪存中的数据,如不成功将重新执行以上操作。

在对这一模块调试成功后,可以实现PC机与硬件平台间的数据交换。

在音频调试过程中,采取声音回放的方法来验证CODEC的正常工作。

先对模拟音频信号进行采样,采样值存在DSP的内部缓冲区中,积累了一定数量的采样值后,再通过MCBSP口传送给CODEC播放。

如能实现这样的过程证明CODEC能够正常工作。

程序编译完成后,通过仿真器下载到目标板运行,在CODEC的音频输入端输入模拟音频信号,在CODEC的输出端插上耳机就能听见悦耳的音乐,说明CODEC的工作正常。

总结

这次课程设计对我来说应该算是一次意义非凡的实践了。

虽然最后做出来的结果并没有实现预期目标里面的所有要求,但就做出的成果对我而言,已经是收获颇多了。

这次所选的课题是基于DSP的MP3播放器的设计,这个课题并不是教材上面规定的课题,选择它的一部分原因或许也是想对自己学习认知能力的一次考验。

从课题的选择开始,到硬件和软件系统的设计,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。

通过学习本次课程设计包含的软件和硬件知识,并让我切实体会到了DSP在实际中的应用,所以在完成课程设计的同时也让我们了解到知识在生活中的重要性,还间接地反映了我们在软硬件设计和制作方面的不足。

在这一周的设计过程中我从对原理图的设计到对程序的编译、仿真工作,让我充实的体会到了课程设计的乐趣。

一些原理虽然看似简单,但做起来却是一个细致的工作。

另外,通过本次课程设计,我对Protel99SE软件有了新的认识,并且对于CCS仿真软件也能熟练掌握。

当然,在课程设计的过程中我也遇到了诸多的困难,一些是经过自己的摸索得到解决,一些是在同学和老师的帮助下理解运用,总之这是个不断学习,不断尝试,不断进步的过程,也是我们发挥我们想象力和创造力的过程,在这个过程中,不断地磨练自己的耐心,耐性,无论是理论还是现实

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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