《现代DSP技术》实验指导书精编版Word下载.docx
《《现代DSP技术》实验指导书精编版Word下载.docx》由会员分享,可在线阅读,更多相关《《现代DSP技术》实验指导书精编版Word下载.docx(76页珍藏版)》请在冰豆网上搜索。
3打开计算机电源,当计算机启动完毕后,打开仿真器和TDB-C54XplusDSP实验箱电源,实验箱上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭实验箱电源,检查连线和电源电压;
4双击桌面上CCS图标,进入CCS操作环境;
5在“TDB-C54XplusLAB\LAB02”文件目录下,打开工程文件“addr.pjt”;
6编译、链接并运行该工程,然后实验要求观察记录实验数据;
7向实验指导教师提交记录的实验数据;
8根据实验及其记录的实验数据撰写实验报告。
六实验程序流程图
1、初始化程序流程图
延时
设置DP指针
设置SP指针
关闭中断
设置SWWSR
设置CLKMD
结束
2、主程序流程图
DSP初始化
立即寻址
绝对地址寻址
累加器寻址
直接寻址(DP指针)
直接寻址(SP指针)
间接寻址
寄存器寻址
堆栈寻址
双操作数寻址
程序存储器到数据存储器的复制
(数据块移动)
七实验数据记录
要求记录实验数据的寄存器和存储器以及记录格式如下:
1立即数寻址
寄存器或存储器
运行前的值
运行后的值
A
(0x2150)
2累加器寻址
DP
(ST0寄存器的低9位)
(0x1f01)
(0x2002)
3直接寻址(DP指针)
CPL
(ST1寄存器的第14位)
(0x2003)
4直接寻址(SP指针)
SP
(0x4801)
5间接寻址
AR0
(0x3107)
6绝对寻址(数据区)
(0x2000)
(0x2104)
(0x2105)
(0x2001)
7绝对寻址(程序区)
(0x1f00)
8堆栈寻址
(0X47fd)
9程序区到数据区数据复制
寄存器或存储器
原存储器(0x1000)
原存储器(0x1001)
…
原存储器(0x10fe)
原存储器(0x10ff)
目的存储器(0x4000)
目的存储器(0x4001)
目的存储器(0x40fe)
目的存储器(0x40ff)
运行前原存储器区域取值的截图:
运行前目的存储器区域取值的截图:
运行后原存储器区域取值的截图:
运行后目的存储器区域取值的截图:
10双操作寻址
AR2
AR3
T
FRCT
(ST1寄存器的第6位)
(0x2106)
实验数据参考结果如下:
0xFFFFFFFFFF
0x0000001234
0xF073
0x5678
0x1f01
0x40
0x75F8
0xC327
0x6108
0x3210
1
0x47FE
0x10F8
0x9876
0x0000
0x3107
0xF0F2
0x2010
0x7408
0xE822
0x061B
0x8888
0x4000
0x004F
0x004B
0x0069
0x006E
0x8000
0x76F8
0Xf273
0x4104
0x0000001000
0x000C4C10C0
0x2106
0x2107
0x3108
0x1234
八实验报告要求
实验报告格式如下:
实验题目:
实验人:
同组实验人:
实验时间:
实验地点:
指导教师:
实验目的:
实验内容:
实验要求:
实验环境:
实验步骤:
实验数据记录:
(注:
实验数据记录要求及格式,见“七实验数据记录”)
实验结果分析:
实验小结:
实验二汇编的数据访问
1C54Xplus汇编初始化程序;
在程序区预留2个数据块,每块大小为128字;
在数据区预留4个数据块,每块大小128字,分别将数据区的数据移动到程序区,将程序区的数据移动到数据区,将数据区的数据移动到数据区,运行程序,通过CCSView
CPURegisters,观察各寄存器的值,通过CCSViewMemory,观察片内各数据地址的值,上述各值应与源程序的结果一致。
1将DSP仿真器与计算机并口(打印机口)或USB接口连接好;
5在“TDB-C54XplusLAB\LAB03”文件目录下,打开工程文件“data.pjt”;
六实验程序流程框图
初始化
2、主程序流程图
主程序
设置数据区
数据=0
将1#数据区—〉1#
程序区(块移动)
将1#程序区—〉2#
数据区(块移动)
将2#数据区—〉2#
将3#数据区—〉4#
实验已知的一些存储器块地址与初始化值:
程序区地址
1#程序区地址=0x1f00,初始化为全0
2#程序区地址=0x1f80,初始化为全0
数据区地址
1#数据区地址=0x2000,初始化为0-127
2#数据区地址=0x2080
3#数据区地址=0x2100
4#数据区地址=0x2180
要求记录实验数据的寄存器和存储器以及记录格式如下:
1、将1#数据区(地址:
0x2000~0x207f)的内容写到1#程序区(地址:
0x1f00~0x1f7f)实验
1#程序区运行前取值截图:
1#程序区执行后取值截图:
2、将1#程序区(地址:
0x1f00~0x1f7f)的内容写到2#数据区(地址:
0x2080~0x20ff)实验
2#数据区运行前取值截图:
2#数据区执行后取值截图:
3、将2#数据区(地址:
0x2080~0x20ff)的内容写到2#程序区(地址:
0x1f80~0x1fff)实验
2#程序区运行前取值截图:
2#程序区执行后取值截图:
4、将2#程序区(地址:
0x1f80~0x1fff)的内容写到3#数据区(地址:
0x2100~0x217f)实验
3#数据区运行前取值截图:
3#数据区执行后取值截图:
5、将3#数据区(地址:
0x2100~0x217f)的内容写到4#数据区(地址:
0x2180~0x21ff)实验
4#数据区运行前取值截图:
4#数据区执行后取值截图:
4、将2#程序区(地址:
5、将3#数据区(地址:
实验三汇编的算术逻辑运算
4熟悉汇编语言的逻辑和算术运算
1C54plus汇编初始化程序
2C54plus汇编语言的逻辑和算术运算源程序
三实验要求
运行程序,通过CCS→View→CPURegisters,观察个寄存器的值,通过CCS→View→Memory,观察片内阁数据地址的值,上述各值应与源程序的计算结果一致。
5在“TDB-C54XplusLAB\LAB04”文件目录下,打开工程文件“logic.pjt”;
加法运算
减法运算
乘法运算
除法运算
平方运算
逻辑或运算
逻辑与运算
逻辑异或运算
结果
1加法操作
2减法操作
3乘法操作
(0x2004)
(0x2005)
4除法操作
(0x2006)
(0x2007)
(0x2008)(商)
(0x2009)(余)
5平方操作
(0x200a)
(0x200b)
(0x200c)
6逻辑与操作
7逻辑或操作
8逻辑异或操作
0x43
0x98
0x55
0x01
0xa2
0x6a
0x38
0x03
0x1b5aa
0x421
0x04
0xb5aa
0x05
0x1000
0x4007c
0x0021
0x0008
0x007c
0x0009
0x0004
0x04007c
0x019a10
0x0144
0x000b
0x9a10
0x000c
0x0001
0xffff
0x00ff
0xff00
实验四快速傅立叶变换(FFT)
1加深对DFT算法原理和基本性质的理解;
2熟悉FFT的算法原理和FFT子程序的应用;
3学习用FFT对连续信号和时域信号进行频谱分析的方法,可以在LCD上显示频谱图;
4了解DSP针对FFT算法的特殊寻址方式。
1初始化DSP;
2编写位码倒置程序;
3编写蝶形运算程序;
4编写功率谱计算程序;
5FFT调用程序。
对输入数据进行FFT变换,并计算功率谱计算,并将功率谱结果用CCS的View→Graph显示。
计算机、TDB-C54XplusDSP实验箱、CCS软件、C54Xplus库文件。
五实验原理
1FFT快速算法的特点;
2FFT的时间抽取法和蝶形运算原理;
3DSP位码倒置的实现。
六实验步骤
5在“TDB-C54XplusLAB\LAB07”文件目录下,打开工程文件“FFT.pjt”;
注意:
如果对实验比较熟练,建议采样如下实验步骤代替上述5、6步:
(1)初始化DSP,并调用DSP初始化程序;
(2)编写位码倒置程序;
(3)编写蝶形运算程序;
(4)编写功率谱计算程序;
(5)建立工程,编译调试程序;
(6)通过CCS的View→Graph→Time/Frequency察看输出功率谱。
七实验程序流程图
FFT数据输入
位码倒置程序
第一级蝶形运算
第二级蝶形运算
第三级至logN蝶形运算
求功率谱运算
用CCS仿真察看波形
八实验数据记录
要求记录的实验数据的设置步骤及记录数据格式如下:
1、编译、链接并运行“TDB-C54XplusLAB\LAB07”文件目录下的工程文件“FFT.pjt”。
2、如下图所示,点击“View”下拉菜单的“Graph”选项中的“Time/Frequency”项,进入FFT运算