最新DSP原理及应用修订版邹彦主编课后答案个人终极修订版_第1页
最新DSP原理及应用修订版邹彦主编课后答案个人终极修订版_第2页
最新DSP原理及应用修订版邹彦主编课后答案个人终极修订版_第3页
最新DSP原理及应用修订版邹彦主编课后答案个人终极修订版_第4页
最新DSP原理及应用修订版邹彦主编课后答案个人终极修订版_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、声明:1本人知识能力有限,只能按自己认识来判断答案的正误来编写本资料;精品文档本资料为DSP原理及应用(修订版)邹彦主编的课后答案,仅作参考作用,不一定代表考试方向。 叩3、请尊重劳动成果,祝大家考试顺利!第一章1数字信号处理实现方法一般有几种?答:课本P2( 2.数字信号处理实现)2、 简要地叙述 DSP芯片的发展概况。答:课本P2( 1.2.1 DSP芯片的发展概况)3、可编程 DSP芯片有哪些特点? 答:课本P3( 1.2.2 DSP芯片的特点)4、 什么是哈佛结构和冯诺依曼结构?他们有什么区别?答:课本P3-P4(1.采用哈佛结构)5、 什么是流水线技术? 答:课本P5( 3采用流水线

2、技术)6、 什么是定点 DSP芯片和浮点DSP芯片?它们各有什么优缺点?答:定点DSP芯片按照定点的数据格式进行工作,其数据长度通常为16位、24位、32位。定点DSP的特点:体积小、成本低、功耗小、对存储器的要求不高;但数值表示范围 较窄,必须使用定点定标的方法,并要防止结果的溢出。浮点DSP芯片按照浮点的数据格式进行工作,其数据长度通常为32位、40位。由于浮点数的数据表示动态范围宽, 运算中不必顾及小数点的位置, 因此开发较容易。但它 的硬件结构相对复杂、功耗较大,且比定点DSP芯片的价格高。通常,浮点 DSP芯片使用在对数据动态范围和精度要求较高的系统中。7、 DSP技术发展趋势主要体

3、现在哪些方面?答:课本P9( 3.DSP发展技术趋势)8简述DSP系统的构成和工作过程。答:课本P10( 1.3.1DSP系统的构成)9、 简述DSP系统的设计步骤。答:课本P12( 1.3.3DSP系统的设计过程)10、 DSP系统有哪些特点? 答:课本 P11( 1.3.2DSP系统的特点)11在进行DSP系统设计时,应如何选择合理的DSP芯片?答:课本P13( 1.3.4DSP芯片的选择)12、TMS320VC5416-160 的指令周期是多少毫秒?它的运算速度是多少MIPS ?解:f=160MHz,所以 T=1/160M=6.25ns=0.00000625ms ;运算速度=160MIP

4、S第二章1、 TMS320C54X芯片的基本结构都包括哪些部分?答:课本P17 (各个部分功能如下)2、TMS320C54X芯片的CPU主要由几部分组成? 答:课本 P18( 1.CPU)3、 处理器工作方式状态寄存器PMST中的MP/MC、OVLY和DROM3个状态位对C54x的存储空间结构有何影响?答:课本P34(PMST寄存器各状态位的功能表)4、 TMS320C54X芯片的内外设主要包括哪些电路?答:课本P40( C54x的片内外设电路)5、TMS320C54X芯片的流水线操作共有多少个操作阶段?每个操作阶段执行什么任务?完成一条指令都需要哪些操作周期?答:课本P45( 1流水线操作的

5、概念)6、TMS320C54X芯片的流水线冲突是怎样产生的?有哪些方法可以避免流水线冲突?答:由于CPU的资源有限,当多于一个流水线上的指令同时访问同一资源时,可能产生时 序冲突。解决的办法:由CPU通过延时自动解决; 通过程序解决,如重新安排指令或插入空操作指令。7、TMS320C54x芯片的串行口有哪几种类型?答: 课本P42( TMS320C54X芯片的串行口)8、 TMS320VC5402 共有多少可屏蔽中断?它们分别是什么? NMI和RS属于哪一类中断 源?答:课本P56 (对VC5402来说,这13个中断的硬件名称为 RS和NMI属于外部 硬件中断。)9、 试分析下列程序的流水线冲

6、突,画出流水线操作图。如何解决流水线冲突?(解题时参 考课本P52【例2.7.2】)STLM A,AR0STM #10,AR1精品文档精品文档LD *AR1 , B 解:流水线图如下图:STLM A,AROSTM #10,AR1(1st Word)STM #10,AR1(2nd Word)LD *AR1,B预取指取指译码寻址读数执行写AR2写AR2123456789预取指 取指 译码 寻址 读数 执行写AR1预取指 取指 译码 寻址 读数 执行读AR2预取指 取指 译码 寻址 读数 执行精品文档解决流水线冲突:最后一条指令( LD *AR1,B)将会产生流水线冲突,在它前面加入 一条NOP指令

7、可以解决流水线冲突。10、试根据等待周期表,确定下列程序段需要插入几个NOP指令。(流水线等待周期表 P53) LD GAIN, TSTM #input,AR1 MPY *AR1+,A解:本段程序不需要插入 NOP指令(查等待周期表,对于 T字段,后面的存储指令需 要加入一个等待周期,由于 STM是一条双字指令,隐含 1个等待周期,所以不用再插入等 待周期) STLM B,AR2STM #input ,AR3 MPY *AR2+,*AR3+,A解:本段程序需要在 MPY *AR2+,*AR3+,A 语句前插入1条NOP指令(在等待周期 表,AR2后面的STM指令不用插入等待,但注2表面在后面的

8、STM指令之前,不能有在执行阶段对,ARx的写操作,而前面的 STLM指令正是执行阶段写 AR2,所以应插入1个 等待周期。) MAC x, BSTLM B,ST0 ADD table. A, B解:本段程序需要在 ADD table. A, B语句前插入2条NOP指令第二早1、已知(1030H) =0050H , AR2=1040H , AR3=1060H , AR4=1080H。MVKD 1030H , *AR2 (将地址单元1030H中的数据复制到 AR2寄存器所指向的数据存储 单元中去,因为(1030H) =0050H , AR2=1040H ,执行结果(1040H ) =0050H

9、, *AR2=0050H )MVDD *AR2 , *AR3 (在AR2和AR3数据存储器内部传送数据,即AR2指向的存储单元数据=AR3指向的存储单元数据,即:AR2=1040H , AR3=1060H,所以执行结果(1040H )=(1060H) =0050H , *AR3=0050H )MVDM 1060H , AR4 (地址1060H数据向AR4寄存器传送数据。执行结果:(1060H)=AR4=0050H ;)运行以上程序后, ( 1030H )、( 1040H) 、 *AR3 和 *AR4 的值分别等于多少? 解:运行的结果: (1030H)=0050H,(1040H)=0050H,

10、*AR3=0050H,AR4=0050H 2、已知( 1080H ) =0020H ,( 1081H ) =0030H 。STM #1080H , AR0 (AR0=#1080H )STM #1081H , AR1 (AR1=#1081H )LD *AR0,16 ,B (把寄存器ARO指向的地址单元中数据左移16位装入累加器B ,这时(B)=2000H)ADD *AR1 ,B (把寄存器AR1指向地址单元的数据与累加器B中数据相加传送给 B,这时( B ) =2OOO3OH解:运行以上程序后, ( B) =2OOO3OH3、阅读以下程序,分别写出运行结果。.bss x,4 .data tabl

11、e:.word 4,8,16,32STM #x,AR1RPT #2MVPD table,*AR1+解:数据表 table 中的常量 4传送到以变量 x 的地址为地址的存储单元中;数据表 table 中 的常量 8 传送到以变量 x+1 的地址为地址的存储单元中;数据表 table 中的常量 16 传送到 以变量 x+2 的地址为地址的存储单元中;.bss x,4.datatable: .word 4,8,16,32STM #x,AR1RPT #2MVPD table,*+AR2解:数据表 table 中的常量 4 传送到以变量 x+1 的地址为地址的存储单元中;数据表 table 中的常量 8

12、 传送到以变量 x+2 的地址为地址的存储单元中;数据表 table 中的常量 16传送 到以变量 x+3 的地址为地址的存储单元中;4、NOP 指令不执行任何操作,它起什么作用?答:延时作用,在指令中加入 NOP 指令可以避免流水线冲突。延时几个周期,避免流水线 冲突;需要精确延时程序时,也会用到 NOP 指令。5、 TMS320C54X的数据寻址方式各有什么特点?应该应用在什么场合?答:课本P89 (本 章小结)第四章1、软件开发环境有哪几种 ?在非集成开发环境中 ,软件开发常采用哪些部分 ? 答:可以在两种开发环境中进行 C54X 的开发: 非集成的开发环境和集成的开发环境。 在非 集成

13、开发环境中,软件开发常采用:编辑、汇编、链接、调试等部分。2、什么是 COFF 格式?它有什么特点? 答:课本 P94( 4.3COFF 的一般概念)3、试说明.text段、.data段和.bbs段分别包含什么内容? 答:课本P94( 4.3.1COFF的一般 概念)4、程序员如何定义自己的程序段?5、链接器对段是如何处理的? 答:课本 P98(4.3.3 链接器对段的处理)6、什么是程序的重新定位? 答:课本 P99(4.3.4 链接器对程序的重新定位)7、宏定义、宏调用和宏展开分别指的是什么?答:课本 P112(4.4.4 宏定义和宏调用)8、链接器能完成什么工作 ?链接器命令文件中 ,M

14、EMORY 命令和 SECTIONS 命令的任务是 什么?答:课本 P114 (4.5链接器的使用,4.5.4MOMERY 命令,4.5.5SECTIONS命令)第五章1能用伪指令(如 data)或运算符(如 ADD )作为标号吗?为什么?(参考课本P126标号区的格式要求)2、标号和注释有什么差别?它们在程序运行中作用一样吗?答(参考课本 P129 1.标号;注释是程序的人选项。注释可以由 ASCII 码和空格组成。注释在汇编源清单中显示,但不影 响汇编。注释在程序中的作用是说明语句的含义,以便对软件进行维护。)3、 两个数相乘,如果结果溢出,DSP 系统会报警吗? 答:不会。当发生溢出时,

15、自动将结 果设置为最大或最小值。4、伪指令起什么作用?它占用存储空间吗?答:伪指令给程序提供数据和控制汇编过程。 答:它多用于代码编译的,硬件并不认识汇编语言,它们只认机器语言,程序的运行涉及由 高级语言汇编成汇编语言, 再由汇编语言编译成机器语言, 最后由硬件执行机器语言。 编译 过程中, 伪指令起作用, 但是伪指令不产生目标代码, 仅仅是帮助编译器准确的把其他指令 编译出来。因此,伪指令在代码编译过程中所起的功能, 在程序运行时伪指令已经不存在了, 因为代码是编译好后才执行的。伪指令不占用存储空间。5、 在堆栈操作中, PC 当前地址为 4020H , SP 当前地址为 0013H ,运行

16、 PSHM AR7 后, PC和SP的值分别是多少? ( PSHM AR7是压栈操作(完成后PC指针+1,堆栈指针SP-1) 答: PC=4021H , SP=0012H6、试编写0.25X (-0.1)的程序代码。参考程序如下:.title FracAmp.asm.mmregs.global _c_int00.bss x,1.bss y,1.bss z,1.dataAmpCoef:.word 25*32768/100.word -1*32768/10.text_c_int00: ssbx FRCTstm #x,ar1rpt #0x1mvpd #AmpCoef,*ar1+stm #x,ar2s

17、tm #y,ar3mpy *ar2,*ar3,Asth A,*ar1Wait: b Wait.end7、将定点数 0.00125 用浮点数表示。 解: A=28H ;T=19H8、试写出以下两条指令的运行结果: EXP AA=FFFD876624 T=0000 则以上指令执行后, A、T 的值各是多少? 解: A=0xFFFD876624 ;T=5 NORM BB=420D0D0D0D, T=FFF9则以上指令执行后,B、T的值各是多少? 解:B=0x841A1A1A, T=FFF99、阅读以下程序,写出运行结果。.bss y, 5table .word 1,2,3,4,5STM #y, AR

18、2RPT #5MVPD table,*AR2+LD #0,BLD #81h, AR5 (有误,应改为 STM #81H , AR5 )STM #0,ASTM #4, BRCSTM #y, AR5RPTB sub-1ADD *ARM5,B,ASTL A,*AR5+sub: LD #0,B运行以上程序后,(81H ) , (82H ), (83H ), (84H )和(85H )的值分别是多少?答:( 81H) =0001H ,(82H) =0002H ,( 83H) =0003H ,( 84H) =0004H,( 85H) =0005H 。10、CALL 指令调用子程序与循环语句有什么不同?答:

19、CALL指令调用子程序:课本 P135 (子程序调用指令表);循环语句:课本 P137( 532 循环操作程序)11、多次循环嵌套时,能够从最内一层循环直接跳到最外一层循环吗?若能,则采用什么 方式呢?12、在不含循环的程序中, RPTZ#3 语句和其前一句、 后一句以及后第二句各运行多少次? 答: RPTZ#3 语句和其前一句运行 1 次,后一句运行 3 次,后第二句运行 1 次。1、FIR 和 IIR 数字滤波器都有哪些设计方法?每种设计方法的步骤是什么?(参考课本P179P181)2、与 FIR 滤波器比较, IIR 滤波器有哪些优缺点? (参考课本 P167 6.2 IIR 滤波器的

20、DSP 实现)3、二阶 IIR 滤波器, 又称为二阶基本节, 其结构图可以分为几种类型?各有什么特点? (参 考课本P168 1二阶IIR滤波器)4、略5、 FIR 滤波器的算法为 y(n)= ax(n)+aix(n-1)+a2X(n-2)+a3X(n-3)+a4X(n-4),试用线性缓冲 区和直接寻址的方法实现。(参考课本P161P162,只是对课本一些参数稍作修改便是答案)解: .title “FIR1.ASM ”.mmregs.defstartx.usecta ”l“x”,5PA0.set0PA1.set1.dataCOEF:.word1*32768/10 ;定义 a4= 0.1.wor

21、d-3*32768/10 ;定义 a3= -0.3.word5*32768/10 ;定义 a2=-0.5.word-3*32768/10 ;定义 a1= -0.3.word1*32768/10 ;定义 a0=-0.1.textstart:SSBXFRCTSTM #x+5,AR2STM #4,AR0LD #x+1,DPP162P163,PORTR PA1,x+1FIR1:RPTZA,#4MACD*AR2-,COEF,ASTHA,*AR2PORTW *AR2+,PA0BDFIR1PORTR PA1,*AR2+0.end6、试用线性缓冲区和间接寻址方法实现题6.5 算法的 FIR 滤波器。(参考课本

22、只是对课本一些参数稍作修改便是答案)解:.title “FIR2.ASM ”.mmregs.def.bssstarty,1xn.usecta ” l“xn”,5b0.usect“a0”,5PA0.set0PA1.set1.datatable:.word1*32768/10;定义a4= 0.1.word-3*32768/10;定义a3= -0.3.word5*32768/10;定义a2= 0.5.word-3*32768/10;定义a1= -0.3.word1*32768/10;定义a0= 0.1.textstart:SSBXFRCTSTM#b0,AR1RPT #4MVPD table,*AR1

23、+STM #xn+4,AR2STM #b0+4,AR3STM #5,BKSTM #-1,AR0LD #xn,DPPORTR PA1,xnFIR2: RPTZ A,#4MAC *AR2+0%,*AR3+0%,ASTH A,yPORTW y,PA0BD FIR2PORTR PA1,*AR2+0%.end7、12、略第七章1、试列举主机与 PHI 通信的连接单元?并分别说明它们的功能。 (参考课本 P200 7.1C54x 的主机接口)2、已知 TMS320C54X 的 CLKOUT 频率为 4MHz 。在 SAM 工作方式下,主机的时钟频率是多少?解:在 SAM 工作方式下,主机频率可达 3.2M

24、Hz 或 2.4MHz 。在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率有关吗? 答:在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率无关。 3、试分别说明下列有关定时器初始化和开放定时中断语句的功能。 STM #0040H , IFR (课本有误,此处应为 STM #0080H , IFR)解:清除外部中断 2标 志位。 STM #0080H , IMR解:允许定时器 T1或DMAC1中断(使用哪一种中断由DMA 通道优先级和使能控制寄存器 DMPREC 控制。在复位以后, 中断被配置为定时器 T1 中断)。 RSBX INTM解:使能所

25、有可屏蔽中断。 STM #0279H , TCR 解: 设置定标计数器的值 PSC 为 9; 定时器分频系数为 9; 以 PRD中的值加载 TIM,以TDDR中的值加载 PSC;定时器停止工作。4、假设时钟频率是 40Mhz,试编写在XF端输出一个周期为 2ms的方波程序段。(参考课本 P207 程序,只要将课本程序中 STM #1599, TIM0 和 STM #1599, PRD0 改为STM #3999,TIMO和STM #3999,PRD0即可。注意计算到的 Tt=1ms (高电平和低电平各 1ms,故周期为2ms)。定时器基本计算公式在课本P206)解:(定时 半周期=CLKOUT*

26、(TDDR+1)*(PRD+1;1/2T=(1/4OM) *(9+1) * (3999+1) =1ms); abc1.asm;定时器 O 寄存器地址TIMOsetOO24HPRDOsetOO25HTCROsetOO26H;K_TCR0设置定时器控制寄存器的内容K_TCR0_SOFT.set0b;Soft=0K_TCR0_FREE.set1b;Free=1K_TCR0_PSC.set1001b;PSC=9HK_TCR0_TRB.set1b;TRB=1K_TCR0_TSS.set0b;TSS=0K_TCR0_TDDR.set1001b;TDDR=9K_TCR0 .set K_TCR0_SOFT|

27、K_TCR0_FREE| K_TCR0_PSC| K_TCR0_ K_TCR0_TSS| K_TCR0_TDDR;初始化定时器 0 ;Tt=25*(9+1)*(3999+1)=1000000(ns)=1(ms)STM #0010H,TCR0STM#3999 ,TIM0STM#3999 ,PRD0STM#K_TCR0,TCR0STMSTM#0080H,IFR #0080H,IMR INTMt0_flag .usecta”“ vars ”, 1 ;若time0_rev :PSHM TRNPSHMTPSHMST0PSHMST1BITFt0_flag,#1BCxf_out,NTCSSBXXFST#0

28、,t0_flagBnextxf_out:RSBX XFST#1 ,t0_flagnext: POPM ST1POPMST0POPMTPOPMTRN通过引脚RSBX RET;定时器 0 的中断服务子程序:XF给出tO_flag=1 则 XF=1,若 tO_flag=O则 XF=0RETE5、TMS320C54x 的串口有哪几种类型? 答:课本 P21 3( 7.3 C54x 的串行口)精品文档6、试叙述标准串行接口数据的发送程序。7、试分别说明下列语句的功能。 STM#SPCR10 , SPSA0STM#0001H ,BSP0解:对串口控制寄存器 SPCR10 赋值。不使用数字循环返回模式,接收数据 DRR1 , 2 采用右对齐方式, 连续时钟方式, DX 使能判断, 接收中断由 RRDY 产生, 接收移位 寄存器未超载,串口接收器准备好,使能串口接收器。 STM #SPCR20 , SPSAOSTM #0081H , BSP0解: 对串口控制寄存器 SPCR20 赋值。 串口使用软件模式, 帧同步逻辑、 采样率发生 器复位,由发送准备好 XRDY 驱动发送中断

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论