《《DSP原理与应用(修订版)》邹彦主编课后答案(个人终极修订版).docx》由会员分享,可在线阅读,更多相关《《DSP原理与应用(修订版)》邹彦主编课后答案(个人终极修订版).docx(11页珍藏版)》请在课桌文档上搜索。
1、声明:1、本人知识能力有限,只能按自己认识来判断答案的正误来编写本资料:2、本资料为?DSP原理及应用(修订版)?邹彦主编的课后答案,仅作叁考作用,不一定代表考试方向.3、请尊重劳动成果,祝大家考试顺利!第一章1、数字信号处理实现方法一般有几种答:课本P212.数字信号处理实现)2、简要地表达DSP芯片的开展概况。答:课本P2(1.2.1DSP芯片的开展概况)3、可编程DSP芯片有哪些特点答:课本P3(1.2.2DSP芯片的特点)4、什么是哈佛构造和冯诺依曼构造他们有什么区别答:课本P3-P4(l.采用哈佛构造)5、什么是流水线技术答:课本P5(3.采用流水线技术)6、什么是定点DSP芯片和浮
2、点DSP芯片它们各有什么优缺点答:定点DSP芯片按照定点的数据格式进展工作,其数据长度通常为16位、24位、32位。定点DSP的特点:体积小、成本低、功耗小、对存储器的要求不高;但数值表示范围较窄,必须使用定点定标的方法,并要防止结果的溢出。浮点DSP芯片按照浮点的数据格式进展工作,其数据长度通常为32位、40位。由于浮点数的数据表示动态范围宽,运算中不必顾及小数点的位置,因此开发较容易。但它的硬件构造相对复杂、功耗较大,且比定点DSP芯片的价格高。通常,浮点DSP芯片使用在对数据动态范围和精度要求较高的系统中。7、DSP技术开展趋势主要表达在哪些方面答:课本P913.DSP开展技术趋势)8、
3、简述DSP系统的构成和工作过程。答:课本PlO(1.3.1DSP系统的构成)9、简述DSP系统的设计步骤。答:课本P12(1.3.3DSP系统的设计过程)10、DSP系统有哪些特点答:课本Pll(1.3.2DSP系统的特点)11、在进展DSP系统设计时,应若何选择合理的DSP芯片答:课本P1311.3.4DSP芯片的选择)12、TMS320VC5416-160的指令周期是多少毫秒它的运算速度是多少MIPS?:f=160MHz,所以T=1160M=6.25ns=0.00000625ms;运算速度=160MlPS第二章1、TMS320C54x芯片的基本构造都包括哪些局部答:课本P17(各个局部功能
4、如下)2、TMS320C54x芯片的CPU主要由几局部组成答:课本P18(LCPU)3、处理器工作方式状态存放器PMST中的MP/MC、OVLY和DROM3个状态位对C54x的存储空间构造有何影响答:课本P34(PMST存放器各状态位的功能表)4、TMS320C54x芯片的内外设主要包括哪些电路答:课本P40(C54x的片内外设电路)5、TMS320C54x芯片的流水线操作共有多少个操作阶段每个操作阶段执行什么任务完成一条指令都需要哪些操作周期答:课本P45(L流水线操作的概念)6、TMS320C54x芯片的流水线冲突是若何产生的有哪些方法可以防止流水线冲突答:由于CPU的资源有限,当多于一个
5、流水线上的指令同时访问同一资源时,可能产生时序冲突。解决的方法:由CPU通过延时自动解决;通过程序解决,如重新安排指令或插入空操作指令。7、TMS320C54x芯片的串行口有哪几种类型答:课本P42(TMS320C54x芯片的串行口)8、TMS320VC5402共有多少可屏蔽中断它们分别是什么NMI和RS属于哪一类中断源答:课本P56(对VC5402来说,这13个中断的硬件名称为RS和NMI属于外部硬件中断。)9、试分析以下程序的流水线冲突,画出流水线操作图。若何解决流水线冲突(解题时参考课本P521例2.7.2】)STLMA,AROSTM#10,ARl1.D*AR1,B解:流水线图如以以下列
6、图:123456789预取指取指译码寻址读数执行STLMA*AROI写ARl写AR2写AR2预取指 取指 译码 寻址 读数预取指取指译码寻址读数执行STM#10ARl写AR2写AR2(lstWor预取指取指译码寻址读数执行STM#10ARl(2ndWotd)预取指取指译码寻址读数执行1.D*AR13III读AR2|解决流水线冲突:最后一条指令(LD*AR1,B)将会产生流水线冲突,在它前面参加一条NOP指令可以解决流水线冲突。10、试根据等待周期表,确定以下程序段需要插入几个NOP指令。(流水线等待周期表P53)LDGAIN,TSTM#input,ARlMPY*AR1+,A解:本段程序不需要插
7、入NoP指令查等待周期表,对于T字段,后面的存储指令需要参加一个等待周期,由于STM是一条双字指令,隐含1个等待周期,所以不用再插入等待周期)(三)STLMB,AR2STM#input,AR3MPY*AR2+,*AR3+,A解:本段程序需要在MPY*AR2+,*AR3+,A语句前插入1条NOP指令(在等待周期表,AR2后面的STM指令不用插入等待,但注2外表在后面的STM指令之前,不能有在执行阶段对,ARx的写操作,而前面的STLM指令正是执行阶段写AR2,所以应插入1个等待周期。)MACx,BSTLMB,STOADDtable,A,B解:木段程序需要在ADDtable,A,B语句前插入2条N
8、OP指令第三章1、(1030H)=0050H,AR2=1040H,AR3=1060H,AR4=1080H,MVKD1030H,*AR2(将地址单元1030H中的数据复制到AR2存放器所指向的数据存储单元中去,因为(I030H)=0050H,AR2=1040H,执行结果(104OH)=0050H,*AR2=OO5OH)MVDD*AR2,*AR3(在AR2和AR3数据存储器内部传送数据,即AR2指向的存储单兀数据=AR3指向的存储单元数据,即:AR2=1040H,AR3=1060H,所以执行结果(1040H)=(I060H)=0050H,*AR3=0050H).MVDM1060H,AR4(地址10
9、6OH数据向AR4存放器传送数据。执行结果:(1060H)=AR4=0050H;)运行以上程序后,(1030H)、(1040H)、*AR3和*AR4的值分别等于多少解:运行的结果:(1030H)=OO50H,(1040H)=0050H,*AR3=0050H,AR4=0050H2、(1080H)=0020H,(1081H)=0030H,STM#1080H,ARO(ARO=#108OH)STM#1081H,ARl(ARI=#108IH)1.D*AR0,16,B把存放器ARO指向的地址单元中数据左移16位装入累加器B,这时(B)=2000H)ADD*AR1,B(把存放器ARl指向地址单元的数据与累加
10、器B中数据相加传送给B,这时(B)=200030H解:运行以上程序后,B)=200030H3、阅读以下程序,分别写出运行结果。,bssX,4datatable:.word4,8,16,32STM#x,ARlRPT#2MVPDtable,*AR1+解:数据表table中的常量4传送到以变量X的地址为地址的存储单元中;数据表Iable中的常量8传送到以变量x+1的地址为地址的存储单元中;数据表Iable中的常量16传送到以变量x+2的地址为地址的存储单元中;,bssX,4.datatable:,word4,8,16,32STM#x,ARlRPT#2MVPDtable,*+AR2解:数据表Iable
11、中的常量4传送到以变量x+1的地址为地址的存储单元中;数据表table中的常量8传送到以变量x+2的地址为地址的存储单元中;数据表table中的常量16传送到以变量x+3的地址为地址的存储单元中;4、NOP指令不执行任何操作,它起什么作用答:延时作用,在指令中参加NOP指令可以防止流水线冲突。延时几个周期,防止流水线冲突;需要准确延时程序时,也会用到NOP指令。5、TMS320C54x的数据寻址方式各有什么特点应该应用在什么场合答:课本P89(本章小结)第四章1、软件开发环境有哪几种?在非集成开发环境中,软件开发常采用哪些局部?答:可以在两种开发环境中进展C54X的开发:非集成的开发环境和集成
12、的开发环境。在非集成开发环境中,软件开发常采用:编辑、汇编、链接、调试等局部。2、什么是CoFF格式它有什么特点答:课本P9414.3COFF的一般概念)3、试说明.text段、.data段和.bbs段分别包含什么内容答:课本P94(4.3.1CoFF的一般概念)4、程序员若何定义自己的程序段5、链接器对段是若何处理的答:课本P98(433链接器对段的处理)6、什么是程序的重新定位答:课本P99(4.3.4链接器对程序的重新定位)7、宏定义、宏调用和宏展开分别指的是什么答:课本Pl12(4.4.4宏定义和宏调用)8、链接器能完成什么工作?链接器命令文件中,MEMORY命令和SECTIONS命令
13、的任务是什么答:课本P1I4(4.5链接器的使用,454MoMERY命令,4.5.5SECTlONS命令)第五章1、能用伪指令(如data)或运算符(如ADD)作为标号吗为什么参考课本P126标号区的格式要求2、标号和注释有什么差异它们在程序运行中作用一样吗答参考课本P129L标号;注释是程序的人选项。注释可以由ASCn码和空格组成。注释在汇编源清单中显示,但不影响汇编。注释在程序中的作用是说明语句的含义,以便对软件进展维护J3、两个数相乘,如果结果溢出,DSP系统会报警吗答:不会。当发生溢出时,自动将结果设置为最大或最小值。4、伪指令起什么作用它占用存储空间吗答:伪指令给程序提供数据和控制汇
14、编过程。答:它多用于代码编译的,硬件并不认识汇编语言,它们只认机器语言,程序的运行涉及由高级语言汇编成汇编语言,再由汇编语言编译成机器语言,最后由硬件执行机器语言。编译过程中,伪指令起作用,但是伪指令不产生目标代码,仅仅是帮助编译器准确的把其他指令编译出来。因此,伪指令在代码编译过程中所起的功能,在程序运行时伪指令已经不存在了,因为代码是编译好后才执行的。伪指令不占用存储空间。5、在堆栈操作中,PC当前地址为4020H,SP当前地址为。013H,运行PSHMAR7后,PC和SP的值分别是多少(PSHMAR7是压栈操作(完成后PC指针+1,堆栈指针SP-I)答:PC=4021H,SP=OO12H
15、6、试编写U25X(0.1)的程序代码。参考程序如下:.titleFracAmp.asm.mmregs.global_c_intOO.bssx,l.bssy,l.bssz,l.dataAmpCoef:.word25*32768/100.word-1*32768/10.text_c_intOO:ssbxFRCTstm#x,arlrpt#0x1mvpd#AmpCoef,*arl+stm#x,ar2stm#y,ar3mpy*ar2,*ar3,AsthA,*arlWait:bWait.end7、将定点数0.00125用浮点数表示。解:A=28H;T=19H8、试写出以下两条指令的运行结果:EXPAA=
16、FFFD876624T=0000那么以上指令执行后,A、T的值各是多少解:A=OXFFFD876624;T=5NoRMBB=420D0D0D0D,T=FFF9那么以上指令执行后,B、T的值各是多少解:B=0x841AlAIA,T=FFF99、阅读以下程序,写出运行结果。.bssy,5table.word1,2,3,4,5STM#y,AR2RPT#5MVPDtable,*AR2+1.D#0,B1.D#81h,AR5(有误,应改为STM#81H,AR5)STM#0,ASTM#4,BRCSTM#y,AR5RPrBsublADD*ARM5,B,ASTLA,*AR5+sub:LD#0,B运行以上程序后,
17、(81H),(82H),(83H),(84H)和(85H)的值分别是多少答:(81H)=OOOlH,(82H)=0002H,(83H)=0003H,184H)=0004H,(85H)=OOO5H。10、CALL指令调用子程序与循环语句有什么不同答:CALL指令调用子程序:课本P135(子程序调用指令表):循环语句:课本P137(5.3.2循环操作程序)IK屡次循环嵌套时,能够从最内一层循环直接跳到最外一层循环吗假设能,那么采用什么方式呢12、在不含循环的程序中,RPTZ#3语句和其前一句、后一句以及后第二句各运行多少次答:RPTZ#3语句和其前一句运行1次,后一句运行3次,后第二句运行1次。第
18、六章1、FlR和IlR数字滤波器都有哪些设计方法每种设计方法的步骤是什么(参考课本P179P181)2、与FIR漉波器比较,IIR滤波器有哪些优缺点(参考课本P1676.2IIR滤波器的DSP实现)3、二阶UR漉波器,又称为二阶基本节,其构造图可以分为几种类型各有什么特点参考课本P168L二阶UR滤波器)4、略5、FIR滤波器的算法为y(n)=a0x(n)+ax(n-l)+a2x(n-2)+a3x(n-3)+a4x(n-4),试用线性缓冲区和直接寻址的方法实现。(参考课本P161P162,只是对课本一些参数梢作修改便是答案)解:.titlettFIRLASM*.mmregs.defstartX
19、.usect“x”,5PAO.set0PAl.set1.dataCOEF: .word .word .word .word .word1*32768/10;定义4=Ol-3*3276810;定义=-0.35*32768/10;定义s=O5-3*3276810;定义=-O.31*32768/10;定义o=Ol.textstart:SSBXFRCTSTM#x+5,AR2STM#4,ARO1.D#x+l,DPPoRTRPAl,x+lFIRl:RPTZA,#4MACD*AR2-,COEEASTHA,*AR2PORTW*AR2+,PA0BD11R1PORTRPAI,*AR2+0.end6、试用线性缓冲区
20、和间接寻址方法实现题6.5算法的FlR漉波器。(参考课本P162P163,只是对课本一些参数梢作修改便是答案)解:.litleFIR2.ASM”.mmregs.def.bssstarty,Xn.usedxn,5b.usecl“白,5PAO.setOPAl.set1.datatable:.word1*32768/10;定义=0.1.word-3*32768/10;定义田=-0.3.word5*32768/10;1己义42=0.5.word-3*32768/10;定义a=-0.3.word1*32768/10:定义的=0.1.textstart:SSBXFRCTSTM#/70,ARlRPT#4MV
21、PDtable,*ARl+STM#xn+4,AR2STM#bO+4,AR3STM#5,BKSTM#-1,AROLD#xn,DPPORTRPAl,xnFIR2:RPTZA,#4MAC*AR2+0%,*AR3+0%,ASTHA,yPORTWy,PAOBDFIR2PORTRPA1,*AR2O%.end7、12、略第七章1、试列举主机与PHl通信的连接单元并分别说明它们的功能。(参考课本P2007.1C54x的主机接口)2、TMS320C54X的CLKOUT频率为4MHz在SAM工作方式下,主机的时钟频率是多少解:在SAM工作方式下,主机频率可达3.2MHZ或2.4MHz。在HOM工作方式下,主机的时
22、钟频率与TMS320C54X的时钟频率有关吗答:在HOM工作方式下,主机的时钟频率与TMS320C54X的时钟频率无关。3、试分别说明以下有关定时器初始化和开放定时中断语句的功能。STM#0040H,IFR(课本有误,此处应为STM#0080H,IFR)解:去除外部中断2标志位。STM#0080H,IMR解:允许定时器TI或DMACl中断(使用哪一种中断由DMA通道优先级和使能控制存放器DMPREC控制。在复位以后,中断被配置为定时器Tl中断。RSBXINTM解:使能所有可屏蔽中断。STM#0279H,TCR解:设置定标计数器的值PSC为9;定时器分频系数为9;以PRD中的值加载TIM,以TD
23、DR中的值加载PSC;定时器停顿工作。4、假设时钟频率是40Mh却试编写在XF端输出一个周期为2ms的方波程序段。(参考课本P207程序,只要将课本程序中STM#1599,TIMo和STM#1599,PRDo改为STM#3999,TIMOflSTM#3999,PRDO即可。注意计算到的Tl=ImS(高电平和低电平各1ms,故周期为2ms)。定时器基本计算公式在课本P206)解:定时半周期=CLKoUT*(TDDR+1)*(PRD+1);12T=(1/40M)*(9+1)*(3999+1)=Ims);abcl.asm;定时器O存放器地址TTMO.set0024HPRDO.set0025HTCRO
24、.set0026H;K.TCRO:设置定时器控制存放器的内容KjrCR(LSOFT.setOb;Soft=OKJrCR(LFREE.setIb;Free=IK_TCRO_PSC.set100lb;PSC=9HK_TCRO_TRB.setIb;TRB=IK_TCRO_TSS.setOb;TSS=OKJrCROJrDDR.set100lb;TDDR=9K_TCRO.setK_TCRO_SOFT|K_TCRO_FREEKJrCR(LPSClKjrCR(LTRBlK_TCRO_TSS|K_TCRO_TDDR;初始化定时器O;Tt=25*(9+l)*(3999+1)=1000000(ns)=l(ms)S
25、TM#001011,TCROSTM#3999,TIMOSTM#3999,PRDOSTM#K_TCRO,TCROSTM#008011,TFRSTM#0080H,IMRRSBXTNTMRET;定时器O的中断服务子程序:通过引脚XF给出tO_flag.usectrtvarsz,1;假设tO_flag=l那么XF=I,假设tO_fIag=O那么XF=OtimeO_rev:PSHMTRNPSHMTPSHMSTOPSHMSTlBITFtO_flag,#1BCxf_out,NTCSSBXXFST#0,tO_flagBnextxf_out:RSBXXFST#1,tO_flagnext:POPMSTlPOPMS
26、TOPOPMTPOPMTRNRETE5、TMS320C54x的串口有哪几种类型答:课本P213(7.3C54x的串行口)6、试表达标准串行接口数据的发送程序。7、试分别说明以下语句的功能。STM#SPCRIO,SPSAOSTM#0001H,BSPO解:对串口控制存放器SPCRlO赋值。不使用数字循环返回模式,接收数据DRRll,2采用右对齐方式,连续时钟方式,DX使能判断,接收中断由RRDY产生,接收移位存放器未超载,串口接收器准备好,使能串口接收器。STM#SPCR20,SPSAOSTM#0081H,BSPO解:对串口控制存放器SPCR20赋值。串口使用软件模式,帧同步逻辑、采样率发生器复位
27、,由发送准备好XRDY驱动发送中断;发送移位存放器为空,发送器未准备好,使能串口发送器。STM#SPCR20,SPSAOORM#0100000IB,BSPO解:修改串口控制存放器SPCR20的值。由采样率发生器产生帧同步信号,使能串口发送器。8、中断向量TINT=OBH,中断向量地址指针IPTR=0111H,求中断向量地址。解:中断向量地址二(IOoOIoOOIB)9+(10011)2=88CCH第八章1、一个典型的DSP系统通常有哪些局部组成画出原理框图。答:(1一个完整的DSP系统通常是由DSP芯片和其他相应的外围器件构成。一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字
28、信号处理器DSP、D/A转换器和低通滤波器等。DSP系统的工作过程:将输入信号X经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠。经过采样和A/D转换器,将滤波后的信号转换为数字信号x(n)o数字信号处理器对x(n)进展处理,得数字信号y(n)一样为0,不同为1BCStatus,ANEQ;假设A#0,那么转移,说明还没有切换到PLL方式;假设A=O,那么顺序执行,已切换到PLL方式STM#F000H,CLKMD;切换到4分频方式7、TMS320VC5402外接一个128KX16位的RAM,其构造如题图8.1所示。试分析程序区和数据区的地址范围,并说明其特点。解:图中接法RAM的前6
29、4K字(0000HFFFFH)为程序区,后64K字IlOoOOHIFFFFH)说明:程序区和数据区地址均为0000HFFFFH如果内部RAM设置为有效,那么一样地址的外部RAM自动无效。当外部RAM的存取速度达不到全速运行要求时,需要根据速度设置插入的等待状态数。8、TMS320VC5402外接一个128KX16位的RAM,采用混合程序区和数据区扩展法,连接电路如题图8.2所示。试分析程序区和数据区的地址范围。答:程序和数据都存储在同一片SRAM中,不管程序还是数据都可以访问8000H-FFFFH中的任一地址。为了保证系统的正确运行,需将这32K字空间划分为程序区和数据区,可以是程序占据8000H-BFFFH前16K字,数据占据C000H-FFFFH后I6K字,也可是程序占8K,数据占24K等。划分完全取决于应用程序的需要,可以灵活掌握,但必须确保程序和数据区的相互别离,以免形成冲突。9、InteI28F400B3是一种64KX16位的FlaSh存储器,其控制逻辑信号如图表8.1,试将该存储器作为DSP的外部数据存储器进展扩展。假设要将该芯片进展程序存储器扩展,该若何连接题表8.1Intell28F400B3的控制逻辑信号引脚功能引脚功能CE片选RP复位OE输出使能WP写保护WE写控制Vpp电源