DSP历年期末试卷及答案
试卷1
一.填空题(本题总分12分,每空1分)
1.TMS320VC5402型DSP的内部采用条位的多总线结构。2.TMS329VC5402型DSP有个辅助工作寄存器。
3.在链接器命令文件中,PAGE 1通常指________存储空间。
4.TI公司DSP处理器的软件开发环境是__________________。
5.直接寻址中从页指针的位置可以偏移寻址个单元。
6.TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址________单元开始工作。7.MS320C54X DSP主机接口HPI是________位并行口。
8.TMS320VC5402型DSP处理器的内核供电电压________伏。
9. C54x系列DSP上电复位后的工作频率是由片外3个管脚;;来决定的。
二.判断题(本题总分10分,每小题1分,正确打“√”,错误打“×”)1.DSP 处理器TMS320VC5402的供电电压为5V。()2.TMS320VC5402型DSP内部有8K字的ROM,用于存放自举引导程序、u律和A律扩展表、sin函数表以及中断向量表。()3.MEMORY伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置。()4. DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。()5.DSP和MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA 属于硬件可编程器件,用硬件实现数据处理。()6. C54x系列DSP的CPU寄存器及片内外设寄存器映射在数据存储空间的0000h-0080h中。
()7.TMS320C54X 系列DSP可以通过设置OVL Y位实现数据存储空间和程序存储空间共享片内ROM。()
8. TMS320VC5402型DSP汇编指令READA的寻址范围为64K字。()
9.在TMS320VC5402型DSP所有中断向量中,只有硬件复位向量不能被重定位,即硬件复位向量总是指向程序空间的0FF80H位置。()10. C54x系列DSP只有两个通用的I/O引脚。()三.程序阅读题(本题总分30分,每小题10分)
1. 阅读下面的程序,回答问题。
.bss x, 8
LD #0001H,16,B
STM #7,BRC
STM #x,AR4
RPTB next-1
ADD *AR4,16,B,A
STH A,*AR4+
next: LD #0,B
问题:(1)寄存器“BRC”的功能是什么?
(2)汇编语句“ADD *AR4,16,B,A”执行了多少次?
(3)执行语句“LD #0001H,16,B”后,累加器B的内容是多少?
2.已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=111,外部晶振=10MHz,参数设置表:
CLKMD1 CLKMD2 CLKMD3 CLKMD复位值时钟方式
0 0 0 E007H PLL×15
0 0 1 9007H PLL×10
0 1 0 4007H PLL×5
1 0 0 1007H PLL×2
1 1 0 F007H PLL×1
1 1 1 0000H 2分频
1 0 1 F000H 4分频
STM #00H,CLKMD
Status:LDM CLKMD,A
AND #01H,A
BC Status,ANEQ
STM #9007H,CLKMD
问题(1)DSP复位后,DSP的工作时钟是多少?
(2)执行上面的程序片段后,DSP的工作时钟是多少?
3.阅读下面的命令连接文件(简称CMD文件)和程序文件:
CMD文件:
MEMORY
{ PAGE 0: PROG: origin = 0x1000, length = 0x1000
PAGE 1: DATA: origin = 0x2000, length = 0x1000
}
SECTIONS
{ .text: {} > PROG PAGE 0
.data: {} > DATA PAGE 1
}
.data
table: .word 1,2,3,4 ; 变量初始化
.text
start: STM # 0,SWWSR ; 插入0个等待状态
问:(1)MEMORY和SECTIONS的作用各是什么?
(2)标号“table”和“start”的地址分别是什么,分别位于程序空间还是数据空间?四.简答题(本题总分48分,每小题8分)
1.在C54x的汇编语言中,使用“#”、“*”、“@”符号作为操作数的前缀各表示什么意思?
2.简述COFF文件中“段”的概念,有哪些常用的段?
3.简述冯·诺依曼结构、哈佛结构和改进的哈佛结构之间的区别。
4.简述C54x系列DSP定时器的组成部分、各部分分别起什么作用?
5.简述DSP处理器TMS320VC5402在微计算机工作模式中上电启动的过程。
6. 简述PMST寄存器中IPTR的作用。
答案1
一.填空题(本题总分12分,每空1分)
1.8,16 2.8个3.数据4.答:CCS(Code Composer Studio)
5.答:128 6.答:FF80h 7.答:8 8.答:1.8v
9.答:CLKMD1、CLKMD2、CLKMD3
二.判断题(本题总分10分,每小题1分,正确打“√”,错误打“×”)1.× 2. × 3. √ 4. × 5. √ 6. √7. ×8. ×9. √10. √三.程序阅读题(本题总分30分,每小题10分)
1.(1) 寄存器“BRC”的功能是暂存块循环的次数(2) 8次(3) B=0x0100H;
2. 答:(1)5MHz (2)100MHz
3. 答:MEMORY和SECTIONS链接伪指令,用来指定目标存储器结构和地址分配。
标号table:1000h(程序空间) 标号start:2000h(数据空间)
四.简答题(本题总分48分,每小题8分)
1.答:使用“#”号作为前缀,汇编器将操作数作为立即数处理。即使操作数是寄存器或地址,也将作为立即数。
使用“*”符号作为前缀,汇编器将操作数作为间接地址,即把操作数的内容作为地址。
使用“@”符号作为前缀,汇编器将操作数作为直接地址,即操作数由直接地址码赋值。2.答:段是COFF文件中最重要的概念。每个目标文件都分成若干段。段——是存储器中占据相邻空间的代码或数据块。一个目标文件中的每个段都是分开的和各不相同的。
.text 段(文本段),通常包含可执行代码;
.data 段(数据段),通常包含初始化数据;
.sect段——已初始化段,由汇编器伪指令建立的自定义段。
.bss段——未初始化段;
.usect段——未初始化段,由汇编命令建立的命名段(自定义段)。
3. 答:冯·诺伊曼(V on Neuman)结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
哈佛(Harvard)结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。
改进型的哈佛结构是采用双存储空间和数条总线,即一条程序总线和多条数据总线。允许在程序空间和数据空间之间相互传送数据,使这些数据可以由算术运算指令直接调用,增强芯片的灵活性;提供了存储指令的高速缓冲器(cache)和相应的指令,当重复执行这些指令时,只需读入一次就可连续使用,不需要再次从程序存储器中读出,从而减少了指令执行作需要的时间。
4.答:定时器主要由定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR及相应的逻辑控制电路组成。定时周期寄存器PRD用来存放定时时间,定时寄存器TIM为16位减1计数器,定时控制寄存器TCR存放定时器的控制位和状态位,逻辑控制电路用来控制定时器协调工作。
5. 答:DSP上电复位后,程序PC指针跳转到0xff80位置,在芯片的0xff80这个单元中存
储着跳转指令、程序自动跳转到0xF800,开始执行自举装载程序,自举装载程序将片外存储器的程序搬运到DSP程序存储空间的某个地方,自举装载程序的最后一条指令是跳转指令,程序接着跳转到刚才搬运在程序存储空间的某个地址,从而开始程序的自动运行。6.答:C54x的中断向量地址是由PMST寄存器中的IPTR(9位中断向量指针)和左移2位后的中断向量序号所组成。
中断向量地址=IPTR+(左移2位的中断向量序号)
DSP试卷2
一.填空题(本题总分12分,每空1分)
1.累加器A分为三个部分,分别为;;。
2.TI公司的DSP处理器TMS320VC5402PGE100有___________个定时器。
3.TMS329VC5402型DSP的ST1寄存器中,INTM位的功能是。
4.在链接器命令文件中,PAGE 0通常指________存储空间。
5.DSP处理器按数据格式分为两类,分别是_______ __;_____ ___。
6.DSP处理器TMS320VC5402的IO管脚供电电压________伏。
7.TMS320VC5402型DSP的累加器是位。
8.TMS320C54X具有两个通用I/O口,________用于输入外设的状态;________用于输出外设的控制信号。
二.判断题(本题总分10分,每小题1分)
1.DSP的工作频率只能是外部晶体振荡器的频率。()2.TMS320C54X DSP的汇编语言中有除法指令。()3.哈佛结构的特点是数据总线和程序总线分开。()
4.在C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4个字。()
5.在DSP处理器汇编程序中,标号区分大小写。()
6. TMS320VC5402型DSP汇编语言的伪指令也是一种指令,同样占用存储空间。()
7. DSP 处理器TMS320VC5402的软件中断是不可屏蔽的中断。()8.DSP 处理器TMS320VC5402有不止一种串行口。()9.DSP处理器TMS320VC5402在微型计算机工作模式时,上电复位后程序从片外存储器的FF80h单元开始执行。()10. TMS320VC5402型DSP汇编语言的寻址方式可以实现FFT算法中的位倒序寻址方式。
()三.程序阅读题(本题总分30分,每小题10分)
1.阅读下面的程序:
.mmregs
DAT0 .SET 60H
DAT1 .SET 61H
DAT2 .SET 62H
DAT3 .SET 63H
add3 .macro P1,P2,P3,ADDRP
LD P1,A
ADD P2,A
ADD P3,A
STL A,ADDRP
.endm
ST #0034h,DA T0
ST #0243h,DA T1
ST #1230h,DA T2
ADD3 DA T0,DA T1,DAT2,DA T3
问题:(1)语句“.mmregs”的含义。
(2)语句“ADD3 DAT0,DAT1,DAT2,DAT3”是一条什么类型的语句?作用是什么?
(3)执行此段程序后,存储单元(DAT3)的运行结果多少?
2.阅读下面的程序,回答问题。
MEMORY
{ PAGE 0: PROG: origin = 0x2000, length = 0x1000
PAGE 1: DA TA: origin = 0x4000, length = 0x1000
}
SECTIONS
{ .text: {} > PROG PAGE 0
STACK: {} > DATA PAGE 1
}
汇编程序
size .set 0x0120
stack .usect “STACK”,size
.text
STM # stack + size,SP
问题:(1)指令“stack .usect “STACK”,size”的作用是什么?
(2)标号“stack”的存储器地址是多少?
(3)执行这段代码之后,SP寄存器的内容是多少?
3. 阅读程序,回答后面的问题
STM #9,AR4
begin: STM #7,BRC
RPTB next-1
nop
next: LD #0,B
banz begin,*AR4-
问(1)BRC寄存器是做什么用途?
(2)其中的“nop”语句被执行了多少次?
四.简答题(本题总分48分,每小题8分)
1.简述链接器命令文件中MEMORY和SECTIONS两条指令的作用。
2.简述DSP处理器中断系统分为几种中断,如何清除中断标志?
3. 在C54x的程序中,“.text”和“.sect”段有什么区别?
4. 简述C54x系列DSP的定时器工作过程。
5. 宏指令与子程序有哪些区别?
6. 简述TI公司C2000, C5000, C6000系列处理器的应用范围。
答案2
课程名称:DSP原理及应用试卷编号:
一.填空题(本题总分12分,每空1分)
1.AG,AH,AL 2.2 3.答:开放/关闭所有可屏蔽中断4.答:程序5.答:定点DSP 浮点DSP 6. BIO,XF 7.40 8.答: 3.3v
二.判断题(本题总分10分,每小题1分,正确打“√”,错误打“×”)
1.×
2. ×
3. √
4. √
5. √
6. ×
7. √
8. ×
9. ×10. √三.程序阅读题(本题总分30分,每小题10分)
1.(1) 定义存储器映像寄存器的符号名称。(2)宏调用。执行三个数相加。(3) 14a7H 2.答:(1)定义一个未初始化段,段名为”STACK”,目的是为变量stack保留size个单元的存储空间。(2) stack的存储空间为0x4000; (3) SP=0x4120;
3.答:BRC保存着RPTB指令的循环次数
80次
四.简答题(本题总分48分,每小题8分)
1.答:MEMORY伪指令——用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和长度。
SECTIONS伪指令——用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置,也可用于指定子段。
2. 答:硬件中断:由片外管脚和片内外设引起的中断,又分为可屏蔽中断和非屏蔽中断。
软件中断:软件中断是由程序指令产生的中断请求,
有三种情况将清除中断标志:
(1)软件和硬件复位,即’C54x的复位引脚RS=0;
(2)相应的IFR标志位置1;
(3)使用相应的中断号响应该中断,即使用INTR #K指令。
3. 答:在程序中,所有的“.text”段在编译时合并为一个“.text”段,并将其定位在一个连续的存储空间中。在“.sect”定义的段中,由于不同的段均有不同的段名,因此不同段名的“.sect”段不会合并为一个段,而且可以分别定位在程序存储空间的不同位置。
4. 答:①定时分频系数和周期数分别装入TCD和PRC寄存器中;
②每来一个定时脉冲CLKOUT,计数器PSC减1;
③当PSC减至0时,PSC产生借位信号;
④在PSC的借位信号作用下,TIM减1计数,同时将分频系数装入PSC,重新计数;
⑤当TIM减到0时,定时时间到,由借位产生定时中断TINT和定时输出TOUT,并将PRD 中的时间常数重新装入TIM。
5.答:⑴宏指令和子程序都可以被多次调用,但是把子程序汇编成目标代码的过程只进行一次,而在用到宏指令的每个地方都要对宏指令中的语句逐条地进行汇编。
⑵在调用前,由于子程序不使用参数,故子程序所需要的寄存器等都必须事先设置好;而对于宏指令来说,由于可以使用参数,调用时只要直接代入参数就行了。
6. 答:C2x、C24x称为C2000系列,主要用于数字控制系统;
C54x、C55x称为C5000系列,主要用于功耗低、便于携带的通信终端;
C62x、C64x和C67x称为C6000系列,主要用于高性能复杂的通信系统,如移动通信基站。
试卷3
一.填空题(本题总分12分,每空1分)
1.TMS320VC5402型DSP采用总线结构对程序存储器和数据存储器进行控制。2.DSP处理器TMS320VC5402中DARAM的容量是字。
3.C54x的中断系统的中断源分为____ ___中断和____ ____中断。
4.DSP处理器TMS320VC5402外部有___________根地址线。
5.C54x系列DSP处理器中,实现时钟频率倍频或分频的部件是_____________。6.TMS320C54x系列DSP处理器有_____个通用I/O引脚,分别是_________。
7.在C54X系列中,按流水线工作方式,分支转移指令的分为哪两种类型:_______;_______。
8.C54x的程序中,“.bss”段主要用于_______________。
9.从数据总线的宽度来说,TMS320VC5402PGE100是_______位的DSP处理器。
二.判断题(本题总分10分,每小题1分)
1.在C54x系列DSP中断向量表的最大长度只能128字。()2.TMS320C54X DSP是浮点型处理器。()
3. DSP的流水线冲突产生的原因是由于DSP运行速度还不够快。()
4. DSP处理器TMS320VC5402的堆栈是向低地址方向生长的。()
5. TMS320C54X 系列DSP外部程序存储器的分页扩展受DROM位控制。()
6.在C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4个字。()
7. TMS320VC5402型DSP汇编指令READA的寻址范围为64K字。()
8. DSP 处理器TMS320VC5402的定时器可以构成20位的定时器。()
9. TMS320C54X系列DSP的汇编语言中分支转移指令执行需要4个机器周期。()
10. DSP 处理器TMS320VC5402的中断向量表位置是固定的。()
三.程序阅读题(本题总分30分,每小题10分)
1.阅读下面的程序片断,写出运行结果
.mmregs
DA T0 .SET 60H
LD #004h,DP
ST #0345h,DA T0
STM #0002h,T
MPY DA T0,A
NOP
问题:(1)寄存器T的作用是什么?
(2)执行“MPY DA T0,A”后,累加器A的内容是什么?
2.阅读程序,回答后面的问题
STM #6,AR4
begin: STM #9,BRC
RPTB next-1
nop
next: LD #0,B
banz begin,*AR4-
问题:(1) BRC寄存器是做什么用途?
(2)语句“banz begin,*AR4-”的作用是什么?
(3)其中的“nop”语句被执行了多少次?
3. MEMORY
{PAGE 0: PROM: org=0E000h,len=100h
VECS: org=0FF80h,len=04h
PAGE 1: SPRAM: org=0060h,len=20h
DARAM: org=0080h,len=100h
}
SECTIONS
{ .text :>EPROM PAGE 0
.data :>EPROM PAGE 0
.bss :>SPRAM PAGE 1
STACK :>DARAM PAGE 1
vectors :>VECS PAGE 0
}
问题:(1)该文件是如何配置程序空间和数据空间的?
(2)该文件中出现了几个段?哪些是初始化段?哪些是未初始化段?各段是如何分配的?
四.简答题(本题总分48分,每小题8分)
1.TMS320C54X指令系统的寻址方式各有哪些?各寻址方式举一例说明。
2.一个典型的DSP系统通常由哪些部分组成?画出框图.
3. 简述链接命令文件(.cmd文件)的功能。
4.已知DSP的工作时钟为20MHZ,现需要用定时器定时10ms,请问PRD和TDDR寄存器的初始值如何确定?
5.简述PMST寄存器中IPTR的作用。
6.如何实现DSP由一种工作频率切换到另外一种工作频率?
答案3
一.填空题(本题总分12分,每空1分)
1.哈佛
2.16K字
3.硬件、软件
4.答:20根
5.答:锁相环PLL
6.答:16位
7.答:无延迟分支转移,延迟分支转移
8.答:为变量保留存储空间
9.答:2个,BIO和XF
二.判断题(本题总分10分,每小题1分,正确打“√”,错误打“×”)
1.√
2. ×
3. ×
4. √
5. ×
6. √
7. ×
8. √
9. √10. ×
三.程序阅读题(本题总分30分,每小题10分)
1.答:寄存器T的作用是暂存被乘数,累加器A的内容为0x68A或68Ah
2.答:BRC保存着RPTB指令的循环次数
判断AR4的内容是否为零,若不为零,跳转到标号begin。
70次
3.答:该文件使用MEMORY伪指令将程序空间划分为两个小区间:名为PROM的区间其
起始地址为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区间
四.简答题(本题总分48分,每小题8分)
1.答:
寻址方式用途举例指令含义
立即寻址主要用于初始化LD #10,A 立即数10 -> A
绝对寻址利用16位地址寻址存储单元STL A,*(y)将AL内容存入y所在的存储单元累加器寻址将累加器中的内容作为地址READA x 将A的内容作为地址读程序存储
器,并存入x存储单元
直接寻址利用数据页指针和堆栈指针寻址LD @x,A (DP+x的低7位地址) ? A
间接寻址利用辅助寄存器作为地址指针LD *AR1,A ((AR1)) -> A
快速寻址存储器映象寄存器LDM ST1,B (ST1) -> B
存储器映像
寄存器寻址
PSHM AG (SP)-1->SP,(AG) -> (SP)
堆栈寻址压入/弹出数据存储器和存储器映
像寄存器MMR
2.DSP芯片及DSP基本系统、程序和数据存储器、数/模和模/数转换器、模拟控制与处理
电路、各种控制口和通信口、电源处理电路和同步电路等。
3. 答:链接命令文件(.cmd 文件)指定存储器的结构和段的定位,有MEMORY 和SECTIONS 两条指令。
MEMORY 伪指令——用来定义目标系统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起始地址和长度。
SECTIONS 伪指令——用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置,也可用于指定子段。
4.答:(PRD)=19999,(TDDR)=9;或(PRD)=49999,(TDDR)=4
5.答:C54x 的中断向量地址是由PMST 寄存器中的IPTR(9位中断向量指针)和左移2位后的中断向量序号所组成。
中断向量地址=IPTR+(左移2位的中断向量序号) 6.答:步骤1:复位PLLNDIV ,选择DIV 方式; 步骤2:检测PLL 的状态,读PLLSTATUS 位; 步骤3:根据所要切换的倍频,确定乘系数;
步骤4:由所需要的牵引时间,设置PLLCOUNT 的当前值; 步骤5:设定CLKMD 寄存器。
防混叠 滤波器 防混叠 滤波器
? ? ? 平滑 滤波
平滑 滤波器 ? ? ?
ADC
ADC ? ? ?
DAC
DAC ? ? ? TMS320C
54x
通信口
控制口
RAM
EPRO M 信 号 预 处 理 、 MUX 、 程 控 放 大 等