DSP课程设计.docx
- 文档编号:15168148
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:17
- 大小:176.89KB
DSP课程设计.docx
《DSP课程设计.docx》由会员分享,可在线阅读,更多相关《DSP课程设计.docx(17页珍藏版)》请在冰点文库上搜索。
DSP课程设计
淮阴工学院
《DSP技术与应用》课程设计报告
选题名称:
基于DSP的MP3播放器设计
系(院):
计算机工程学院
专业:
计算机科学与技术(嵌入式系统软件设计)
班级:
计1073
姓名:
史艳学号:
1071306104
指导教师:
常波,马岱
学年学期:
2009~2010学年第2学期
2010年6月12日
摘要:
随着数字广播电视、网络流媒体、消费电子等业务的蓬勃发展,数字编解码及压缩技术的不断进步,多媒体应用越来越广泛,音视频处理领域也成了当前的热点之一。
音频编解码技术在其中扮演了重要的角色。
当前音频、语音编码在朝着高压缩比、高保真的方向发展,出现了多种编码格式,如MP3,AAC,DolbyAC-3,WMA等。
其中,MP3几乎成了网络音乐的代名词,各种手持娱乐终端、消费类电子产品中更是支持MP3音频格式,风靡一时。
MP3播放器、随身听随处可见。
而在便携设备上实现MP3压缩编码器并不多见,它在数字广播、电话会议、IPTV、手机电视等方面都有广阔的应用前景。
基于此,本文提出了一种基于DSP的MP3播放器的设计和实现方案。
该MP3播放器基于DSP技术,采用慢速大容量外存加高速小容量外存的组合方式,音乐文件先从慢速外存下载至高速外存再载入DSP的高速RAM,下载一部分处理一部分。
采用与PC机的串口通信方式实现文件的下载速度较慢,也可利用USB接口进行高速的通信。
另外系统中连接的电话线可充作电话的录音。
关键字:
音频编解码技术;MP3播放器;DSP
目录
1课题综述1
1.1课题来源1
1.2课题意义1
2系统分析1
2.1要达到的技术指标1
2.2功能描述2
2.3硬件要求2
2.4软件要求3
2.5基础知识4
3系统设计4
4软件及部分硬件的详细设计6
4.1负责的硬件模块设计6
4.2软件部分的详细设计6
4.3编码模块的代码实现8
5系统仿真与调试11
5.1硬件调试11
5.2软件调试11
总结12
参考文献13
1课题综述
1.1课题来源
随着数字广播电视、网络流媒体、消费电子等业务的蓬勃发展,数字编解码及压缩技术的不断进步,多媒体应用越来越广泛,音视频处理领域也成了当前的热点之一。
音频编解码技术在其中扮演了重要的角色。
当前音频、语音编码在朝着高压缩比、高保真的方向发展,出现了多种编码格式,如MP3,AAC,DolbyAC-3,WMA等。
其中,MP3几乎成了网络音乐的代名词,各种手持娱乐终端、消费类电子产品中更是支持MP3音频格式,风靡一时。
MP3播放器、随身听随处可见。
而在便携设备上实现MP3压缩编码器并不多见,它在数字广播、电话会议、IPTV、手机电视等方面都有广阔的应用前景。
1.2课题意义
现在市场上推出了各种型号的MP3随身听,它们采用先进的智能控制技术,利用先进的芯片,不仅实现了MP3格式语音的播放,而且集多种功能于一身。
但这些精巧的随身听价格较昂贵,因此本文根据要求设计了一种廉价MP3播放器,利用硬件存储语音文件,并能够从PC机下载,从而可随时更新MP3音乐。
2系统分析
2.1要达到的技术指标
序号
技术指标
参数
1
内存
2GB
2
数据流速度
64kb/s—320kb/s
3
谐波失真
0.01%
4
信噪比
≥90dB
5
动态范围
85dB
6
通道分离度
80dB
7
录音格式
ADPCM
8
录音数据流速率
16kb/s-32kb/s
9
解码功能
16、32kb/s等(WAV格式)
16、32、48、64、128kb/s等(MP3格式)
10
USB接口
3—4Mb/s(下载)
5—6Mb/s(上传)
11
音频输出功率
(5-7.5)mW×2
12
电池
AAA型1节
13
静态电流
≤2uA
14
待机电流
≤30mA
15
工作电流
≤70mA
16
录音取样频率
8kHz
图2.1MP3播放器的基本技术指标
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.2MP3播放器的功能描述
2.3硬件要求
预期的MP3播放器的目标系统硬件要求实现以下功能:
(1)能够存储一定量的MP3码流文件,供解码系统使用。
在系统初步实现时,存储的码流长度至少要保证能够从主观上感受到音频信号解码的效果;
(2)能够对MP3码流进行解码,从MP3格式恢复成PCM码流。
系统应该能够保证解码过程的正确性,并能够满足解码算法在实现过程中所需要的存储空间、计算速度等需求;
(3)能够把解码后输出的PCM码流通过扬声设备,如耳机、音箱等播放出来,这样才能够从直观上判断解码的效果,并且方便后期在使用该系统方案时进行直观性能评价和直接应用;
(4)能够满足系统的功率要求。
一般情况下,对于电子类便携式系统,或者嵌入式应用方案来说,系统的功耗要比较低,用电池供电能够满足系统的工作需要。
2.4软件要求
系统的软件应该能够实现以下功能:
(1)能够从数据存储介质中读取MP3码流数据,要能保证数据读取的速度满足系统的需要;能够正确定位MP3文件数据的地址和文件长度,为后期进行歌曲选择打下基础;
(2)能够正确对MP3码流进行解码,并且以所需要的格式和方式输出。
解码算
法要在目标系统中实现,因此,不但要保证算法的正确性,也要保证算法的适应
性,充分利用目标系统性能特性,并满足系统的运算速度要求;
(3)能够正确协调硬件各个模块的工作,提供正确的芯片控制信号,这项软件
功能是专门针对硬件的,需要根据目标系统的硬件需求来设计实现;
基于以上指标、要求,该设计以通用数字信号处理器(DSP,DigitalSignalProcessor)为核心,搭建相应的外部电路形成一个系统,解码功能通过对数字信号处理芯片编程来实现。
这种方案中,使用一定开发环境进行软件的设计实现和调试测试。
为了满足解码系统的需求,需要根据性能和技术要求,对通用的数字信号处理芯片进行外围电路扩充。
这种方案的优点是系统实现的灵活性高,功能的可扩展性强,系统成本可以通过对芯片的选择控制到相对较低的水平,而且对于同样使用数字信号处理芯片实现的系统来说,能最大程度地进行系统集成。
但是由于整个系统从硬件到软件都需要自行设计和搭建,系统实现的难度和复杂度比较高。
2.5基础知识
2.5.1TMS320C6711DSP芯片简介
veloci结构使C6000DSP成为高性能的DSP芯片。
典型的VLIW结构由多个并行运行的执行单元组成,这些单元在单个时钟周期内可执行多条指令。
并行是突破传统设计而获得高性能的关键。
C6711处理器由三个主要部分组成:
CPU内核、外设和存储器。
CPU中8个功
能单元可以并行操作,这些功能单元被分成类似的两套,每套由4个基本功能单元组成。
CPU有两组寄存器,每组寄存器由16个32位寄存器组成。
由于在运行期间个做硬件数据相关性的检查,所以程序的并行性在编译时就被确定。
片内程序存储器的总线宽度为256的,使每个周期可取8条32位指令。
C6711芯片包括片内程序存储器和数据存储器,有些芯片将这些存储器作为高速缓冲存储器。
外设包括直接存储器访问(DMA)、低功耗逻辑、外部存储器接口、串口、扩展总线或主机口和定时器等。
具有以下特点:
1运行速度快。
指令周期为6ns,峰值运算能力为1336MIPS,对于单精度运算可达1GFLOPS,对于算精度运算可达250MFLOPS.
2硬件支持IEEE格式的32位单精度与64为双精度浮点操作。
3继承了32*32bit的乘法器,其结果可为32或64bit.
4C6711的指令集在C62的指令集基础上增加了浮点执行能力,可以看作是C62指令集的超集。
与C62系列芯片一样,由于其出色的运算能力、高效的指令集、智能外设、大容量的片内存储器和大范围的寻址能力,这个系列的芯片适合用于基站数字波束形成、图像处理、语音识别等对运算能力和存储量有高要求的应用场合。
3系统设计
MP3编解码算法要被用来实现MP3实时编解码适配器,所以必须通过硬件实现其算法。
本系统以DSP(TMS320VC6711)作为解码的主要部分,还包括音频A/D、CVSD编码、音频D/A转换,单片机的控制模块,电源系统,存储器模块等组成,图3.1给出了系统框图。
图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.1LCD扩展模块电路图
4.2软件部分的详细设计
语音信号采用比较容易实现的CSVD编码,也即线性增量调制算法编码方法,实现对语音信号的编码以及相应的解码算法。
CVSD是一种量阶
随着输入语音信号平均斜率大小而连续变化的增量调制方法。
他的工作原理是使用多个连续可变斜率的线段来逼近语音信号,当斜率为正时,对应的数字编码为1;当斜率为负时,对应的数字编码为0。
当CVSD工作于编码方式时,其系统框图如7.1,语音输入信号
经采样得到数字信号
,数字信号
与积分器输出信号
比较后输出偏差信号
,偏差信号经判决后输出数字编码
,该信号同时作为积分器输出斜率的机型控制信号和积分器输出斜率逻辑的输入信号。
在每个时钟周期内,若语音信号大于积分器输出信号,则判决输出为1,积分器输出上升一个量阶
;若语音信号小于积分器输出信号,则判决输出为0,积分器下降一个量阶
。
图4.2CSVD编码系统框图
可见输入信号的波形上升越快,输出的连1码就越多,同样下降越快连0码越多,CVSD编码能够很好地反应输入信号的斜率大小。
为使积分器的输出能够更好地逼近输入语音信号,量阶
随着信号斜率大小而变化,当信号斜率绝对值很大,编码出现3个连1或连0码时,则量阶
加一个增量,当不出现上述码型时,量阶
则相应地减小。
为了减小编码偏差,要求编码过程使用相同的时钟频率,而且采样频率应符合耐酸斯特采样定律。
CSVD通过不断改变量阶
大小来跟踪信号的变化以减小颗粒噪声与斜率过程失真,量阶
调整是基于过去的3个或4个样值输出。
具体编码程序流程图如图4.3。
图4.3CVSD的编码流程图
4.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
5系统仿真与调试
应用系统设计完成后,就要进行硬件调试和软件调试。
5.1硬件调试
硬件的调试主要是把电路各种参数调整到符合设计要求。
先排除硬件故障,包括设计性错误和工艺性障碍。
一般原则是先静态后动态。
利用万用表或逻辑测试仪器,检查电路中的各器件以及引脚是否连接正确,是否有短路障碍。
若这些都没问题,则可上电调试。
5.2软件调试
调试方法:
通常一个程序应至少具备四种性能:
跟踪、断点、查看变量、更改数值。
本实验模块分明,可按模块分别调试,通过后再整体调试,正确无误后用在系统编程器将程序固化到TMS320C6711的FLASHROM中,接上电源脱机运行。
总结
经过了一周的时间,课程设计结束了。
首先,做课程设计真的很不容易。
在这期间,我一次又一次的告诉自己,不管多难,一定要坚持,这是一个锻炼自己动手能力的好机会,一定要把握并充分利用,一周下来,流了很多汗,但得到更多的是收获的知识。
不仅是巩固了先前学的数字信号处理的理论知识,而且也培养了我的动手能力,更令我的创造性思维得到拓展。
希望今后类似这样课程设计、类似这样的锻炼机会能更多一些。
总的来说,这次课程设计确实学到很多,而且也锻炼了我遇到问题解决问题的勇气和能力,以及遇到挫折不达目的不罢休的韧性,这在以后的工作与学习中将会非常重要。
本次课程设计是本科学习阶段很有价值的理论与实践相结合的机会,这次实习能这么顺利的完成,首先感谢淮阴工学院、计算机工程学院提供的实践机会,同时也感谢实验室老师给我们提供的良好的实验环境。
其次,真的要感谢我同组的伙伴。
是他们让我真正认识的团队合作的重要性,一个项目分工合作可以大大提高开发的速度,而且对各个模块的精确性更有所保障。
各个环节紧密结合才能使工作更好更快的完成。
我的伙伴都很优秀,再次感谢他们的帮助和支持。
最后,要特别感谢指导马老师和常老师的殷勤指导。
他们的无私和不厌其烦的讲解让我解决了很多问题,走出了许多误区。
参考文献
1宋亚玲,MP3音频编码算法的DSP实现及优化,北京工业大学,2006.
2王希公,MP3数码音频播放机设计,天津大学工程硕士学位论文,2004.
3计丹,基于定点DSP的MP3解码系统设计与实现,硕士学位论文,2002.
4邓彦松,向伟,基于DSP的语音信号处理系统设计,中国集成电路,2007,(4):
95
5吕海平,基于DSP的MP3编码器技术研究,硕士学位论文,2007.
6王宏,基于TMS320C50的通用语音信号处理系统,电子技术应用,2001,(7):
3.
7高永清,基于TL16C550C实现TMS320C6711的异步串行通信,工矿自动化,2005,(4):
2.
8冯小龙,基于多媒体DSP芯片TMS320DM642的语音信号处理,煤炭工程,2006,(8):
3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 课程设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)