1、3、处理器工作方式状态寄存器PMST中的MP/MC、OVLY和DROM3个状态位对C54x的存储空间结构有何影响答:课本P34(PMST寄存器各状态位的功能表)4、TMS320C54x芯片的内外设主要包括哪些电路答:课本P40(C54x的片内外设电路)5、TMS320C54x芯片的流水线操作共有多少个操作阶段每个操作阶段执行什么任务完成一条指令都需要哪些操作周期答:课本P45(1.流水线操作的概念)6、TMS320C54x芯片的流水线冲突是怎样产生的有哪些方法可以避免流水线冲突由于CPU的资源有限,当多于一个流水线上的指令同时访问同一资源时,可能产生时序冲突。解决的办法: 由CPU通过延时自动
2、解决; 通过程序解决,如重新安排指令或插入空操作指令。7、TMS320C54x芯片的串行口有哪几种类型答:课本P42(TMS320C54x芯片的串行口)8、TMS320VC5402 共有多少可屏蔽中断它们分别是什么NMI和RS属于哪一类中断源答:课本P56(对VC5402来说,这13个中断的硬件名称为. RS 和NMI属于外部硬件中断。)9、试分析下列程序的流水线冲突,画出流水线操作图。如何解决流水线冲突(解题时参考课本P52【例】)STLM A,AR0 STM #10,AR1LD *AR1,B流水线图如下图:123456789预取指取指译码寻址读数执行STLM A,AR0写AR1STM #1
3、0,AR1(1st Word)写AR2(2nd Word)LD *AR1,B读AR2 解决流水线冲突:最后一条指令(LD *AR1,B)将会产生流水线冲突,在它前面加入一条NOP指令可以解决流水线冲突。10、试根据等待周期表,确定下列程序段需要插入几个NOP指令。(流水线等待周期表P53)LD GAIN, TSTM #input,AR1MPY *AR1+,A 解:本段程序不需要插入NOP指令(查等待周期表,对于T字段,后面的存储指令需要加入一个等待周期,由于STM是一条双字指令,隐含1个等待周期,所以不用再插入等待周期)STLM B,AR2STM #input ,AR3MPY *AR2+,*A
4、R3+,A本段程序需要在MPY *AR2+,*AR3+,A语句前插入1条NOP指令(在等待周期表,AR2后面的STM指令不用插入等待,但注2表面在后面的STM指令之前,不能有在执行阶段对,ARx的写操作,而前面的STLM指令正是执行阶段写AR2,所以应插入1个等待周期。MAC x, BSTLM B,ST0ADD table, A, B本段程序需要在ADD table, A, B语句前插入2条NOP指令第三章1、已知(1030H)=0050H,AR2=1040H,AR3=1060H,AR4=1080H。MVKD 1030H,*AR2(将地址单元1030H中的数据复制到AR2寄存器所指向的数据存储
5、单元中去,因为(1030H)=0050H,AR2=1040H,执行结果(1040H)=0050H,*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)=005
6、0H,(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指向的地址单元中数据左移16位装入累加器B,这时(B) =2000H)ADD *AR1,B(把寄存器AR1指向地址单元的数据与累加器B中数据相加传送给B,这时(B)=200030H运行以上程序后,(B)=200030H3、阅读以下程序,分别写出运行结果。.bss x,4.data table:.word 4,8,16
7、,32STM #x,AR1RPT #2MVPD table,*AR1+数据表table中的常量4传送到以变量x 的地址为地址的存储单元中;数据表table中的常量8传送到以变量x+1 的地址为地址的存储单元中;数据表table中的常量16传送到以变量x+2 的地址为地址的存储单元中;.data .word 4,8,16,32MVPD table,*+AR2数据表table中的常量4传送到以变量x+1 的地址为地址的存储单元中;数据表table中的常量8传送到以变量x+2 的地址为地址的存储单元中;数据表table中的常量16传送到以变量x+3 的地址为地址的存储单元中;4、NOP指令不执行任何
8、操作,它起什么作用延时作用,在指令中加入NOP指令可以避免流水线冲突。延时几个周期,避免流水线冲突;需要精确延时程序时,也会用到NOP指令。5、TMS320C54x的数据寻址方式各有什么特点应该应用在什么场合答:课本P89(本章小结)第四章1、软件开发环境有哪几种在非集成开发环境中,软件开发常采用哪些部分可以在两种开发环境中进行C54X的开发:非集成的开发环境和集成的开发环境。在非集成开发环境中,软件开发常采用:编辑、汇编、链接、调试等部分。2、什么是COFF格式它有什么特点答:课本P94(的一般概念)3、试说明.text段、.data段和.bbs段分别包含什么内容答:4、程序员如何定义自己的
9、程序段5、链接器对段是如何处理的答:课本P98链接器对段的处理)6、什么是程序的重新定位答:课本P99(链接器对程序的重新定位)7、宏定义、宏调用和宏展开分别指的是什么答:课本P112(宏定义和宏调用)8、链接器能完成什么工作链接器命令文件中,MEMORY命令和SECTIONS命令的任务是什么答:课本P114(链接器的使用,命令,命令)第五章1、能用伪指令(如data)或运算符(如ADD)作为标号吗为什么(参考课本P126标号区的格式要求)2、标号和注释有什么差别它们在程序运行中作用一样吗答(参考课本P129 1.标号;注释是程序的人选项。注释可以由ASCII码和空格组成。注释在汇编源清单中显
10、示,但不影响汇编。注释在程序中的作用是说明语句的含义,以便对软件进行维护。3、两个数相乘,如果结果溢出,DSP系统会报警吗答:不会。当发生溢出时,自动将结果设置为最大或最小值。4、伪指令起什么作用它占用存储空间吗答:伪指令给程序提供数据和控制汇编过程。它多用于代码编译的,硬件并不认识汇编语言,它们只认机器语言,程序的运行涉及由高级语言汇编成汇编语言,再由汇编语言编译成机器语言,最后由硬件执行机器语言。编译过程中,伪指令起作用,但是伪指令不产生目标代码,仅仅是帮助编译器准确的把其他指令编译出来。因此,伪指令在代码编译过程中所起的功能,在程序运行时伪指令已经不存在了,因为代码是编译好后才执行的。伪
11、指令不占用存储空间。5、在堆栈操作中,PC当前地址为4020H,SP当前地址为0013H,运行PSHM AR7后,PC和SP的值分别是多少(PSHM AR7是压栈操作(完成后PC指针+1,堆栈指针SP-1)PC=4021H ,SP=0012H6、试编写的程序代码。参考程序如下: .title .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 FRCT stm #x,ar1 rpt #0x1 mvpd
12、#AmpCoef,*ar1+ stm #x,ar2 stm #y,ar3 mpy *ar2,*ar3,A sth A,*ar1 Wait: b Wait .end7、将定点数用浮点数表示。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 .word 1,2,3,4,5
13、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指令调用子程序与循环语句有什么不同CALL指令调用子程序:
14、课本P135(子程序调用指令表);循环语句:课本P137(循环操作程序)11、多次循环嵌套时,能够从最内一层循环直接跳到最外一层循环吗若能,则采用什么方式呢12、在不含循环的程序中,RPTZ#3语句和其前一句、后一句以及后第二句各运行多少次RPTZ#3语句和其前一句运行1次,后一句运行3次,后第二句运行1次。第六章1、FIR和IIR数字滤波器都有哪些设计方法每种设计方法的步骤是什么(参考课本P179P181)2、与FIR滤波器比较,IIR滤波器有哪些优缺点(参考课本P167 IIR滤波器的DSP实现)3、二阶IIR滤波器,又称为二阶基本节,其结构图可以分为几种类型各有什么特点(参考课本P168
15、 1.二阶IIR滤波器)4、略5、FIR滤波器的算法为y(n)= a0x(n)+a1x(n-1)+a2x(n-2)+a3x(n-3)+a4x(n-4),试用线性缓冲区和直接寻址的方法实现。(参考课本P161P162,只是对课本一些参数稍作修改便是答案) .title “” .mmregs .def start x .usect “x”,5 PA0 .set 0 PA1 .set 1 .data COEF:.word 1*32768/10 ;定义a4= .word -3*32768/10 ;定义a3= .word 5*32768/10 ;定义a2=定义a1= .word 1*32768/10 ;
16、定义a0=.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、试用线性缓冲区和间接寻址方法实现题算法的FIR滤波器。(参考课本P162P163,只是对课本一些参数稍作修改便是答案) .title “” .mmregs .bss y,1xn .usect “xn”,5b0 .usect “a0”,5PA0 .set 0PA1
17、.set 1 .word 1*32768/10 ;定义a2= .word 1*32768/10 ;定义a0= .text SSBX 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通信的连接单元并分别说明
18、它们的功能。(参考课本P200 C54x的主机接口)2、已知 TMS320C54X 的 CLKOUT 频率为 4MHz。在 SAM 工作方式下,主机的时钟频率是多少在 SAM 工作方式下,主机频率可达 或 。在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率有关吗在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率无关。3、试分别说明下列有关定时器初始化和开放定时中断语句的功能。STM #0040H,IFR(课本有误,此处应为STM #0080H,IFR)解:清除外部中断 2 标志位。STM #0080H,IMR解:允许定时器 T1 或 DMAC1
19、 中断(使用哪一种中断由 DMA 通道优先级和使能控制寄存器 DMPREC 控制。在复位以后,中断被配置为定时器 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即可。注意计
20、算到的Tt=1ms(高电平和低电平各1ms,故周期为2ms)。定时器基本计算公式在课本P206)(定时半周期=CLKOUT*(TDDR+1)*(PRD+1); 1/2T=(1/40M)*(9+1)*(3999+1)=1ms); ;定时器0寄存器地址 TIM0 set 0024H PRD0 set 0025H TCR0 set 0026HK_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=
21、1 K_TCR0_TSS .set 0b ;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 初始化定时器0Tt=25*(9+1)*(3999+1)=1000000(ns)=1(ms) STM #0010H,TCR0 STM #3999,TIM0 STM #3999,PRD0 STM #K_TCR0,TCR0 STM #0080H,IFR STM #0080H,IMR RSBX INTM RET定时器
22、0的中断服务子程序:通过引脚XF给出 t0_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( C54x的串行口)6、试叙述标
23、准串行接口数据的发送程序。7、试分别说明下列语句的功能。 STM #SPCR10,SPSA0 STM #0001H,BSP0对串口控制寄存器 SPCR10 赋值。不使用数字循环返回模式,接收数据 DRR1,2采用右对齐方式, 连续时钟方式, DX 使能判断, 接收中断由 RRDY 产生, 接收移位寄存器未超载,串口接收器准备好,使能串口接收器。STM #SPCR20,SPSA0STM #0081H,BSP0 对串口控制寄存器 SPCR20 赋值。 串口使用软件模式, 帧同步逻辑、 采样率发生器复位,由发送准备好 XRDY 驱动发送中断;发送移位寄存器为空,发送器未准备好,使能串口发送器。STM
24、 #SPCR20,SPSA0ORM #01000001B,BSP0 修改串口控制寄存器 SPCR20 的值。 由采样率发生器产生帧同步信号, 使能串口发送器。8、已知中断向量 TINT=013H,中断向量地址指针 IPTR=0111H,求中断向量地址。中断向量地址=(1B)9+(10011)2=88CCH第八章1、一个典型的DSP系统通常有哪些部分组成画出原理框图。(1) 一个完整的 DSP 系统通常是由 DSP 芯片和其他相应的外围器件构成。 一个典型的 DSP 系统应包括抗混叠滤波器、数据采集 A/D 转换器、数字信号处理器 DSP、 D/A 转换器和低通滤波器等。 DSP 系统的工作过程
25、: 将输入信号 x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠。 经过采样和 A/D 转换器,将滤波后的信号转换为数字信号 x(n)。 数字信号处理器对 x(n)进行处理, 得数字信号 y(n)。 经 D/A 转换器, 将 y(n)转换成模拟信号; 经低通滤波器, 滤除高频分量, 得到平滑的模拟信号 y(t)。(2)原理框图:课本P267 图、DSP系统硬件设计过程都有哪些步骤第一步:确定硬件实现方案; 第二步:器件的选择; 第三步:原理图设计; 第四步:PCB 设计; 第五步:硬件调试;3、在TMS320C54x芯片中,能否从一种分频方式直接切换到另一种分频方式,写出切
26、换步骤。4、一个DSP系统采用TMS320C54x芯片,而其他外部接口芯片采用5V器件,试为该系统设计一个合理的电源。(参考课本P249 电源电路的设计)5、试为DSP系统设计一个复位电路,要求该电路具有上电复位、手动复位和监视系统运行等功能。课本P252(图和图,监视系统:“看门狗”电路)6、将TMS320C5402芯片从2分频切换到4分频方式,试编写相应的程序。(2分频与4分频之间也不能直接切换,要先把2分频切换到倍频方式(PLL方式),然后再切换到4分频。STM #F007H,CLKMD ;切换到PLL*1方式 Status: LDM CLKMD,A ;测试PLLSTATUS位 XOR #F007H,A
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1