《现代DSP技术》实验指导书精编版.docx

上传人:b****5 文档编号:6926411 上传时间:2023-01-12 格式:DOCX 页数:76 大小:1.48MB
下载 相关 举报
《现代DSP技术》实验指导书精编版.docx_第1页
第1页 / 共76页
《现代DSP技术》实验指导书精编版.docx_第2页
第2页 / 共76页
《现代DSP技术》实验指导书精编版.docx_第3页
第3页 / 共76页
《现代DSP技术》实验指导书精编版.docx_第4页
第4页 / 共76页
《现代DSP技术》实验指导书精编版.docx_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

《现代DSP技术》实验指导书精编版.docx

《《现代DSP技术》实验指导书精编版.docx》由会员分享,可在线阅读,更多相关《《现代DSP技术》实验指导书精编版.docx(76页珍藏版)》请在冰豆网上搜索。

《现代DSP技术》实验指导书精编版.docx

《现代DSP技术》实验指导书精编版

 

《现代DSP技术》

实验指导书

 

电子信息学院信通系

实验一DSP汇编寻址方式实验…………………………………………………3

实验二DSP汇编的数据访问实验……………………………………………..18

实验三DSP汇编的算术逻辑运算实验………………………………………..28

实验四DSP快速傅立叶变换(FFT)实验……………………………….…..37

实验五DSP数字滤波器的设计实验…………………………………………...45

实验六DSP利用台劳级数展开法实现正弦波信号发生器实验……………..52

实验七DSPI/O寻址及硬件中断实验………………………………………....62

实验八DSP定时器及中断实验………………………………………………..68

实验九DSPA/D-D/A实验………………………………………………….…..76

实验十DSP语音录放实验……………………………………………………..87

 

实验一DSP汇编寻址方式实验

一实验目的

1了解DSP结构

2熟悉CCS开发环境

3熟悉TDB-C54XplusDSP实验箱的硬件环境

4掌握C54Xplus汇编寻址方式

二实验内容

1C54Xplus汇编初始化程序

2C54Xplus各种汇编寻址的源程序

三实验要求

运行程序,通过CCSViewCPURegisters,观察各寄存器的值;

通过CCSViewMemory,观察片内各数据地址的值,上述各值应与源程序的结果一致。

四实验环境

计算机、DSP仿真器、TDB-C54XplusDSP实验箱、CCS软件。

五实验步骤

1将DSP仿真器与计算机并口(打印机口)或USB接口连接好;

2将DSP仿真器JTAG头插入DSP实验箱JTAG接口上;

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累加器寻址

寄存器或存储器

运行前的值

运行后的值

A

DP

(ST0寄存器的低9位)

(0x1f01)

(0x2002)

3直接寻址(DP指针)

寄存器或存储器

运行前的值

运行后的值

CPL

(ST1寄存器的第14位)

DP

(ST0寄存器的低9位)

(0x2003)

4直接寻址(SP指针)

寄存器或存储器

运行前的值

运行后的值

CPL

(ST1寄存器的第14位)

SP

(0x4801)

5间接寻址

寄存器或存储器

运行前的值

运行后的值

AR0

(0x3107)

6绝对寻址(数据区)

寄存器或存储器

运行前的值

运行后的值

DP

(ST0寄存器的低9位)

(0x2000)

(0x2104)

(0x2105)

(0x2001)

7绝对寻址(程序区)

寄存器或存储器

运行前的值

运行后的值

DP

(ST0寄存器的低9位)

(0x2000)

(0x1f00)

(0x2001)

(0x1f01)

8堆栈寻址

寄存器或存储器

运行前的值

运行后的值

SP

(0X47fd)

9程序区到数据区数据复制

寄存器或存储器

运行前的值

运行后的值

AR0

原存储器(0x1000)

原存储器(0x1001)

原存储器(0x10fe)

原存储器(0x10ff)

目的存储器(0x4000)

目的存储器(0x4001)

目的存储器(0x40fe)

目的存储器(0x40ff)

运行前原存储器区域取值的截图:

运行前目的存储器区域取值的截图:

运行后原存储器区域取值的截图:

运行后目的存储器区域取值的截图:

10双操作寻址

寄存器或存储器

运行前的值

运行后的值

A

AR2

AR3

T

FRCT

(ST1寄存器的第6位)

(0x2106)

(0x3107)

实验数据参考结果如下:

1立即数寻址

寄存器或存储器

运行前的值

运行后的值

A

0xFFFFFFFFFF

0x0000001234

(0x2150)

0xF073

0x5678

2累加器寻址

寄存器或存储器

运行前的值

运行后的值

A

0x0000001234

0x1f01

DP

(ST0寄存器的低9位)

0x40

0x40

(0x1f01)

0x75F8

0x75F8

(0x2002)

0xC327

0x75F8

3直接寻址(DP指针)

寄存器或存储器

运行前的值

运行后的值

CPL

(ST1寄存器的第14位)

0

0

DP

(ST0寄存器的低9位)

0x40

0x40

(0x2003)

0x6108

0x3210

4直接寻址(SP指针)

寄存器或存储器

运行前的值

运行后的值

CPL

(ST1寄存器的第14位)

0

1

SP

0x47FE

0x47FE

(0x4801)

0x10F8

0x9876

5间接寻址

寄存器或存储器

运行前的值

运行后的值

AR0

0x0000

0x3107

(0x3107)

0xF0F2

0x9876

6绝对寻址(数据区)

寄存器或存储器

运行前的值

运行后的值

DP

(ST0寄存器的低9位)

0x40

0x40

(0x2000)

0x2010

0x2010

(0x2104)

0x0000

0x2010

(0x2105)

0x5678

0x5678

(0x2001)

0x7408

0x5678

7绝对寻址(程序区)

寄存器或存储器

运行前的值

运行后的值

DP

(ST0寄存器的低9位)

0x40

0x40

(0x2000)

0x2010

0x2010

(0x1f00)

0xE822

0x2010

(0x2001)

0x5678

0x5678

(0x1f01)

0x75F8

0x5678

8堆栈寻址

寄存器或存储器

运行前的值

运行后的值

SP

0x47FE

0x47FE

(0X47fd)

0x061B

0x8888

9程序区到数据区数据复制

寄存器或存储器

运行前的值

运行后的值

AR0

0x3107

0x4000

原存储器(0x1000)

0x004F

0x004F

原存储器(0x1001)

0x004B

0x004B

原存储器(0x10fe)

0x0069

0x0069

原存储器(0x10ff)

0x006E

0x006E

目的存储器(0x4000)

0x8000

0x004F

目的存储器(0x4001)

0x76F8

0x004B

目的存储器(0x40fe)

0Xf273

0x0069

目的存储器(0x40ff)

0x4104

0x006E

运行前原存储器区域取值的截图:

运行前目的存储器区域取值的截图:

运行后原存储器区域取值的截图:

运行后目的存储器区域取值的截图:

10双操作寻址

寄存器或存储器

运行前的值

运行后的值

A

0x0000001000

0x000C4C10C0

AR2

0x2106

0x2107

AR3

0x3107

0x3108

T

0x8888

0x1234

FRCT

(ST1寄存器的第6位)

1

0

(0x2106)

0x1234

0x1234

(0x3107)

0x5678

0x5678

八实验报告要求

实验报告格式如下:

实验题目:

实验人:

同组实验人:

实验时间:

实验地点:

指导教师:

实验目的:

实验内容:

实验要求:

实验环境:

实验步骤:

实验数据记录:

(注:

实验数据记录要求及格式,见“七实验数据记录”)

实验结果分析:

实验小结:

实验二汇编的数据访问

一实验目的

1了解DSP结构

2熟悉CCS开发环境

3熟悉TDB-C54XplusDSP实验箱的硬件环境

4掌握C54Xplus汇编寻址方式

二实验内容

1C54Xplus汇编初始化程序;

2C54Xplus各种汇编寻址的源程序

三实验要求

在程序区预留2个数据块,每块大小为128字;在数据区预留4个数据块,每块大小128字,分别将数据区的数据移动到程序区,将程序区的数据移动到数据区,将数据区的数据移动到数据区,运行程序,通过CCSView

CPURegisters,观察各寄存器的值,通过CCSViewMemory,观察片内各数据地址的值,上述各值应与源程序的结果一致。

四实验环境

计算机、DSP仿真器、TDB-C54XplusDSP实验箱、CCS软件。

五实验步骤

1将DSP仿真器与计算机并口(打印机口)或USB接口连接好;

2将DSP仿真器JTAG头插入DSP实验箱JTAG接口上;

3打开计算机电源,当计算机启动完毕后,打开仿真器和TDB-C54XplusDSP实验箱电源,实验箱上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭实验箱电源,检查连线和电源电压;

5在“TDB-C54XplusLAB\LAB03”文件目录下,打开工程文件“data.pjt”;

6编译、链接并运行该工程,然后实验要求观察记录实验数据;

7向实验指导教师提交记录的实验数据;

8根据实验及其记录的实验数据撰写实验报告。

六实验程序流程框图

1、初始化程序流程图

初始化

延时

设置DP指针

设置SP指针

关闭中断

设置SWWSR

设置CLKMD

结束

 

2、主程序流程图

主程序

DSP初始化

设置数据区

数据=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#数据区执行后取值截图:

实验数据参考结果如下:

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#数据区执行后取值截图:

八实验报告要求

实验报告格式如下:

实验题目:

实验人:

同组实验人:

实验时间:

实验地点:

指导教师:

实验目的:

实验内容:

实验要求:

实验环境:

实验步骤:

实验数据记录:

(注:

实验数据记录要求及格式,见“七实验数据记录”)

实验结果分析:

实验小结:

实验三汇编的算术逻辑运算

一实验目的

1了解DSP结构

2熟悉CCS开发环境

3熟悉TDB-C54XplusDSP实验箱的硬件环境

4熟悉汇编语言的逻辑和算术运算

二实验内容

1C54plus汇编初始化程序

2C54plus汇编语言的逻辑和算术运算源程序

三实验要求

运行程序,通过CCS→View→CPURegisters,观察个寄存器的值,通过CCS→View→Memory,观察片内阁数据地址的值,上述各值应与源程序的计算结果一致。

四实验环境

计算机、DSP仿真器、TDB-C54XplusDSP实验箱、CCS软件。

五实验步骤

1将DSP仿真器与计算机并口(打印机口)或USB接口连接好;

2将DSP仿真器JTAG头插入DSP实验箱JTAG接口上;

3打开计算机电源,当计算机启动完毕后,打开仿真器和TDB-C54XplusDSP实验箱电源,实验箱上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭实验箱电源,检查连线和电源电压;

4双击桌面上CCS图标,进入CCS操作环境;

5在“TDB-C54XplusLAB\LAB04”文件目录下,打开工程文件“logic.pjt”;

6编译、链接并运行该工程,然后实验要求观察记录实验数据;

7向实验指导教师提交记录的实验数据;

8根据实验及其记录的实验数据撰写实验报告。

六实验程序流程图

1、初始化程序流程图

 

延时

设置DP指针

设置SP指针

关闭中断

设置SWWSR

设置CLKMD

结束

 

2、主程序流程图

 

DSP初始化

加法运算

减法运算

乘法运算

除法运算

平方运算

逻辑或运算

逻辑与运算

逻辑异或运算

双操作数寻址

结果

 

七实验数据记录

要求记录实验数据的寄存器和存储器以及记录格式如下:

1加法操作

寄存器或存储器

运行前的值

运行后的值

DP

A

(0x2000)

(0x2001)

2减法操作

寄存器或存储器

运行前的值

运行后的值

DP

A

(0x2002)

(0x2003)

3乘法操作

寄存器或存储器

运行前的值

运行后的值

DP

A

T

(0x2003)

(0x2004)

(0x2005)

4除法操作

寄存器或存储器

运行前的值

运行后的值

DP

A

(0x2006)

(0x2007)

(0x2008)(商)

(0x2009)(余)

5平方操作

寄存器或存储器

运行前的值

运行后的值

DP

A

(0x200a)

(0x200b)

(0x200c)

6逻辑与操作

寄存器或存储器

运行前的值

运行后的值

A

7逻辑或操作

寄存器或存储器

运行前的值

运行后的值

A

8逻辑异或操作

寄存器或存储器

运行前的值

运行后的值

A

 

实验数据参考结果如下:

1加法操作

寄存器或存储器

运行前的值

运行后的值

DP

0x40

0x40

A

0x43

0x98

(0x2000)

0x55

0x55

(0x2001)

0x01

0x98

2减法操作

寄存器或存储器

运行前的值

运行后的值

DP

0x40

0x40

A

0xa2

0x6a

(0x2002)

0x38

0x38

(0x2003)

0x03

0x6a

3乘法操作

寄存器或存储器

运行前的值

运行后的值

DP

0x40

0x40

A

0x6a

0x1b5aa

T

0x421

0x421

(0x2003)

0x6a

0x6a

(0x2004)

0x04

0xb5aa

(0x2005)

0x05

0x01

4除法操作

寄存器或存储器

运行前的值

运行后的值

DP

0x40

0x40

A

0x1000

0x4007c

(0x2006)

0x1000

0x1000

(0x2007)

0x0021

0x0021

(0x2008)(商)

0x0008

0x007c

(0x2009)(余)

0x0009

0x0004

5平方操作

寄存器或存储器

运行前的值

运行后的值

DP

0x40

0x40

A

0x04007c

0x019a10

(0x200a)

0x0144

0x0144

(0x200b)

0x000b

0x9a10

(0x200c)

0x000c

0x0001

6逻辑与操作

寄存器或存储器

运行前的值

运行后的值

A

0xffff

0x00ff

7逻辑或操作

寄存器或存储器

运行前的值

运行后的值

A

0xff00

0xffff

8逻辑异或操作

寄存器或存储器

运行前的值

运行后的值

A

0xff00

0xffff

 

八实验报告要求

实验报告格式如下:

实验题目:

实验人:

同组实验人:

实验时间:

实验地点:

指导教师:

实验目的:

实验内容:

实验要求:

实验环境:

实验步骤:

实验数据记录:

(注:

实验数据记录要求及格式,见“七实验数据记录”)

实验结果分析:

实验小结:

 

实验四快速傅立叶变换(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位码倒置的实现。

六实验步骤

1将DSP仿真器与计算机并口(打印机口)或USB接口连接好;

2将DSP仿真器JTAG头插入DSP实验箱JTAG接口上;

3打开计算机电源,当计算机启动完毕后,打开仿真器和TDB-C54XplusDSP实验箱电源,实验箱上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭实验箱电源,检查连线和电源电压;

4双击桌面上CCS图标,进入CCS操作环境;

5在“TDB-C54XplusLAB\LAB07”文件目录下,打开工程文件“FFT.pjt”;

6编译、链接并运行该工程,然后实验要求观察记录实验数据;

注意:

如果对实验比较熟练,建议采样如下实验步骤代替上述5、6步:

(1)初始化DSP,并调用DSP初始化程序;

(2)编写位码倒置程序;

(3)编写蝶形运算程序;

(4)编写功率谱计算程序;

(5)建立工程,编译调试程序;

(6)通过CCS的View→Graph→Time/Frequency察看输出功率谱。

7向实验指导教师提交记录的实验数据;

8根据实验及其记录的实验数据撰写实验报告。

 

七实验程序流程图

 

DSP初始化

FFT数据输入

位码倒置程序

第一级蝶形运算

第二级蝶形运算

第三级至logN蝶形运算

求功率谱运算

用CCS仿真察看波形

 

 

八实验数据记录

要求记录的实验数据的设置步骤及记录数据格式如下:

1、编译、链接并运行“TDB-C54XplusLAB\LAB07”文件目录下的工程文件“FFT.pjt”。

2、如下图所示,点击“View”下拉菜单的“Graph”选项中的“Time/Frequency”项,进入FFT运算

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1