《DSP器件及应用》 《DSP技术与应用》
实验指导书
编者 齐美彬 吴从中 李小红
合肥工业大学计算机与信息学院
2006年7月
目 录
实验一 数据寻址………………………………………………………………..2
实验二 汇编程序设计……………………………..……………………………..6
实验三 FIR滤波器设计……………………………….…………..……………..7
实验四 IIR
实验五
实验六 JPEG
滤波器设计………………………………………..……………..…10 语音信号滤波…………………………………………………………...12 编码………………………………………………….………….…15
1
实验一 数据寻址
一、实验目的
1.熟悉DSP集成开发环境CCS 5000的使用方法(教材第九章9.3节~9.6节)。 2.熟悉TMS320C54x DSP的七种数据寻址方式。
二、实验条件
本实验为上机实验,只需要PC机及集成开发环境CCS5000仿真器即可。
三、实验内容
编辑数据寻址实验所需的三个文件。按实验步骤完成实验,并将实验结果填写在有关指令的右侧。
1. 七种数据寻址方式的参考代码 (1)立即数据寻址 LD #100,A ;A= LD #10h,4,B ;B= LD #32769,A ;A= LD #4000h,8,B ;B= (2)绝对寻址
SAMPLE .set 0088h .bss sa,1 LD #4AB8h,A STL A,*(SAMPLE);SAMPLE中内容为: STL A,*(sa) ;sa中内容为: STM #x,AR2 RPT #4 MVPD table,*AR2+ ;从x开始的5个数据为: STM #y,AR2 RPT #4 MVKD ddate,*AR2+ ;从y开始的5个数据为: (3)累加器寻址 LD #table,A STM #y,AR2 RPT #4 READA *AR2+ ;从y开始的5个数据为: (4)直接寻址 ST #0001h,*(x) ST #400h,*(x+1) ST #1000h,*(x+127) ST #500h,*(x+129) LD #x,DP LD @x,A ;A=
2
ADD @(x+129),A ;A= LD @x,A LD #(x+129),DP ADD @(x+129),A ;A= (5)间接寻址 ST #1000h,*(0060h) ST #2000h,*(0061h) ST #3000h,*(0062h) ST #4000h,*(0063h) LD #1000h,A ;A= STM #0060h,AR1 LD *AR1+,A ;A= STM #0063h,AR1 LD *AR1-,A ;A= STM #2,AR0 STM #0062h,AR1 LD *AR1-0,A ;A= LD *AR1,B ;B= (6)存储器映象寄存器寻址 STM #1234h,AR1 ;AR1= STM #5678h,AR2 ;AR2= STM #2,SWWSR ;SWWSR= LDM AR1,A ;A= MVMM AR2,AR3 ;AR3= STLM A,AR4 ;AR4= (7)堆栈寻址 ST #1234h,*(x) ST #5678h,*(x+1) ST #9abch,*(x+2) STM #x,AR1 STM #x+3,AR2 RPT #2 PSHD *AR1+ RPT #2 POPD *AR2+ ;(x+3)= (x+4)= (x+5)= PSHD *(x+5) POPD *(x+6) ;(x+6)= 2. 链接命令文件
链接命令文件说明DSP系统的存储器配置及各段在存储器中的定位情况。必须根据实验箱上DSP的型号(C5416)正确设置。
C5416的片内DARAM存储器共64K字,可配置成数据或程序存储器。片内SARAM存储器共64K字,分为两段,只能配置成程序存储器。
另外,C5416片外还扩展了128K RAM作为片外数据存储器,可以通过CPLD控制页
3
选。改变CPLD的RamState寄存器(这个寄存器在I/O空间的0001)的值,就可以分别选择外部RAM的第一个32K、第二个32K、第三个32K或者第四个32K作为数据空间的后32K。
数据空间共64K,其中前32K是DSP片内的DARAM的前32K;而后32K是可变动的,可以在片内DARAM的后32K和片外RAM的四个32K之间通过程序选择。数据存储器地址可从0000h到ffffh,
可用程序存储器为片内64K DARAM及片内128K SARAM,DARAM地址从0000h到ffffh,SARAM地址从28000h到3ffffh,38000h到4ffffh。
注:关于5416DSP程序空间的配置在5416的数据手册或者电子工业出版社出版、张雄伟主编的《DSP芯片的原理与开发应用》一书的P69均可查到。 参考链接命令文件代码如下: MEMORY {
PAGE 0:
EPROM : org=0E000h, len=100h VECS : org=0FF80h, len=80h PAGE 1:
SPRAM : org=0060h, len=20h DARAM : org=0080h, len=100h }
SECTIONS {
.text : >EPROM PAGE 0 .vectors :>VECS PAGE 0 .bss : >SPRAM PAGE 1 .data : >EPROM PAGE 0 .STACK : >DARAM PAGE 1 .ddate : >DARAM PAGE 1 } 3.头文件
头文件主要内容是系统的复位及其它中断的向量表。参考头文件如下: .ref _c_int00 .sect \ B _c_int00 .end
四、实验步骤
(1) 开机:打开计算机电源,进入Win2000系统,双击桌面上的CCS2图标,选择
open——c54x simulator ,进入DSP软件集成开发环境,或者选择open——c5416 XDS进入DSP硬件集成开发环境(使用实验箱做实验,先连接好实验箱及仿真器等方可开机)。
4