欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    DSP复习资料与答案(共5页).doc

    • 资源ID:16270923       资源大小:41.50KB        全文页数:5页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    DSP复习资料与答案(共5页).doc

    精选优质文档-倾情为你奉上1、嵌入式系统ARM内核和DSP内核的结合,意义何在?答:AMR以控制为核心;DSP多媒体影音处理,实时信号处理。控制能力好,定时控制好。速度快、开发性好、稳定性高。ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和众多合作伙伴。2、DSP的工作电压越来越低,内核电压已经低至1V,这样做有何意义?为什么DSP内核工作电压和I/O工作电压不一样?答:集成电路速度越来越快,随之而来,功耗越来越大,这样散热就是很大的问题.在芯片走线尺寸不变的情况下,内部阻抗也不变,降低工作电压会降低功耗,这样能再较高频率下芯片发热较少。内核不容易受到外部干扰,所以电压可以做的较低,但IO容易受外部信号干扰,保持较高电压容易是器件工作稳定,这是功耗和稳定性的折中。3、TMS320C54xDSP采用硬件乘法器完成17*17bits带符号乘运算,而软件乘法器(微代码指令)也能完成同样的运算,请问它们有什么区别? 答:DSP有专门的硬件来实行乘累加(MAC运算),也就是你说的硬件乘法器,用MAC可以在一个处理器时钟周期内,得到两个数据相乘的结果。而典型的微处理器是通过二进制长的相乘进行乘法运算的,当微处理器遇到一个乘法指令时,调用一个内部运算序列(称为微码)在连续的时钟周期中,改执行一系列的移位和相加运算,直到算出结果。因为微码有许多步骤,所以该运算需要许多时钟周期来完成。(硬件比软件快速完成乘法运算,软件要占用程序空间,运行时间长)4、当要使用硬中断INT3作为中断响应矢量时,请问可屏蔽中断寄存器IMR和中断标志寄存器IFR应如何设置。答:IFR中INT3位=1 IMR中INT3位=1使能中断5、若处理器方式寄存器PMST的值设为01A0H,而中断矢量为INT3,那么在中断响应时,程序计数器指针PC的值为多少?答:PMST:中IPTR=()b,int3中断向量号为24H,做移量为后变为60H则终端响应时程序计数器指针PC=01E0H6、TMS320C54xDSP存储器有3个独立的可选空间组成:程序、数据和I/O空间。而'C54x存储空间的配置是受MP/MC、OVLY和DROM3个位控制的。如果想使片上RAM同时映射到数据空间和程序空间,那么MP/MC、OVLY和DROM的值应如何设置? 答:MP/MC=0;OVLY=1;DROM=17、TMS320C54xCPU有一条指令流水线加速了指令执行,请问流水线分几级,分别叙述各级的功能?6级流水操作的功能分别是:Prefetch:预取指,把将要执行的指令地址提供给程序地址总线PAB。Fetch:取指,从程序总线PB上读取程序指令,并放入指令寄存器IR。Decode:译码,指令寄存器IR中的内容被译码,同时判定操作数类型、寻址方式及控制顺序。Access:访问寻址,数据地址产生单元DAGEN把将要访问的数据存储区地址提供给数据地址总线DAB和CAB。Read:读操作数,从数据地址总线DB和CB上读取操作数,同时把将要写的数据存储区地址提供给写地址总线EAB。Execute/write:执行/写操作,执行指令,同时通过数据写总线EB完成写操作8、DSP响应中断的条件有哪些?中断响应应满足: ·在出现多个中断时,此中断优先级最高。·ST1中INTM位为0,允许全局中断。 ·IMR中的响应位为1,开放此中断。·外部中断响应时间 。9、DSP如何与不同速度的片外存储器及其他外设进行数据交换?答: 软件可编程等待状态发生器可以将外部总线周期扩展到7个机器周期,以使'C54x能与低速外部设备接口。而需要多于七个等待周期设备,可以用硬件READY线来接口。10、循环寻址和位倒序寻址是DSP数据寻址的特殊之处,试叙述这两种寻址的特点和它们在数字信号处理算法中的作用。答:循环寻址可以和任意一种间接寻址模式一起使用。每一个辅助寄存器和系数数据指针,作为对数据或寄存器位的指针时,都可以独立配置成线性或循环寻址。位倒序寻址提高了执行速度和在FFT算法的程序中使用存储器的效率。在这种寻址方式中,AR0存放的整数N是FFT点数的一半,一个辅助寄存器指向一个数据存放的物理单元。当使用位倒序寻址方式把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右的,而不是从右向左。11、如何在数据存储器中开辟循环缓冲区?答:在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,滑窗中存放最新的N个输入样本;每次输入新样本时,以新样本改写滑窗中的最老的数据,而滑窗中的其他数据不作移动;利用片内BK(循环缓冲区长度)寄存器对滑窗进行间接寻址,循环缓冲区地址首尾相邻。12、在数据存储器中开辟一段循环缓冲区,缓冲区大小为64。试写出缓冲区首地址和缓冲区大小寄存器的内容。答:首地址: EFB 内容:XXXX XXXX X000 0000b13、使用循环寻址要遵循的三个原则:(1)循环缓冲区的长度R<2N,且地址从一个低N位为0的地址开始(2)步长小于或等于缓冲区的长度(3)所使用的辅助寄存器必须指向缓冲区单元14、DSP特有的位倒序寻址主要应用于FFT算法中,针对复数FFT和实数FFT,相应的位倒序寻址索引应如何确定?答:实数FFT时位倒序寻址索引AR0存放的整数是FFT点数的一半;复数FFT时位倒序寻址索引AR0存放的整数是FFT点数1、分析汇编程序为什么要用泰勒展开的方法实现正弦计算。 答:因为根据泰勒展开式进行计算来实现正弦信号,他能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间2、'C54x核心板的最小应用系统包括哪几个部分?电源管理芯片的作用是什么?3、核心板电源管理电路设计中需要特别注意的问题是什么? 答:在进行电源设计时,需要特别强调的是模拟电路和数字电路部分要独立供电,数字地与模拟地分开,遵循单点接地的原则。7、'C54x定时器由哪几个特殊功能寄存器控制其定时时间,没有扩展的情况下,最长的定时时间由什么决定。答:由定时设定计数器TIM、定时周期计数器PRD和定时控制寄存器TCR这三个特殊功能寄存器控制其定时时间。最长定时时间由指令周期T和TIM设置的初值决定。12、为什么改变锁相环电路PLL模式的乘法系数,首先要将锁相环电路转换成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=1,则部分片内ROM安排到数据空间 当DROM=0,则片内ROM不安排到数据空间15、为了将存储器与具有存储连接功能的外设有机结合在一起,又不发生冲突,硬件连接逻辑应注意的问题是什么?说明原因。答:1、存储连接功能的外设和CPU之间的通信,因为存储连接功能的外设和CPU的速率和通信协议彼此并不一定相同,那么必然需要一种设备来进行协议转换和数据缓冲,以适配速率不同,协议不同的各种外设之间以及外设和cpu之间的通信。因此提出总线的概念,连接在一种总线上的所有设备的速率和底层通信协议是一致的。2、相同协议和相同速率的外设连接在一类总线之上,因为系统中某一种总线并不一定只有一条,每一条总线(注意,不是一种,而是一条)都定了一个地址空间,也就是一个地址命名空间。16、说明使用DMA的意义何在。答:能够在没有DSP的核心单元CPU参与的情况下,由DMA控制器完成存储器映射区的数据传输。数据传输可以在片内存储器、片外存储器以及其他外设之间进行。17、在禁止DMA中断的情况下,CPU如何监控DMA通道的传送?答:CPU的中断屏蔽寄存器(IMR)和INTM位控制着是否响应来自DMA的中断18、FFT算法按抽取方法可分为哪几种方法?按基数可分为哪几种方法。答:FFT算法可分为按时间抽取算法和按频率抽取算法。按基数可分基2、基4、基8以及任意因子。19、输入序列是按混序存储,输出序列为自然顺序排列的FFT算法是什么?答:离散傅里叶(DFT)20、使用循环寻址的数据缓冲区的地址应该如何设置?答:由EFB定义缓冲区的起始地址,EOB定义缓冲区的底部地址,循环缓冲区的长度必须是2k>N, k为整数,循环缓冲区的起始地址必须对准2k的边界22、如何在C程序中访问汇编语言变量 答:(1)当C语言访问·bss段中汇编变量时 1、用“·bss”或“·usect”伪指令定义变量; 2、用“·global”伪指令定义外部变量; 3、汇编语言在变量名前加“-”(2)当访问不在·bss段中时,定义一个全局指针变量“-XXX”,并将该指针变量指向数据表的首个数据。(3)用.set和.global命令定义全局常数。从C语言程序中访问在汇编语言程序中用.set和.global命令定义的常数,按以下步骤可进行正常访问:1、在汇编语言程序中将常数(符号)定义为全局常数;2、C语言程序中访问汇编语言程序中的常数时,应在常数名之前加一个地址操作符“&”。23、使用ADD指令完成加法temp1+ temp2= temp3LD temp1, A ;将变量temp1装入累加器AADD temp2, A ;将变量temp2加到累加器A中STL A, temp3 ;将结果(累加器A的低16位) 存入变量temp3中24、利用ADDS指令实现32位数据装入LD #0, DP ;设置数据页指针LD 60h, 16, A ;将60H的内容装入累加器A的高16位,同时累加器A的低16位清0ADDS 61h, A ;将61H的内容加到累加器A的低16位25、利用SUB指令实现两个变量相减STM #60h, AR3 ;将变量1的地址60H装入辅助寄存器AR3STM #61h, AR2 ;将变量2的地址61H装入辅助寄存器AR3SUB *AR2+,*AR3,B ;将变量1左移16位,同时变量2也左移16位,然后相减,;结果放入累加器B(高16位)中,同时AR2加1STH B, 63h ;将相减的结果(高16位)存入变量3的地址63H中26、使用SUBC指令和RPT指令实现整数除法:temp3=temp1/temp2,余数放在temp4中。LD temp1, B ;将被除数temp1装入累加器B的低16位RPT #15 ;重复执行下一条SUBC指令16次SUBC temp2, B ;使用SUBC指令完成除法STL B, temp3 ;将商(累加器B的低16位)存入变量temp3STH B, temp4 ;将余数(累加器B的高16位)存入变量temp427、使用MPY指令实现整数乘法:RSBX FRCT ;清FRCT标志,准备整数乘法LD temp1, T ;将变量temp1装入T寄存器MPY temp1, A ;完成temp1* temp1,结果放入累加器A中(32位)28、使用MPYA指令实现小数乘法:SSBX FRCT ;FRCT=1,准备小数乘法LD temp1, 16, A ;将变量temp1装入累加器的高16位MPYA temp2 ;完成temp2乘累加器A的高16位,结果放在B中,同;时将temp2装入T寄存器STH B, temp3 ;将乘积结果的高16位存入变量temp329、用汇编语言编写程序,实现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 ;执行乘法并累加,结果放在A中 STL A,y ;将A的低容送结果单元y RET ;结束子程序 .end ;结束全部程序 30、编写一段程序,将数据存储器中数组x20中的数据复制到数组y20中。.title "zh10.asm" .mmregsSTACK .usect "STACK",30H .bss x,20 .bss y,20 .datatable: .word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 .def start .textstart: STM #x,AR1 RPT #19 MVPD table,*AR1+ ;从程序存储器传送到数据存储器中 STM #x,AR2 STM #y,AR3 RPT #19 MVDD *AR2+,*AR3+ ;从数据存储器传送到数据存储器中end: B end .end5 .3 链接命令文件有什么作用?在生成DSP代码过程中何时发挥这些作用?答:链接命令文件(.cmd文件)通过段定位控制命令,分配程序代码空间、数据代码空间、程序运行空间、堆栈空间。此命令文件链接example.obj和vector.obj两个目标文件(输入文件),并生成一个映像文件example.map以及一个可执行的输出文件example.out,标号“start”是程序的入口。5.4 用C语言设计时C编译器会产生哪些代码段?它们包含哪些内容?如何将它们配置到目标存储器中?答:.text段 包括可执行代码、字符串和常量。.cinit段 包括初始化常量和常数表。.const段 为字符串常量和以const关键字定义的常量。.switch段 用于开关(switch)语句的数据表。通常.text、.cinit和.switch段可以链接到系统ROM或RAM中去, 但必须放在程序存储空间(page0);而.const段可以链接到系统ROM或RAM中去,但必须放在数据存储器(page1)。.bss段 保留全局和静态变量空间。在程序开始运行时,C的引(boot)程序将数据从cinit段复制到.bss段。.Stack段 为C的系统堆栈分配存储空间,用于传递变量。.Sysmem段 为动态存储器函数malloc、calloc、realloc分配存储器空间。以上3个段链接到系统RAM中去,但必须放在数据存储器(page1)中。2 .11 TMS320C54x可进行移位操作,它的移位范围是多少?答:C54x的移位操作最多可以左移31位,或右移16位。(-1631)专心-专注-专业

    注意事项

    本文(DSP复习资料与答案(共5页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开