1、声明: 1、本人知识能力有限,只能按自己认识来判断答案得正误来编写本资料; 2、本资料为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、采用流水线技术)6、什么
2、就是定点DSP芯片与浮点DSP芯片?它们各有什么优缺点?答:定点DSP芯片按照定点得数据格式进行工作,其数据长度通常为16位、24位、32位。定点DSP得特点:体积小、成本低、功耗小、对存储器得要求不高;但数值表示范围较窄,必须使用定点定标得方法,并要防止结果得溢出。浮点DSP芯片按照浮点得数据格式进行工作,其数据长度通常为32位、40位。由于浮点数得数据表示动态范围宽,运算中不必顾及小数点得位置,因此开发较容易。但它得硬件结构相对复杂、功耗较大,且比定点DSP芯片得价格高。通常,浮点DSP芯片使用在对数据动态范围与精度要求较高得系统中。7、DSP技术发展趋势主要体现在哪些方面?答:课本P9(
3、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;运算速度=160MIPS第二章1、TMS320C54x芯片得基本结构
4、都包括哪些部分?答:课本P17(各个部分功能如下)2、TMS320C54x芯片得CPU主要由几部分组成?答:课本P18(1、CPU)3、处理器工作方式状态寄存器PMST中得MP/MC、OVLY与DROM3个状态位对C54x得存储空间结构有何影响?答:课本P34(PMST寄存器各状态位得功能表)4、TMS320C54x芯片得内外设主要包括哪些电路?答:课本P40(C54x得片内外设电路)5、TMS320C54x芯片得流水线操作共有多少个操作阶段?每个操作阶段执行什么任务?完成一条指令都需要哪些操作周期?答:课本P45(1、流水线操作得概念)6、TMS320C54x芯片得流水线冲突就是怎样产生得?
5、有哪些方法可以避免流水线冲突?答:由于CPU得资源有限,当多于一个流水线上得指令同时访问同一资源时,可能产生时序冲突。解决得办法: 由CPU通过延时自动解决; 通过程序解决,如重新安排指令或插入空操作指令。7、TMS320C54x芯片得串行口有哪几种类型?答:课本P42(TMS320C54x芯片得串行口)8、TMS320VC5402 共有多少可屏蔽中断?它们分别就是什么?NMI与RS属于哪一类中断源?答:课本P56(对VC5402来说,这13个中断得硬件名称为、 RS 与NMI属于外部硬件中断。)9、试分析下列程序得流水线冲突,画出流水线操作图。如何解决流水线冲突?(解题时参考课本P52【例2
6、、7、2】)STLM A,AR0 STM #10,AR1LD *AR1,B解:流水线图如下图:123456789预取指取指译码寻址读数执行STLM A,AR0写AR1预取指取指译码寻址读数执行STM #10,AR1(1st Word)写AR2写AR2预取指取指译码寻址读数执行STM #10,AR1(2nd Word)预取指取指译码寻址读数执行LD *AR1,B读AR2解决流水线冲突:最后一条指令(LD *AR1,B)将会产生流水线冲突,在它前面加入一条NOP指令可以解决流水线冲突。10、试根据等待周期表,确定下列程序段需要插入几个NOP指令。(流水线等待周期表P53)LD GAIN, TSTM
7、 #input,AR1MPY *AR1+,A解:本段程序不需要插入NOP指令(查等待周期表,对于T字段,后面得存储指令需要加入一个等待周期,由于STM就是一条双字指令,隐含1个等待周期,所以不用再插入等待周期)STLM B,AR2STM #input ,AR3MPY *AR2+,*AR3+,A解:本段程序需要在MPY *AR2+,*AR3+,A语句前插入1条NOP指令(在等待周期表,AR2后面得STM指令不用插入等待,但注2表面在后面得STM指令之前,不能有在执行阶段对,ARx得写操作,而前面得STLM指令正就是执行阶段写AR2,所以应插入1个等待周期。)MAC x, BSTLM B,ST0A
8、DD 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,*AR2=0050H)MVDD *AR2,*AR3(在AR2与AR3数据存储器内部传送数据,即AR2指向得存储单元数据=AR3指向得存储单元数据,即:AR2=1040H,AR3=1060H,所以执行结果(1
9、040H)=(1060H)=0050H,*AR3=0050H)MVDM 1060H,AR4(地址1060H数据向AR4寄存器传送数据。执行结果:(1060H)=AR4=0050H;)运行以上程序后,(1030H)、(1040H)、*AR3与*AR4得值分别等于多少?解:运行得结果:(1030H)=0050H,(1040H)=0050H,*AR3=0050H,AR4=0050H2、已知(1080H)=0020H,(1081H)=0030H。STM #1080H,AR0(AR0=#1080H)STM #1081H,AR1(AR1=#1081H)LD *AR0,16,B(把寄存器AR0指向得地址单元
10、中数据左移16位装入累加器B,这时(B) =2000H)ADD *AR1,B(把寄存器AR1指向地址单元得数据与累加器B中数据相加传送给B,这时(B)=200030H解:运行以上程序后,(B)=200030H3、阅读以下程序,分别写出运行结果。、bss x,4、data table:、word 4,8,16,32STM #x,AR1RPT #2MVPD table,*AR1+解:数据表table中得常量4传送到以变量x 得地址为地址得存储单元中;数据表table中得常量8传送到以变量x+1 得地址为地址得存储单元中;数据表table中得常量16传送到以变量x+2 得地址为地址得存储单元中;、b
11、ss x,4、datatable: 、word 4,8,16,32STM #x,AR1RPT #2MVPD table,*+AR2解:数据表table中得常量4传送到以变量x+1 得地址为地址得存储单元中;数据表table中得常量8传送到以变量x+2 得地址为地址得存储单元中;数据表table中得常量16传送到以变量x+3 得地址为地址得存储单元中;4、NOP指令不执行任何操作,它起什么作用?答:延时作用,在指令中加入NOP指令可以避免流水线冲突。延时几个周期,避免流水线冲突;需要精确延时程序时,也会用到NOP指令。5、TMS320C54x得数据寻址方式各有什么特点?应该应用在什么场合?答:课
12、本P89(本章小结)第四章1、软件开发环境有哪几种?在非集成开发环境中,软件开发常采用哪些部分?答:可以在两种开发环境中进行C54X得开发:非集成得开发环境与集成得开发环境。在非集成开发环境中,软件开发常采用:编辑、汇编、链接、调试等部分。2、什么就是COFF格式?它有什么特点?答:课本P94(4、3COFF得一般概念)3、试说明、text段、data段与、bbs段分别包含什么内容?答:课本P94(4、3、1COFF得一般概念)4、程序员如何定义自己得程序段?5、链接器对段就是如何处理得?答:课本P98(4、3、3链接器对段得处理)6、什么就是程序得重新定位?答:课本P99(4、3、4链接器对
13、程序得重新定位)7、宏定义、宏调用与宏展开分别指得就是什么?答:课本P112(4、4、4宏定义与宏调用)8、链接器能完成什么工作?链接器命令文件中,MEMORY命令与SECTIONS命令得任务就是什么?答:课本P114(4、5链接器得使用,4、5、4MOMERY命令,4、5、5SECTIONS命令)第五章1、能用伪指令(如data)或运算符(如ADD)作为标号吗?为什么?(参考课本P126标号区得格式要求)2、标号与注释有什么差别?它们在程序运行中作用一样吗?答(参考课本P129 1、标号;注释就是程序得人选项。注释可以由ASCII码与空格组成。注释在汇编源清单中显示,但不影响汇编。注释在程序
14、中得作用就是说明语句得含义,以便对软件进行维护。)3、两个数相乘,如果结果溢出,DSP系统会报警吗?答:不会。当发生溢出时,自动将结果设置为最大或最小值。4、伪指令起什么作用?它占用存储空间吗?答:伪指令给程序提供数据与控制汇编过程。答:它多用于代码编译得,硬件并不认识汇编语言,它们只认机器语言,程序得运行涉及由高级语言汇编成汇编语言,再由汇编语言编译成机器语言,最后由硬件执行机器语言。编译过程中,伪指令起作用,但就是伪指令不产生目标代码,仅仅就是帮助编译器准确得把其她指令编译出来。因此,伪指令在代码编译过程中所起得功能,在程序运行时伪指令已经不存在了,因为代码就是编译好后才执行得。伪指令不占
15、用存储空间。5、在堆栈操作中,PC当前地址为4020H,SP当前地址为0013H,运行PSHM AR7后,PC与SP得值分别就是多少?(PSHM AR7就是压栈操作(完成后PC指针+1,堆栈指针SP-1)答:PC=4021H ,SP=0012H6、试编写0、25(-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
16、 #0x1mvpd #AmpCoef,*ar1+stm #x,ar2stm #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=5NORM BB=420D0D0D0D, T=FFF9则以上指令执行后,B、T得值各就是多少?解:B=0x841A1A1A, T=FFF99、阅读以下程序,写出运行结果。 、bss y, 5 table
17、、word 1,2,3,4,5 STM #y, AR2 RPT #5 MVPD table,*AR2+ LD #0,B LD #81h, AR5 (有误,应改为STM #81H,AR5)STM #0,A STM #4, BRC STM #y, AR5 RPTB sub-1 ADD *ARM5,B,A STL A,*AR5+ sub: LD #0,B 运行以上程序后,(81H),(82H),(83H),(84H)与(85H)得值分别就是多少?答:(81H)=0001H,(82H)=0002H,(83H)=0003H,(84H)=0004H,(85H)=0005H。10、CALL指令调用子程序与循
18、环语句有什么不同?答:CALL指令调用子程序:课本P135(子程序调用指令表);循环语句:课本P137(5、3、2循环操作程序)11、多次循环嵌套时,能够从最内一层循环直接跳到最外一层循环吗?若能,则采用什么方式呢?12、在不含循环得程序中,RPTZ#3语句与其前一句、后一句以及后第二句各运行多少次?答:RPTZ#3语句与其前一句运行1次,后一句运行3次,后第二句运行1次。第六章1、FIR与IIR数字滤波器都有哪些设计方法?每种设计方法得步骤就是什么?(参考课本P179P181)2、与FIR滤波器比较,IIR滤波器有哪些优缺点?(参考课本P167 6、2 IIR滤波器得DSP实现)3、二阶II
19、R滤波器,又称为二阶基本节,其结构图可以分为几种类型?各有什么特点?(参考课本P168 1、二阶IIR滤波器)4、略5、FIR滤波器得算法为y(n)= a0x(n)+a1x(n-1)+a2x(n-2)+a3x(n-3)+a4x(n-4),试用线性缓冲区与直接寻址得方法实现。(参考课本P161P162,只就是对课本一些参数稍作修改便就是答案)解: 、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*3276
20、8/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、textstart: SSBX FRCT STM #x+5,AR2 STM #4,AR0 LD #x+1,DP PORTR PA1,x+1FIR1: RPTZ A,#4 MACD *AR2-,COEF,A STH A,*AR2 PORTW *AR2+,PA0 BD FIR1 PORTR PA1,*AR2+0 、end 6、试用线性缓冲区与间接寻址方法实现题6、5算法得FIR滤波器。(参考课本
21、P162P163,只就是对课本一些参数稍作修改便就是答案)解: 、title “FIR2、ASM” 、mmregs 、def start 、bss y,1xn 、usect “xn”,5b0 、usect “a0”,5PA0 、set 0PA1 、set 1 、datatable: 、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: S
22、SBX FRCT STM #b0,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,xnFIR2: RPTZ A,#4 MAC *AR2+0%,*AR3+0%,A STH A,y PORTW y,PA0 BD FIR2 PORTR PA1,*AR2+0% 、end 7、12、略第七章1、试列举主机与PHI通信得连接单元?并分别说明它们得功能。(参考课本P200 7、1C54x得主机接口)2、已知 TMS320C54X 得 CLKOUT 频率为 4MH
23、z。在 SAM 工作方式下,主机得时钟频率就是多少?解:在 SAM 工作方式下,主机频率可达 3、2MHz 或 2、4MHz。在 HOM 工作方式下,主机得时钟频率与 TMS320C54X 得时钟频率有关吗?答:在 HOM 工作方式下,主机得时钟频率与 TMS320C54X 得时钟频率无关。3、试分别说明下列有关定时器初始化与开放定时中断语句得功能。STM #0040H,IFR(课本有误,此处应为STM #0080H,IFR)解:清除外部中断 2 标志位。STM #0080H,IMR解:允许定时器 T1 或 DMAC1 中断(使用哪一种中断由 DMA 通道优先级与使能控制寄存器 DMPREC
24、控制。在复位以后,中断被配置为定时器 T1 中断)。RSBX INTM解:使能所有可屏蔽中断。STM #0279H,TCR 解: 设置定标计数器得值 PSC 为 9; 定时器分频系数为 9; 以 PRD 中得值加载 TIM, 以 TDDR中得值加载 PSC;定时器停止工作。4、假设时钟频率就是40Mhz,试编写在XF端输出一个周期为2ms得方波程序段。(参考课本P207程序,只要将课本程序中STM #1599,TIM0与STM #1599,PRD0改为STM #3999,TIM0与STM #3999,PRD0即可。注意计算到得Tt=1ms(高电平与低电平各1ms,故周期为2ms)。定时器基本计
25、算公式在课本P206)解:(定时半周期=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 1b ;Free=1 K_TCR0_PSC 、set 1001b ;PSC=9H K_TCR0_TRB 、set 1b ;TRB=1 K_TCR0_TSS 、set 0b ;
26、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 #0010H,TCR0 STM #3999,TIM0 STM #3999,PRD0 STM #K_TCR0,TCR0 STM #0080H,IFRSTM #0080H,IMRRSBX INTM RET ;定时器0得中断服务子程序:通过引脚XF给出 t
27、0_flag 、usect “vars”,1 ;若t0_flag=1则XF=1,若t0_flag=0则XF=0time0_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 5、TMS320C54x得串口有哪几种类型?答:课本P213(7、3 C54x得串行口)6、试叙述标准串行接口数据得发送程序。7、试
28、分别说明下列语句得功能。 STM #SPCR10,SPSA0 STM #0001H,BSP0解:对串口控制寄存器 SPCR10 赋值。不使用数字循环返回模式,接收数据 DRR1,2采用右对齐方式, 连续时钟方式, DX 使能判断, 接收中断由 RRDY 产生, 接收移位寄存器未超载,串口接收器准备好,使能串口接收器。STM #SPCR20,SPSA0STM #0081H,BSP0解: 对串口控制寄存器 SPCR20 赋值。 串口使用软件模式, 帧同步逻辑、 采样率发生器复位,由发送准备好 XRDY 驱动发送中断;发送移位寄存器为空,发送器未准备好,使能串口发送器。STM #SPCR20,SPS
29、A0ORM #01000001B,BSP0解: 修改串口控制寄存器 SPCR20 得值。 由采样率发生器产生帧同步信号, 使能串口发送器。8、已知中断向量 TINT=013H,中断向量地址指针 IPTR=0111H,求中断向量地址。解:中断向量地址=(100010001B)9+(10011)相同为0,不同为1 BC Status,ANEQ ;若A0,则转移,表明还没有切换到PLL方式;若A=0,则顺序执行,已切换到PLL方式STM #F000H,CLKMD ;切换到4分频方式7、TMS320VC5402外接一个128K16位得RAM,其结构如题图8、1所示。试分析程序区与数据区得地址范围,并说
30、明其特点。解:图中接法RAM得前64K字(0000HFFFFH)为程序区,后64K字(10000H1FFFFH)说明: 程序区与数据区地址均为0000HFFFFH如果内部RAM设置为有效,则相同地址得外部RAM自动无效。当外部RAM得存取速度达不到全速运行要求时,需要根据速度设置插入得等待状 态数。8、TMS320VC5402外接一个128K16位得RAM,采用混合程序区与数据区扩展法,连接电路如题图8、2所示。试分析程序区与数据区得地址范围。答:程序与数据都存储在同一片SRAM中,不论程序还就是数据都可以访问8000HFFFFH中得任一地址。为了保证系统得正确运行,需将这32K字空间划分为程
31、序区与数据区,可以就是程序占据8000H-BFFFH前16K字,数据占据C000H-FFFFH后16K字,也可就是程序占8K,数据占24K等。划分完全取决于应用程序得需要,可以灵活掌握,但必须确保程序与数据区得相互分离,以免形成冲突。9、Inte128F400B3就是一种64K16位得Flash存储器,其控制逻辑信号如图表8、1,试将该存储器作为DSP得外部数据存储器进行扩展。若要将该芯片进行程序存储器扩展,该如何连接?题表8、1 Intel128F400B3得控制逻辑信号引脚功能引脚功能CE片选RP复位OE输出使能WP写保护WE写控制Vpp电源GND3、3V复位电路16TMS320VC5402D15D0A15D0 _R/W_DS_RS _ WP VppI/O15I/O0 A15A0 _WE_CE_ _RP OEIntel28F400B3答:1610、13、略
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100