您的当前位置:首页正文

DSP技术及应用考试复习资料(按题型分)

来源:个人技术集锦
一、填空题

1.命令文件用.cmd扩展名表示。 2.TMS320LF2407 DSP共有144引脚。 3.与C语言相比,汇编语言的可移植性较差

4. 在数的定标中,如果采用Q表示法,一个Q8定点数的精度为1/16 5. TMS320LF2407 DSP内部含有8 个辅助寄存器。 6.TMS320LF240X DSP微处理器采用的是哈佛结构 7. 采用DSP进行数字信号处理属于软硬件结合实现方法。 8. 一般情况下,下列器件在工作时,功耗最小的是小液晶块 9. TMS320LF2407 DSP中,累加器的位数为:32位 10.可编程数字信号处理器简称DSP

11.看门狗的作用是PC受到干扰而跑飞时产生复位 12.TMS320LF240X DSP有1个累加器。

13.输出比较功能一般用于在规定的时刻输出需要的电平 14. TMS320LF240X DSP共有86条指令,分为6大类。

15.一般情况下,TMS320LF240X系列DSP内的用户程序存储在Flash存储器中

16. TMS320LF240X DSP具有 4 个通用定时器,都采用16位计数器,计数范围是0-65535个脉冲。

17.ADD *+,8,AR4含义是:以当前AR中的内容为地址的数据存储单元内容左移8位后与ACC中内容相加,结果送与ACC,且AR中内容加一,并

指定AR4为下一个当前AR。

18.在数的定标中,如果采用Q表示法,Q越大,数值范围越大,但精度越低。

19.LF240X中断源分为__软件______中断和__硬件______中断。 20. 在TMS320LF240X DSP中,优先级最高的中断是__复位______。 21.TMS320LF240X DSP共有__3____种基本的数据寻址方式,分别是立即、直接、间接。

22.按数据格式分类,DSP芯片可分为定点式芯片和浮点式芯片。 23.TMS320LF2407A DSP有3种低功耗模式。

24.DSP执行一条指令,需要通过取指、译码和执行等阶段。

25. 写出TMS320LF240X DSP的常见的片内外设模块名称: CAN; SPI ;SCI ; A/D ;EVA,EVB。

26.TMS320C54x中累加器分为三个部分,低位字,高位字和保护位,其中高位字是指31~16位 ,保护位字是指39~32位。

27.TMS320C54x中,暂存器T的数据宽度是16位,ALU的数据宽度是40位

28.TMS320C54x立即数寻址中,长立即数寻址长度是16位,位数最长的短立即数的长度是9位

29.TMS320C54x汇编语言中,用于自定义段的是.sect 30.下列TMS320C54x的中断,不是可屏蔽中断的是reset 31.TMS320C54x汇编语言中,用于定义未初始化段的是.bssa

32.在DSP处理器中,数据地址的产生是由(数据地址发生器)来完成的。 33.TMS320C54x的累加器分别称为(累加器A)和(累加器B),它们的数据宽度是(40)位。

34.TMS320C54x 的DSP采用先进的(哈佛)结构,其独立的(程序)总线和(数据)总线允许同时读取(指令)和(操作数),实现高度的并行操作。

35.TMS320C54x的通用I/O引脚有(跳转控制输入引脚BIO )和(外部标志输出引脚XF)。

36.TMS320C54x有3个状态和控制寄存器。 指令MPY0Dh,A中乘数和被乘数分别在(累加器B高16位)和(累加器A)中。

37.在DSP处理器中,配有两个地址生成器,包括(数据地址发生器)和(程序地址发生器)。

38.TMS320C54x使用一个40位的(ALU)和两个40位的(累加器ACCA和ACCB)来完成算数算术运算和逻辑运算。

39.TMS320C54x存储器由3个独立的可选择空间组成:(程序空间)、(数据空间)和(I/O空间)。

40.TMS320C54x的指令系统包含(助记符指令)和(代数指令)两种形式。

41.编译器对于符号地址和变量的处理都是相对于本段的开始。连接器为每个段选择了合适的起始地址,就必须相应地修改这些符号地址和变量,同时修改所有对这些地址和变量的引用,这个过程称为(重定位)。

42.TMS320C54x的总线由:(1)组程序总线、(3)组数据总线和(4)组地址总线组成,可在一个指令期内产生两个数据存储地址,实现流水线并行数据处理。

43.TI公司的定点DSP产品主要有 TMS320C2000 系列、TMS320C5000系列和 TMS320C6000 系列。

44.C54x DSP中传送执行指令所需的地址需要用到 PAB 、CAB、DAB和 EAB 4条地址总线。

45.DSP的内部存储器类型可分为随机存取存储器(RAM)和只读存储器(ROM)。其中RAM又可以分为两种类型:单寻址RAM(SARAM)和双寻址RAM(DARAM)。

46.C54x DSP的内部总存储空间为192K字,分成3个可选择的存储空间:64K字的程序存储空间 、64K字的数据存储空间和64K字的 I/O空间 。 47.从功能结构上,’C54X DSP的CPU可以划分成 运算部件 和 控制部件 两大部分。

48.C54x DSP的寻址方式有七种,分别为立即寻址、绝对寻址、累加器寻址、直接寻址、 间接寻址 、存储器映象寄存器寻址、堆栈寻址。 49.在C54x DSP寻址和指令系统中,Xmem和Ymem表示 16位双寻址操作数 ,Dmad为16位立即数,表示 数据存储器地址 ,Pmad为16位立即数,表示 程序存储器地址 。

50.程序计数器的值可以通过 复位操作 、 顺序执行指令 、 分支转移 ,累加器转移,块重复,子程序调用,从累加器调用子程序,中断

等操作改变。

51.C54x DSP芯片采用了6级流水线的工作方式,即一条指令分为 预取指 、取指、译码、 寻址 、读数和执行6个阶段。

52.解决MMR写操作的流水线冲突时,一般可用采用推荐指令和 插入空操作指令 的方法。

53.C54x DSP定时器由3个16位存储器映射寄存器组成:定时器寄存器(TIM)、 定时器周期寄存器(PRD)和 定时器控制寄存器(TCR) 。 54.主机接口(HPI,Host Port Interface) 是TMS320C54x 系列定点芯片内部具有的一种接口部件,主要用于DSP与其他总线或CPU进行通信。 55.C54x DSP的指令系统有 助记符指令 和 代数指令 两种形式。 56.COFF目标文件中.text段通常包含 可执行代码 ,.data段通常包含己初始化的数据,.bss段中通常为 未初始化的数据 保留空间。 57.DSP芯片的开发工具可以分为 代码生成工具 和 代码调试工具 两类。

58.DSP技术 (Digital Signal Process)是利用专用或通用数字信号处理芯片,通过数字计算方法对信号进行处理。

59.DSP实现FIR滤波器延时一个采样周期方法有两种,一是采用缓冲区法,二是采用缓冲区法。

60.TMS320C54X可编程定时器的定时周期 =(时钟周期)*(定标器+1)*(周期寄存器PRD +1)61. TMS320C54X具有两个通用I/O口,BIO用于输入外设的状态;XF用于输出外设的控制信号。

62.TMS320C54X的存储器空间可以分为程序存储空间,数据存储空间和I/O存储空间。

63.DSP芯片按照其用途分类,可以分为通用型和专用型 两种。

64.在堆栈操作中,PC当前地址为4020h,SP当前地址为0033h,运行PSHM AR2后,PC= 4021h, SP=0032h。(PSHM AR2为单字指令)

65.TMS320C54xDSP芯片四种串行口类型是指SP、BSP、McBSP和TDMcBSP。 66、请简要说明TMS320C5402VCDSP以下引脚的功能: RS: 复位引用脚, IOSTRB: I//O选通信号引脚 。

67. TMS320C54xDSP的内部总线主要包括程序总线、 数据总线 和 地址总线。

68.DSP的狭义理解为数字信号处理器,广义理解为数字信号处理方法。 69.在直接寻址中,指令代码包含了数据存储器地址的低7位。当ST1中直接寻址编辑方式位CPL =0 时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位CPL =1时,加上SP基地址形成数据存储器地址。

70.TMS320C54有两个通用引脚,BIO和XF,BIO输入引脚可用于监视外部接口器件的状态;XF 输出引脚可以用于与外部接口器件的握手信号。 71.累加器又叫做目的寄存器,它的作用是存放从ALU或乘法器/加法器单元 输出的数据。它的存放格式为

72.桶形移位器的移位数有三中表达方式: 立即数 ; ASM ; T

39~32保护位低6位

73.DSP可以处理双16位或双精度算术运算,当 C16=0 位双精度运算方式,当 C16=1 为双16位运算方式。

74.复位电路有三种方式,分别是 上电复位 ; 手动复位 ; 软件复位 。

75.立即数寻址指令中在数字或符号常数前面加一个 # 号,来表示立即数。

76.位倒序寻址方式中,AR0中存放的是 FFT点数的一半 。 77.一般,COFF目标文件中包含三个缺省的段: .text 段; .data 段和 .bss 段。

78.汇编源程序中标号可选,若使用标号,则标号必须从 第一列 开始;程序中可以有注释,注释在第一列开始时前面需标上 星号或分号 ,但在其它列开始的注释前面只能标 分号 。

79.C5402有23条外部程序地址线,其程序空间可扩展到 1M ,内程序区在 第0页 。 二、判断题

26.TMS320LF240X 是浮点运算处理器。(X )

27.DSP中的程序和数据分别存储在不同的存储空间。(√ )

28.DSP芯片中有专用的硬件乘法器,使得乘法累加运算能在单个周期内完成。(√ )

29.MIPS是衡量运算速度的性能指标,即每秒执行百万条指令的意思。(√ )

30.TMS320LF240X DSP的ALU和累加器,只能完成算术运算。(X ) 31.TMS320C54x汇编语言中,符号常量可以用.set定义,不占用存储器。(X )

32.TMS320C54x中断处理分为3个阶段:一是请求中断,二是响应中断,三是执行中断。(√ )

33.TMS320C54x在执行中断之前,要完成所有流水线中的指令。所以,最大的中断延时取决于进入流水线的指令。 (√)

34.TMS320C54x在执行中断服务程序(ISR)时,在进入中断服务程序后,CPU将首先把程序计数器(PC)的值,也即返回地址,压入堆栈,然后把中断矢量的地址装入PC。(×)

35.TMS320C54x有三个状态和控制寄存器,分别是:状态寄存器ST0,状态寄存器ST1,以及处理器方式状态寄存器PMST。(√)

36.程序中未用任何段伪指令,则汇编器将把所有的程序块或数据块统一汇编至.text段中。(×)

37.MEMORY命令是告诉连接器如何将输入段组合成输出段。(×) 38.TMS320C54x在执行中断之前,要完成所有流水线中的指令。所以,最大的中断延时取决于进入流水线的指令。(×) 39.局部标号可以用伪指令来定义。(√)

40.TMS320C54x只有两个状态和控制寄存器,分别是:状态寄存器ST0,

状态寄存器ST1。(×)41.C5000系列DSP低功耗、大运算量,主要用于便携式信息处理终端产品。( √ )

42.TMS320C54X DSP的40位ALU和累加器,仅支持16位算术运算。(  ) 43.浮点DSP与定点DSP相比,价格便宜、功耗较小、运算精度稍低。(  ) 44.循环缓冲区是一个滑动窗,包含最近的数据,若有新的数据到来,它将覆盖旧的数据。( √ )

45.TMS320C54X DSP缓冲串行接口是在同步串口基础上,增加了一个自动缓冲单元,主要提供灵活的数据串长度,并降低服务中断开销。( √ ) 46.TMS320C54x的特殊功能寄存器有2类,第一类寄存器主要用于程序的运算处理和寻址方式的选择及设定,第二类主要用于控制片内外设。(√) 47.TMS320C54x硬件中断有两种形式:一是片外信号触发的外部硬件中断,二是由片内外设触发的内部硬件中断。(√)

48.累加器A和B的差别在于,累加器A的高16位可以用做乘法器的输入。(√)

49.对于TMS320C54xDSP,复位后,中断矢量表位于程序区FF80H位置,能再重新定位于程序空间其它位置。

50.TMS320C54x DSP的ALU和累加器,可以完成算术运算和逻辑运算。(√) 51.如果TMS320C54x系统的源程序是用C语言编写的,经过编译生成的代码是没有流水线冲突问题的。(√) 52.TMS320C54x 是定点运算处理器。(√)

53.汇编编程时,若注释开始在第一列,则应以分号或星号开头;开始在

其他任何列的注释都只能以分号开头。(√)

54.延迟分支转移指令的应用虽然节省了运行时间,但降低了程序的可读性。(×)

语句 var .usect “newvars”,2 所定义的段名是newvars。(√) 55.定时器由主计数器TIM,定时周期寄存器PRD,定时控制寄存器TCR及相应的逻辑控制电路组成。(√)

56、.align是调整段寄存器SPC的命令,没有操作数时,该伪指令默认为页面边界。(√)

块重复操作时应该用STM指令将重复次数加载到重复计数器BRC中。(√) 57.用.usect汇编命令建立的段是自定义段也是未初始化段。(√) 三、简答题

1. TI

公司DSP集成开发环境(CCS)有哪几种工作模式?各自特点是

什么?

答:软件仿真和硬件在线编程两种工作模式。

软件仿真:可以脱离DSP芯片,在PC机上模拟DSP的指令集与工作机制;

硬件在线编程:实时运行在DSP芯片上,可以在线编制和调试应用程序。

2. TMS320C54X DSP

有哪几种串行接口?

答:标准同步串口(SP)、缓冲同步串口(BSP)、多路缓冲串口(MCBSP)、时分多路串口(TMD)

3. 说明C54的内部总线结构?

4. 什么是流水线技术?

答:每条指令通过片内多功能单元在任何一个机器周期内,可以有预取指、取指、译码、寻址、读数、执行多个不同的指令同时工作。最终实现串行的结构,并行的结果。

5. C54

的程序存储空间和数据存储空间的分配,由什么决定?

答:MP/MC决定微处理器/微型计算机工作方式,=0工作在微型计算机方式(允许使用片内ROM),=1工作在微处理器方式(不使用片内ROM)。OVLY控制位用来决定程序存储空间是否使用内部RAM。OVLY=0,片内双寻址数据RAM只能在数据空间寻址,不能在程序空间寻址,=1时可映射到程序和数据空间。DROM=0,片内ROM不能映射到数据空间,=1时一部分可以映射。

6. 常用的汇编命令有哪些,它们的作用是什么?

7. 什么是定点DSP芯片和浮点DSP芯片?各有什么优缺点?

解:按数据的定点格式工作的DSP芯片称为定点DSP;按数据的浮点格式工作的DSP芯片称为浮点DSP;定点DSP的价格便宜,功耗低,但运算精度低;浮点DSP的价格较高,C语言编程调试方便,运算精度高。

8. 简述流水线操作的基本原理。

解:流水线操作是各指令以机器周期为单位相差一个时钟周期,连续并行工作的情况。其本质是DSP多条总线彼此独立地同时工作,使得同一条指令在不同机器周期内占用不同总线资源。同时,不同指令在同一机器周期内占用不同总线资源。

9. ’C54x DSP

有哪些重复操作?各有什么优点?

解:有单条指令重复执行和程序块重复执行两种重复操作。单条指令重复操作功能,可以使乘法/累加和数据块传送那样的多周期指令在执行一次之后变成单周期指令,大大提高了这些指令的执行速度。利用块重复操作进行循环,是一种零开销循环。

10.

C54x寻址方式

寻址用 途(特举 方式 点) 立即主要用于LD 寻址 初始化 绝对利用16位STL 寻址 地址寻址(y)存储单元 累加将累加器器寻中的内容址 作为地址 READ直接利用数据LD 寻址 页指针和堆栈指针寻址 间接利用辅助LD 寻址 寄存器作*AR1为地址指针 存储快速寻址LDM 器映存储器映B 像 寄存器寻址 象寄存器 11. 软件可编程等待状态发生器的功能是什么? 解:软件可编程等待状态产生器可以将外部总线周期扩展到7个机器周期(C549、C5402、C5410和C5420为14个机器周期),这样’C54x DSP可以方便地与慢速的片内存储器和I/O器件接口。 12.简述实时处理的概念。

堆栈压入/弹出PSHM寻址 数据存储器和存储器映像寄存器MMR 实时处理是指在信息或数据产生的同时进行处理处理的结果可以立即用来影响或控制进行中的现象或过程. 处理过程能够用与硬件转换相同的速度去接收和处理样本数据,这意味着处理过程不中断,能够处理连续的数据流。

13.简述处理器的基本组成,并指出冯·诺依曼结构和哈佛结构的区别。

处理器的基本组成:中央处理器(CPU)、内部总线结构、功能寄存器、数据存储器、程序存储器、I/O口、串行口、中断系统、定时器;

冯.诺依曼结构:采用单存储空间,即程序指令和数据公用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行的;

哈佛结构:采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大提高了数据处理能力和指令的执行速度,非常适合与实时的数字信号处理。 14.简述DSP的发展趋势。

DSP的内核结构将进一步改善、DSP和微处理器的融合、DSP和高档的CPU的融合、DSP和SOC的融合、DSP和FPGA的融合、实时操作系统RTOS与DSP的结合、DSP的并行处理结构、功耗越来越低。

8.简述TMS320F2812的性能特点、列出TMS320F2812的在片外设。

TMS320F2812的性能特点:静态的CMOS技术、32位CPU、片内存储器、外部存储器接口、时钟与系统控制、密匙、在片外设、通用I/O;

TMS320F2812的在片外设:3个32位定时器、1个UART、1个SPI、2个SCIs、1个eCAN、1个McBSP、2个事件管理器(EVA、EVB)、1个12位的ADC(可实现16通道异步A/D转换)。 15.简述TMS320F2812处理器CPU的组成及特点。

TMS320F2812处理器CPU的组成:保护流水线机制、独立的寄存器空间、算术逻辑单元ALU、地址寄存器算术单元ARAU、桶形移位器、乘法器;

TMS320F2812处理器CPU的特点:16X16位和32X32位乘法累加操作、哈佛总线结构、快速中断响应和处理、统一的存储器规划、4M的线性程序地址、4M的线性数据地址、高效的代码(C/C++和汇编语言)、TMS320F24X/LF240X处理器源代码兼容。

16.简述OVC/OVCU的工作过程以及OVM对ACC操作的影响。 OVC/OVCU的工作工程:

①对有符号数的操作,OVC是一个有符号的6位循环溢出计数器: 当溢出模式关闭,ACC正常溢出时,OVC反映溢出信息:ACC正向溢出,OVC加1;ACC负向溢出,OVC减1。

当溢出模式开启,ACC产生溢出时,OVC不受影响,但进行以下处理:ACC正向溢出,ACC=7FFF FFFFH;ACC负向溢出,ACC=8000 0000H。 ②对无符号数操作,OVC是一个有符号的6位循环进位计数器: 当ADD操作产生一个进位时,计数器加1;当SUB操作产生一个借位时,计数器减1。

OVM对ACC操作的影响:当ACC进行加减运算而结果产生溢出时,OVM=0或1决定CPU如何处理溢出:OVM=0(溢出模式关闭),ACC中产生的溢出反映到OVC;OVM=1(溢出模式开启),ACC正向溢出(7FFF FFFFH—8000 0000H),则ACC填充7FFF FFFFH,ACC负向溢出(8000 0000H—7FFF FFFFH),则ACC填充8000 0000H。

17.简述中断的概念、可屏蔽中断的初始化及其中断处理流程。

中断的概念:硬件或者软件使得CPU停止执行当前的程序,转而执行另外的子程序;

可屏蔽中断的初始化:状态寄存器ST1中的可屏蔽中断全局使能位INTM清零,中断标志寄存器IFR相应位置1,可屏蔽中断局部使能寄存器IER相应位置1;

中断处理流程:向CPU发出中断请求——置IFR寄存器相应位为1——判断寄存器IER相应位是否为1(假定为1)——判断INTM全局使能位是否为0(假定为0开中断)——清零IFR寄存器相应位——清空流水线——保存返回地址——取中断向量——中断现场保护——清零寄存器IER相应位——置INTM和DBGM为1,将LOOP、EALLOW和IDLESTAT等位清零

——将中断向量装载PC——执行中断服务子程序——返回。 18.简述非连续程序续流的分类及其特点。

非连续程序流的分类:中断、分支、调用、返回和重复操作; 非连续程序流的特点:指令执行从当前连续的程序流转移到另外的新的程序流。

19.简述ITNM、N、V、VMAP等状态标志位对处理器的影响。

INTM:中断全局屏蔽位。INTM可以全局使能和禁止所有的CPU可屏蔽中断,当INTM=0时,可屏蔽中断被全局使能,当INTM=1时,可屏蔽中断被全局禁止;

N:负标志位。在某些操作中,若操作结果为负则N被置位;若操作结果为正则N被清0。测试ACC内容的正负,实际是测试ACC的符号位(D31),若D31=1,则ACC是负数,N=1;若D31=0,则ACC是正数,N=0。测试AH、AL和其他的16位寄存器或数据存储器的内容的正负也是测试符号位(D15);

V:溢出标志。如果操作引起保存结果的寄存器产生溢出,则V置1;如果没有溢出,V不改变。一旦V被锁定,它就保持置位直到复位或者被测试V的条件分支指令来清除(不管测试条件如何);

VMAP:向量映像位。VMAP决定CPU的中断向量映射到程序存储器的低端还是高端,当VMAP=0,CPU的中断向量映射到程序存储器的底部;当VMAP=1,CPU的中断向量映射到程序存储器的高端。

20.简述INTR NMI指令与硬件NMI的特点,如有区别则请指出。

TNTR NMI指令与硬件产生的NMI相同,不能被INTM、DBGM全局中断使能位和寄存器IFR、IER、DBGIER相应的局部中断使能位所屏蔽,TNTR NMI指令与硬件NMI一旦产生,CPU马上转向执行相应的中断服务子程序。但是当CPU处于停止模式(仿真模式)时,没有中断被服务。 21.简述TRAP #0指令与硬件RS的特点,如有区别则请指出。

TRAR #0指令:不能等同与复位信号(初始化),没有进行全部初始化,它只是强制执行与RESET中断向量相应的中断服务;

硬件RS:当硬件RS发生时,进行全部初始化,CPU所有当前的操作被停止,流水线被清空,CPU寄存器被复位,然后执行相应的中断服务。 22.简述TMS320F2812的寄存器分类及各寄存器的特点。

累加器ACC:是CPU的主要工作寄存器,是可单独进行16位/8位访问的32位寄存器。

乘法运算类寄存器:被乘数寄存器(XT),存放32位乘法的一个被乘数(32位有符号整数),可分为两个独立的16位寄存器;结果寄存器(P),存放乘法运算结果,可分为两个独立的16位寄存器,对这个寄存器的内容进行移位操作时由乘积移位模式(PM)位决定。

数据指针类寄存器:数据页指针(DP):16位寄存器,用于直接寻址,存放数据空间的数据页指针;堆栈指针(SP):16位寄存器,实现系统的软件堆栈(堆栈寻址),对低64K字数据空间进行寻址,复位后SP的初值为0400H。

辅助寄存器(XAR0~XAR7):主要用于地址指针指向寄存器和通用目的

寄存器。

程序控制类寄存器:程序计数器(PC):当流水线满的时候,22位PC指针总是指向当前操作的指令;返回程序计数器(RPC):存放返回地址;中断控制寄存器(IFR、IER、DBGIER)

状态寄存器:ST0、ST1。可以和数据寄存器交换数据,也可以保存机器的状态和为子程序恢复状态。

23.简述TRAP指令和INRTR指令的特点。

TRAP:可以初始化任何中断,包括自定义中断,忽略中断控制寄存器IFR、IER相应位是否置1,指令不会对IFR、IER产生影响。

INTR:可以初始化INT1~INT4、DLOGINT、RTOSINT、NMI等中断,指令不受可屏蔽中断全局使能位TNTM和可屏蔽中断局部使能寄存器IER或DBGIER相应位的影响,一旦指令被译码,CPU强制执行相应的中断服务。 24.简述直接寻找方式,并举例说明。

DP(数据页指针):在这种寻址方式中,16位的DP寄存器作为固定的页指针,在指令中提供6位或7位的偏移量,这些偏移量与中的值相连接。这种寻址方式对固定寻址的数据结构,如外围寄存器和C/C++中的全局或静态变量来说,都是一种有效的方法。

例如:MOVW DP,#VarA; 用VarA所在的页值装载DP指针

ADD AL,@VarA; 将VarA存储单元内容加至AL

MOV @VarB,AL; 将AL内容存入VarB存储单元,VarB与VarA

应在同一个64字的数据页内

MOVW DP,#VarC; 用VarC所在的页值装载DP指针 SUB AL,@VarC; 从AL中减去VarC存储单元内容 MOV @VarD,AL; 将AL内容存入VarD存储单元,VarC与VarD应

在同一个64字的数据页内,而VarC、VarD与VarA、VarB在不同的数据页内

(AMODE=0时的“loc16/loc32”语法下的实例)

25.简述堆栈寻址方式,并举例说明。

SP(堆栈指针):在这种寻址方式中,16位的SP指针用于访问软件堆栈的信息。C28X的软件堆栈从低地址到高地址变化(进栈操作),堆栈指针总是指向下一个空位置。在指令中可提供以SP堆栈指针为基准的6位偏移量,用于访问堆栈数据,或者在数据入栈和出栈操作后用于修改堆栈指针。

例如:ADD AL,*-SP[5]; 将(SP-5)个字的堆栈单元的16位内容加至AL

MOV *-SP[8],AL; 将AL中的16位内容存入(SP-8)个字的

堆栈单元

ADDL ACC,*-SP[l2]; 将(SP-12)个字的堆栈单元的32位内

容加至ACCL

MOVL *-SP[34],ACC; 将ACC中的32位内容存入(SP-34)个

字的堆栈单元

(AMODE=0时的“loc16/loc32”*-SP[6bit]语法下的实例)

25.简述间接寻址方式,并举例说明。

XAR0~XAR7(辅助寄存器指针):在这种寻址方式中,用32位的XARn寄存器作为数据指针。可根据一个3位立即数偏移量或其他16位寄存器的内容,对当前寄存器的内容进行操作后修改数据指针。

例如:MOVL XAR2,#Arrayl; 将Arrayl的起始地址装入XAR2

MOVL XAR3,#Array2; 将Array2的起始地址装入XAR3 MOV @AR0,#N-1; 用循环次数N装载AR0 Loop:

MOVL ACC,*XAR2++; 将XAR2所指定的存储单元的内容装入

ACC,且XAR2增量

MOVL *XAR3++,ACC;将ACC内容存入由XAR3所指定的存储单

元,且XAR3增量

BANZ Loop,AR0-; 循环直至AR0==0,AR0减量

(C28x间接寻址方式下“loc16/loc32”XAPn++语法下的实例)

27.简述C2xLP反进位寻址方式,并举例说明。

例如:MOVZ DP,#RegAPtr; 将包含RegAPtr的页地址装入DP

MOVZ AR2,@RegAPtr; 将RegAPtr所包含的内容装入AR2,

AR2H=0

MOVZ AR3,@RegBPtr; 将RegBPtr所包含的内容装入AR3,

AR3H=0

; RegAPtr和RegBPtr处于同一个128字数据

页内,两者都处于低64K数据存储器空间

NOP *,ARP2; 将ARP指针指向XAR2

MOV *,#0x0404; 将0404H送入XAR2所指定的存储单元 NOP *,ARP3; 将ARP指针指向XAR3

MOV *,#0x8000; 将8000H送入XAR3所指定的存储单元 (C2xLP间接寻址方式下“loc16/loc32”*语法下的实例)

28.简述循环间接寻址方式(AMODE=0和1),并举例说明。

例如: ;计算有限脉冲响应滤波器(X[N]为数据阵列,C[N]为系数阵列)

MOVW DP,#Xpointer; 将Xpointer的页地址装入DP MOVL XAR6,@Xpointer; 将当前的Xpointer值装入XAR6 MOVL XAR7,#C; 将C阵列的起始地址装入XAR7 MOV @AR1,#N; 将N阵列的大小装入AR1 SPM-4; 设置乘积移位模式为右移4位 ZAPA; ACC=0,P=0,OVC=0 RPT #N-1; 下一条指令重复执行N次 ‖QMACL P,*AR6%++,*XAR7++; ACC=ACC+P>>4.

**XAR7++)>>32

ADDL ACC,P<MOVL @Xpointer,XAR6; 将XAR6存入当前Xpointer

P=(*AR6%++

MOVL @Sum,ACC; 将结果存入sum

(循环间接寻址方式下“loc16/loc32”*AR6%++语法下的实例)

29.简述立即寻址方式,并举例说明。

在这种寻址方式下,存储器操作的地址就存在于指令中。 例如:MOV loc16,*(0:16bit); [loc16]=[0:16bit]

MOV *(0:16bit),loc16; [loc16]=[0:16bit] (立即寻址方式下*(0:16bit)语法下的实例)

30.简述字节寻址方式,并举例说明。

例如:MOVB AX.LSB,locl6;若(地址方式=*+XARn[AR0/ARl/3bit])

;若(偏移量=偶数值) ;AX.LSB=[loc16].LSB ;AX.MSB=原样 ;若(偏移量=奇数值) ;AX.LSB=[loc16].MSB ;AX.MSB=原样 ;否则

;AX.LSB=[loc16].LSB ;AX.MSB=原样;

MOVB AX.MSB,loc16;若(地址方式=*+XARn[AR0/AR1/3bit])

;若(偏移量=偶数值) ;AX.LSB=原样

;AX.MSB=[loc16].LSB ;若(偏移量=奇数值) ;AX.LSB=原样 ;AX.MSB=[loc16].MSB ;否则

;AX.LSB=原样;AX.MSB=[loc16].LSB

MOVB locl6,AX.LSB;若(地址方式=*+XARn[AR0/AR1/3bit])

;若(偏移量=偶数值) ;[loc16].LSB=AX.LSB ;[loc16].MSB=原样 ;若(偏移量:奇数值) ;[loc16).LSB=untouched ;[loc16].MSB=AX.LSB ;否则

;[loc16].LSB=AX.LSB ;[loc16].MSB;原样

MOVB locl6,AX.MSB;若(地址方式=*+XARn[AR0/AR1/3bit])

;若(偏移量=偶数值) ;[loc16].LSB:AX.MSB ;[10c161.MSB=原样 ;若(偏移量=奇数值)

;[loc16].LSB=原样 ;[loc16].MSB=AX.MSB ;否则

;[loc16].LSB=AX.MSB ;[loc16].MSB=原样

(字节寻址方式下的实例)

31.简述如何跟踪AMODE的改变?

由于汇编器假定的寻址方式是AMODE=0,因此只能使用满足AMODE=0条件下的寻址方式。汇编器可以按照命令行操作改变默认状态,这些行操作是:

-v28 假设AMODE=0(C28X寻址方式) -v28-m20 假设AMODE=1(全C2XLP兼容寻址方式)

汇编器允许在源程序用伪指令使汇编器改写默认方式,并针对新的寻址方式进行语法检查。

例如:.c28_amode;告知汇编器后续代码的寻址方式为AMODE=0(C28X寻址方式)

.lp_amode; 告知汇编器后续代码的寻址方式为AMODE=1(全

C2XLP兼容寻址方式)

32.TMS320F2812的FLASH具有几种状态,它们之间如何实现转换?

状态:复位和休眠状态(功耗最低)、待机状态、工作状态或读状态(功耗最高)三种;

转换:

①从高功耗到低功耗的转换:改变电源寄存器的PWR模式位,同时把FLASH存储体变为低功耗状态;

②从低功耗到高功耗的转换:改变电源寄存器的PWR模式位,同时把FLASH存储体变为高功耗状态,为使FLASH存储器在较高电源模式下保持稳定,要求在从较低功耗状态转变到较高功耗状态时有一个延时。 33.对TMS320F2812的FLASH具有几种访问模式,它们之间有何区别?

二种访问模式:

FLASH的随机访问:对于一个随机访问的等待状态数由FBANKWAIT寄存器的RANDWAIT位来配置,用户需要通过编程来确定适当的等待状态数,以改善基于CPU时钟速率和FLASH访问时间的性能。

FLASH的页访问;FLASH阵列被组织成行和列的形式,行包含2048位信息,对一行的访问认为是随机访问,用户需要通过编程来确定适当的等待状态数,以改善基于CPU时钟速率和FLASH访问时间的性能。 34.简述HOLD和HOLDA,XRD、XWE、XRNW的作用。

HOLD:外部总线保持请求信号,它为低电平时要求XINTF释放外部总

线;

HOLDA:外部总线请求应答信号,当XINTF释放外部总线后,将HOLDA置低,表示外部设备可以使用外部总线;

XRD:XINTF的读使能信号,低电平时有效;

XWE:XINTF的写使能信号,低电平时有效;(注:XRD和XWE不能同

时有效)

XRNW:低电平表示写周期正在进行;高电平表示读周期正在进行;

正常表示高电平。

35.如果XZCS的地址范围:2000H~7FFFH,现需要产生3个片选信号,地址范围为:2000H~3FFFH、4000H~5FFFH、6000H~7FFFH,请画出译码原理图。

用与门实现:

2000H~3FFFH:XA[14]=0,XA[13]=1(输入与门前取反); 4000H~5FFFH:XA[14]=1(输入与门前取反),XA[13]=0;

6000H~7FFFH:XA[14]=1(输入与门前取反),XA[13]=1(输入与门前取反)。

36.简述对XINTF的访问有什么特点?

①每个存储区域都有一个片选信号

②每一个区可进行等待状态、片选信号建立和保持时序等编程,读访问和写访问分开编程

③每个区都可以用XREADY信号去扩展或者不扩展外部等待

④可编程等待状态、芯片选择和可编程选通时间使得接口与外部存储器及外设相脱离。

37.对XINTF访问时,对XREADY的采样有几种方式,各有什么特点?

①同步采样:在访问周期结束之前,相对于1个XTIMCLK的沿,XREADY必须满足一定建立和保持时序,在存取所规定的周期(建立周期+访问周期)之前,XREADY必须被采样1个XTIMCLK周期;

②异步采样:在访问周期结束之前,相对于3个XTIMCLK的沿,XREADY必须满足一定建立和保持时序,在存取所规定的周期(建立周期+访问周期)之前,XREADY必须被采样3个XTIMCLK周期。 38.如何进行看门狗操作?举例说明。

在WD的计数器溢出之前,向WD的WDKEY寄存器写入正确的数据序列,WDCNTR将被复位:当将0x55写入WDKEY寄存器时,WDCNTR处于复位使能状态;如果下一个写入的数据为0xAA,则WDCNTR被复位。当将其它非0x55或0xAA的数据写入WDKEY,则WD模块将输出一个WD复位信号(引起DSP复位);只有0x55、0xAA的写入顺序能够将WDCNTR复位,其它写入顺序既不会复位WDCNTR,也不会复位DSP。

39.如何进行GPIO设置?如果设置为输入,则如何确认输入信号的状态?如果设置为输出,如何改变输出状态?

GPIO设置:配置GPxMUX寄存器,将引脚配置成数字I/O脚或者是外设的I/O信号脚;通过GPxDIR寄存器配置数字I/O的传输方向;输入时,通过GPxQUAL寄存器设置采样脉冲数,以滤去输入噪声,改善信号;输出时,将GPxSET寄存器的位置1将使相应的输出变高,将GPxCLEAR寄存器的位置1将使相应的输出变低,将GPxTOGGLE寄存器的位置1将使相应的输出变为相反电平;

输入信号确认(有两种类型):输入信号首先有SYSCLKOUT同步,然后按GPxQUAL指定的采用周期进行确认。采样的窗长为6个采样周期,只有6次采样值相同,输入才有效;仅在配置为数字I/O时,输入信号才有

SYSCLKOUT同步,因为一些外设自身已经进行过信号同步,但都不需要进行确认;

输出信号的改变:,将GPxSET寄存器的位置1将使相应的输出变高,将GPxCLEAR寄存器的位置1将使相应的输出变低,将GPxTOGGLE寄存器的位置1将使相应的输出变为相反电平。 40.TMS320F281x系列DSP芯片有哪些外部接口?

串行通信外设:一个高速同步串行外设接口(SPI),两个UART接口模块(SCI),增强的CAN2.0B接口模块,多通道缓冲串口(McBSP);其它外设:锁相环(PLL)控制的时钟倍频系数,看门狗定时模块,三个外部中断,3个32位CPU定时器,128位保护密码,高达56个通用I/O引脚。 41、与单片机相比,DSP有何特点?

DSP器件具有较高的集成度。DSP具有更快的CPU,更大容量的存储器,内置有波特率发生器和FIFO缓冲器。提供高速、同步串口和标准异步串口。有的片内集成了A/D和采样/保持电路,可提供PWM输出。DSP器件采用改进的哈佛结构,具有独立的程序和数据空间,允许同时存取程序和数据。内置高速的硬件乘法器,增强的多级流水线,使DSP器件具有高速的数据运算能力。DSP器件比16位单片机单指令执行时间快8~10倍完成一次乘加运算快16~30倍。DSP器件还提供了高度专业化的指令集,提高了FFT快速傅里叶变换和滤波器的运算速度。此外,DSP器件提供JTAG接口,具有更先进的开发手段,批量生产测试更方便,开发工具可实现全空间透明仿真,不占用用户任何资源。软件配有汇编/链接C编译器、C源码调试

器。

42.定时器0(INT1.7)中断与定时器1中断(INT13)、定时器2中断(INT14)相比有何不同?

CPU优先级上:INT1.7为5,INT13为17,INT14为18,依次降低; PIE组内优先级:INT1.7为7

因此定时器0(INT1.7)中断是既涉及CPU中断也涉及PIE中断向量,而定时器1中断(INT13)、定时器2中断(INT14)只涉及CPU级中断。 43.与SCI接口相比,SPI接口有何特点?与外部扩展接口(XINF)相比, SPI接口有何特点?

spi是同步,spi分主从机,通信速率上spi高于sci 串行外设接口(SPI)是一种同步串行输入/输出接口,传输速率最高可达37.5Mbps,信号线少(2-4条),适于板级扩展的外设输入/输出接口,适于板级微处理器间通信

四、程序题(15分)

1、写出计算yxi的主要汇编程序,并给程序添加注释,画出程序的流

i120程图。

解:程序及注释:

.bss x, 20 .bss y, 1 STM #x, AR1

;给变量x分配20个字单元 ;给变量y分配1个字单元 ;取x地址

STM #19, AR2 LD #0, A

;设置循环次数 ;累加器清零

loop: ADD *AR1+, A ;累加x分量

BANZ loop, *AR2- ;循环是否结束,没有结束则继续累加 STL A, @y

;把结果存入y

2、十个数的连加求和程序如下: .title \"exam2.asm\" .mmregs

STACK .usect \"STACK\堆栈的设置

.bss x,10 ;为变量分配6 个字的存储空间 .bss y,1 .def start .data

table: .word 11,12,4,6,5,1,9,14,7,5 ;x1,x2,x3,x4,x5 .text

start: STM #0,SWWSR ;插入0 个等待状态 STM #STACK+10H,sp ;设置堆栈指针 STM #x,AR1 ;AR1 指向x RPT #9 ;下一条被重复执行5 遍

MVPD table,*AR1+ ;把程序存储器中的数据传送到数据存储器

LD #0,A ;A清零 CALL SUM ;调用求和函数 end: B end

SUM: STM #x,AR3 ;AR3 指向x STM #9,AR2 ;AR2=4

loop: ADD *AR3+,A ;*AR3+A-->A,然后AR3+

BANZ loop,*AR2- ;如果AR2 的值不为0,则跳到loop 处; ;否则执行下一条指令

STL A,*(y) ;把A 的低16 位赋给变量y RET .end

编写计算y=a1*x1+a2*x2+a3*x3+a4*x4的汇编源程序

* * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * example.asm y=a1*x1+a2*x2+a3*x3+a4*x4 *

* * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * .title “example.asm” ;为汇编源程序取名 .mmregs ;定义存储器映象寄存器

STACK .usect “STACK”,10h ;分配10h个单元的堆栈空间

.bss a,4 ;为系数a分

配4个单元的空间

.bss x,4 ;为变量x分配4个单元的空间

.bss y,1 ;为结果y 分配1个单元的空间

.def start ;定义标号start

.data ;定义数据代码段

table: .word 1,2,3,4 ;在标号table开始的8个单元中

.word 8,6,4,2 ;为这8个单元赋初值

.text ;定义文本代码段 start: STM #0,SWWSR ;软件等待状态寄存器置0,不设等待 STM #STACK+10h,SP ;设置堆栈指针初值 STM #a,AR1 ;AR1 指向 a的地址

RPT #7 ;从程序存储器向数据存储器

MVPD table,*AR1+ ;重复传送 8个数据

CALL SUM ;调用 SUM 实现乘法累加和的子

程序

end: B end ;循环等待 SUM: STM #a,AR3 ;将系数a的地址赋给AR3 STM #x,AR4 ;将变量x的地址赋给AR3 RPTZ A,#3 ;将A清0,并重复执行下条指令4次

MAC *AR3+,*AR4+,A ; STL A,@y ; RET ; .end ;执行乘法并累加,结果放在A中 将A的低字内容送结果单元y

结束子程序 结束全部程序

因篇幅问题不能全部显示,请点此查看更多更全内容