DSP习题答案要点_第1页
DSP习题答案要点_第2页
DSP习题答案要点_第3页
DSP习题答案要点_第4页
DSP习题答案要点_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、一.填空题(本题总分 12分,每空1分)1 .累加器a分为三个部分,分别为 ; ; 。2 . ag,ah,al3 . tms320vc5402型dsp的内部采用 条 位的多总线结构。2. 8,163. tms320vc5402型dsp采用 总线结构对程序存储器和数据存储器进行控制。3.哈佛4. tms329vc5402型dsp有 个辅助工作寄存器。4. 8个5. dsp处理器tms320vc5402中daram 的容量是 字。6. 16k 字7. ti公司的dsp处理器tms320vc5402pge100有 个定时器。6 . 27 .在链接器命令文件中,page 1通常指 存储空间。8 .数据

2、9 . c54x的中断系统的中断源分为 中断和 中断。10 硬件、软件1 . ti公司dsp处理器的软件开发环境是 。2 .答:ccs(code composer studio)3 . dsp处理器tms320vc5402外部有 根地址线。4 .答:20根5 .直接寻址中从页指针的位置可以偏移寻址 个单元。6 .答:1287 .在链接器命令文件中,page 0通常指 存储空间。8 .答:程序5. c54x系列dsp处理器中,实现时钟频率彳频或分频的部件是 。5. 答:锁相环pll6. tms320c54x系列dsp处理器上电复位后,程序从指定存储地址 单元开始工作。6.答:ff80h7. tm

3、s320c54x系列dsp处理器有 个通用i/o弓|脚,分别是 。8. .答:2 个,bio 和 xf9. dsp处理器按数据格式分为两类,分别是 _; 。10. :定点 dsp和浮点dsp11. tms329vc5402型dsp的st1寄存器中,intm 位的功能是 。9 .答:开放/关闭所有可屏蔽中断12. ms320c54x dsp 主机接口 hpi 是 位并行口。13. 答:81.在c54x系列中,按流水线工作方式,分支转移指令的分为哪两种类型: ; 1.答:无延迟分支转移,延迟分支转移3.c54x的程序中,“.bss”段主要用于 。3 .答:为变量保留存储空间4 .从数据总线的宽度来

4、说,tms320vc5402pge100是 位的dsp处理器。4.答:16位7.tms320vc5402型dsp处理器的内核供电电压 伏。7.答:1.8v9.tms320c5402系列dsp处理器最大的数据存储空间为 字。9 .答:64k10 .在链接器命令文件中,page 0通常指 存储空间。11 .答:程序1. dsp技术是利用专用或通用数字信号处理芯片,通过 运算的方法对信号进行处理。1.答:数值运算2. c54x的程序中,".text"段是 段,主要包含 。2.答:文本段,可执行文本3. c54x系列dsp上电复位后的工作频率是由片外3个管脚; ; 来决定的。3.答

5、:clkmd1、clkmd2、clkmd34. dsp处理器tms320c5402最大的程序存储空间为 字。5. 答:1m6. 从应用领域来说,mcu (单片机)主要用于 ; dsp处理器主要应用于7. 答:控制领域;信号处理6. tms320c54x dsp提供一个用16位堆栈指针(sp)寻址的软件堆栈。当向堆栈中压入数据时,堆栈是从 地址向 地址方向填入。6.答:高低7. tms320c54x dsp软硬件复位时,复位中断向量的地址为程序空间的 。8. 答:ff80h4.tms320c54x可编程定时器的定时周期=(时钟周期)* (分频系数tddr+1 ) * (+1 )。4 .答:prd

6、5 .dsp处理器的英文全称 。6 .答:digitalsignal processor7.dsp处理器tms320vc5402的io管脚供电电压 伏。7.答:3.3v8.c54x的程序中,".data"段是 段,主要用于 。8.答:数据段,通常包含初始化数据;10.dsp处理器tms320c5402的i/o空间为 字。10.答:64k1 . tms320vc5402型dsp的累加器是 位。1 . 402. tms329vc5402型dsp的mp/mc管脚的功能是 。2.微计算机或是微处理器工作模式4 . tms320vc5402型dsp的cpu采用 寄存器作为专用硬件实现

7、移位功能。5 .桶形移位寄存器6 .汇编语句“ stl a, y”中“ y”表示 寻址方式。7 .直接寻址8 . tms320vc5402型dsp的st1寄存器中,cpl位的功能是指示 。6.直接寻址采用何种指针8.解释汇编语句“ reada *ar1 ”的功能: 。8.以累加器a的内容作为地址读取程序存储单元,将读取的数据存入以 ar1的内容作为地址的数据存储单元中10. tms320c54x具有两个通用i/o 口,用于输入外设的状态; 用于输出外设的控制信号。10. bio , xf.判断题(本题总分 10分,每小题1分) # 错 1呈 #ii ii ii ii ii ii ii ii i

8、i ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii )目ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii4. dsp处理器tms320vc5402的供电电压为 5v。()5. dsp的工作频率只能是外部晶体振荡器的频率。()8. tms320c54x dsp是浮点型处理器。()9. tms320c54x dsp的汇编语言中有除法指令。()10. tms320v

9、c5402型dsp内部有8k字的rom ,用于存放自举引导程序、u律和a律扩展表、sin函数表以及中断向量表。1. dsp的流水线冲突产生的原因是由于dsp运行速度还不够快。()3. tms320c54x系列dsp外部程序存储器的分页扩展受drom位控制。()4. tms320c54x dsp是浮点型处理器。()6. dsp的工作频率只能是外部晶体振荡器的频率。()9. tms320c54x dsp的汇编语言中有除法指令。()1 .汇编伪指令可以用大写表示。()3. dsp的流水线冲突产生的原因是由于dsp运行速度还不够快。()8. tms320vc5402型dsp汇编指令reada 的寻址范

10、围为 64k字。()10. tms320vc5402型dsp可以通过设置 drom位实现数据存储空间和程序存储空间共享片内daram 。1. tms320vc5402型dsp汇编指令reada 的寻址范围为 64k字。()2. tms320c54x 系列dsp可以通过设置 ovly位实现数据存储空间和程序存储空间共享片内rom。5. tms320vc5402型dsp汇编语言的伪指令也是一种指令,同样占用存储空间。()8. tms320vc5402型dsp的工作频率是由外部晶振唯一确定的。()3. dsp处理器tms320vc5402的中断向量表位置是固定的。()5. tms320vc5402型

11、dsp可以通过设置drom位实现数据存储空间和程序存储空间的共享片内daram 。7. tms320c54x 系列dsp可以通过设置 ovly位实现数据存储空间和程序存储空间的共享片内rom。9. tms320vc5402型dsp汇编语言的伪指令也是一种指令,同样占用存储空间。()1. . dsp处理器tms320vc5402内部含有 saram存储器。()2. 3.3v的ttl电平器件可以直接驱动 5v的cmos器件。()3. dsp的流水线冲突产生的原因是由于dsp运行速度还不够快。()6. c54x系列dsp处理器的累加器 a,b是32位的。()8. dsp处理器tms320vc5402

12、有不止一种串行口。()4. dsp处理器tms320vc5402在微型计算机工作模式时,上电复位后程序从片外存储器的ff80h单元开始执行。5. dsp处理器tms320vc5402的中断向量表位置是固定的。()9. dsp处理器tms320vc5402的程序存储空间只有 64k字。()*正确 *1. . memory伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置。2. tms320c54x dsp汇编语言源程序中,标号是可选项,若使用标号,则标号必须从第一列开始。3. dsp处理器的中断请求可以由软件产生。()6 .哈佛结构的特点是数据总线和程序总线分开。()7 .

13、 dsp和mcu属于软件可编程微处理器,用软件实现数据处理;而不带 cpu软核的fpga属于硬件可编程器件,用硬件实现数据处理。()2.在c54x系列dsp中断向量表中,每个中断向量的入口地址间隔4个字。()4. 在c54x系列dsp中断向量表的最大长度只能128字。()5. dsp对程序存储空间、数据存储空间和i/o空间的选择分别是由三根片选线ps、ds、is独立选择的。0000h-0080h 中。()6. c54x系列dsp的cpu寄存器及片内外设寄存器映射在数据存储空间的第5 页(共2 页)7 .单片机通过 hpi接口可以访问tms320vc5402的全部64k字数据存储空间。8 .在d

14、sp处理器汇编程序中,标号区分大小写。9 . dsp处理器tms320vc5402的堆栈是向低地址方向生长的。10 . dsp处理器tms320vc5402的中断向量表位置是固定的。1.当tms320c54x dsp处于微处理器模式时,2.在tms320vc5402型dsp所有中断向量中,dsp上电复位之后从片外程序存储器的()ff80h开始运行。只有硬件复位向量不能被重定位,即硬件复位向量总是指向程序空间的0ff80h位置。3. dsp和mcu属于软件可编程微处理器,用软件实现数据处理;而不带 程器件,用硬件实现数据处理。5.在dsp处理器汇编程序中,标号区分大小写。7 . dsp处理器tm

15、s320vc5402的软件中断是不可屏蔽的中断。8 .链接器命令文件是用来规定程序段的存放位置的。10. dsp处理器tms320vc5402的堆栈是向低地址方向生长的。2. c54x系列dsp只有两个通用的i/o引脚。cpu软核的( ( ( ( (fpga属于硬件可编)4.在c54x系列dsp的寻址方式中,使用 dp作为直接寻址的偏移寻址范围只有128个字。()5. dsp的流水线冲突可以通过改变编程方法或者添加nop语句来消除。(6. tms320vc5402型dsp汇编语言的寻址方式可以实现fft算法中的位倒序寻址方式。7.在c54x系列dsp中断向量表中,每个中断向量的入口地址间隔9.

16、如果ovly=1 ,程序存储空间可以使用内部ram ,此时,不论低32k字都被映像到内部 ram中。3.在dsp的编程中可以将程序中不同的段放置在不同的存储器中。4个字。xpc为何值,扩展程序存储空间的所有4. c54x系列dsp的寻址方式中,用 dp作为直接寻址的偏移寻址范围只有(128个字。(6.在c54x系列dsp中断向量表中,每个中断向量的入口地址间隔4个字。7. dsp对程序存储空间、数据存储空间和i/o空间的选择分别是由三根片选线ps、9. dsp的流水线冲突可以通过改变编程方法或者添加nop语句来消除。10. tms320c54x系列dsp的汇编语言中分支转移指令执行需要4个机器

17、周期。1. dsp处理器tms320vc5402的定时器可以构成 20位的定时器。2. dsp处理器tms320vc5402的软件中断是不可屏蔽的中断。(ds、(4. dsp处理器tms320vc5402可以计算浮点小数运算。6. tms320vc5402型dsp汇编语言的寻址方式可以实现fft算法中的位倒序寻址方式。8.在dsp的编程中可以将程序中不同的段放置在不同的存储器中。10. tms320c54x 系列dsp的汇编指令 writa可以寻址1m字的程序空间。4.5.7.dsp定点dsp9.dsp处理器tms320vc5402内部没有专用的除法指令。dsp处理器tms320vc5402可

18、以计算浮点小数运算处理器tms320vc5402的定时器可以构成 20位的定时器。处理器tms320vc5402的软件中断是不可屏蔽的中断。10. dsp处理器tms320vc5402支持流水线的指令运行方式()is独立选择的。)()1 .2.3.6.7.8.dsp处理器tms320vc5402内部没有专用的除法指令。定点dsp处理器tms320vc5402可以计算浮点小数运算。ccs软件开发系统支持 c语言程序编程。dsp处理器c54x的软件中断是不可屏蔽的中断。dsp处理器c54x支持流水线的指令运行方式。dsp处理器c54x的堆栈是向低地址方向生长的。10. dsp处理器c54x的汇编程

19、序是由许多“段”组成的。()三.程序阅读题(本题总分30分,每小题10分)1.阅读下面的程序,回答问题。.bss x, 8ld #0001h,16,bstm #7,brcstm #x,ar4rptb next-1add *ar4,16,b,asth a,*ar4+next:ld #0,b问题:(1)寄存器“ brc”的功能是什么?(2)汇编语句“ add *ar4,16,b,a ”执行了多少次?(3)执行语句“ ld #0001h,16,b”后,累加器b的内容是多少?1. (1)寄存器“ brc”的功能是暂存块循环的次数(2) 8 次(3) b=0x0100h;2.阅读下面的程序:.mmreg

20、sdat0.set60hdat1.set61hdat2.set62hdat3.set63hadd3 .macrop1, p2, p3, addrp第7 页(共2 页)ld p1, aaddp2, aaddp3, astl a , addrp .endmst #0034h,dat0st #0243h,dat1st #1230h,dat2add3 dat0,dat1,dat2,da t3问题:(1)语句“.mmregs”的含义。(2)语句“add3 da t0,dat1,dat2,dat3”是一条什么类型的语句?作用是什么?(3)执行此段程序后,存储单元( dat3)的运行结果多少?2. (1)定

21、义存储器映像寄存器的符号名称。(2)宏调用。执行三个数相加。(3) 14a7h3.阅读下面的程序片断,写出运行结果.mmregsdat0 .setldststm60h#004h,dp#0345h,dat0#0002h,tmpy dat0,anop问题:(1)寄存器t的作用是什么?(2)执行“ mpy dat0,a”后,累加器 a的内容是什么?3.答:寄存器t的作用是暂存被乘数,累加器 a的内容为0x68a或68ah1.阅读程序,回答后面的问题stm #6,ar4begin: stm #9,brcrptb next-1 nopnext: ld #0,bbanz begin,*ar4 问题:(1)

22、 brc寄存器是做什么用途?(2)语句"banz begin,*ar4 ”的作用是什么?(3)其中的“ nop”语句被执行了多少次?参数设置表:1.答:brc保存着rptb指令的循环次数判断ar4的内容是否为零,若不为零,跳转到标号begin。70次3.已知dsp的三个时钟引脚状态 clkmd1-clkmd3=111, 外部晶振二10mhz ,clkmd1clkmd2clkmd3clkmd复位值时钟方式000e007hpll x 150019007hpll x 100104007hpll x 51001007hpll x 2110f007hpll x 11110000h2分频101f

23、000h4分频stm #00h , clkmdstatus: ldm clkmd , aand #01h , abc status, aneqstm #9007h, clkmd问题(1) dsp复位后,dsp的工作时钟是多少?(2)执行上面的程序片段后,dsp的工作时钟是多少?3.答:(1)5mhz(2)100mhz1.阅读下面的程序片断,写出运行结果.mmregsbei_hua .set 18ld # bei_hua, a问题:(1) ".mmreg酌作用是什么?(2)运行此段程序后,累加器 a的结果是多少?1 .答:定义存储器映像寄存器的符号名称a的结果是182 .阅读下面的程序

24、,回答问题。.sect ".vectors"第9 页(共2 页)rst: b _c_int00;复位中断向量的入口nopnop.space 18*4*16tint: b timeout;定时器0的中断向量的入口nopnop问:(1) ”.se岫指令的作用是什么?(2)标号“rsl的地址为6000h,请问标号“tint的地址是多少?2 .答:定义一个自定义段名的程序段604ch3 .阅读下面的命令连接文件(简称 cmd文件)和程序文件cmd文件:memory page 0: prog: origin = 0x1000,length = 0x1000page 1: data:o

25、rigin = 0x2000,length = 0x1000sections .text:>prog page 0.data:>data page 1.datatable:.word 1,2,3,4;变量初始化.text start:stm # 0,swwsr;插入0个等待状态问:(1) memory和sections的作用各是什么?(2)标号" table”和“ start”的地址分别是什么,分别位于程序空间还是数据空间?3.答:memory和sections链接伪指令,用来指定目标存储器结构和地址分配。标号table: 1000h(程序空间)标号start: 2000

26、h(数据空间) 1.阅读下面的程序片断,回答下面的问题dat0.set60hdat1.set61hdat2.set62hdat3.set63hld #004h,dpst #83h,dat0st #0041h,dat1rsbx sxmld dat0,arpt #15subc dat1,astl a,dat2sth a,dat3问:在cpl=0的情况下,(1) 语句“stl a,dat2",其中dat2所指的地址是多少?(2) 存储单元(dat2)和(dat3)的内容是多少?1 .答:(1) 0262h(2) (da t2)=02h(dat3)=01h2.阅读下面的程序,回答问题。mem

27、ory page 0: prog: origin = 0x2000,length = 0x1000page 1: data: origin = 0x3000,length = 0x1000sections .text: >prog page 0.bss: >data page 1汇编程序:.bssa,4.bssx,4.bssy,1stm#a, ar3stm#x, ar4rptz a, #3mac*ar3+,*ar4+,astla,*(y)问题:(1)指令“stm #a, ar3”的作用是什么?执行此句指令后,寄存器 ar3的内容是多少?(2)指令“mac *ar3+,*ar4+,a

28、 ”执行了几次?每执行一次寄存器ar3和ar4的内容如何变化?(3)这段代码的功能是什么?2 .答:(1)将标号a的地址赋给辅助工作寄存器ar3 , ar3=3000h。(2)执行了 4次,每执行一次辅助工作寄存器ar3和ar4的内容增一。4(3) y = a aixii 13.阅读下面的程序,回答问题。memory page 0:prog: origin = 0x2000,length = 0x1000page 1:data: origin = 0x4000,length = 0x1000 sections .text:>prog page 0stack:>data page 1

29、 汇编程序size .set 0x0120 stack .usect stack”, size .text问题:stm(1)指令# stack + size, sp"stack .usect stack ",size”的作用是什么?(2)标号" stack”的存储器地址是多少?(3)执行这段代码之后,sp寄存器的内容是多少?3.答:(1)定义一个未初始化段,段名为"stack”,目的是为变量 stack保留size个单元的存储空间。(2) stack的存储空间为 0x4000;(3) sp=0x4120;(4) memorypage 0: prom:or

30、g=0e000h,len=100hvecs:org=0ff80h,len=04hpage 1: spram: org=0060h,len=20hdaram: org=0080h,len=100hsections .text:eprompage0.data:eprompage0.bss:sprampage1stack:>darampage1vectors:vecspage0问题:(1)该文件是如何配置程序空间和数据空间的?(2)该文件中出现了几个段?哪些是初始化段?哪些是未初始化段?各段是如何分配的?1 .答:该文件使用 memory伪指令将程序空间划分为两个小区间: 名为prom的区间其

31、起始地址为 0e000h, 长度为100h字;名为vecs的区间其起始地址为 0ff80h,长度为4字。将数据空间也分为了两个小区间 :名 为spram的区间其起始地址为 0060h,长度为20h字;名为daram 的区间其起始地址为 0080h,长度为100h(2)出现了 5个段,.text, .data和vectors是初始化段,.bss和stack段是未初始化段。.text和.data分配到程序空间的 eprom区间;.bss分配到数据空间 spram区间;stack段分配到数 据空间的daram 区间;vectors段分配到程序空间的 vecs区间。2 .阅读下面的程序片段,写出运行结

32、果.mmregsdat0 .setldststm60h#004h,dp#0345h,dat0#0002h,tmpy dat0,anopnop问题:(1)寄存器t的作用是什么?(2)执行“ mpy dat0,a”后,累加器 a的内容是什么?3 .答:寄存器t的作用是暂存被乘数,累加器a的内容为0x68a或68ah4 .已知dsp的三个时钟引脚状态 clkmd1-clkmd3=101, 外部晶振二10mhz ,参数设置表:clkmd1clkmd2clkmd3clkmd复位值时钟方式000e007hpll x 150019007hpll x 100104007hpll x 51001007hpll

33、x 2110f007hpll x 11110000h2分频101f000h4分频stm #00h , clkmdstatus: ldm clkmd , aand #01h , abc status, aneqstm #9087h, clkmd问题:(1) dsp复位后,dsp的工作时钟是多少?(2)执行上面的程序片段后,dsp的工作时钟是多少?3.答:(1)2.5mhz(2)100mhz1.阅读程序,回答后面的问题stm #9,ar4begin: stm #7,brcrptb next-1 nopnext: ld #0,bbanz begin,*ar4-问(1) brc寄存器是做什么用途?(2

34、)其中的“ nop”语句被执行了多少次?1 .答:brc保存着rptb指令的循环次数80次2 .阅读下面的程序,回答问题。memory page 0: prog: origin = 0x2000,page 1: data: origin = 0x3000, length = 0x1000length = 0x1000sections .text:stack:汇编程序 > prog page 0size.setstack.usect.text0x0120stack",size > data page 1stm # stack + size, sp问题:(1)指令"

35、stack .usect stack”, size"的作用是什么?(2)标号" stack”的存储器地址是多少? (3)执行这段代码之后,sp寄存器的内容是多少?2.答:(1)定义一个未初始化段,段名为"stack”,目的是为变量 stack保留size个单元的存储空间。(2) stack的存储空间为 0x4000;(3) sp=0x4120;3.阅读下面的程序,回答问题。memory page 0: prog:origin = 0x2000, length = 0x1000page 1: data: origin = 0x3100, length = 0x100

36、0sections .text:> prog page 0.bss:> data page 1汇编程序:.bss x, 16.bss y, 16.textstm #x, ar2stm #y, ar3rpt #15mvdd ar2+ , *ar3+问题:(1)变量“ x”的存储器地址是多少?位于哪个存储空间(程序还是数据存储空间)。(2)语句“ stm #x,ar2”的作用是什么?执行此句指令后,寄存器 ar2的内容是多少?(3)语句“ mvdd ar2+, *ar3+ ”的执行了多少次?每执行一次寄存器 ar2和ar3的内容如何 变化?(4)此段代码的功能是多少?3.答:(1)变量

37、“ x”的存储器地址是 0x3100;位于数据存储空间(2)将变量“ x”的地址赋给辅助工作寄存器ar2 , ar2=3100h。(3)执彳t了 16次,每执行一次辅助工作寄存器 ar2和ar3的内容增一。(4)将数组变量“ x”的数据传送到数组变量“ v”中。1 .阅读下面的程序,回答后面的问题.bss x,10.bss y,1stm#x,ar1stm#9,ar2ld#0,aloop: add*ar1 + ,abanz loop,*ar2-stla, * (y)问:(1)解释语句“.bss x,10”的含义。(2)解释语句“ stl a, * (y) ”的含义。(3)这一段程序实现什么功能?

38、1.答:(1)给x保留10个空间 (2)将累加器a的低16位数据存储到变量 y中。10(3) y = " xi i 13.阅读下面的程序,回答问题。 memory page 0: prog:origin = 0x2000, length = 0x1000page 1: data: origin = 0x3100, length = 0x1000 sections .text:> prog page 0.bss:> data page 1汇编程序: .bss x, 16 .bss y, 16 .text stm #x, ar2 stm #y, ar3 rpt #15 mvd

39、d ar2+ , *ar3+ 问题:(1)变量“ x”的存储器地址是多少?位于哪个存储空间(程序还是数据存储空间)。(2)语句“ stm #x,ar2”的作用是什么?执行此句指令后,寄存器 ar2的内容是多少?(3)语句“ mvdd ar2+, *ar3+ ”的执行了多少次?每执行一次寄存器ar2和ar3的内容如何变化?(4)此段代码的功能是多少?3.答:(1)变量“ x”的存储器地址是 0x3100;位于数据存储空间(2)将变量“ x”的地址赋给辅助工作寄存器ar2 , ar2=3100h。(3)执彳t了 16次,每执行一次辅助工作寄存器 ar2和ar3的内容增一。(4)将数组变量“ x”的

40、数据传送到数组变量“ y”中。1.阅读下面的程序片段,回答后面的问题 .sect ".vectors"rst: b _c_int00 nop nop .space 18*4*16 tint:b timeoutnop nop问:(1) :sect”伪指令的作用是什么?(2)标号“ rst”的地址为6000h,请问标号“ tint”的地址是多少?1 .答:定义存储器映像寄存器的符号名称(5)a的结果是18(5)2 .阅读下面的命令连接文件(简称 cmd文件)和程序文件: cmd文件: memory page 0: prog: origin = 0x1000,length = 0

41、x1000page 1: data:origin = 0x2000,length = 0x1000 sections .text:> prog page 0.data:> data page 1第13 页(共2 页)程序文件.datatable:.word 1,2,3,4;变量初始化.textstart: stm # 0,swwsr;插入0个等待状态问题:(1) memory 和sections的作用各是什么?(2)标号"table”和“ start”的地址分别是什么,分别位于程序空间还是数据空间?2 .答:定义一个自定义段名的程序段(5)604ch(5)3.已知dsp的

42、三个时钟引脚状态 clkmd1-clkmd3=110,外部晶振二10mhz ,参数设置表:clkmd1clkmd2clkmd3clkmd复位值时钟方式000e007hpll x 150019007hpll x 100104007hpll x 51001007hpll x 2110f007hpll x 11110000h口分频n101f000h4分频stm #00h, clkmdstatus: ldm clkmd , aand #01h , a bc status, aneqstm #4087h, clkmd问题:(1) dsp复位后,dsp的工作时钟是多少?(2)执行上面的程序片段后,dsp的

43、工作时钟是多少?3.答:(1)10 mhz(5)(2)50mhz( 5)四.简答题(本题总分 48分,每小题8分)1. tms320c54x指令系统的寻址方式各有哪些?各寻址方式举一例说明。1.答:寻址方式用途举例指令含义立即寻址主要用于初始化ld #10, a立即数10 > a绝对寻址利用16位地址寻址存储单元stl a , * ( y)将al内容存入y所在的存储单兀累加器寻址将累加器中的内容作为地址reada x将a的内容作为地址读程序存储 器,并存入x存储单兀直接寻址利用数据页指针和堆栈指针寻址ld x, a(dp+x的低7位地址)? a间接寻址利用辅助寄存器作为地址指针ld *a

44、r1 , a(ar1) -> a存储器映像 寄存器寻址快速寻址存储器映象寄存器ldm st1, b(st1) -> b堆栈寻址压入/弹出数据存储器和存储器映 像寄存器mmrpshm ag(sp)-1 - >sp,(ag) -> (sp)2.在c54x的汇编语言中,使用“#” “*、” “符号作为操作数的前缀各表示什么意思?2 .答:使用"#号作为前缀,汇编器将操作数作为立即数处理。即使操作数是寄存器或地址,也将作为立即使用“*符号作为前缀,汇编器将操作数作为间接地址,即把操作数的内容作为地址。使用“符号作为前缀,汇编器将操作数作为直接地址,即操作数由直接地址码

45、赋值。3 .简述coff文件中“段”的概念,有哪些常用的段?3 .答:段是coff文件中最重要的概念。每个目标文件都分成若干段。段是存储器中占据相邻空间的代码或数据块。一个目标文件中的每个段都是分开的和各不相同的。.text段(文本段),通常包含可执行代码;.data段(数据段),通常包含初始化数据;.sect段一一已初始化段,由汇编器伪指令建立的自定义段。.bss段未初始化段;.usect段一一未初始化段,由汇编命令建立的命名段(自定义段)。4 .简述链接器命令文件中 memory和sections两条指令的作用。4 .答:memory伪指令一一用来定义目标系统的存储器配置空间,包括对存储器

46、各部分命名,以及规定 它们的起始地址和长度。sections伪指令一一用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置,也 可用于指定子段。5 .已知dsp的工作时钟为20mhz ,现需要用定时器定时 10ms,请问prd和tddr寄存器的初始值如何 确定?5 .答:(prd)=19999,(tddr)=9 ;或(prd)=49999,(tddr)=46 .一个典型的dsp系统通常由哪些部分组成?画出框图 .6. dsp芯片及dsp基本系统、程序和数据存储器、数 /模和模/数转换器、模拟控制与处理电路、各种控制 口和通信口、电源处理电路和同步电路等。控制口通信口tms320c

47、54xe eprom-m_ram第17 页(共2 页)1.数字信号处理技术及算法在工程实践中常见的实现方法有哪些?1.答:数字信号处理技术及算法在工程实践中常见的实现方法有:在通用计算机(pc机)上用软件(如 fortran、c语言)实现 在通用计算机系统中加入专用的加速处理机实现用单片机实现用通用的可编程dsp芯片实现fft、数字滤波、卷积、用专用的dsp芯片实现,可用在要求信号处理速度极快的特殊场合,如专用于 相关算法的dsp芯片 用基于通用dsp核的asic芯片实现。2.简述冯 诺依曼结构、哈佛结构和改进的哈佛结构之间的区别。2 .答:冯诺伊曼(von neuman)结构采用单存储空间,

48、即程序指令和数据共用一个存储空间,使用单一的 地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。哈佛(harvard)结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据 总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并 行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线和多条数据总线。允许在程序空间 和数据空间之间相互传送数据,

49、使这些数据可以由算术运算指令直接调用,增强芯片的灵活性;提供了存储指令的高速缓冲器(cache)和相应的指令,当重复执行这些指令时,只需读入一次就可连续使用,不需要再次从 程序存储器中读出,从而减少了指令执行作需要的时间。3 .简述链接命令文件(cmd文件)的功能。3 .答:链接命令文件(cmd文件)指定存储器的结本和段的定位,有 memory和sections两条指令。memory伪指令用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们 的起始地址和长度。sections伪指令一一用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置,也 可用于指定子段。4

50、.简述dsp处理器中断系统分为几种中断,如何清除中断标志?5 .答:硬件中断:由片外管脚和片内外设引起的中断,又分为可屏蔽中断和非屏蔽中断。软件中断:软件中断是由程序指令产生的中断请求,有三种情况将清除中断标志:(1)软件和硬件复位,即c54x勺复位引脚rs=0;(2)相应的ifr标志位置1;(3)使用相应的中断号响应该中断,即使用 intr #k指令。5 .简述c54x系列dsp定时器的组成部分、各部分分别起什么作用?6 .答:定时器主要由定时寄存器 tim、定时周期寄存器 prd、定时控制寄存器 tcr及相应的逻辑控制电 路组成。定时周期寄存器 prd用来存放定时时间,定时寄存器 tim为16位减1计数器,定时控制寄存器 tcr存放定时器的控制位和状态位,逻辑控制电路用来控制定时器协调工作。7 .简述dsp处理器tms320vc5402在微计算机工作模式中上电启动的过程。6.答:dsp上电复位后,程序 pc指针跳转到0xff80位置,在芯片的0xff80这个单元中存储着跳转指令、 程序自动跳转到 0xf800,开始执行自举装载程序,自举装载程序将片外存储器的程序搬运到dsp程序存储空间的某个地方,

温馨提示

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

评论

0/150

提交评论