DSP原理及应用答案精.docx

上传人:b****5 文档编号:4100296 上传时间:2022-11-27 格式:DOCX 页数:10 大小:108.99KB
下载 相关 举报
DSP原理及应用答案精.docx_第1页
第1页 / 共10页
DSP原理及应用答案精.docx_第2页
第2页 / 共10页
DSP原理及应用答案精.docx_第3页
第3页 / 共10页
DSP原理及应用答案精.docx_第4页
第4页 / 共10页
DSP原理及应用答案精.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

DSP原理及应用答案精.docx

《DSP原理及应用答案精.docx》由会员分享,可在线阅读,更多相关《DSP原理及应用答案精.docx(10页珍藏版)》请在冰豆网上搜索。

DSP原理及应用答案精.docx

DSP原理及应用答案精

广东白云学院2013—2014学年第二学期期末考试《DSP原理及应用》(A卷)参考答案及评分标准

适用专业及方向:

电子信息工程、通信工程

层次:

本科年级:

11级限时:

120分钟考试形式:

闭卷考场要求:

笔试

分)1、DSP定点数值为0x6000,若它是Q15(或S0.15)定标的有符号小数,它的数值是(0.75);若是Q0(或S15.0)格式有符号整数,则它的数值是(24576)。

2、'C54x芯片分成(3)个相互独立的可选择的存储空间,其中程序存储器空间在不扩展的情况下可寻址(64K)字。

3、与单片机相比,DSP采用了改进型(哈佛)结构和流水线/或并行技术,多了硬件乘加器,是(运算密集)型处理器,运算速度和(精度)高。

4、’DSP在CPL=0时,操作数@y的实际地址是将(DP)寄存器的内容作为地址的高(9)位,再加上y提供的低(7)位偏移地址。

5、COFF文件的基本单元是(段)。

它是就是最终在存储器映象中占据连续空间的一个数据或代码块。

6、AR1=1001H时,执行DSTA,*AR1指令后,AH内容存入地址(1001H)的单元,AL存入地址(1000H)的单元。

7、指令ADD#4567H,8,A,B执行前A=00001234H,B=00001100H,执行后A和B

的值分别为(00001234H)、(00457934H)。

第1页共12页

8、'C54x芯片的中断系统可分为硬件中断和(软件中断),还可以分为可屏蔽中断和(非屏蔽中断)。

9、'C54x芯片的硬件复位地址为(FF80H),INT0的中断序号为16,IPTR=1FFH时其中断向量地址为(FFC0H)。

10.在’C54xDSP寻址和指令系统中,操作数Xmem和Ymem表示(数据存储器双寻址数据),Lmem表示(长字寻址的32位数据存储器数据)。

二、判断题(正确的在括号内画√,错误的在括号内画×。

每空1分,共10分)

(√)1、解决流水线冲突的办法之一就是中间插入若干条NOP指令。

(√)2、链接器可以将自定义未初始化段自动地定位到数据存储器。

(√)3、'C54x有6级流水线,包含预取指、取指、译码、寻址、读数和执行。

(×)4、'C54x数据空间可进行页扩展,每页空间是64K字。

(√)5、DSP采用了改进型哈佛结构和流水线技术

(√)6、FRCT=1,可保证Q15×Q15小数乘法结果仍为Q15。

(×)7、SXM=0时数据进入ALU或移位器之前会进行符号扩展。

(√)8、INTM=0允许全局中断。

(√)9、'C54x的IO管脚供电电压为3.3伏。

(×)10、C5000(C54x、C55x)系列主要用于数字控制系统。

编写程序,计算y=∑aixi

i=15。

其中a1=0.1,a2=0.2,a3=-0.4,a4=0.4,a5=0.51,

x1=0.7,x2=0.6,x3=-0.7,x4=-0.8,x5=-0.91

评分标准:

伪指令无误得5分,代码段无误得5分

答案:

第2页共12页

.title"mac.asm"

.mmregs

.bssa,5;.bssx,5;.bssy,1;.globalstart.data;

table:

.word1*32768/10;.word2*32768/10.word-4*32768/10.word4*32768/10.word51*32768/100.word7*32768/10;.word6*32768/10.word-7*32768/10.word-8*32768/10.word-91*32768/100.text;start:

SSBXFRCT;RSBXCPL;STM#a,AR1;RPT#9;MVPDtable,*AR1+;

第3页共12页

STM#x,AR2;

STM#a,AR3;

RPTZA,#4;

MAC*AR2+,*AR3+,A;

LD#y,DP

STHA,@y;

end:

Bend;

.end

三、回答问题(每题4分,共24分)

1、DSP的主要技术指标有哪些?

答:

精度,速度,功耗,片内资源,价格,生命周期及其开发工具等。

2、程序地址生成器PAGEN中,RC起何作用?

如何工作的?

答:

RC是重复计数器,初值决定于RPT(Z)指令的操作数,随后一条指令被重复指令,每重复执行一次RC内容减一,直至0为止。

3、举例反序寻址的表达方式及其关键符号的意义?

答:

反序寻址如*AR4+0B,它表示修改AR4时,AR4=AR4+AR0,B表示反向进位(或借位)。

4、说明FIR滤波器使用线性缓冲区时编程的方法及步骤

答:

线性缓冲区可利用.bss伪指令开辟未初始化数据段,线性数据缓冲区可采用直接寻址(如@x)或间接寻址(*AR1)的方法,

其算法是:

利用MAC指令计算输出,数据的更新法是利用移位指令(即延迟指令)如LTD指令等,进行全区数据的更新。

5、试说明浮点乘法的主要计算步骤(写出关键指令)。

第4页共12页

答:

将0.05和0.85转化成指数(EXP指令)和尾数(NORM指令),再作尾数乘(乘后需再转化成指数和尾数)和指数加。

再利用NORM指令化为定点数。

6.串口的字符组传送模式和连续传送模式的区别在哪里?

答:

前者每16位传送时,需要一个帧同步信号。

后者传输若干个16位只需要一个帧同步信号

1、阅读程序,设x1为300H地址,回答问题(10分)

.title"bitrev.asm"

.mmregs

x

y

.usect"inputx",16.usect"outputx",16.def_c_int01.data

.word1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16table:

.text

_c_int01:

STM#x,AR1

RPT#15MVPDtable,*AR1+

CALLbitrev

end:

Bend

STM#8,AR0bitrev:

STM#x,AR3

STM#y,AR4

RPT#14

第5页共12页

MVDD*AR3+0B,*AR4+

bitrevend:

RET

.end

填空回答问题(每空1分):

1)x1.usect"inputx",16一句表示为:

定义段名为(inputx)的(未初始化自定义段)段,该段长度为16个字,起始地址为(x)

2)、该程序要求X地址低(5)位必须为0,为达到这种要求必须在(*.CMD)文件中对.inputx段分配和存储器配置。

3)、假定AR3中当前值为0304h,在执行指令MVDD*AR3+0B,*AR4+后,AR3的值是

(030C)h

4)、该程序运行的结果是

Y单元的内容为:

(1)

Y+1单元的内容:

(9)

Y+2单元的内容:

(5)

5)、设FFT点数为32,则STM#8,AR0应该改成(STM#16,AR0)。

2、阅读程序填写结果。

(12分)

.title“FIR4.ASM”;

.mmregs;

.defstart;

.bssy,1;

xn.usect“xn”,5;

a0.usect“a0”,5;

PA0.set0;

PA1.set1;

.data

table:

.word2*32768/10;

第6页共12页

.word1*32768/10;

.word3*32768/10;

.word1*32768/10;

.word4*32768/10;

.text

start:

SSBXFRCT;

STM#a0,AR1;

RPT#4;

MVPDtable,*AR1+;

STM#xn+4,AR3;

STM#a0+4,AR4;

STM#5,BK;

STM#-1,AR0;

LD#xn,DP;

PORTRPA1,@xn;

FIR4:

RPTZA,#4;

MAC*AR3+0%,*AR4+0%,A;

STHA,@y;

PORTW@y,PA0;

BDFIR4;

PORTRPA1,*AR3+0%;

.end

填空及回答(每空2分)

1)、语句STM#5,BK表示的意思是:

(设置缓冲区长度为5)

2)、“xn”数据段是线性缓冲区还是循环缓冲区:

(循环缓冲区)

3)、此程序算法的表达式是(y中内容等于):

y(n)=(0.2x(n)+0.1x(n-1)+0.3x(n-2)+0.1x(n-3)+0.4x(n-4)

4):

指出以下指令中各个操作数的寻址方式

STM#a0,AR1

第7页共12页)

(#a是立即寻址,AR1是MMR寻址)LD#y,DP

(#y是立即寻址,DP是MMR寻址)

STHA,@y

(A是MMR寻址,@y是直接寻址(DM区))

4.阅读下面的程序,回答问题。

MEMORY

{PAGE0:

}

SECTIONS

{.text:

}

汇编程序

size.set0x0120

stack.usect“STACK”,size

.text

STM#stack+size,SP

问题:

(1)标号“stack”的存储器地址是多少?

(2分)

(2)执行这段代码之后,SP寄存器的内容是多少?

(2分)STACK:

{}>PROGPAGE0{}>DATAPAGE1PAGE1:

PROG:

origin=0x2000,length=0x1000DATA:

origin=0x3000,length=0x1000答:

(1)stack的存储空间为0x3000;

(2)SP=0x3120;

第8页共12页

设CLKOUT=8MHz,试阅读下列程序。

试回答,引脚XF产生什么波形的信号?

若要求方波周期改为16s,T0中断周期减小到原来一半,试说明程序的修改方法。

程序:

.title"time.asm"

.mmregs

.global_main

K_TCR0.set111001101001B

.text

_main:

nop

STM#0010H,TCR

STM#6399,TIM

STM#6399,PRD

STM#K_TCR0,TCR

STM#0008H,IFR

STM#0008H,IMR

RSBXINTM

Lop:

blop

t0_flag.usect“vars”,1

time0_rev:

PSHMST0

PSHMST1

BITFt0_flag,#1

BCxf_out,NTC

SSBXXF;XF=1

ST#0,t0_flag

Bnext

xf_out:

RSBXXF;XF=0

ST#1,t0_flag

next:

POPMST1

POPMST0

RETE

.end

另外:

在中断向量表vector文件中,在T0中断向量入口处加上如下三条指令:

IV_TINT0:

Btime0_revr

NOP

NOP

第9页共12页

答案:

引脚XF产生占空比为50%,周期为16ms的方波的程序。

原题8ms=(TDDR+1)(PRD+1)ms/8000,

(TDDR+1)(PRD+1)=64000;所以:

可以使TDDR=9,PRD=6399。

现在使PRD=3199即可

方波周期改为16s即每中断2000次修改一次XF,程序进行如下修改:

1,STM#6399,PRD改为STM#3199,PRD

2,在Lop:

blop之前加一条STM#1999,AR1

3,在time0_rev:

PSHMST0之前加两条指令

BANZOK,*AR1-

STM#1999,AR1

4,在RETE前加标号OK,即指令为OK:

RETE

第10页共12页

第11页共12页

第12页共12页

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

当前位置:首页 > 高等教育 > 艺术

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

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