数字信号处理(DSPs)
实验指导
陈强 编
浙江大学信电系
2002 年 8 月
前 言
当前,数字化的浪潮正在迅速席卷全球。数字信号处理器
DSPs,作为数字化最重要的基础技术之一,无论在其应用的广度
和深度方面,都以前所未有的速度向前发展,对其重要的前景无
论怎样估计都不为过。DSPs 技术是在理论上与工程实践上是具有
相当难度的高新技术,即使开设有关理论课程,而不开设相关实
验,学生们也是难以掌握并付诸应用的,为此,我们编印了数字
信号处理 DSPs 实验指导书。
本书是数字信号处理课程配套实验的指导书,本实验课程是
基于 TI 公司 CCS 软件开发环境。共分为两大部分,第一部分简要
介绍了 DSP 技术的 一些基本概念,以及实验用 DSK 实验板和
CCS(Code Composer System)软件操作系统的使用方法,这部分
的学习可以让读者对 DSP 以及本实验所用到的软硬件有一个基本
的概念,第二部分是一些具体的实验,其实验内容丰富详实,函
盖范围宽广,该部分给读者提供了在 CCS 软件开发平台下,理论
结合实际的环境,它支持软件开发平台中的每一个开发步骤。同
时它更倾情支持每一个从事程序开发和编译工作者的努力结果。
目 录
第一章 数字信号处理器 DSPs 简介…………………………1
第二章 关于 TMS320VC5402 DSK 开发板…………………1
第三章 关于 Code Composer Studio 开发环境………………5
实验一 创建并开发一个 DSP 及 DSP/BIOS 程序…………16
实验二 测试运算法则与来自文件的数据…………………22
实验三 混编(C\C++, .ASM)程序加减法…………………26
实验四 延时波形录放………………………………………29
实验五 定时器中断及应用…………………………………33
实验六 堆栈实验……………………………………………36
实验七 数字滤波器设计……………………………………39
实验八 程序范例――PCM 编解码…………………………45
附录 TMS320C54x 指令系统一览表(按指令功能排序)…54
第一章 数字信号处理器 DSPs 简介
实时信号处理系统要求必须具有处理大数据量的能力,以保证系统的实时性。其次
对系统的体积,功耗,稳定性等也有较严格的要求。实时信号处理算法中经常用到对图
象的求和,求差运算,二维梯度运算,图象分割及区域特征提取等不同层次,不同种类
的处理,其中有的运算本身结构比较简单,但是数据量大,计算速度要求高,有些处理
对速度并没有特殊的要求,但计算方式和控制结构比较复杂,难以用纯硬件实现。因此,
实时信号处理系统是对运算速度要求高,运算种类多的综合性信息处理系统。
实时信号处理系统中,低层的信号预处理算法处理的数据量大,对处理速度的要求
高,但运算结构相对比较简单,适于用FPGA进行硬件实现,这样能同时兼顾速度及
灵活性。高层处理算法的特点是所处理的数据量较低层算法少,但算法的控制结构复杂,
适于用运算速度高,寻址方式灵活,通信机制强大的DSP芯片来实现,由此就应运而
生了各种 DSP 数字信号处理芯片。
第二章 关于 TMS320VC5402 DSK 开发板
当前业界中应用得最广泛的是 TI 的 TMS320C54XX 系列 DSPs,TMS320C5402 是
TI 于 1999 年 10 月推出的性价比极高的定点数字信号处理器 DSPs。TMSC320C5402 入
门者套件 DSK 是低成本,但内容齐全的开发工具,能让 DSP 初学者了解 C5000 系列
DSP 的结构,以便开展基于 C5000 系列 DSP 的应用开发,其综合了硬件和软件的多方
面特征。它的特征有:
操作速率达100MHZ (VC5402DSP芯片)
64K的外部SRAM,,256K的FLASH存储器,DSK专用CCS IDE V2.0调试工具
相当于32K应用程序空间的C编译器,汇编编译器,链接器等代码产生工具
JTAG测试总线控制器和一个连到主机并口的接口
电话接口(DAA)
MIC/SPEAKER音频接口
RS-232异步数据接口
扩展子板的接口
此DSK板仅需+5V的直流电压,用一个配套的外部电源来提供,板上的线性电压调
整器,提供1.8V DC的DSP核心电压,3.3V DC的数字电压和5V DC模拟电压。它还提供
对外部的静态随机存取存储器,闪光存储器和扩展存储器,DSP通过其16位的外部存储
接口界面(EMIF)来使用。板上有一条可运行在100MHZ下,64K x 16bit的SDRAM(可
以扩展到256K)。还有一条256K x 16bit的FLASH存储器。另外,EMIF可以用作一个接口
连接器来使用子板上的扩展内存。模拟网络接口DAA和AD50,AIC可以使DSP经多通道
的缓冲串口(MCBSP0)来访问单路的电话接口。McBSP0在软件控制下面可以随意性地路
由到给扩展连接器。麦克风和喇叭接口(3.5mm的音频插座)经由一块AD50芯片,AIC连
到DSP的另一个MCBSP(MCBSP1)。MCBSP1用它的两个定时器和一个外部中断,同样
可以连到一个外部联结器来使用一个目标板,此板还为外部用户控制提供了一个八段的
DIP开关。一个可以手工复位DSK的按钮。一个电压监视器来监视内部的电压,如果电
源达不到运行要求,就使目标板处于复位状态。另外还有四个LED,其中一个指示电源,
另外三个由用户来控制。
DSP时钟;C5402 DSK由DSP内置的晶振,提供给DSP20MHZ的时钟信号,DSP的
时钟模式,可以由DIP开关来配置,达到不同的操作频率,在重新设置了DSP的操作频率
以后,CLKMOD寄存器才可以被配置。JTAG仿真接口,支持内嵌和外部JTAG仿真,IEEE
标准 1149.1检测逻辑电路仅用于模拟和检测目的。该逻辑为界面器件提供边界检查。同
时,它也可以象执行器件内的操作一样用于检测管脚的连续性,IEEE标准1149.1检测逻
辑区别于访问所有片内资源的内部逻辑检测电路,通过JTAG接口,提供于XDS50X EVM
板的连接控制接口,复位设备和提供外部中断。存储器结构;其存储器为哈佛型,分为
三个独立的寻址空间;程序,数据,I/O口。它总共提供了192K word的地址范围,并可
通过增强外设接口扩充。C5402的芯片上有16K的DARAM和4K的P/D ROM,所有的存储
空间又分为多个8K大小的块,支持分页寻址处理,这使得在对其中一个块操作时,可同
时对另一个块进行操作,增加了处理速度。片内存储器;片内ROM的结构(地址为:
F800h--FFFFh):引导装入程序,256-word的μ律扩展表,256-word的A律扩展表,
256-word的sin查找表和中断矢量表。片内DARAM的结构(地址为:0060h—3FFFh):分
为两个8K的块。以下的CPU和外设存储映射在第0页(0000h–007Fh)。CPU存储器存储映
射(0000h--000Fh)该部分包括:中断屏蔽寄存器,中断标量寄存器,状态寄存器ST0和
ST1,累加器A和B,暂存器T,辅助寄存器AR0-AR7,堆栈指针SP,块循环的地址和计
数器寄存器,处理器模式寄存器PMST等有关CPU操作和状态的寄存器,不需要等待状
态发生,就可以读写以上26个寄存器。外设存储器存储映射(0060h--003Fh)该部分控
制外设的工作,通过映射表的寄存器,与外设间发送和接收数据,可以设置控制寄存器
的bit位能灵活的配置外设,对之进行使能,初始化等操作。程序和数据存储空间
(0060h—3FFFh)由PMST中OVLY来控制片内RAM被设置为程序或数据空间。OVLY=0
时,片内RAM为数据空间。OVLY=1时,RAM可设为数据和程序空间,具体的数据和程
序空间的分配由.cmd文件指定,可以在.map文件中看出。外部存储器;DSK提供了64K x
16-bit的SRAM,和256K x 16-bit的FLASH,以及扩展存储器接口。外部的SRAM和FLASH
都采用3.3V的电压,扩展存储器接口可以用3.3V或5V的电压。总共可用的数据空间依赖
于对DROM位的设置。如果DROM=0,则从4000H到FFFFH(48K WORDS)的空间,是属
于外存(FLASH或SRAM),如果DROM=1,则外存只有4000H到EFFFH可用。访问实验板
上外存,还是子板(用于扩展DSK功能的另一块实验板)上的存储器,依赖于DMSEL控
制寄存器或DMSEL,DIP开关的设置,如果DMSEL=0,则使用板上存储器,如果DMSEL=1,
则使用板上8000H开始的存储器。总共可用的外部程序空间,依赖于对OVLY位和
MP/MC# DIP开关的设置。如果OVLY=0,MP/MC#=0,则从0000H到EFFFH(60K WORDS)
的空间被映射到外存(FLASH或SRAM决定于FLASHENB寄存器的状态),在打开电源时,
FLASH ENB位被设置成允许从FLASH来引导,如果MP/MC#=0,则F000H到FFFFH的地
址范围被保留给片内ROM和中断向量,并且外部程序存储器不能使用第0页,但仍可以
用其他页,这取决于OVLY位。如果MP/MC=1,OVLY=0,从0000H到FFFFH地址范围