DSP原理及应用邹彦主编课后答案_第1页
DSP原理及应用邹彦主编课后答案_第2页
DSP原理及应用邹彦主编课后答案_第3页
DSP原理及应用邹彦主编课后答案_第4页
DSP原理及应用邹彦主编课后答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《DSP原理及应用(修订版)》邹

彦主编课后答案(个人终极修订

版)(总10页)

-本页仅作为文档封面,使用时请直接删除即可-

-内页可以根据需求调整合适字体及大小-

声明:1s本人知识能力有限,只能按自己认识来判断答案的正误来编写本资料;

2、本资料为《DSP原理及应用(修订版)》邹彦主编的课后答案,仅作参考作用,不一定代表考试方

向。

第一章

1、数字信号处理实现方法一般有几种答:课本P2(2.数字信号处理实现)

2、简要地叙述DSP芯片的发展概况。答:课本P2(DSP芯片的发展概况)

3、可编程DSP芯片有哪些特点答:课本P3(DSP芯片的特点)

4、什么是哈佛结构和冯诺依曼结构他们有什么区别答:课本P3-P4(l.采用哈佛

结构)

5、什么是流水线技术答:课本P5(3.采用流水线技术)

6、什么是定点DSP芯片和浮点DSP芯片它们各有什么优缺点

答:定点DSP芯片按照定点的数据格式进行工作,其数据长度通常为16

位、24位、32位。

定点DSP的特点:体积小、成本低、功耗小、对存储器的要求不高;但

数值表示范围较窄,必须使用定点定标的方法,并要防止结果的溢出。

浮点DSP芯片按照浮点的数据格式进行工作,其数据长度通常为32

位、40位。

由于浮点数的数据表示动态范围宽,运算中不必顾及小数点的位置,因此开发

较容易。但它的硬件结构相对复杂、功耗较大,且比定点DSP芯片的价格高。

通常,浮点DSP芯片使用在对数据动态范围和精度要求较高的系统中。

7、DSP技术发展趋势主要体现在哪些方面答:课本P9(发展技术趋势)

8、简述DSP系统的构成和工作过程。答:课本P10(系统的构成)

9、简述DSP系统的设计步骤。答:课本P12(系统的设计过程)

10、DSP系统有哪些特点答:课本P11(系统的特点)

2

11、在进行DSP系统设计时,应如何选择合理的DSP芯片答:课本P13(芯

片的选择)

12、TMS320VC5416-160的指令周期是多少毫秒它的运算速度是多少MIPS

解:f=160MHz,所以T=l/160M==;运算速度二160MIPS

第二章

1、TMS320c54x芯片的基本结构都包括哪些部分答:课本P17(各个部分功能

如下)

2、TMS320c54x芯片的CPU主要由几部分组成答:课本P18(

3、处理器工作方式状态寄存器PMST中的MP/MC、OVLY和DROM3个状态

位对‘C54x的存储空间结构有何影响答:课本P34(PMST寄存器各状态位的

功能表)

4、TMS320c54x芯片的内外设主要包括哪些电路答:课本P40(1C54x的片

内外设电路)

5、TMS320C54X芯片的流水线操作共有多少个操作阶段每个操作阶段执行什

么任务完成一条指令都需要哪些操作周期答:课本P45(1.流水线操作的概念)

6、TMS320C54X芯片的流水线冲突是怎样产生的有哪些方法可以避免流水线

冲突

答:由于CPU的资源有限,当多于一个流水线上的指令同时访问同一资源时,

可能产生时序冲突。解决的办法:①由CPU通过延时自动解决;②通过程序

解决,如重新安排指令或插入空操作指令。

7、TMS320c54x芯片的串行口有哪几种类型答:课本P42(TMS320c54x芯

片的串行口)

3

8、TMS320VC5402共有多少可屏蔽中断它们分别是什么NMI和RS属于哪一

类中断源答:课本P56(对VC5402来说,这13个中断的硬件名称为……RS和

NMI属于外部硬件中断。)

9、试分析下列程序的流水线冲突,画出流水线操作图。如何解决流水线冲突

(解题时参考课本P52【例】)

STLMA,ARO

STM#10,AR1

LD*AR1,B

解:流水线图如下图:

123456789

预取指取指译码寻址读数执行

STLMA,ARO写AR1

预取指取指译码寻址读数执行

STM#10,ARI

写AR2写AR2

(1stWord)

预取指取指译码寻址读数执行

STM#10,ARI

(2ndWord)

预取指取指译码寻址读数执行

LD*AR1,B读AR2

解决流水线冲突:最后一条指令(LD*AR1,B)将会产生流水线冲突,

在它前面加入一条NOP指令可以解决流水线冲突。

10、试根据等待周期表,确定下列程序段需要插入几个NOP指令。(流水线等

待周期表P53)

①LD@GAIN,T

STM#input,ARl

MPY*AR1+,A

4

解:本段程序不需要插入NOP指令(查等待周期表,对于T字段,后面

的存储指令需要加入一个等待周期,由于STM是一条双字指令,隐含1个等待

周期,所以不用再插入等待周期)

②STLMB.AR2

STM#input,AR3

MPY*AR2+,*AR3+,A

解:本段程序需要在MPY*AR2+,*AR3+,A语句前插入1条NOP指令

(在等待周期表,AR2后面的STM指令不用插入等待,但注2表面在后面的

STM指令之前,不能有在执行阶段对,ARx的写操作,而前面的STLM指令正

是执行阶段写AR2,所以应插入1个等待周期。)

③MAC@x,B

STLMB,ST0

ADD@table,A,B

解:本段程序需要在ADD@table,A,B语句前插入2条NOP指令

第三章

1、已知(1030H)=0050H,AR2=1040H,AR3=1060H,AR4=1080Ho

MVKD1030H,*AR2(将地址单元1030H中的数据复制到AR2寄存器所指向

的数据存储单元中去,因为(1030H)=0050H,AR2=1040H,执行结果

(1040H)=0050H,*AR2=0050H)

MVDD*AR2,*AR3(在AR2和AR3数据存储器内部传送数据,即AR2指向的

存储单元数据=AR3指向的存储单元数据,即:AR2=1040H,AR3=1060H,所

以执行结果(1040H)=(1060H)=0050H,*AR3=0050H)

5

MVDM1060H,AR4(地址1060H数据向AR4寄存器传送数据。执行结果:

(1060H)=AR4=0050H;)

运行以上程序后,(1030H)、(1040H).*AR3和*AR4的值分别等于多少

解:运行的结果:(1030H)=0050H,(1040H)=0050H,*AR3=0050H,AR4=0050H

2、已知(1080H)=0020H,(1081H)=0030Ho

STM#1080H,ARO(AR0=#1080H)

STM#1081H,ARI(AR1=#1O81H)

LD*AR0,16,B(把寄存器ARO指向的地址单元中数据左移16位装入累加器

B,这时⑻=2000H)

ADD*AR1,B(把寄存器ARI指向地址单元的数据与累加器B中数据相加传送

给B,这时(B)=200030H

解:运行以上程序后,(B)=200030H

3、阅读以下程序,分别写出运行结果。

.bssx,4

.data

table:.word4,8,16,32

STM#x,ARl

RPT#2

MVPDtable,*ARl+

6

解:数据表table中的常量4传送到以变量x的地址为地址的存储单元中;数

据表table中的常量8传送到以变量x+1的地址为地址的存储单元中;数据表

table中的常量16传送到以变量x+2的地址为地址的存储单元中;

.bssx,4

.data

table:.word4,8,16,32

STM#x,ARl

RPT#2

MVPDtable,*+AR2

解:数据表table中的常量4传送到以变量x+1的地址为地址的存储单元中;

数据表table中的常量8传送到以变量x+2的地址为地址的存储单元中;数据

表table中的常量16传送到以变量x+3的地址为地址的存储单元中;

4、NOP指令不执行任何操作,它起什么作用

答:延时作用,在指令中加入NOP指令可以避免流水线冲突。延时几个周期,

避免流水线冲突;需要精确延时程序时,也会用到NOP指令。

5、TMS320C54X的数据寻址方式各有什么特点应该应用在什么场合答:课本

P89(本章小结)

第四章

1、软件开发环境有哪几种在非集成开发环境中,软件开发常采用哪些部分

7

答:可以在两种开发环境中进行C54X的开发:非集成的开发环境和集成的开

发环境。在非集成开发环境中,软件开发常采用:编辑、汇编、链接、调试等

部分。

2、什么是COFF格式它有什么特点答:课本P94(的一般概念)

3、试说明.text段、.data段和.bbs段分别包含什么内容答:课本P94(的一般

概念)

4、程序员如何定义自己的程序段

5、链接器对段是如何处理的答:课本P98链接器对段的处理)

6、什么是程序的重新定位答:课本P99(链接器对程序的重新定位)

7、宏定义、宏调用和宏展开分别指的是什么答:课本P112(宏定义和宏调

用)

8、链接器能完成什么工作链接器命令文件中,MEMORY命令和SECTIONS命令

的任务是什么答:课本P114(链接器的使用,命令,命令)

第五章

1、能用伪指令(如data)或运算符(如ADD)作为标号吗为什么(参考课本

P126标号区的格式要求)

2、标号和注释有什么差别它们在程序运行中作用一样吗答(参考课本P129L

标号;注释是程序的人选项。注释可以由ASCII码和空格组成。注释在汇编源

清单中显示,但不影响汇编。注释在程序中的作用是说明语句的含义,以便对

软件进行维护。)

3、两个数相乘,如果结果溢出,DSP系统会报警吗答:不会。当发生溢出

时,自动将结果设置为最大或最小值。

8

4、伪指令起什么作用它占用存储空间吗答:伪指令给程序提供数据和控制汇编

过程。答:它多用于代码编译的,硬件并不认识汇编语言,它们只认机器语

言,程序的运行涉及由高级语言汇编成汇编语言,再由汇编语言编译成机器语

言,最后由硬件执行机器语言。编译过程中,伪指令起作用,但是伪指令不产

生目标代码,仅仅是帮助编译器准确的把其他指令编译出来。因此,伪指令在

代码编译过程中所起的功能,在程序运行时伪指令已经不存在了,因为代码是

编译好后才执行的。伪指令不占用存储空间。

5、在堆栈操作中,PC当前地址为4020H,SP当前地址为0013H,运行

PSHMAR7后,PC和SP的值分别是多少(PSHMAR7是压栈操作(完成后

PC指针+1,堆栈指针SP-1)

答:PC=4021H,SP=0012H

6、试编写x的程序代码。

参考程序如下:

.title""

.mmregs

.global_c_int00

.bssx,l

.bssy,l

.bss乙1

.data

AmpCoef:.word25*32768/100

.word-1*32768/10

9

.text

_c_intOO:ssbxFRCT

stm#x,arl

rpt#0x1

mvpd#AmpCoef,*arl+

stm#x,ar2

stm#y,ar3

mpy*ar2,*ar3,A

sthA,*arl

Wait:bWait

.end

7、将定点数用浮点数表示。解:A=28H;T=19H

8、试写出以下两条指令的运行结果:

①EXPA

A=FFFD876624T=0000

则以上指令执行后,A、T的值各是多少解:A=0xFFFD876624;T=5

②NORMB

B=420D0D0D0D,T=FFF9

则以上指令执行后,B、T的值各是多少解:B=0X841A1A1A,T=FFF9

9、阅读以下程序,写出运行结果。

.bssy,5

table.word1,2,3,4,5

10

STM#y,AR2

RPT#5

MVPDtable,*AR2+

LD#0,B

LD#81h,AR5(有误,应改为STM#81H,AR5)

STM#0,A

STM#4,BRC

STM#y,AR5

RPTBsub-1

ADD*ARM5,B,A

STLA,*AR5+

sub:LD#0,B

运行以上程序后,(81H),(82H),(83H),(84H)和(85H)的值分

别是多少

答:(81H)=0001H,(82H)=0002H,(83H)=0003H,(84H)

=0004H,(85H)=0005Ho

10、CALL指令调用子程序与循环语句有什么不同

答:CALL指令调用子程序:课本P135(子程序调用指令表);循环语句:课

本P137(循环操作程序)

11、多次循环嵌套时,能够从最内一层循环直接跳到最外一层循环吗若能,则

采用什么方式呢

11

12、在不含循环的程序中,RPTZ#3语句和其前一句、后一句以及后第二句各

运行多少次

答:RPTZ#3语句和其前一句运行1次,后一句运行3次,后第二句运行1

次。

第六章

1、FIR和IIR数字滤波器都有哪些设计方法每种设计方法的步骤是什么(参考

课本P179-P181)

2、与FIR滤波器比较,IIR滤波器有哪些优缺点(参考课本P167IIR滤波器的

DSP实现)

3、二阶IIR滤波器,又称为二阶基本节,其结构图可以分为几种类型各有什么

特点(参考课本P168L二阶IIR滤波器)

4、略

5、FIR滤波器的算法为y(n)=aoX(n)+aiX(n-l)+a2x(n-2)+a3x(n-3)+a4X(n-4),

试用线性缓冲区和直接寻址的方法实现。(参考课本P161-P162,只是对课本

一些参数稍作修改便是答案)

解:.title""

.mmregs

.defstart

X.usect"x",5

PAO.set0

PAI.set1

.data

12

COEF:.word1*32768/10;定义a产

.word-3*32768/10;定义a3=

.word5*32768/10;定义ap

.word-3*32768/10;定义a尸

.word1*32768/10;定义aa-

.text

start:SSBXFRCT

STM#x+5,AR2

STM#4,AR0

LD#x+l,DP

PORTRPAl,@x+l

FIR1:RPTZA,#4

MACD*AR2-,COEF,A

STHA,*AR2

PORTW*AR2+,PA0

BDFIR1

PORTRPA1/AR2+0

.end

6、试用线性缓冲区和间接寻址方法实现题算法的FIR滤波器。(参考课本

P162-P163,只是对课本一些参数稍作修改便是答案)

解:.title

.mmregs

13

.defstart

.bssy,l

xn.usect"xn",5

bO.usect"aO",5

PAO.set0

PAI.set1

.data

table:.word1*32768/10;定义a产

.word-3*32768/10;定义a3=

.word5*32768/10;定义a产

.word-3*32768/10;定义a尸

.word1*32768/10;定义

.text

start:SSBXFRCT

STM#Z?O,AR1

RPT#4

MVPDtable,*AR1+

STM#xn+4,AR2

STM#bO+4,AR3

STM#5,BK

STM#-l,AR0

LD#xn,DP

14

PORTRPAl,@xn

FIR2:RPTZA,#4

MAC*AR2+0%,*AR3+0%,A

STHA,@y

PORTW@y,PA0

BDFIR2

PORTRPA1/AR2+0%

.end

7、~12、略

第七章

1、试列举主机与PHI通信的连接单元并分别说明它们的功能。(参考课本

P2001C54x的主机接口)

2、已知TMS320C54X的CLKOUT频率为4MHz。

①在SAM工作方式下,主机的时钟频率是多少

解:在SAM工作方式下,主机频率可达或。

②在HOM工作方式下,主机的时钟频率与TMS320C54X的时钟频率有关吗

答:在HOM工作方式下,主机的时钟频率与TMS320C54X的时钟频率无关。

3、试分别说明下列有关定时器初始化和开放定时中断语句的功能。

①STM#0040H,IFR(课本有误,此处应为STM#0080H,IFR)解:清除外部

中断2标志位。

15

②STM#0080H,IMR解:允许定时器T1或DMAC1中断(使用哪一种中断由

DMA通道优先级和使能控制寄存器DMPREC控制。在复位以后,中断被配置

为定时器T1中断)。

③RSBXINTM解:使能所有可屏蔽中断。

④STM#0279H,TCR解:设置定标计数器的值PSC为9;定时器分频系数为

9;以PRD中的值加载TIM,以TDDR中的值加载PSC;定时器停止工作。

4、假设时钟频率是40Mhz,试编写在XF端输出一个周期为2ms的方波程序

段。

(参考课本P207程序,只要将课本程序中STM#1599,TIM0和STM#1599,

PRDO改为STM#3999,TIMO和STM#3999,PRDO即可。注意计算到的

Tt=lms(高电平和低电平各1ms,故周期为2ms)。定时器基本计算公式在课

本P206)

解:(定时半周期=CLKOUT*(TDDR+1)*(PRD+1);

1/2T=(1/40M)*(9+1)*(3999+1)=lms)

/

;定时器0寄存器地址

TIMO.set0024H

PRDO.set0025H

TCRO.set0026H

;K_TCRO:设置定时器控制寄存器的内容

K_TCRO_SOFT.setOb;Soft=0

K_TCRO_FREE.setlb;Free=l

16

K_TCRO_PSC.set1001b;PSC=9H

K_TCR0_TRB.setlb;TRB=1

K_TCR0_TSS.setOb;TSS=O

K_TCRO_TDDR.set1001b;TDDR=9

K_TCRO.setK_TCRO_SOFT|K_TCRO_FREE|K_TCRO_PSC|K_TCRO_TRB|

K_TCRO_TSS|K_TCRO_TDDR

;初始化定时器0

;Tt=25*(9+l)*(3999+l)=1000000(ns)=l(ms)

STM#0010H,TCR0

STM#3999,TIMO

STM#3999,PRDO

STM#K_TCRO,TCRO

STM#0080H,IFR

STM#0080H,IMR

RSBXINTM

RET

;定时器。的中断服务子程序:通过引脚XF给出

tO_flag.usect"vars",1;若tO_flag=l贝(JXF=1,若tO_flag=O则

XF=O

timeO_rev:PSHMTRN

PSHMT

PSHMSTO

17

PSHMSTI

BITFtOJIag,#1

BCxf_out,NTC

SSBXXF

ST#0,tOJIag

Bnext

xf_out:RSBXXF

ST#1,tOJIag

next:POPMSTI

POPMSTO

POPMT

POPMTRN

RETE

5、TMS320c54x的串口有哪几种类型答:课本P213('C54x的串行口)

6、试叙述标准串行接口数据的发送程序。

7、试分别说明下列语句的功能。

①STM#SPCR10,SPSA0

STM#0001H,BSPO

解:对串口控制寄存器SPCR10赋值。不使用数字循环返回模式,接收数据

DRR[1,2]

采用右对齐方式,连续时钟方式,DX使能判断,接收中断由RRDY产生,接

收移位寄存器未超载,串口接收器准备好,使能串口接收器。

18

②STM#SPCR20,SPSAO

STM#0081H,BSPO

解:对串口控制寄存器SPCR20赋值。串口使用软件模式,帧同步逻辑、采

样率发生器复位,由发送准备好XRDY驱动发送中断;发送移位寄存器为空,

发送器未准备好,使能串口发送器。

③STM#SPCR20,SPSAO

ORM#01000001B,BSPO

解:修改串口控制寄存器SPCR20的值。由采样率发生器产生帧同步信号,

使能串口发送器。

8、已知中断向量TINT=013H,中断向量地址指针IPTR=O111H,求中断向量

地址。

解:中断向量地址=(1B)«9+(1OO11)<<2=88CCH

第八章

1、一个典型的DSP系统通常有哪些部分组成画出原理框图。

答:(1)一个完整的DSP系统通常是由DSP芯片和其他相应的外围器件构

成。一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字

信号处理器DSP、D/A转换器和低通滤波器等。DSP系统的工作过程:①将

输入信号x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的

混叠。②经过采样和A/D转换器,将滤波后的信号转换为数字信号x(n)。③

数字信号处理器对x(n)进行处理,得数字信号y(n)。④经D/A转换器,将

y(n)转换成模拟信号;⑤经低通滤波器,滤除高频分量,得到平滑的模拟信号

y(t)o(2)原理框图:课本P267图、DSP系统硬件设计过程都有哪些步骤

19

答:第一步:确定硬件实现方案;第二步:器件的选择;第三步:原理图设

计;第四步:

PCB设计;第五步:硬件调试;

3、在TMS320C54X芯片中,能否从一种分频方式直接切换到另一种分频方

式,写出切换步骤。

4、一个DSP系统采用TMS320c54x芯片,而其他外部接口芯片采用5V器

件,试为该系统设计一个合理的电源。(参考课本P249电源电路的设计)

5、试为DSP系统设计一个复位电路,要求该电路具有上电复位、手动复位和

监视系统运行等功能。答:课本P252(图和图,监视系统:“看门狗”电路)

6、将TMS320C5402芯片从2分频切换到4分频方式,试编写相应的程序。

答:(2分频与4分频之间也不能直接切换,要先把2分频切换到倍频方式

(PLL方式),然后再切换到4分频。)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论