DSP测试题及答案 联系客服

发布时间 : 星期四 文章DSP测试题及答案更新完毕开始阅读f2ef3e50195f312b3069a57f

15. FIR滤波器的算法为y(n)= a0x(n)+a1x(n-1)+a2x(n-2)+a3x(n-3)+a4x(n-4),试用线性缓冲

区和直接寻址的方法实现。 答: .title “FIR1.ASM” .mmregs .def start x .usect “x”,5 PA0 .set 0 PA1 .set 1 .data

COEF:.word 1*32768/10 ;定义a4= 0.1 .word -3*32768/10 ;定义a3= -0.3 .word 5*32768/10 ;定义a2=-0.5 .word -3*32768/10 ;定义a1= -0.3 .word 1*32768/10 ;定义a0=-0.1

.text

start: SSBX FRCT STM #x+5,AR2 STM #4,AR0 LD #x+1,DP PORTR PA1,@x+1 FIR1: RPTZ A,#4

MACD *AR2-,COEF,A STH A,*AR2 PORTW *AR2+,PA0 BD FIR1

PORTR PA1,*AR2+0 .end

16. 试用线性缓冲区和间接寻址的方法实现上题算法的FIR滤波器。 答: .title “FIR2.ASM” .mmregs .def start .bss y,1 xn .usect “xn”,5 b0 .usect “a0”,5 PA0 .set 0 PA1 .set 1 .data

table: .word 1*32768/10 ;定义a4= 0.1 .word -3*32768/10 ;定义a3= -0.3 .word 5*32768/10 ;定义a2=-0.5 .word -3*32768/10 ;定义a1= -0.3 .word 1*32768/10 ;定义a0=-0.1 .text

start: SSBX FRCT STM #a0,AR1 RPT #4

MVPD table,*AR1+ STM #xn+4,AR2 STM #b0+4,AR3 STM #5,BK STM #-1,AR0 LD #xn,DP PORTR PA1,@xn FIR2: RPTZ A,#4

MAC *AR2+0%,*AR3+0%,A STH A,@y PORTW @y,PA0 BD FIR2

PORTR PA1,*AR2+0% .end

17. 试分别说明下列有关定时器初始化和开放定时中断语句的功能: ①STM #0080H,IFR

答:清除定时器中断1标志位 ②STM #0080H,IMR

答:允许定时器T1或DMAC1中断(使用哪一种中断由DMA通道优先级和使能控制寄存

器DMPREC控制。在复位以后,中断被配置为定时器T1中断)。 ③RSBX INTM

答:使能所有可屏蔽中断。 ④STM #0279H,TCR 答:设置定标计数器的值PSC为9;定时器分频系数为9;以PRD中的值加载TIM,以TDDR中的值加载PSC;定时器停止工作。

18. 假设时钟频率为40MHZ,试编写在XF端输出一个周期为2ms的方波的程序。

答:(定时半周期=CLKOUT*(TDDR+1)*(PRD+1); 1/2T=(1/40M)*(9+1)*(3999+1)=1ms)

;abc1.asm

;定时器0寄存器地址

TIM0 .set 0024H PRD0 .set 0025H TCR0 .set 0026H

;K_TCR0:设置定时器控制寄存器的内容 K_TCR0_SOFT .set 0b ;Soft=0 K_TCR0_FREE .set 0b ;Free=0 K_TCR0_PSC .set 1001b ;PSC=9H K_TCR0_TRB .set 1b ;TRB=1 K_TCR0_TSS .set 0b ;TSS=0 K_TCR0_TDDR .set 1001b ;TDDR=9

K_TCR0 .set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB|

K_TCR0_TSS| K_TCR0_TDDR ;初始化定时器0

;Tt=25*(9+1)*(3999+1)=1000000(ns)=1(ms) STM #3999,TIM0 STM #3999,PRD0

STM #K_TCR0,TCR0 ;启动定时器0中断 RET

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

t0_flag .usect “vars”,1 ;若t0_flag=1则XF=1,若t0_flag=0则XF=0

time0_rev: PSHM TRN PSHM T PSHM ST0 PSHM ST1

BITF t0_flag,#1 BC xf_out,NTC SSBX XF

ST #0,t0_flag B next xf_out: RSBX XF

ST #1,t0_flag next: POPM ST1 POPM ST0 POPM T POPM TRN RETE

19. 试分别说明下列语句的功能: ①STM #SPCR10,SPSA0 STM #0001H,BSP0

答:对串口控制寄存器SPCR10赋值。不使用数字循环返回模式,接收数据DRR[1,2]采用

右对齐方式,连续时钟方式,DX使能判断,接收中断由RRDY产生,接收移位寄存器未超载,串口接收器准备好,使能串口接收器。 ②STM #SPCR20,SPSA0 STM #0081H,BSP0 答:对串口控制寄存器SPCR20赋值。串口使用软件模式,帧同步逻辑、采样率发生器复位,

由发送准备好XRDY驱动发送中断;发送移位寄存器为空,发送器未准备好,使能串口发送器。

③STM #SPCR20,SPSA0 ORM #01000001B,BSP0 答:修改串口控制寄存器SPCR20的值。由采样率发生器产生帧同步信号,使能串口发送器。

20. 已知中断向量TINT=013H,中断向量地址指针IPTR=0111H,求中断向量地址。 答:中断向量地址=(100010001B)<<9+(10011)<<2=88CCH。

21. 将TMS320VC5402芯片从2分频方式切换到4分频方式试编写程序。 答:(2分频与4分频之间也不能直接切换,要先把2分频切换到倍频方式(PLL方式),然

后再切换到4分频。)

STM #F007H,CLKMD ;切换到PLL*1方式

Status: LDM CLKMD,A ;测试PLLSTATUS位

XOR #F007H,A ;异或-->相同为0,不同为1

BC Status,ANEQ ;若A≠0,则转移,表明还没有切换到PLL方式

;若A=0,则顺序执行,已切换到PLL方式

STM #F000H,CLKMD ;切换到4分频方式

一、填空题

1. 在DSP处理器中,数据地址的产生是由(数据地址发生器)来完成的。

2. TMS320C54x的累加器分别称为(累加器A)和(累加器B),它们的数据宽度是(40)

位。

3. TMS320C54x 的DSP采用先进的(哈佛)结构,其独立的(程序)总线和(数据)总线

允许同时读取(指令)和(操作数),实现高度的并行操作。

4. TMS320C54x的通用I/O引脚有(跳转控制输入引脚BIO )和(外部标志输出引脚

XF)。

5. 指令MPY 0Dh, A中乘数和被乘数分别在( 累加器B高16位 )和(累加器A)中。 6. TMS320C54x有(3)个状态和控制寄存器。