第1页共7页贵州大学2012-2013学年第一学期考试试卷ADSP原理及应用试卷(2011电子信息科学与技术)注意事项:1.请考生按要求在试卷装订线内填写姓名、学号和年级专业。2.请仔细阅读各种题目的回答要求,在规定的位置填写答案。3.不要在试卷上乱写乱画,不要在装订线内填写无关的内容。4.满分100分,考试时间为120分钟。题号一二三四五六七总分统分人得分一、选择题(本大题共20分,每小题2分)下列各题的选项中,只有一项是正确的,请将正确选项的编号填在括号内。错填、不填均无分。1.C54x系列DSP芯片由于其内部CPU采用了(B),因此具有比传统处理器更快的指令执行速度。(A)冯.诺依曼结构和流水线操作(B)哈佛结构、流水线技术和多总线结构(C)并行操作和多总线结构(D)高时钟频率2.OVM是状态寄存器ST1中的溢出方式控制位,当OVM=1时,则对ALU的运行结果进行调整,若数据发生正向溢出时,则ALU将采用下列(C)方式进行处理。(A)将32位最小负数FF80000000装入累加器(B)由低32位向高8位进位(C)将32位最大正数007FFFFFFF装入累加器(D)保持不变3.当C54X执行一个双数据读操作指令时,将会使用到下列的哪一组总线(D)。(A)PB、CB、PAB、CAB(B)DB、EB、DAB、EAB得分评分人第2页共7页(C)CB、EB、CAB、EAB(D)CB、DB、CAB、DAB4.40位累加器A中的定点数为FFFFFFFFCBH,T=0000H,执行EXPA指令后,则T寄存器的值变为(A)。(A)0019H(B)FFFFH(C)0025H(D)保持不变5.在C54X系列的DSP汇编语言程序中,定义一个小数如0.907,应当写成:(D)(A)0.907(B)32768*0.907(C)907/1000(D)32768*907/10006.程序空间的配置可通过PMST的MP/MC和OVLY控制位来设置,对C5402如要将其0000H~3FFFH空间定义为内部DARAM,可按如下哪一种方式配置(A)。(A)OVLY=1(B)MP/MC=1(C)OVLY=0(D)MP/MC=07.直接寻址指令中的低7位是一个数据页的偏移地址dmad,而所在的数据页由数据页指针DP或SP的值决定。如果用DP方式产生直接地址,并取DP=2和dmad=10H,则该直接地址为:(A)(A)0110H(B)0210H(C)0012H(D)0201H8.有一条DSP汇编指令,其语法格式为:MACSmen,src,该指令所完成的操作对应的表达式为:(D)(A)src=src+Smen*src(B)src=src+T*src(C)src=T+src*Smen(D)src=src+T*Smen9.当某个可屏蔽中断被DSP响应后,中断系统将自动完成(D)操作。(A)清除IMR中的相应位,INTM置1(B)清除IFR中的相应位,INTM置0(C)清除IMR中的相应位,INTM置0第3页共7页(D)清除IFR中的相应位,INTM置110.C54X系列芯片中,在同一个周期内,CPU可以同时进行读和写操作的存储器是:(C)(A)SARAM(B)片内ROM(C)DARAM(D)存储器映射寄存器MMR二、简答题(每小题6分,共12分)1.循环循址是实现循环缓冲区的关键,简要说明循环缓冲区中循环循址算法的基本工作原理。循环缓冲区的有效基地址(EFB)就是用户选定的辅助寄存器(ARx)的低N位置0后所刚的值。循环缓冲区的尾基地址(EOB)是通过用BK的低N位代替ARx的低N位得到。循环缓冲区的index就是ARx的低N位,步长(step)就是加到辅助寄存器或从辅助寄存器中减去的值。(3分)循环寻址算法为:0≤index+stepBK;index=index+stepElse讧index+step≥BK;(3分)Index=index+step—BKElseindex+step0;Index=index+step+BK上述循环寻址算法,实际上是以BK寄存器中的值为模的取模运算。2.试分析小数乘法产生冗余符号位的原因,并说明如何解决冗余符号位问题。出错原因:两带符号数相乘,其结果带有2个符号位。Sxxx(Q3格式)×Syyy(Q3格式)SSzzzzzz(Q6格式)(3分)解决办法:运算结果左移一位,消去多余符号位。可通过对FRCT位置1,乘法器自动将乘积结果左移一位。三、分析题(每小题6分,共12分)阅读下列程序,写出得分评分人得分评分人第4页共7页程序的总体功能和运行结果。假定x1、x2、x3、x4、y、a、x、y等变量单元已按顺序定义。1、STACK.usect“STACK”,10H2、STACK.usect“STACK”,10HTable:.word3,5,4,5.data.texttable:.worda1,a2,a3,a4start:STM#0,SWWSR.wordx1,x2,x3,x4STM#STACK+10H,SP.textSTM#x1,AR1start:STM#0,SWWSRRPT#3STM#STACK+10H,SPMVPDtable,*AR1+STM#a,AR1CALLMODERPT#7End:BendMVPDtable,*AR1+MODE:LD@x1,TCALLMODEMPY@x3,BEnd:BendLD@x2,TMODE:STM#a,AR1MAC@x4,BSTM#x,AR2STLB,@ySTM#2,AR3STHB,@y+1LD*AR1+,TRETMPY*AR2+,A.endloop:LD*AR1+,TMPY*AR2+,BMAXABANZloop,*AR3-STLA,@yRET.end1、y=x1*x3+x2*x42、求ai*xi(i=1,2,3,4)中的最大值四、应用题(本大题共14分)假设目标存储器的配置为,程序空间:EPROME000H~FFFFH(片外),数据空间:SPRAM0060H~007FH(片内),DARAM0080H~017FH(片内),试编写连接器命令文件,将example.obj和vectors.obj中的.text、.data、.bss、STACK、.vectors段映射到对应的存储器空间。ectors.objexample.obj-oexample.out(4分)得分分人第5页共7页-mexample.map-estartMEMORY{PAGE0:EPROM:org=0E000h,len=100hVECS:org=0FF80h,len=04hPAGE1:SPRAM:org=0060h,len=20hDARAM:org=0080h,len=100h}(5分)SECTIONS{.text:EPROMPAGE0.data:EPROMPAGE0.bss:SPROMPAGE1STACK:DARAMPAGE1.vectors:VECSPAGE0}(5分)五、编程题(本大题共14分)试编写|被除数|≥|除数|,且商为整数的除法运算程序,完成12384÷512的运算。程序内容包括符号的处理。.bssnum,1.bssden,1.bssquot,1.datatable:.word12384.word512(4分).textstart:STM#num,AR1RPT#1MVPDtable,*AR1+LD@den,16,AMPYA@num(5分)ABSASTHA,@denLD@num,AABSARPT#15得分评分人第6页共7页SUBC@den,A(5分)XC1,BLTNEGASTLA,@quotEnd:Bend六、设计题(本大题共14分)有一个阶数为N=8的FIR滤波器,其单位冲击响应序列h(n)如下:h(0)=0.1,h(1)=0.2,h(2)=0.3,h(3)=0.4,h(4)=0.4,h(5)=0.3,h(6)=0.2,h(7)=0.1,试根据上述滤波器系数,编写一个DSP程序实现该滤波器。要求用循环缓冲区法实现。f=[0.35,0.4];b=fir1(29,f);.mmregs.defstart.bssy,1(3分)xn.usect“xn”,1a.usect“a”,1PA0.set0PA1.set1.datatable:.worda0,a1,…,a29(3分).textstart:SSBXFRCTSTM#b0,AR1RPT#29MVPDtable,*ARI+STM#xn+29,AR2STM#a+29,AR3STM#30,BKSTM#-1,AR0LD#xn,DP(4分)PORTRPA1,@xnFIR2:RPTZA,g6MAC*AR2+0%,*AR3+0%,ASTHA,@yPORTW@y,PA0BDFIR2PORTRPA1,*AR2+0%(4分).end得分评分人第7页共7页七、综合设计题(本大题共14分)试用定时器和中断方式设计一个方波信号发生器,并通过DSP的输出引脚XF输出。要求方波信号的周期为40s,占空比为50%,方波周期由片上定时器0确定,假定DSP系统时钟频率为4MHz。请根据设计指标给出设计参数,并写出相关程序。已知定时器0的各寄存器地址为:TIM0:0024H,PRD0:0025H,TCR0:0026H,定时控制寄存器TCR的位段分布如下:5~1211109~6543~0保留softfreePSCTRBTSSTDDRTIMO.set0024HPRD0.set0025HTCR0,.set0026HK_TCR0_SOFT.set0B11(3分)K_TCR0_FREE.set0B10K_TCR0_PSC.set1001B6K_TCR0_TRB.setlB5K_TCR0_TSS.set0B4K_TCR0_TDDR.set1001B0K_TCR0.setK_TCR0_SOFT|K_TCR0_FREE|K_TCR0_PSC|KK_TCR0_TSS|K_TCR0_TDDRSTM#1599,TIM0STM#1599,PRD0(3分)STM#K_TCR0,TCR0Time_rev:PSHMTRNPSHMTPSHMST0PSHMST1BITFt0_flag,#1(4分)BCxf_out,NTCSSBXXFxf_out:RSBXXFST#1,t0_flagnext:POPMSTIPOPMST0(4分)POPMTPOPMTRNRETE得分评分人