DSP复习资料与答案_第1页
DSP复习资料与答案_第2页
DSP复习资料与答案_第3页
免费预览已结束,剩余5页可下载查看

下载本文档

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

文档简介

1、1、嵌入式系统ARM 内核和 DSP 内核的结合,意义何在?答: AMR 以控制为核心;DSP 多媒体影音处理,实时信号处理。控制能力好,定时控制好。速度快、开发性好、稳定性高。ARM处理器的三大特点是:耗电少功能强、16 位 /32 位双指令集和众多合作伙伴。2、 DSP 压和的工作电压越来越低,内核电压已经低至1V ,这样做有何意义?为什么DSP 内核工作电I/O 工作电压不一样?答:集成电路速度越来越快,随之而来 ,功耗越来越大,这样散热就是很大的问题.在芯片走线尺寸不变的情况下,内部阻抗也不变,降低工作电压会降低功耗, 这样能再较高频率下芯片发热较少。内核不容易受到外部干扰,所以电压可

2、以做的较低,但IO容易受外部信号干扰,保持较高电压容易是器件工作稳定 ,这是功耗和稳定性的折中。3、 TMS320C54xDSP采用硬件乘法器完成17*17bits带符号乘运算,而软件乘法器(微代码指令)也能完成同样的运算,请问它们有什么区别?答: DSP有专门的硬件来实行乘累加(MAC运算),也就是你说的硬件乘法器,用 MAC 可以在一个处理器时钟周期内,得到两个数据相乘的结果。而典型的微处理器是通过二进制长的相乘进行乘法运算的,当微处理器遇到一个乘法指令时,调用一个内部运算序列(称为微码)在连续的时钟周期中,改执行一系列的移位和相加运算,直到算出结果。因为微码有许多步骤,所以该运算需要许多

3、时钟周期来完成。 (硬件比软件快速完成乘法运算,软件要占用程序空间,运行时间长)4、当要使用硬中断INT3 作为中断响应矢量时, 请问可屏蔽中断寄存器应如何设置。答: IFR 中 INT3 位=1IMR 中 INT3 位=1 使能中断IMR和中断标志寄存器IFR5、若处理器方式寄存器PMST 的值设为01A0H ,而中断矢量为计数器指针PC 的值为多少? 答:PMST:中 IPTR=(000000011)b,int3INT3 ,那么在中断响应时,程序中断向量号为24H,做移量为后变为60H则终端响应时程序计数器指针PC=01E0H6、TMS320C54xDSP 存储器有3 个独立的可选空间组成

4、:程序、数据和间的配置是受MP/MC 、OVL Y 和 DROM3 个位控制的。 如果想使片上I/O 空间。而 'C54x 存储空RAM 同时映射到数据空间和程序空间, 那么MP/MC、OVL Y和DROM的值应如何设置?答:MP/MC=0 ;OVLY=1;DROM=17、 TMS320C54xCPU有一条指令流水线加速了指令执行,请问流水线分几级,分别叙述各级的功能? 6 级流水操作的功能分别是:Prefetch:预取指,把将要执行的指令地址提供给程序地址总线PAB。Fetch:取指,从程序总线PB 上读取程序指令,并放入指令寄存器IR。Decode:译码,指令寄存器IR 中的内容被

5、译码,同时判定操作数类型、寻址方式及控制顺序。Access:访问寻址,数据地址产生单元DAGEN把将要访问的数据存储区地址提供给数据地址总线DAB和CAB 。Read:读操作数, 从数据地址总线DB 和 CB 上读取操作数, 同时把将要写的数据存储区地址提供给写地址总线 EAB。Execute/write :执行 /写操作,执行指令,同时通过数据写总线EB 完成写操作8、DSP 响应中断的条件有哪些?中断响应应满足:·在出现多个中断时,此中断优先级最高。 ·ST1 中 INTM位为 0,允许全局中断。· IMR 中的响应位为1,开放此中断。 ·外部中断响

6、应时间。9、DSP 如何与不同速度的片外存储器及其他外设进行数据交换?答: 软件可编程等待状态发生器可以将外部总线周期扩展到 7 个机器周期,以使 'C54x 能与低速外部设备接口。而需要多于七个等待周期设备,可以用硬件 READY 线来接口。10、循环寻址和位倒序寻址是 DSP 数据寻址的特殊之处,试叙述这两种寻址的特点和它们在数字信号处理算法中的作用。 答:循环寻址可以和任意一种间接寻址模式一起使用。每一个辅助寄存器和系数数据指针,作为对数据或寄存器位的指针时,都可以独立配置成线性或循环寻址。位倒序寻址提高了执行速度和在FFT 算法的程序中使用存储器的效率。在这种寻址方式中,AR0

7、存放的整数N是FFT点数的一半,一个辅助寄存器指向一个数据存放的物理单元。当使用位倒序寻址方式把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右的,而不是从右向左。11、如何在数据存储器中开辟循环缓冲区?答:在数据存储器中开辟一个称之为滑窗的N 个单元的缓冲区,滑窗中存放最新的N 个输入样本;每次输入新样本时,以新样本改写滑窗中的最老的数据,而滑窗中的其他数据不作移动;利用片内BK (循环缓冲区长度)寄存器对滑窗进行间接寻址,循环缓冲区地址首尾相邻。12、在数据存储器中开辟一段循环缓冲区,缓冲区大小为寄存器的内容。答:首地址:EFB内容:64。试写出缓冲区首地址和缓冲区大小X

8、XXXXXXXX0000000b13、使用循环寻址要遵循的三个原则:( 1)循环缓冲区的长度R<2N ,且地址从一个低N 位为0 的地址开始( 2)步长小于或等于缓冲区的长度(3)所使用的辅助寄存器必须指向缓冲区单元14、DSP 特有的位倒序寻址主要应用于址索引应如何确定?答:实数FFTFFT 算法中,针对复数FFT时位倒序寻址索引AR0 存放的整数和实数是 FFTFFT,相应的位倒序寻点数的一半;复数FFT 时位倒序寻址索引AR0存放的整数是 FFT点数1、分析汇编程序为什么要用泰勒展开的方法实现正弦计算。答:因为根据泰勒展开式进行计算来实现正弦信号,他能精确地计算出一个角度的正弦和余

9、弦值,且只需要较小的存储空间2、 'C54x 核心板的最小应用系统包括哪几个部分?电源管理芯片的作用是什么?3、核心板电源管理电路设计中需要特别注意的问题是什么?答:在进行电源设计时,需要特别强调的是模拟电路和数字电路部分要独立供电,数字地与模拟地分开,遵循单点接地的原则。7、 'C54x 定时器由哪几个特殊功能寄存器控制其定时时间,没有扩展的情况下,最长的定时时间由什么决定。 答:由定时设定计数器TIM 、定时周期计数器PRD 和定时控制寄存器TCR这三个特殊功能寄存器控制其定时时间。最长定时时间由指令周期T和TIM设置的初值决定。12、为什么改变锁相环电路PLL模式的乘法系

10、数,首先要将锁相环电路转换成DIV模式? 答:因为在只有DIV模式下才能更改PLLMUL、PLLDIV和PLLON/DOFF位。13、定时器对CPU 时钟分频倍数最大可以是多少?答: 0FFFFH14、 'C54x 核心板的存储空间包括哪几个部分。它们的空间大小分配由什么决定。答: 64K 字程序存储空间, 64K字数据存储空间,64K字 I/O空间MP/MC位若MP/MC=0,则片内ROM安排到程序空间;若 MP/MC=1,则片内ROM不安排到程序空间OVLY位若 OVLY=1 ,则片内RAM安排到程序和数据空间若 OVLY=0则片内RAM只安排到数据存储空间DROM位当 DROM=

11、1 ,则部分片内ROM安排到数据空间当 DROM=0 ,则片内ROM不安排到数据空间15、为了将存储器与具有存储连接功能的外设有机结合在一起,又不发生冲突,硬件连接逻辑应注意的问题是什么?说明原因。答: 1、存储连接功能的外设和CPU 之间的通信,因为存储连接功能的外设和CPU 的速率和通信协议彼此并不一定相同,那么必然需要一种设备来进行协议转换和数据缓冲,以适配速率不同,协议不同的各种外设之间以及外设和 cpu 之间的通信。因此提出总线的概念,连接在一种总线上的所有设备的速率和底层通信协议是一致的。2、相同协议和相同速率的外设连接在一类总线之上,因为系统中某一种总线并不一定只有一条,每一条总

12、线(注意,不是一种,而是一条)都定了一个地址空间,也就是一个地址命名空间。16、说明使用DMA的意义何在。答:能够在没有DSP的核心单元CPU参与的情况下,由DMA控制器完成存储器映射区的数据传输。数据传输可以在片内存储器、片外存储器以及其他外设之间进行。17、在禁止DMA中断的情况下,CPU如何监控DMA通道的传送?答: CPU的中断屏蔽寄存器(IMR)和 INTM位控制着是否响应来自DMA的中断18、FFT算法按抽取方法可分为哪几种方法?按基数可分为哪几种方法。答: FFT算法可分为按时间抽取算法和按频率抽取算法。按基数可分基2、基4、基8 以及任意因子。19、输入序列是按混序存储,输出序

13、列为自然顺序排列的FFT 算法是什么?答:离散傅里叶(DFT)20、使用循环寻址的数据缓冲区的地址应该如何设置?答:由 EFB 定义缓冲区的起始地址,EOB 定义缓冲区的底部地址,循环缓冲区的长度必须是2k>N, k 为整数 ,循环缓冲区的起始地址必须对准2k的边界22、如何在 C 程序中访问汇编语言变量答:( 1)当 C 语言访问· bss 段中汇编变量时1、用“· bss ”或“· usect ”伪指令定义变量 ; 2、用“· global”伪指令定义外部变量 ; 3 、汇编语言在变量名前加“ - ”( 2)当访问不在· bss段中时

14、,定义一个全局指针变量“-XXX”,并将该指针变量指向数据表的首个数据。(3)用 .set和 .global 命令定义全局常数。 从 C 语言程序中访问在汇编语言程序中用.set 和.global 命令定义的常数, 按以下步骤可进行正常访问:1、在汇编语言程序中将常数(符号)定义为全局常数;2、C 语言程序中访问汇编语言程序中的常数时,应在常数名之前加一个地址操作符“&”。23、使用 ADD指令完成加法 temp1+ temp2= temp3LDtemp1, A;将变量 temp1 装入累加器 AADDtemp2, A;将变量 temp2 加到累加器 A 中STLA, temp3; 将

15、结果(累加器A 的低 16位)存入变量 temp3 中24、利用 ADDS 指令实现32 位数据装入LD#0, DP; 设置数据页指针LD60h, 16, A;将 60H 的内容装入累加器A 的高 16 位,同时累加器 A 的低 16 位清 0ADDS61h, A;将 61H 的内容加到累加器A的低16位25、利用 SUB 指令实现两个变量相减STM#60h, AR3;将变量 1 的地址 60H 装入辅助寄存器 AR3STM#61h, AR2;将变量 2 的地址 61H 装入辅助寄存器 AR3SUB*AR2+,*AR3,B ;将变量 1 左移 16 位,同时变量 2 也左移16 位,然后相减,

16、;结果放入累加器B (高 16 位)中,同时 AR2 加 1STHB, 63h;将相减的结果(高 16 位)存入变量3 的地址 63H 中26、使用 SUBC 指令和 RPT 指令实现整数除法: temp3=temp1/temp2 ,余数放在 temp4 中。LDtemp1, B;将被除数 temp1 装入累加器 B 的低 16 位RPT#15;重复执行下一条SUBC 指令 16 次SUBCtemp2, B;使用 SUBC 指令完成除法STLB, temp3;将商(累加器 B 的低 16 位)存入变量 temp3STHB, temp4;将余数(累加器B 的高 16 位)存入变量 temp427

17、、使用 MPY 指令实现整数乘法:RSBXFRCT;清 FRCT 标志,准备整数乘法LDtemp1, T;将变量 temp1 装入 T 寄存器MPYtemp1, A;完成 temp1* temp1,结果放入累加器A 中(32 位)28、使用 MPYA 指令实现小数乘法:SSBXFRCT; FRCT=1 ,准备小数乘法LDtemp1, 16, A;将变量 temp1 装入累加器的高16 位MPYAtemp2;完成 temp2 乘累加器 A 的高 16 位,结果放在 B 中,同;时将 temp2 装入 T 寄存器STHB, temp3;将乘积结果的高 16 位存入变量 temp329、用汇编语言编

18、写程序,实现y=a1*x1+a2*x2+a3*x3+a4*x4。加上适当注释。example.asmy=a1*x1+a2*x2+a3*x3+a4*x4.title “example.asm”; 为汇编源程序取名.mmregs;定义存储器映象寄存器STACK.usect“STACK ” ,10h;分配 10h 个单元的堆栈空间.bssa,4; 为系数 a 分配 4 个单元的空间.bssx,4;为变量 x 分配 4 个单元的空间.bssy,1;为结果 y 分配 1 个单元的空间.defstart;定义标号 start.data;定义数据代码段table:.word1,2,3,4;在标号 table

19、 开始的 8个单元中.word8,6,4,2;为这 8 个单元赋初值.text;定义文本代码段start:STM#0,SWWSR;软件等待状态寄存器置 0,不设等待STM#STACK+10h,SP; 设置堆栈指针初值STM#a,AR1;AR1指向 a 的地址RPT#7;从程序存储器向数据存储器MVPDtable,*AR1+;重复传送 8 个数据CALLSUM;调用 SUM 实现乘法累加和的子程序end: Bend; 循环等待SUM:STM#a,AR3; 将系数 a 的地址赋给 AR3STM#x,AR4; 将变量 x 的地址赋给 AR3RPTZA,#3;将 A 清 0,并重复执行下条指令4 次M

20、AC*AR3+,*AR4+,A;执行乘法并累加,结果放在A 中STLA,y;将 A 的低容送结果单元yRET;结束子程序.end; 结束全部程序30、编写一段程序,将数据存储器中数组x20 中的数据复制到数组y20 中。.title"zh10.asm".mmregsSTACK.usect"STACK",30H.bssx,20.bssy,20.datatable:.word1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20.defstart.textstart:STM#x,AR1RPT#19MVPDtable,*AR1+;从程序存储器传送到数据存储器中STM#x,AR2STM#y,AR3RPT#19MVDD*AR2+,*AR3+;从数据存储器传送到数据存储器中end:Bend.end5 .3 链接命令文件有什么作用?在生成 DSP 代码过程中何时发挥这些作用?答:链接命令文件(.cmd 文件)通

温馨提示

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

评论

0/150

提交评论