DSP复习例题与答案

发布 2022-09-03 09:08:28 阅读 9238

三、指令系统理解。

dsp指令如下:

add *0-,8,ar2;

设执行该指令前当前辅助寄存器指针,辅助寄存器以及数据存储器单元情况如下:

arp)=1, (ar0)=0x0010, (ar1)=0x0300, (ar2)=0x0310, (ar3)=0x0320,0x0010)=0x0000,(0x0300)=0x0002,(0x0310)=0x0004, (0x0320)=0x0008,

acc)=0x00000020

执行完该条指令后情况如何?请将正确数据填入下列方框中。

ar00x0010

ar10x0300

ar20x0310

ar30x0320

accarp

2. lf2407 dsp子程序如下:

filter:

lar ar2, #data_in+8

mar *,ar2

lacl #

spm 0mpy #

rpt #macd coeff, *

apacret

coeff:

.word 0ff80h,0284h,0655h,0999h,1888h,0999h,0655h,0284h,0ff80h

.data

data_in:

word 1, 4, 2, 8, 16, 64, 128, 32, 256

执行 call filter 指令后结果如何?请将正确数据填写到各下划线处。

ar21___

treg4___

preg) =0ff80h___

acc) =0ff8000h18880h

0ff80h

data_in: 1, 1, 4, 2, 8, 16, 64, 128, 32, 256

四、数据处理程序设计。

已知 根据递推公式:

可求得。试用f2407 dsp汇编语言完成下面的正弦波发生程序实现上述递推算法,计算sinkt,k=0,1,2,…99 共100项。(定点格式:符号|1位整数|14位小数)

cost .set _16352定义定点常数cost

sint .set _1029定义定点常数sint

singen:

spm __1__

lar ar2, #200h

lar ar3, #201h

mar *,ar2

splk #2*cost,*

lt *lacl #

sacl *,ar3

splk #sint, *

lar ar1, _#97__ 设置循环次数。

singen_loop:

mpyar2 ; 计算2cost*sinkt,结果存于preg

pacpreg)<<1 ->acc, 2:2:28->1:1:30格式。

sub *+16, ar3 ; 计算 2cost*sinkt – sin(k-1)t

add #0001h, 15 ; acc)+00008000h,用作乘积4舍5入。

sach __ar1 ; 保存 sin(k+1)t

banz singen_loop,__ar3 ; ar1>0,则减1并继续循环。

ret五、片上设备控制程序设计。

1、 用通用定时器2实现原程序中通用定时器1的功能,在需要修改的程序右。

边空白处写出修改后的指令。

2、 请在横线处填上注释或程序。

文件名称:timer_

include “

sect ".vect"

reset: b start

int1: b default_i

int2: b timer1_int (int2: b default_i)

int3: b default_i (int3: b timer2_int

int4: b default_i

int5: b default_i

int6: b default_i

default_i:

nopb default_i

.text

start::

call sys_ini

call pwm_ini

call timer1_ini

mainloop:

ldp #show/128

out show, 0004h ; 将欲显示值赋予io空间的0004地址。

b mainloop

sys_ini:

setc intm

clrc sxm

clrc ovm

ldp #wdcr/128

splk #00e8h, wdcr

splk #020dh, scsr1

ldp #ifr/128

splk #0002h, imrsplk #0004h, imr)

splk #0ffffh, ifr ; 执行完该指令后(ifr0

rettimer1_initimer2_ini:)

ldp #evaimra/128ldp #evaimrb/128)

splk #0080h, evaimrasplk #0080h, evaimrb)

splk #0ffffh, evaifrasplk #01cdh, t2per)

splk #01cdh, t1persplk #01cdh, t2per)

splk #0000h, t1cntsplk #0000h, t2cnt)

splk #164ch, t1consplk #164ch, t2con

clrc intm

ret timer1_inttimer2_int:)

ldp #num/128

lacc num

sub #bcnd timer1_lb1, neq

sacl num

lacc show

cmplsacl show

b timer1_lb2

timer1_lb1:

add #sacl num

timer1_lb2:

ldp # t1cnt/128

splk #0000h, t1cntsplk #0000h, t2cnt)

splk #0ffffh, evaifra ;

retpwm_ini:

ldp # mcrc/128

lacl #007eh

or mcrc

sacl mcrc

ldp # actrb/128

splk #0969h,actrb ; pwm低有效高有效。

splk #0ae0, dbtconb ; 插入 10 个cpu时钟周期的死区。

splk #100h,compr4 ; pwm输出的信号的占空比分。

splk #200h,compr5 ; 别为/4

splk #450好,compr6 ;

splk #0600h, t3pr

splk #8200, comconb

splk #0840h, t3con ; 通用定时器3器工作在连续增/减计数模式下

ret.data

num: .word 0

show: .word 0x00aa

.end

DSP技术复习答案

第一章习题。1.什么是dsp和dsp技术?答 数字信号处理和数字信号处理器二者的英文简写都为dsp。数字信号处理是信号的数字化及数字运算和变换的处理。数字信号处理器是一种适合完成数字信号处理运算的硬件芯片。dsp 一词常用来指数字信号处理器 dsp技术 和数字信号处理器相关的数字信号处理算法实现技术...

DSP期末试题与答案

一 填空题 1.dsp芯片的结构特点主要有改进的哈佛结构 低功耗设计高度并行性。多处理单元 特殊的dsp指令等。2 c54x dsp具有两个 40 位累加器。累加器a的 ag或32 39 位是保护位。3 软件中断都是由 intr k trap k 和 reset产生。4 tms320c54x片内有8...

DSP期末试题与答案

一 填空题 1.dsp芯片的结构特点主要有改进的哈佛结构 流水线操作 专用的硬件乘法器 快速的指令周期 低功耗设计 高并行度 多处理单元 特殊的dsp指令等。2 c54x dsp具有两个 40 位累加器。累加器a的 ag或32 39 位是保护位。3 软件中断都是由 intr k trap k 和 r...