《DSP原理及应用考试卷答案(共8页).doc》由会员分享,可在线阅读,更多相关《DSP原理及应用考试卷答案(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上1DSP的狭义理解为,广义理解为2在直接寻址中,指令代码包含了数据存储器地址的低位。当ST1中直接寻址编辑方式位CPL =0 时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位SP基地址形成数据存储器地址。3TMS320C54有两个通用引脚,BIO和XF,输入引脚可用于监视外部接口器件的状态; XF 输出引脚可以用于与外部接口器件的握手信号。4累加器又叫做,它的作用是存放从 输出的数据。它的存5桶形移位器的移位数有三中表达方式:;6DSP可以处理双16位或双精度算术运算,当 位双精度运算方式,当为双16位运算方式。7复位电路有三种方式,分别是;8立
2、即数寻址指令中在数字或符号常数前面加一个号,来表示立即数。9位倒序寻址方式中,AR0中存放的是10一般,COFF目标文件中包含三个缺省的段:11汇编源程序中标号可选,若使用标号,则标号必须从释在第一列开始时前面需标上 星号或分号 ,但在其它列开始的注释前面只能标 分号 。12C5402有23条外部程序地址线,其程序空间可扩展到,内程序区在。13指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容。 ADD *AR3+,14,A数据存储器 放格式为一、 简答(共40分)1 TMS320C54x有多少条16位总线?这些总线各有什么作用?(6
3、分)答:C54x共有4组8条16位总线1条程序总线(PB):传送取自程序存储器的指令代码和立即操作数。3条数据总线(CB、DB、EB):CB和EB传送从数据存储器读出的操作数;EB传送写到存储器中的数据。4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所学要的代码。2 TMS320C54x片内存储器一般包括哪些种类?如何控制存储器片内或片外的分配?(6分)答:TMS320C54x的片内存储空间分为3个可选择的存储空间:64K的程序空间,64K的数据空间和64K的I/O空间,所有TMS320C54x芯片都包括RAM、SARAM、DARAM。 程序空间:MP/MC=1 4000HFFFF
4、H 片外MP/MC=0 4000HEFFFH 片外 FF00HFFFFH 片内 OVLY=1 0000H007FH 保留 0080H007FH 片内 OVLY=0 0000H3FFFH 片外数据空间:DROM=1 F000HFEFFH 只读空间 FF00HFFFH 保留 DROM=0 F000HFEFFH 片外3 当TMS320C54x CPU接收到可屏蔽的硬件中断时,满足哪些条件中断才能被响应?(6分)答:(1)出现多个中断时,此中断的优先级最高(2)INTM=0 允许全局中断(3)IMR中的响应相应位为1,开放此中断。4 TMS320C54x硬件复位地址为多少?如何确定中断向量地址?计算I
5、NT0(IPTR=001H)的中断向量地址。(6分)答:复位后,复位向量地址为:0080H确定地址方式:IPTR+左移2位后的中断向量序列号10H左移2位后成为40H,IPTR=001H,则中断向量地址为00C0H5 若辅助寄存器AR0的值为0x0005H,AR3的值为0x030FH,请分别给出下列寻址方式修改后的辅助寄存器的值。(6分)*AR3+ ; AR3=0310H*AR3+0 ; AR3=0314H*AR3(15) ; AR3=0324H6 分别解释以下指令的功能。(6分)LD #80h, A; 把立即数80H装入累加器ALD 80h, A; 把80H为地址的数据装如累加器ALD #8
6、0h,16, A; 把立即数80H左移16位后装如累加器A1实现计算z=x+y-w的程序。title example1.asmmmregsSTACK usect STACK, 10hbss x,1bss w,1bss z,1def startdatatable: word 10,26,23textstart: STM #0,SWWSR,SP ;初始化堆栈指针SP STM #x,AR1RPT ;数据从程序存储器传送到数据存储器 CALL SUMBend: B endSUMB: LD x, AADD y, A;实现减法运算STL A, zRETend2实现对数组X5=1,2,3,4,5的初始化,然
7、后将数据存储器中的数组X5复制到数组Y5。最后实现数组X和数组Y中对应元素相乘并累加,即z=1*1+2*2+3*3+4*4+5*5mmregsbss x, 5bss y, 5bss z, def starttable: word 1,2,3,4,5textstart: STM #x, AR1RPT;从程序存储器传送到数据存储器数组X5 STM # x, AR2STM # y, AR3RPTMVDD *AR1,*AR3 ;从数据存储器数组X5传送到Y5FRCT ;准备整数乘法STM # x, AR2STM # y, AR3STM # z, AR4RPTZSTL A,*AR4End: B ende
8、nd四、分析程序回答问题(共8分)def _c_int00mmregsstack: usect stack,10hbss a,4bss x,4bss y,1datatable: word 1,2,4,3word 8,6,4,2text_c_int00: STM #stack+10h,spSTM #a,AR1RPT #7MVPD table,*AR1+CALL sumend: B endsum: STM #a,AR3STM #x,AR4RPTZ A,#3MAC *AR3+,*AR4+,ASTL A,yretend(1) 说明该程序的功能:(4分)答:a1*x1=a2*x2+a3*x3+a4*x4
9、(2) 说明以下各量的理论值(4分)A: 2A a1的地址:81HAR1: 88H AR3: 84H1、对于TMS320C54x系列DSP芯片,下列说法正确的是 ( C )(A) 专用型DSP (B)32位DSP (C) 定点型DSP2、要使DSP能够响应某个可屏蔽中断,下面的说法正确的是 (B )内容:1 (D) 浮点型DSPA. 需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置0B. 需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置1C. 需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置0D. 需要把状态寄存器ST1的INT
10、M位置0,且中断屏蔽寄存器IMR相应位置13、若链接器命令文件的MEMORY部分如下所示:MEMORYPAGE 0: PROG: origin=C00h, length=1000hPAGE 1: DATA: origin=80h, length=200h则下面说法不正确的是(A)A、 程序存储器配置为4K字大小 B、程序存储器配置为8K字大小C、 数据存储器配置为512字大小 D、数据存储器取名为DATA5、C54X DSP的流水线是由( B )级(也即是由多少个操作阶段)组成。(A) 4 (B) 6 (C) 8 (D) 106、假定AR3中当前值为200h,AR0中的值为20h,下面说法正确
11、的是( )A、在执行指令*AR3+0B后,AR3的值是200h;B、在执行指令*AR3-0B后,AR3的值为23Fh;C、在执行指令*AR3-0B后,AR3的值是180h;7、下面对一些常用的伪指令说法正确的是:( D )A、.def所定义的符号,是在当前模块中使用,而在别的模块中定义的符号;B、.ref 所定义的符号,是当前模块中定义,并可在别的模块中使用的符号;C、.sect命令定义的段是未初始化的段;D、.usect命令定义的段是未初始化的段。8、在采用双操作数的间接寻址方式时,要使用到一些辅助寄存器,在此种寻址方式下,下面的那些辅助寄存器如果使用到了是非法的( D )A、AR2 B、A
12、R4 C、AR5 D、AR6二、填空题(每空2分,共20分)1、DSP芯片按照其用途分类,可以分为通用型和2、在堆栈操作中,PC当前地址为4020h,SP当前地址为0033h,运行PSHM AR2后,PC= (PSHM AR2为单字指令)3、TMS320C54xDSP芯片四种串行口类型是指McBSP和TDMcBSP。4、请简要说明TMS320C5402VCDSP以下引脚的功能:RS:, IOSTRB5、 TMS320C54xDSP的内部总线主要包括、总线 。三、问答题与程序阅读题(共计24分)1、简述DSP程序的段 .text, .data, .bss,各包含什么内容。(6分).答: .tex
13、t 代码段,该段包含程序代码.data 数据段,该段包含已初始化的数据.bss 变量段,该段为未初始化的变量保留空间2、比较伪指令 .usect和 .sect。 (6分).答:.sect: 定义初始化了的带名称的段Unsect:在一个未初始化的段中保留空间3、TMS320C54X芯片的流水线共有多少个操作阶段?每个阶段执行什么任务?(8分) 答: 共有6个操作阶段:1,预取址 2,取址 3,译码 4,寻址 5,读数 6,执行4、假设AR3的当前值为200h,当使用以下TMS320C54XX寻址模式后其中的值为多少?假定AR0的值为20h。(4分)(1)*AR3+0(2)*AR3-0(3)*AR
14、3+(4)*AR3四、程序设计题。(本大题2小题,共24分)1、 在进行DSP的程序设计时,如果程序中要使用堆栈,则必须要先进行设置。下面程序段是对堆栈的设置,完成的功能是在RAM空间开辟了200个字的空间作为堆栈区,请完成程序段。(4分)size .set stack .usect “STACK”, size;STM , SP2、 采用TMS320C54xDSP的定时器0产生方波,DSP主频为40MHz。要求:周期为20s的方波发生,从DSP的通用I/O引脚XF输出,定时中断周期为10ms,需要中断1000次,输出端XF引脚电平取一次反。 请在空处填写正确指令完成下面程序段。(12分);初始
15、化定时器0,定时为10ms,本设置中TDDR=9,PRD=39999,主频为40MHz ;T=25ns;定时长度计算公式:T=CLKOUT* (TDDR+1) * (PRD+1)=10ms;定时器0寄存器地址TIM0 .set 0024HPRD0 .set 0025HTCR0 .set 0026H;K_TCR0:设置定时器控制寄存器的内容K_TCR0_SOFT .set 0b11 ;Soft=0K_TCR0_FREE .set 0b10 ;Free=0K_TCR0_PSC .set 1001b6 ;PSC=9HK_TCR0_TRB .set 1b5 ;TRB=1K_TCR0_TSS .set
16、0b4 ;TSS=0K_TCR0_TDDR .set 1001b0 ;TDDR=9K_TCR0 .set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB| K_TCR0_TSS| K_TCR0_TDDR;初始化定时器0STM #,TIM0STM #,PRD0STM TCR0 ;启动定时器0中断 RET;定时器0的中断服务子程序t0_flag .usect “vars”,1 ;当前XF输出电平标志位,;若t0_flag=1,则XF=1;若t0_flag=0,则XF=0t0_counter .usect “vars”,1 ;计数长度变量time0_rev: PSHM TRNPSHM TPSHM ST0RSBX CPLADDM # -1,*(t0_counter)CMPM *(t0_counter),#0BC ,NTC ;NTC表示TC为0ST #1000,BITF t0_flag, #1BC xf_out, NTCSSBX XFST #0, t0_flagB still_waitxf_ out:ST #1, t0_flagStill_wait:POPM ST1POPM POPM TPOPM TRNRETE专心-专注-专业