毕业论文
题 目:基于 DSP 和 SPI 的音效
实时处理系统的软件开发
院 (部):
专 业:
班 级:
姓 名:
学 号:
指导教师:
完成日期: 2014 年 6
本科毕业论文
目 录
摘 要························································································ III
ABSTRACT ··················································································· IV
1 前 言 ························································································ 1
1.1 音效实时处理的需求分析 ································································· 1
1.2 音效实时处理系统的现状及研究意义 ···················································· 1
2 音效实时处理系统开发的相关知识 ················································· 3
2.1 DSP 和 SPI 介绍 ··········································································· 3
2.1.1 DSP 选择················································································ 3
2.1.2 SPI 简介 ················································································· 3
2.2 集成开发环境 CCS ········································································ 5
2.2.1 CCS 开发平台概述 ····································································· 5
2.2.2 标准 C 语言程序 ······································································ 6
3 系统方案设计 ············································································· 7
3.1 音频处理技术的原理 ······································································ 7
3.1.1 采样 ····················································································· 7
3.1.2 量化 ···················································································· 7
3.1.3 编码 ···················································································· 8
3.2 程序开发流程 ·············································································· 8
3.3 DSP 设计过程 ·············································································· 9
4 软件开发设计 ··········································································· 12
4.1 软件开发流程 ············································································ 12
I
本科毕业论文
4.2 音效实时处理系统的软件设计 ·························································· 13
4.2.1 系统初始化 ··········································································· 13
4.2.2 音频 Codec 软件设计 ································································ 14
4.3 数字滤波器的算法实现 ································································· 19
4.4 延时效果设计 ··········································································· 19
4.5 合唱效果的设计 ········································································· 22
4.6 混响效果的设计 ········································································· 22
4.7 其他音效效果设计 ······································································· 25
4.7.1 镶边效果(FLANGE) ·································································· 25
4.7.2 回声效果(ECHOES) ·································································· 25
4.7.3 共振效果(RESONANCE) ···························································· 26
5 系统调试 ················································································· 27
5.1 音频 Codec 的接口调试 ································································· 27
5.2 FLASH 在系统调试 ······································································ 28
总 结······················································································· 31
谢 辞······················································································· 32
参考文献 ··················································································· 33
附 录······················································································· 35
附录 1 合唱音效 C 语言实现程序 ························································ 35
附录 2 混响音效 C 语言实现程序 ························································ 44
II
本科毕业论文
摘 要
数字信号处理是伴随数值计算技术和计算机技术的发展而迅速发展起来的新兴学
科,特别是数字信号处理器(DSP)的出现,使其理论得以广泛应用于实际系统之中。
DSP是以数字信号来处理大量信息的器件,是一种特别适合各种数字信号处理运算的
微处理器。以数字计算的方法对信号进行处理器具有处理速度快、灵活、精确、抗干扰
能力强、体积小及可靠性强等优点满足了对信号快速、精确、实时处理及控制的要求。
串行外设接口SPI是一个高速、同步串行接口I/O通常应用于DSP控制器与外部设备或DSP
控制器与其他控制器之间的通信。本论文详细叙述了论文作者设计研制的一种基于DSP
的数字音频系统。该系统以TMS320C5402(DSP)为中央处理器,可完成音频数字信号的分
析和处理,并通过CODEC芯片实现对外界模拟音频信号的采集和发送。
关键词:数字信号处理器(DSP);SPI 总线系统;数字音效
III
本科毕业论文
DSP-based audio and SPI
Real-time processing system software development
ABSTRACT
Digital signal processing is a new subject that improves quickly together with
numerical computer technology and computer technology. Especially with appearance of
Digital Signal Processor(DSP),its theory is applied widely to practical systems.
DSP is based on digital signal processing large amounts of information devices is a
particularly suitable for the operation of various digital processing microprocessor. Digital
method of calculation of the signal processor has the processing speed
is fast,
flexible,precise, strong anti-jamming capability,small size and high reliability to meet the
signal fast,accurate,real
time processing and control requirements.serial peripheral
interface(SPI) is a high –speed,synchronous serial I/O port often used in communication
between the DSP controller and external devices or DSP controller with other conversion.
This paper describes on how to design a digital audio system based on TMS320C 5402 DSP
series. This system can accomplish analysis and processing of audio digital as well as
sampling and transmitting external analog audio signals through CODEC.
Key Words: Digital signal processor (DSP); SPI bus system; digital audio
IV
本科毕业论文
1 前 言
1.1 音效实时处理的需求分析
音效器已经是音乐构成必不可少的环节,现代生活中,从大型的演唱会、到身边各
种电子设备,只要有声音就离不开声音处理。我们所接触的各种媒体信息,如声音、音
乐、图像等媒体信息本身是模拟的,只有转变为数字信息后,才能便于远距离有效、可
靠地传输,减少累计失真:同时可以由计算机进行各种处理和综合,这都给带来极大的
方便。在实际生活中,除了符合建筑声学标准的录音室、音乐厅等外,一般的室内都很
难追求到音质及效果的完美,从理论上讲,厅堂的自然效果与各科·模拟效果的本质特
征并不一样,但利用人耳对声音的分辨惰性,可以达到相当逼真的程度。基于DSP的数字
音效处理系统为延时、合唱、混响等各种人工效果的生成提供了有力的手段,同时更可
以方便地实现模拟方案难以解决的诸如自适应均衡、动态范围控制、噪声控制等问题。
而基于DSP数字音效处理系统就能达到这种完美,因此音效处理器的开发具有良好的社会
意义。
基于DSP 的音效实时处理系统与模拟音效处理系统相比,具有高度集成,灵活方便,
可靠性高可编程控制的优点。目前广泛的应用在电子乐器、高级组合音响、数字音频工
作站等领域。传统的模拟视音频产品如今渐渐退出,数字化已经是一个不可抵挡的趋势。
数字化的视音频产品必将涉及将模拟信号转换成数字信号后进行处理的问题。在这种转
换和处理的过程中需要做大量的数字运算,因此必须选择运算快速的微处理器才能完成
实时(real—time)的数字信号处理。
1.2 音效实时处理系统的现状及研究意义
IT领域的科技成果越来越普遍的应用于视音频领域并大大地推动了视音频科技的
进步,其中DSP(Digital Signal Processor即数字信号处理器)在音频领域内的应用就是
一个很好的例子。DSP 是利用专门或通用的数字信号处理芯片,以数字计算的方法对信
号进行处理,具有处理速度快、灵活、精确、抗干扰能力强、体积小及可靠性高等优点,
满足了对信号进行快速、精确、实时处理及控制的要求。
随着DSP的广泛应用,利用DSP进行音频信号实时处理是当今信息技术发展的一个方
向。开发音频信号处理系统能够为各种格式和标准的音频算法研究和实现提供通用平台。
在近 20 年时间里,DSP 芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。
目前,DSP 芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。随
1
本科毕业论文
着 DSP 芯片性能价格比的不断提高,可以预见 DSP 芯片将会在更多的领域内得到更为
广泛的应用。
ZOOM505吉他音效器是日本ZOOM公司研发的一款销售成绩最好的DSP效果器,它的设
计应和了众多的吉他手的要求,集成了6组24种不同风格的原厂音效,包括压缩,限幅,
哇音,木吉他,失真,金属,降噪,4段均衡,合唱,移调,延时,大厅混响和房间混响
等,可以同时串联使用其中的9种不同的音效,并且用户可以利用编辑功能创造基于原厂
音效的24种个性化的音色效果。ZOOM505由于采用了DSP的数字处理解决方案,使其在具
有多种集成音响效果的同时仅有145mm(D) × 125ram(w)×40ram(H)的小巧体积,并且价
格较低,深受广大电吉他爱好者的青睐。
DigiTech GNXI吉它综合效果器是由美国DigiTech公司研发的一款优秀的DSP音效
器。GNX1加入了Digitech开发的AudioDNATM 双氟数码处理DSP引擎和内部ROM固化GENETXTM
软件支持,使得GNXI允许吉他手丝毫不差的创建完全自我的标志性音色。GNXI集成了48
种不同风格的原厂音效,为用户提供了48利·可编辑的个性音效。GNXI的ADC和DAC具有
24bit的分辨率,采样率达到44.IKHZ,具有专业级的音频品质。
最后介绍美国Crate公司生产的Crate数字音箱,Crate数字音箱是模拟音箱与DSP数
字音效处理系统相结合的产品,音箱的输入模拟音频信号先送入前级的DSP数字音效处理
系统,进行延时、混响、合唱、镶边、均衡、等多种音效的数字处理后再送入音箱的模
拟功放和扬声器产生丰富的音效输出。Crate数字音箱采用的是AD公司的ADSP一2103 16
位通用DSP,核心的音效处理算法固化在DSP内部的ROM中,ADC和DAC具有16bit的分辨率,
采样率达到31.25KHZ,在低廉价格的基础上达到了相当好的音色。由于DSP音效处理系
统具有高度集成、设计灵活方便、可靠性高和可编程的诸多优点,模拟音频产品内嵌DSP
数字音频处理系统的方案得到了广泛的应用,使原来模拟产品的优秀音质得到保留的同
时增加了产品的功能和灵活性。
从以上几种国外DSP音效处理产品的评述中看出作为产品核心器件的音效处理器多
为厂商自己开发生产的专用芯片或采用通用DSP芯片,核心的音效处理算法则固化在芯片
内部的ROM中,作为不对外公开的知识产权受到保护。
基于DSP的数字音效产品研制和生产目前主要集中在日本和美国,很多著名音响厂家
长期致力于基于数字音效处理系统开发和生产。而国内以DSP为基础的数字音效处理系
统尚在研制阶段。因此,基于DSP和SPI的音效实时处理系统的软件开发具有深远的意义。
2
本科毕业论文
2 音效实时处理系统开发的相关知识
2.1 DSP和SPI介绍
2.1.1 DSP 选择
3G 技术和internate 的发展,要求处理器的速度越来越高,体积越来越小,DSP 的
发展正好能满足这一发展的要求。因为,传统的其它处理器都有不同的缺陷。MCU 的速
度较慢;CPU体积较大,功耗较高;嵌入CPU 的成本较高。DSP 的发展,使得在许多速度
要求较高,算法较复杂的场合,取代MCU 或其它处理器,而成本有可能更低。
之所以选择DSP 可以根据以下几方面决定:
1)速度: DSP 速度一般用MIPS 或FLOPS 表示,即百万次/秒钟。根据您对处理速度的要
求选择适合的器件。一般选择处理速度不要过高,速度高的DSP,系统实现也较困难。
2)精度: DSP 芯片分为定点、浮点处理器,对于运算精度要求很高的处理,可选择浮点
处理器。定点处理器也可完成浮点运算,但精度和速度会有影响。
3)寻址空间: 不同系列DSP 程序、数据、I/O 空间大小不一,与普通MCU 不同,DSP 在
一个指令周期内能完成多个操作,所以DSP 的指令效率很高,程序空间一般不会有问题,
关键是数据空间是否满足。数据空间的大小可以通过DMA 的帮助,借助程序空间扩大。
4)成本: 一般定点DSP 的成本会比浮点DSP 的要低,速度也较快。要获得低成本的DSP
系统,尽量用定点算法,用定点DSP。
5)实现方便: 浮点DSP 的结构实现DSP 系统较容易,不用考虑寻址空间的问题,指令对
C语言支持的效率也较高。
6)内部部件:根据应用要求,选择具有特殊部件的DSP。如:C2000 适合于电机控制;OMAP
适合于多媒体等。
2.1.2 SPI 简介
SPI (Serial Parallel Interface) 总线是 Motorola 公司提出的一种同步串行外
设接口协议总线。它有标准的传输协议,而且速度快,能够同时收发。为此,本文给
出了一种基于 SPI 总线的 DSP 和 MCU 通信系统的设计方法。该系统使用的 MCU 为
C8051F130,DSP 为 TMS320C6711D,它们都支持这一串行通信协议,所以选择 SPI 作为
MCU 和 DSP 之间的通信接口。
SPI 总线系统是一种同步串行接口,他可以使 MCU 与各种外围设备以串行方式进行
通信以交换信息(8 位数据同时同步地被发送和接受),系统可配置为主或者从操作模式
3