已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP课程设计报告淮阴工学院DSP技术与应用课程设计报告选题名称: 基于DSP的MP3播放器设计 系(院): 计算机工程学院专 业:计算机科学与技术(嵌入式系统软件设计)班 级: 计 1073 姓 名: 学 号: 指导教师: 学年学期: 2009 2010 学年 第 2 学期2010年 6 月 12 日14摘要:随着数字广播电视、网络流媒体、消费电子等业务的蓬勃发展,数字编解码及压缩技术的不断进步,多媒体应用越来越广泛,音视频处理领域也成了当前的热点之一。音频编解码技术在其中扮演了重要的角色。当前音频、语音编码在朝着高压缩比、高保真的方向发展,出现了多种编码格式,如MP3, AAC, DolbyAC-3, WMA等。其中,MP3几乎成了网络音乐的代名词,各种手持娱乐终端、消费类电子产品中更是支持MP3音频格式,风靡一时。 MP3播放器、随身听随处可见。而在便携设备上实现MP3压缩编码器并不多见,它在数字广播、电话会议、IPTV、手机电视等方面都有广阔的应用前景。基于此,本文提出了一种基于DSP的MP3播放器的设计和实现方案。该MP3播放器基于DSP技术,采用慢速大容量外存加高速小容量外存的组合方式,音乐文件先从慢速外存下载至高速外存再载入DSP的高速RAM,下载一部分处理一部分。采用与PC机的串口通信方式实现文件的下载速度较慢,也可利用USB接口进行高速的通信。另外系统中连接的电话线可充作电话的录音。关键字:音频编解码技术;MP3播放器;DSP目 录1 课题综述11.1 课题来源11.2 课题意义12系统分析12.1 要达到的技术指标12.2功能描述22.3 硬件要求22.4 软件要求32.5 基础知识43系统设计44软件及部分硬件的详细设计64.1 负责的硬件模块设计64.2 软件部分的详细设计64.3 编码模块的代码实现85 系统仿真与调试115.1 硬件调试115.2 软件调试11总 结12参考文献131 课题综述1.1 课题来源随着数字广播电视、网络流媒体、消费电子等业务的蓬勃发展,数字编解码及压缩技术的不断进步,多媒体应用越来越广泛,音视频处理领域也成了当前的热点之一。音频编解码技术在其中扮演了重要的角色。当前音频、语音编码在朝着高压缩比、高保真的方向发展,出现了多种编码格式,如MP3, AAC, DolbyAC-3, WMA等。其中,MP3几乎成了网络音乐的代名词,各种手持娱乐终端、消费类电子产品中更是支持MP3音频格式,风靡一时。 MP3播放器、随身听随处可见。而在便携设备上实现MP3压缩编码器并不多见,它在数字广播、电话会议、IPTV、手机电视等方面都有广阔的应用前景。1.2 课题意义现在市场上推出了各种型号的MP3随身听,它们采用先进的智能控制技术,利用先进的芯片,不仅实现了MP3格式语音的播放,而且集多种功能于一身。但这些精巧的随身听价格较昂贵,因此本文根据要求设计了一种廉价MP3播放器,利用硬件存储语音文件,并能够从PC 机下载,从而可随时更新MP3音乐。2 系统分析2.1 要达到的技术指标序号技术指标参数1内存2GB2数据流速度64kb/s320kb/s3谐波失真0.01%4信噪比90dB5动态范围85dB6通道分离度80dB7录音格式ADPCM8录音数据流速率16kb/s-32kb/s9解码功能16、32kb/s等(WAV格式)16、32、48、64、128kb/s等(MP3格式)10USB接口34Mb/s(下载)56Mb/s(上传)11音频输出功率(5-7.5)mW212电池AAA型1节13静态电流2uA14待机电流30mA15工作电流70mA16录音取样频率8kHz图2.1 MP3播放器的基本技术指标2.2 功能描述序号功能当前状态操作结果1播放待机、停止按PLAY键顺序播放内存中的MP3歌曲2随机播放播放按随机键MP3中的歌曲随机播放3重复播放播放重复按REPEAT键普通播放单曲重复所有歌曲重复普通播放4循环播放播放按MODE键按一次设起点,再按一次设终点,两点间循环播放循环播放按MODE键返回原播放5 音场选择待机、播放重复按EQ键普通(NORMAL)古典(CLASSIC)摇滚(ROCK)重低音(BASS)迪斯科(DISCO)爵士(JAZZ)流行(POP)普通(NORMAL)6音量控制播放按VOL+键声音增大按VOL-键声音减小7搜索播放按REW或FF键向前或向后搜索歌曲并播放待机、停止按REW或FF键向前或向后搜索歌曲文件名8暂停播放按PLAY键暂停播放暂停播放按PLAY键恢复播放9删除待机:选定文件按DEL键二次删除选定文件10锁定待机、播放按HOLD键其他键失去作用锁定按HOLD键取消锁定11浏览停止按REW或FF键顺序显示存储器中的歌曲文件名12停止播放按STOP键停止13关机停止按“开关”键关机待机n分钟无图2.2 MP3播放器的功能描述2.3 硬件要求预期的MP3播放器的目标系统硬件要求实现以下功能:(1)能够存储一定量的MP3码流文件,供解码系统使用。在系统初步实现时,存储的码流长度至少要保证能够从主观上感受到音频信号解码的效果;(2)能够对MP3码流进行解码,从MP3格式恢复成PCM码流。系统应该能够保证解码过程的正确性,并能够满足解码算法在实现过程中所需要的存储空间、计算速度等需求;(3)能够把解码后输出的PCM码流通过扬声设备,如耳机、音箱等播放出来,这样才能够从直观上判断解码的效果,并且方便后期在使用该系统方案时进行直观性能评价和直接应用;(4) 能够满足系统的功率要求。一般情况下,对于电子类便携式系统,或者嵌入式应用方案来说,系统的功耗要比较低,用电池供电能够满足系统的工作需要。2.4 软件要求系统的软件应该能够实现以下功能:(1)能够从数据存储介质中读取MP3码流数据,要能保证数据读取的速度满足系统的需要;能够正确定位MP3文件数据的地址和文件长度,为后期进行歌曲选择打下基础;(2)能够正确对MP3码流进行解码,并且以所需要的格式和方式输出。解码算法要在目标系统中实现,因此,不但要保证算法的正确性,也要保证算法的适应性,充分利用目标系统性能特性,并满足系统的运算速度要求;(3)能够正确协调硬件各个模块的工作,提供正确的芯片控制信号,这项软件功能是专门针对硬件的,需要根据目标系统的硬件需求来设计实现;基于以上指标、要求,该设计以通用数字信号处理器(DSP,Digital Signal Processor)为核心,搭建相应的外部电路形成一个系统,解码功能通过对数字信号处理芯片编程来实现。这种方案中,使用一定开发环境进行软件的设计实现和调试测试。为了满足解码系统的需求,需要根据性能和技术要求,对通用的数字信号处理芯片进行外围电路扩充。这种方案的优点是系统实现的灵活性高,功能的可扩展性强,系统成本可以通过对芯片的选择控制到相对较低的水平,而且对于同样使用数字信号处理芯片实现的系统来说,能最大程度地进行系统集成。但是由于整个系统从硬件到软件都需要自行设计和搭建,系统实现的难度和复杂度比较高。2.5 基础知识2.5.1 TMS320C6711 DSP芯片简介veloci结构使C6000 DSP成为高性能的DSP芯片。典型的VLIW结构由多个并行运行的执行单元组成,这些单元在单个时钟周期内可执行多条指令。并行是突破传统设计而获得高性能的关键。C6711处理器由三个主要部分组成:CPU内核、外设和存储器。CPU中8个功能单元可以并行操作,这些功能单元被分成类似的两套,每套由4个基本功能单元组成。CPU有两组寄存器,每组寄存器由16个32位寄存器组成。由于在运行期间个做硬件数据相关性的检查,所以程序的并行性在编译时就被确定。片内程序存储器的总线宽度为256的,使每个周期可取8条32位指令。C6711芯片包括片内程序存储器和数据存储器,有些芯片将这些存储器作为高速缓冲存储器。外设包括直接存储器访问(DMA)、低功耗逻辑、外部存储器接口、串口、扩展总线或主机口和定时器等。具有以下特点:1 运行速度快。指令周期为6ns,峰值运算能力为1336MIPS,对于单精度运算可达1G FLOPS,对于算精度运算可达250MFLOPS.2 硬件支持IEEE格式的32位单精度与64为双精度浮点操作。3 继承了32*32bit的乘法器,其结果可为32或64bit.4 C6711的指令集在C62的指令集基础上增加了浮点执行能力,可以看作是C62指令集的超集。与C62系列芯片一样,由于其出色的运算能力、高效的指令集、智能外设、大容量的片内存储器和大范围的寻址能力,这个系列的芯片适合用于基站数字波束形成、图像处理、语音识别等对运算能力和存储量有高要求的应用场合。3 系统设计MP3编解码算法要被用来实现MP3实时编解码适配器,所以必须通过硬件实现其算法。本系统以DSP(TMS320VC6711)作为解码的主要部分,还包括音频A/D、CVSD编码、音频D/A转换,单片机的控制模块,电源系统,存储器模块等组成,图3.1给出了系统框图。麦克风音频A/D转换编码图3.1 系统框图MP3系统开发从模块上可以划分为硬件开发和软件开发两个部分,软件主要实现MP3解码算法,单片机实现存储器访问控制,MP3文件播放控制等功能。系统总体的功能结构如图3.2所示。图3.2 系统结构框图由于该设计分为软硬件的两部分的设计,我和我们组另一成员完成软件设计。我完成的部分是该系统中录音功能的实现。该部分功能完成语音的录入、语音的采样、量化等步骤,最终实现语音的编码功能,能够给MP3存储器中存入一定量的MP3码流文件,供解码系统使用。还有LCD 扩展模块是由我设计完成的。4 软件及部分硬件的详细设计4.1 负责的硬件模块设计LCD 模块选择 VPG240128TA-SC-HT-LED04,LCD工作电压与DSP的电压不匹配,需要做电平匹配,LCD电平转换芯片SN74LVC4245A ;LCD模块通过排线与单板连接。图4.1 LCD扩展模块电路图4.2 软件部分的详细设计语音信号采用比较容易实现的CSVD编码,也即线性增量调制算法编码方法,实现对语音信号的编码以及相应的解码算法。CVSD是一种量阶随着输入语音信号平均斜率大小而连续变化的增量调制方法。他的工作原理是使用多个连续可变斜率的线段来逼近语音信号,当斜率为正时,对应的数字编码为1;当斜率为负时,对应的数字编码为0。当CVSD工作于编码方式时,其系统框图如7.1,语音输入信号经采样得到数字信号,数字信号与积分器输出信号比较后输出偏差信号,偏差信号经判决后输出数字编码,该信号同时作为积分器输出斜率的机型控制信号和积分器输出斜率逻辑的输入信号。在每个时钟周期内,若语音信号大于积分器输出信号,则判决输出为1,积分器输出上升一个量阶;若语音信号小于积分器输出信号,则判决输出为0,积分器下降一个量阶。图4.2 CSVD编码系统框图可见输入信号的波形上升越快,输出的连1码就越多,同样下降越快连0码越多,CVSD编码能够很好地反应输入信号的斜率大小。为使积分器的输出能够更好地逼近输入语音信号,量阶随着信号斜率大小而变化,当信号斜率绝对值很大,编码出现3个连1或连0码时,则量阶加一个增量,当不出现上述码型时,量阶则相应地减小。为了减小编码偏差,要求编码过程使用相同的时钟频率,而且采样频率应符合耐酸斯特采样定律。CSVD通过不断改变量阶大小来跟踪信号的变化以减小颗粒噪声与斜率过程失真,量阶调整是基于过去的3个或4个样值输出。具体编码程序流程图如图4.3。图4.3 CVSD的编码流程图4.3 编码模块的代码实现.title CVSDcoder.asm.mmregsSTACK .usectSTACK,10h.global Init,BeginDeltaMax.set 1280hDeltaMin.set 65hBeta .set 99hDelta0CVSD.set 10h.dataTBL:.word 0,1,0.bss ThreeJudge,3.bss InData,1.bss OutData,1.bss DeltaCVSD,1.bss ValPreCVSD,1.textInit:STM#ThreeJudge,AR5;将ThreeJudge的地址赋给AR5RPT#3;重复执行以下指令3次MVPD TBL,*AR5+;将TBL的数据赋给AR5指定的地址空间STM#ThreeJudge,AR5;将ThreeJudge的地址赋给AR5ST#20,*(DeltaCVSD);将立即数20赋给DeltaCVSDST#0,*(ValPreCVSD);将立即数0赋给ValPreCVSDST#100,*(InData);将立即数100赋给InDataBegin:LD *(InData),A;将InData的内容赋给ASTLM A,AR1;将InData的内容赋给AR1LD *(ValPreCVSD),A;将ValPreCVSD的地址赋给ASTLM A,AR0;将ValPreCVSD的内容赋给AR0CMPR LT,AR1;AR1-AR0,小于零置TC位为1BC DiffNeg,TC;TC=1跳转到DiffNegSTM#1,*AR5+;ThreeJudgeCVSD0=1ST#1,*(OutData);OutData=1;判断三连码LD#1,AAND*AR5+,AAND*AR5+,ABC L1,ANEQ;A不等于零,A=1(三连码)跳转到L1STM#DeltaCVSD,AR6;将DeltaCVSD赋给ASTM#Beta,T ;将Beta赋给TMPY AR6,A;DeltaCVSD*=Beta;B L2L1:LD#DeltaCVSD,A ;将DeltaCVSD赋给ASTM#Delta0CVSD,AR3;将Delta0CVSD赋给AR3ADD AR3,A;DeltaCVSD+=Delta0CVSD;判断Delta是否超出最大值L2:STM#DeltaMax,AR0;将DeltaMax赋给AR0STL A,AR4;A的低16位赋给AR4CMPR LT,AR4;AR4小于AR0,没有超出最大值,置TC为BC L3,TC;没有超出最大值,跳转LD AR0,A;如果超出最大值,置A为AR0,即最大值;判断Delta是否超出最小值L3:STM#DeltaMin,AR0 ;将DeltaMin赋给AR0STL A,AR4;A的低16位赋给AR4CMPR GT,AR4;AR4大于AR0,没有超出最小值,置TC为BC L4,TC;没有超出最小值,跳转LD AR0,A;如果超出最小值,置A为AR0,即最小值L4:STL A,*(DeltaCVSD);将A的低16位值赋给DeltaCVSDSTM#ValPreCVSD,AR4;将ValPreCVSD的地址赋给AR4ADD*AR4,A;AR4所指向的内容与A相加STL A,*(ValPreCVSD);将A低16位值赋给ValPreCVSDB endingDiffNeg:STM#0,*AR5+;ThreeJudgeCVSD0=0;ST#0,*(OutData);OutData=0;判断三连码LD#0,AADD*AR5+,AADD*AR5+,ABC L5,ANEQ;A不为零(非三连码)跳转到L5LD#DeltaCVSD,ASTM#Delta0CVSD,AR3;ADD AR3,A;DeltaCVSD+=Delta0CVSD;B L6L5:STM#DeltaCVSD,AR6STM#Beta,TMPY AR6,A;DeltaCVSD*=Beta;L6:STM#DeltaMax,AR0STL A,AR4CMPR LT,AR4;AR4小于AR0,置TC为1BC L7,TC;没有超出最大值LD AR0,AL7:STM#DeltaMin,AR0CMPR GT,AR4;AR4大于AR0,置TC为1BC L8,TC;没有超出最小值LD AR0,AL8:STL A,*(DeltaCVSD)STL A,AR4STM#ValPreCVSD,AR6LD*(AR6),ASUB AR4,ASTL A,*(ValPreCVSD)ending:STL A,*(ValPreCVSD).END5 系统仿真与调试应用系统设计完成后,就要进行硬件调试和软件调试。5.1 硬件调试硬件的调试主要是把电路各种参数调整到符合设计要求。先排除硬件故障,包括设计性错误和工艺性障碍。一般原则是先静态后动态。利用万用表或逻辑测试仪器,检查电路中的各器件以及引脚是否连接正确,是否有短路障碍。若这些都没问题,则可上电调试。5.2 软件调试调试方法:通常一个程序应至少具备四种性能:跟踪、断点、查看变量、更改数值。本实验模块分明,可按模块分别调试,通过后再整体调试,正确无误后用在系统编程器将程序固化到TMS320C6711 的FLASH ROM中,接上电源脱机运行。总结 经过了一周的时间,课程设计结束了。 首先,做课程设计真的很不容易。在这期间,我一次又一次的告诉自己,不管多难,一定要坚持,这是一个锻炼自己动手能力的好机会,一定要把握并充分利用,一周下来,流了很多汗,但得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年五级电工测试试题含答案
- 幼儿园地震来了藏哪里教案
- 复苏气囊的使用陈晓蓉教案(2025-2026学年)
- 语文A版五年级下册跨跃海峡的生命桥语文教案(2025-2026学年)
- 教案人教版小学语文六年级上册期中测试卷C(2025-2026学年)
- 平安礼仪教案(2025-2026学年)
- 一年级数学下册数的表示沪教版教案
- 新教材高中人教版化学必修第一册钠的几种化合物教案
- 七年级数学下册第九章不等式不等式组不等式其解集新版新人教版教案
- 零售数学售罄率市公开课金奖市赛课教案
- 11《答谢中书书》知识点整理
- 2009-2022历年广东省航道事务中心所属事业单位招聘真题带答案详解2023上岸甄选资料
- 进食障碍-课件
- 四川省2023年普通高等学校高职教育单独招生文化考试(普高类)数学试题【含答案】
- 基于BIM基数的机电安装工程降本提质增效
- 《在你们离开以前》读书笔记PPT模板思维导图下载
- 原发性肝癌放疗进展-门脉癌栓放疗
- 肥料企业管理制度整理汇编
- 糖尿病社区管理与病人居家护理
- 陈浩《筹码分布》
- GB/T 3374.1-2010齿轮术语和定义第1部分:几何学定义
评论
0/150
提交评论