DSP硬件实验报告.docx

上传人:b****2 文档编号:2414206 上传时间:2023-05-03 格式:DOCX 页数:25 大小:654.98KB
下载 相关 举报
DSP硬件实验报告.docx_第1页
第1页 / 共25页
DSP硬件实验报告.docx_第2页
第2页 / 共25页
DSP硬件实验报告.docx_第3页
第3页 / 共25页
DSP硬件实验报告.docx_第4页
第4页 / 共25页
DSP硬件实验报告.docx_第5页
第5页 / 共25页
DSP硬件实验报告.docx_第6页
第6页 / 共25页
DSP硬件实验报告.docx_第7页
第7页 / 共25页
DSP硬件实验报告.docx_第8页
第8页 / 共25页
DSP硬件实验报告.docx_第9页
第9页 / 共25页
DSP硬件实验报告.docx_第10页
第10页 / 共25页
DSP硬件实验报告.docx_第11页
第11页 / 共25页
DSP硬件实验报告.docx_第12页
第12页 / 共25页
DSP硬件实验报告.docx_第13页
第13页 / 共25页
DSP硬件实验报告.docx_第14页
第14页 / 共25页
DSP硬件实验报告.docx_第15页
第15页 / 共25页
DSP硬件实验报告.docx_第16页
第16页 / 共25页
DSP硬件实验报告.docx_第17页
第17页 / 共25页
DSP硬件实验报告.docx_第18页
第18页 / 共25页
DSP硬件实验报告.docx_第19页
第19页 / 共25页
DSP硬件实验报告.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DSP硬件实验报告.docx

《DSP硬件实验报告.docx》由会员分享,可在线阅读,更多相关《DSP硬件实验报告.docx(25页珍藏版)》请在冰点文库上搜索。

DSP硬件实验报告.docx

DSP硬件实验报告

实验成绩:

 

DSP课程实验

实验报告

 

学院:

电子工程学院

班级:

07805班

姓名:

杨杨

学号:

072385

班内序号:

30

实验指导教师:

黄惠英老师

报告提交日期:

2009年12月28日

北京邮电大学

实验一常用指令实验

一、实验目的

常用指令操作实验的目的,是通过在DSP仿真开发系统中使用指令,学习指令的功能和基本使用操作方法;同时,也学习DSP应用系统中的系统调试方法。

实际上,在设计DSP应用系统时,指令组成了DSP系统的应用软件。

由于种种原因,所编写的软件中会存在一些问题,因此必须对软件进行调试,通过调试修改软件中不合理的地方。

在软件调试中,一个重要问题是观察指令执行的结果。

例如,在DSP应用系统中输出一个波形信号,但发现输出的波形与预期的不同,这时就需要检察原因。

由于DSP指令执行的速度相当快,所以就须要掌握调试中的指令响应观察技术,也就是通常使用的单步执行方法。

指令操作实验包括如下内容:

 

(1)熟悉常用的代数汇编指令

  

(2)熟悉单步运行的调试方法

  (3)熟悉在调试环境下观察指令的执行结果

   通过完成本次试验,可以初步学会如何使用实验中的指令,学会单步调试的基本方法,并学会如何观察指令的执行结果。

二、实验步骤

实验一的7个常用指令小实验都不需要接信号源,接线较为简单,只要把开发板的+5V电源线和并口电缆连接好即可。

这里以“立即数载入指令”为例说明实验步骤,其他实验可以此类推。

1.   确认接线连接无误后,打开实验箱的电源,运行Explor5410程序。

若第一次运行失败,可关闭实验箱电源,等几秒钟之后再重新打开电源,再次运行Explor5410。

若依然失败,应立即关闭实验箱电源,检查微机并口(打印口LPT1)的工作模式是否为EPP模式或SPP(SPP+EPP)模式,不可为ECP模式或ECP+EPP等含有ECP的工作模式。

若并口工作模式不正确,应进入微机BIOS的SetUp状态,改正并口工作模式。

2.   启动Explor5410后,可载入实验例程,本例为实验一的“立即数载入指令”实验程序。

所有实验例程的起始地址都是0x500,载入后可在反汇编窗口看到地址为0x500的指令是黄色。

点击主菜单“窗口”项,打开“主寄存器窗口”,此时可看到:

PC=500

A=000000000

B=000000000

.......

详见主寄存器窗口

3.点击单步图标,程序执行第一条指令:

A=#1234h<<0,此时在主寄存器窗口中可以观察到A寄存器的值已经变成了“000001234”。

继续单步执行程序,可以观察到相应寄存器和存储器值的改变,直到程序结束。

注意,各窗口中的值均是16进制数,观察存储器值的变化应打开“存储器窗口”,并正确选择其地址。

在实验过程中,要将指令执行前后寄存器或存储器的判断值与观察到的实际值相比较,若有出入,应找出自己判断出错的原因。

三、实验内容、注释及成果

2、直接寻址方式下的数据存取

源程序

内存

地址

地址存的

16进制数

反汇编程序

主寄存器

CPL=0

A=#1234h

DP=#04h

B=@20

 

@22=A

 

A=A+#9Ah

DP=#09h

@25=A

A=#1234h

DP=#8

@38h=A

@3AH=#365h

CPL=1

SP=#1C00h

@5Fh=#0ACDCh

0x500

0x501

0x502

0x503

0x504

 

0x505

 

0x506

0x507

0x508

0x509

0x50A

0x50B

0x50C

0x50D

0x50E

0x51F

0x510

0x511

0x512

0x513

0x514

F6BE

F020

1234

EA04

1114

 

8016

 

F000

9A

EA09

8019

F020

1234

EA08

8038

763A

365

F7BE

7718

1C00

765F

ABCD

start

ST[1,14]=0

A=#1234h<<0

DP=#4

B=@OX14

 

@OX16=A

 

A=A+#0X9A

DP=#9

@OX19=A

A=#1234h<<0

DP=#8

@OX38=A

@OX3A=#0X365

ST[1,14]=1

Mmr[@0X18]=#0X1C00

@0X5F=#0XACDC

 

A=000001234

DP=4

B=OX216地址内的值

 

内存窗口内OX216地址显示语句@22=A结果

A=0000012CE=1234+9A

DP=9

A=000001234

DP=8

 

CPL=1

SP=1BFF(SP指针自动减1,

1C00-1=1BFF)

 

源程序

注释

CPL=0

A=#1234h

DP=#04h

B=@20

 

@22=A

 

A=A+#9Ah

DP=#09h

@25=A

A=#1234h

DP=#8

@38h=A

@3AH=#365h

CPL=1

SP=#1C00h

@5Fh=#0ACDCh

将ST1状态寄存器的14位置0,CPL=0。

DP是ST0的(8-0)位。

DP=4的9位2进制数是000000100。

dma=20=14H;DP:

dma=04H:

14H=0000001000010100=>214H;在内存窗口内OX214地址显示语句B=@20的结果。

 

累加器A内16进制数1234送DP页中的OX16的地址;CPL=0,dma=22=16H;DP:

dma=04H:

16H=0000001000010110=>216H;在内存窗口内OX216地址显示语句@22=A结果,即A的内容放到OX216地址里。

 

DP=9的9位2进制数是000001001。

dma=25=19H;DP:

dma=09H:

19H=

0000010010011001=>499H;在内存窗口内OX499地址显示结果。

 

DP=8的9位2进制数是000001000。

dma=38H;DP:

dma=08H:

38H=

0000010000111000=>438H;在内存窗口内OX438地址显示结果(1234)。

DP=8的9位2进制数是000001000。

dma=3AH;DP:

dma=08H:

3AH=

0000010000111010=>43AH;在内存窗口内OX43A地址显示结果(365)。

ST1状态寄存器的14位置1,CPL=1

 

SP=1C00H=1110000000000,dam=5F=1011111;SP+dam=1C5FH=

1110001011111,在内存窗口内有效地址OX1C5F显示ACDC。

3、间接寻址方式下的数据存取

源程序

内存

地址

地址存的

16进制数

反汇编程序

主寄存器

AR3=#2000h

*AR3=#0AC01h

T=#8

B=*AR3-<

 

AR2=#023Ah

*AR2+=#999Ah

*+AR2=A<<7

AR0=#8

AR3=#1200h

*AR3+0=#1111h

*AR3+0=#2222h

*AR3+0=#3333h

 

*AR3(#16)=#5555h

 

AR4=#266Ah

*AR4=#8848h

A=*AR4+0B<<12

 

*AR4=#9911h

B=#025Ah

*AR2+0%=B<<4

0x500

0x501

0x502

0x503

0x504

0x505

0x506

 

0x507

0x508

0x509

0x50A

0x50B

0x50C

0x50D

0x50E

0x51F

0x510

0x511

0x512

0x513

0x514

0x515

0x516

 

0x517

0x518

0x519

0x51A

0x51B

0x51D

0x51C

0x51E

0x51F

 

0x520

0x521

0x522

0x523

 

0x523

0x524

7713

2000

7683

AC01

770E

8

158B

 

7712

23A

7692

999A

6F9A

C87

7710

8

7713

1200

76B3

1111

76B3

2222

76B3

3333

 

76E3

10

55555

7714

266A

7684

8848

6FBC

C4C

 

7684

9911

F120

25A

99C4

F495

F495

mmr[@0X13]=#0X2000

*AR3=#0XAC01

mmr[@0XE]=#0X8

B=*AR3-<

 

mmr[@0X12]=#0X23A

*AR2+=#0X999A

*+AR2=A<<7

mmr[@0X10]=#0X8

mmr[@0X13]=#0X1200

*AR3+0=#0X1111

*AR3+0=#0X2222

*AR3+0=#0X3333

 

*AR3[16]=#0X5555

 

mmr[@0X14]=#0X266A

*AR4=#0X8848

A=*AR4+0B<<12

 

*AR4=#0X9911h

B=#25Ah<<0

*AR2+0%=B<<4

wait

nop

nop

AR3=2000

 

T=8

B=FFFFAC0100,AR3=1FFF

 

AR2=23A

AR2=23B

AR2=23C

AR0=8

AR3=1200

AR3=1208

AR3=1210

AR3=1218

 

AR4=266A

 

AR4=2666,A=FFF8848000

 

B=00000025A

AR2=244

 

 

源程序

注释

AR3=#2000h

*AR3=#0AC01h

T=#8

B=*AR3-<

 

AR2=#023Ah

*AR2+=#999Ah

*+AR2=A<<7

AR0=#8

AR3=#1200h

*AR3+0=#1111h

*AR3+0=#2222h

*AR3+0=#3333h

 

*AR3(#16)=#5555h

 

AR4=#266Ah

*AR4=#8848h

A=*AR4+0B<<12

 

*AR4=#9911h

B=#025Ah

*AR2+0%=B<<4

AR3辅助寄存器,数据空间地址数2000h放入AR3。

数据空间的地址2000h被存储在AR3当中,*AR3表示AR3中地址所指向的存储器单元2000h存放数据AC01h。

(TS是T暂存器中存放的移位值)

*AR3-访问后地址值减一。

T=#8和B=*AR3-<

AR2辅助寄存器,23Ah数据空间地址数放入AR2。

*AR2+访问后AR2中地址加一。

AR2=#023Ah和*AR2+=#999Ah完成了向地址为023Ah+1=23Bh的数据单元存放数据999Ah。

*+AR2访问前AR2中地址加一。

AR2中地址为23Bh+1=23Ch,累加器A内的数左移7位。

23C地址放0。

8h放入AR0。

1200h放入AR3。

AR3里地址数1200h内放立即数1111h。

*AR3+0访问后AR3中地址1200h加上AR0中的值8,AR3内新的地址数为1208h。

AR3里地址数1208h内放立即数2222h。

*AR3+0访问后AR3中地址1208h加上AR0中的值8,AR3内的地址数为1210h。

AR3里地址数1210h内放立即数3333h。

*AR3+0访问后AR3中地址1210h加上AR0中的值8,AR3内的地址数为1218h。

 

*AR3(16)为AR3中地址1218h加上立即数16(十进制数),(1218h+10h=1228h)。

地址1228h放立即数5555h。

访问后AR3不变,AR3内的地址数1218h。

数据空间地址数266Ah放入AR4。

地址266Ah被存储在AR4中,*AR4表示AR4中地址所指向的存储器单元266Ah存放数据8848h,AR4中地址不变。

*AR4+0B:

访问后AR4中地址加上AR0中的值,并反向进位。

AR4=2666,8848的二进制数左移12位(高位1)则A=FFF8848000。

266A+8换算成二进制再计算(注:

266A的二进制数10011001101010,8的二进制数1000,后4位相加=10010,反向进位=00110,10011001100110=2666)

*AR4表示AR4中地址所指向的存储器单元2666h存放数据9911h。

立即数25Ah载入B累加器。

*AR2+0%访问后AR2中地址加上AR0中的值,并循环寻址;

先在23C地址内放25A0(二进制数左移4位,16进制数左移1位)访问后AR2地址(AR2中地址23Ch+AR0中的值8h)=244h。

6、熟悉ALU的旋转及移位

源程序

内存

地址

地址存的

16进制数

反汇编程序

主寄存器

start:

SXM=0

A=#684Fh

A=A+#0EDC9h

B=#1204h

B=B+#05D9Ah

C=1

A=A\\CARRY

C=0

A=A\\CARRY

ROLTC(A)

SXM=1

B=B+#1234h

B=B//CARRY

B=#0C000h<<16

 

0x500

0x501

0x502

0x503

0x504

0x505

0x506

0x507

0x508

0x509

0x50A

0x50B

0x50C

0x50D

0x50E

0x50F

0x510

0x511

0x512

0x513

F6B8

F020

684F

F000

EDC9

F120

1204

F300

5D9A

F5BB

F491

F4BB

F491

F492

F7B8

F300

1234

F590

F162

C000

ST[1,8]=0

A=#684Fh<<0

A=A+#OXEDC9

B=#1204h<<0

B=B+#OX05D9A

ST[0,11]=1

A=A\\CARRY

ST[0,11]=0

A=A\\CARRY

roltc(A)

ST[1,8]=0B=B+#OX1234

B=B//CARRY

B=#0C000h<<16

 

SXM=0

A=00000684F

A=000015618,C=0

B=000001204

B=000006F9E

C=1

A=00002AC31,C=0

(\\旋转左移)

C=0

A=000055862,C=0

A=0000AB0C4

SXM=1

B=0000081D2

B=0000040E9

(//旋转右移)

B=FFC0000000

 

 

源程序

注释

start:

SXM=0

A=#684Fh

A=A+#0EDC9h

B=#1204h

B=B+#05D9Ah

C=1

A=A\\CARRY

C=0

A=A\\CARRY

ROLTC(A)

SXM=1

B=B+#1234h

B=B//CARRY

B=#0C000h<<16

 

 

A内0000684F+立即数EDC9后的值送累加器A。

 

B内00001204+立即数5D9A后的值送累加器B。

进位位C置1

A内000015618的二进制数左移1位且进位位C=1加入累加器的最后1位,并将其第32位数0送进位位C内。

A内00002AC31的二进制数左移1位且进位位C=0加入累加器的最后1位,并将其第32位数0送进位位C内。

[roltc(A)左移(TC移入)]。

A内000055862的二进制数左移1位且TC=0移入最后1位。

符号扩展位置1

B内000006F9E加立即数1234后的值送累加器B。

B内0000081D2的二进制数右移1位且进位位C=0加入累加器的最后1位,并将其第32位数0送进位位C内。

 

 

实验二采样定理及实验

1、实验目的

通过模拟信号与数字信号之间转换过程的实验,

(1)掌握DSP系统的模拟信号输入输出通道控制和使用方法;

(2)加深对采样定理的理解。

2、实验步骤

1、正确连接实验板同微机连接的信号电缆,实验板VC5410的电源接实验箱+5V电源,实验箱函数信号发生器信号输出端接实验板IN1,实验板IN1和OUT接示波器,确定所有连接正确后,选择信号发生器为正弦波,频率范围:

1KHz~10KHz,频率细调旋钮旋至最低,打开实验箱电源,打开示波器。

2、CPU串行输入A/D数据采集实验

本实验例程的采样频率为25KHz,根据采样定理,当信号发生器的频率超过12.5KHz时输出信号的波形就开始发生混叠失真。

利用函数信号发生器频率细调旋钮,缓慢增加频率,当频率值超过12.5KHz时,继续增加频率,在示波器中可以观察到波形逐渐失真,直到发生混叠。

*打开微机并运行Explor5410程序,进入系统调试环境。

*载入实验子目录下Ex2中的sampling.obj程序并运行程序。

*从频谱显示窗口,单击鼠标右键后再填入频率最大值(fs/2),调节信号发生器频率细调旋钮,观察显示窗口频谱变化情况和观察比较实验板上A/D转换前和D/A转换后的示波器信号波形,记录过采样,欠采样及频率混叠现象。

*暂停程序运行,打开图象窗口,数据类型选择16_bitINT,Q值为0,起始地址为0x3000,显示点数128点,采样率25000,选择时域、连线,标尺设置选择线性、自动标尺,按确定键后就可观察所采信号。

在没有示波器时,可以通过调节频率细调旋钮不断改变信号频率,并不断“暂停”和“运行”程序,也可以观察到当频率超过12.5KHz时输出波形发生的混叠失真。

*改变采样率为100KHz,重复上面的实验。

过程是确定CPU时钟下的CLKGDV、FPER的值,修改在sampling.asm程序中初始化部分相应的值。

汇编该程序,生成*.OBJ文件,然后运行Explor5410程序,加载*.OBJ,运行程序,进行实验。

3、DSP并行输入A/D数据采集实验

 本实验的VC5410板上设计有一个并行接口输出的高速A/D通道,它的I/O地

址是0X8000H,采样率是6.25MHz。

DSP数据接收分为I/O口直接读入和DMA缓冲中断输入两种方式,程序是实验子目录下Dma2中5510.OBJ和5510DMA.OBJ两个程序。

将信号源与VC5410板上5510模拟输入接口接好,然后运行Explor5410程序,加载*.OBJ,运行程序,进行实验。

程序清单

1、串行输入A/D数据采集

2、TLC5510并行输入A/D数据采集

3、TLC5510DMA输入A/D数据采集

 

3、实验成果

1.采样率25000

f=4.0785KHz

时域

频域

2.

f=6.0274KHz

时域

频域

3.

f=10.174KHz

时域

频域

4.

F=15.426KHz

时域

频域

5.

F=19.271KHz

时域

时域

6.

时域

频域

实验三FIR滤波器的设计

       

1、实验目的

1.掌握直接型结构FIR滤波器的设计

2.进行FIR滤波器特性测试实验

3.学习数字FIR滤波器差分方程程序实现方法

 FIR低通滤波器的直接型结构

一个FIR系统可由差分方程或其对应的转移函数来描述。

数字FIR滤波器的DSP实现要求:

首先根据滤波器指标计算FIR滤波器参数,选择FIR滤波器采样方式和设计采样程序,设计实现滤波器差分方程计算程序。

本实验采用实验二的串口采样方式,加入了FIR算法程序,为了观察其频谱还增加FFT程序。

2、实验步骤

1.FIR低通滤波器测量

*阅读程序FIRLP.ASM,了解FIR滤波器算法程序

*接好试验系统连线,打开微机并运行Explor5410程序,进入系统调试环境。

*载入实验子目录下Ex3中的FIRLP.OBJ程序并运行程序

*从频谱显示窗口,单击鼠标右键后再填入频率最大值(fs/2),调节信号发生器频率细调旋钮,在显示窗口

(1)观察并记录低通滤波器频谱特性,

(2)增高信号频率观察有频率混叠现象情况下的输出变化。

(也可以暂停程序运行,打开图像窗口,观察低通滤波器频谱特性)

2.FIR高通,带通,带阻滤波器测量

*  阅读程序FIRHP.ASM、FIRBP.ASM、FIRBS.ASM。

了解各种FIR滤波器算法程序。

*重复FIR低通滤波器测量过程,观测不同滤波器频谱特性。

3.FIR低通滤波器设计和测量

*采用MATLAB仿真设计FIR低通滤波器,求得滤波器参数和节数,建立新数表文件   

*.DAT,将上系数分别输入至相应的数表文件中。

*根据滤波器参数和节数修改FIRHP.ASM文件,然后进行编译生成*.OBJ

*重复FIR低通滤波器实验测量过程,记录测量结果。

附:

用MATLAB设计仿真FIR滤波器步骤:

1.  打开MATLAB6.1应用程序;

2.  点击“view”,在弹出下拉菜单中的“LaunchPad”前打上对钩,我们可以看到在MATLAB主窗口中出现了“LaunchPad”子窗口;

3.  展开“LaunchPad”子窗口中的“FilterDesignToolbox”,双击打开“FilterDesign&AnalysisTool”。

我们看到这时弹出了滤波器设计分析窗口。

4.  在滤波器设计分析窗口中的左下方选择FIR滤波器,然后对FIR滤波器的参数进行设置,点击下方的“DesignFilter”按键即可完成FIR滤波器的设计。

我们可以看到滤波器的幅频特性以及相频特性,同时可以计算出滤波器的阶数(按如图所设参数阶数为50)。

5.    点击“Analysis”,在下拉菜单中选择“FilterCoefficients”,或者点击快捷方式图标,可以生成FIR滤波器的系数文件;

6.  在“File“菜单中可以利用“Export”命令输出滤波器的系数文件,亦可用“ExporttoCHeaderFile”生成C语言的头文件。

3、实验成果

低通滤波器

3k

3.5k

MATL

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2