DSP习题答案

更新时间:2024-04-19 07:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一.填空题(本题总分12分,每空1分)

1.累加器A分为三个部分,分别为 ; ; 。 1.AG,AH,AL

2.TMS320VC5402型DSP的内部采用 条 位的多总线结构。 2.8,16

3.TMS320VC5402型DSP采用 总线结构对程序存储器和数据存储器进行控制。 3.哈佛

4.TMS329VC5402型DSP有 个辅助工作寄存器。

4.8个

5.DSP处理器TMS320VC5402中DARAM的容量是 字。 5.16K字

6.TI公司的DSP处理器TMS320VC5402PGE100有___________个定时器。 6.2

7.在链接器命令文件中,PAGE 1通常指________存储空间。 7.数据

8.C54x的中断系统的中断源分为____ ___中断和____ ____中断。 8.硬件、软件

1.TI公司DSP处理器的软件开发环境是__________________。 1.答:CCS(Code Composer Studio)

2.DSP处理器TMS320VC5402外部有___________根地址线。 2.答:20根

3.直接寻址中从页指针的位置可以偏移寻址 个单元。 3.答:128

4.在链接器命令文件中,PAGE 0通常指________存储空间。

4.答:程序

5.C54x系列DSP处理器中,实现时钟频率倍频或分频的部件是_____________。 5.答:锁相环PLL

6.TMS320C54x系列DSP处理器上电复位后,程序从指定存储地址________单元开始工作。 6.答:FF80h

7.TMS320C54x系列DSP处理器有_____个通用I/O引脚,分别是_________。 7.答:2个,BIO和XF

8.DSP处理器按数据格式分为两类,分别是_______ __;_____ ___。 8.答:定点DSP和浮点DSP

9.TMS329VC5402型DSP的ST1寄存器中,INTM位的功能是 。 9.答:开放/关闭所有可屏蔽中断

10.MS320C54X DSP主机接口HPI是________位并行口。 10.答:8

1.在C54X系列中,按流水线工作方式,分支转移指令的分为哪两种类型:_______;_______。 1.答:无延迟分支转移,延迟分支转移

3.C54x的程序中,“.bss”段主要用于_______________。

3.答:为变量保留存储空间

4.从数据总线的宽度来说,TMS320VC5402PGE100是_______位的DSP处理器。 4.答:16位

7.TMS320VC5402型DSP处理器的内核供电电压________伏。 7.答:1.8v

第 1 页(共 2 页)

9.TMS320C5402系列DSP处理器最大的数据存储空间为_____字。 9.答:64K

10.在链接器命令文件中,PAGE 0通常指________存储空间。

10.答:程序

1. DSP技术是利用专用或通用数字信号处理芯片,通过_ _运算的方法对信号进行处理。 1.答:数值运算 2. C54x的程序中,“.text”段是_________段,主要包含_______________。 2.答:文本段,可执行文本

3. C54x系列DSP上电复位后的工作频率是由片外3个管脚 ; ; 来决定的。 3.答:CLKMD1、CLKMD2、CLKMD3

4. DSP处理器TMS320C5402最大的程序存储空间为______字。 4.答:1M

5. 从应用领域来说,MCU(单片机)主要用于_______________;DSP处理器主要应用于___________________。 5.答:控制领域;信号处理

6. TMS320C54X DSP提供一个用16位堆栈指针(SP)寻址的软件堆栈。当向堆栈中压入数据时,堆栈是从 地址向 地址方向填入。

6.答:高 低

7. TMS320C54X DSP软硬件复位时,复位中断向量的地址为程序空间的________。

7.答:FF80H

4.TMS320C54X可编程定时器的定时周期 =(时钟周期)*(分频系数TDDR+1)*(____ +1)。 4.答:PRD

5.DSP处理器的英文全称 。 5.答: Digital Signal Processor

7.DSP处理器TMS320VC5402的IO管脚供电电压________伏。 7.答: 3.3v

8.C54x的程序中,“.data”段是_________段,主要用于_______________。 8.答:数据段,通常包含初始化数据;

10.DSP处理器TMS320C5402的I/O空间为_ _ __字。 10.答:64K

1.TMS320VC5402型DSP的累加器是 位。 1.40

2.TMS329VC5402型DSP的MP/MC管脚的功能是 。

2. 微计算机或是微处理器工作模式

4.TMS320VC5402型DSP的CPU采用 寄存器作为专用硬件实现移位功能。 4. 桶形移位寄存器

5.汇编语句“STL A,@y”中“@y”表示 寻址方式。

5. 直接寻址

6.TMS320VC5402型DSP的ST1寄存器中,CPL位的功能是指示 。 6. 直接寻址采用何种指针

8.解释汇编语句“READA *AR1”的功能: 。 8. 以累加器A的内容作为地址读取程序存储单元,将读取的数据存入以AR1的内容作为地址的数据存储单元中 10.TMS320C54X具有两个通用I/O口,________用于输入外设的状态;________用于输出外设的控制信号。 10. BIO,XF

第 2 页(共 2 页)

二.判断题(本题总分10分,每小题1分)

############################错误#####################################

4.DSP 处理器TMS320VC5402的供电电压为5V。 ( ) 5.DSP的工作频率只能是外部晶体振荡器的频率。 ( ) 8.TMS320C54X DSP是浮点型处理器。 ( )

9.TMS320C54X DSP的汇编语言中有除法指令。 ( )

10.TMS320VC5402型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的寻址范围为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型DSP可以通过设置DROM位实现数据存储空间和程序存储空间的共享片内DARAM。 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有不止一种串行口。 ( )

4.DSP处理器TMS320VC5402在微型计算机工作模式时,上电复位后程序从片外存储器的FF80h单元开始执行。

5.DSP处理器TMS320VC5402的中断向量表位置是固定的。 ( ) 9.DSP处理器TMS320VC5402的程序存储空间只有64K字。 ( )

**************************************正确*************************************

7. TMS320C54X 系列DSP可以通过设置OVLY位实现数据存储空间和程序存储空间的共享片内ROM。

1.MEMORY伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置。 2.TMS320C54X DSP汇编语言源程序中,标号是可选项,若使用标号,则标号必须从第一列开始。 3.DSP 处理器的中断请求可以由软件产生。 ( ) 6.哈佛结构的特点是数据总线和程序总线分开。 ( )

7.DSP和MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA属于硬件可编程器件,用硬件实现数据处理。 ( )

2. 在C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4个字。 ( )

4. 在C54x系列DSP中断向量表的最大长度只能128字。 ( )

5. DSP对程序存储空间、数据存储空间和I/O空间的选择分别是由三根片选线PS、DS、IS独立选择的。 6. C54x系列DSP的CPU寄存器及片内外设寄存器映射在数据存储空间的0000h-0080h中。( ) 第 3 页(共 2 页)

7. 单片机通过HPI接口可以访问TMS320VC5402的全部64K字数据存储空间。 ( ) 8. 在DSP处理器汇编程序中,标号区分大小写。 ( ) 9. DSP处理器TMS320VC5402的堆栈是向低地址方向生长的。 ( )

10. DSP 处理器TMS320VC5402的中断向量表位置是固定的。 ( )

1. 当TMS320C54X DSP处于微处理器模式时,DSP上电复位之后从片外程序存储器的FF80H开始运行。 2. 在TMS320VC5402型DSP所有中断向量中,只有硬件复位向量不能被重定位,即硬件复位向量总是指向程序空间的0FF80H位置。

3. DSP和MCU属于软件可编程微处理器,用软件实现数据处理;而不带CPU软核的FPGA属于硬件可编程器件,用硬件实现数据处理。

5. 在DSP处理器汇编程序中,标号区分大小写。 ( ) 7. DSP 处理器TMS320VC5402的软件中断是不可屏蔽的中断。 ( ) 8. 链接器命令文件是用来规定程序段的存放位置的。 ( ) 10. DSP处理器TMS320VC5402的堆栈是向低地址方向生长的。 ( ) 2. C54x系列DSP只有两个通用的I/O引脚。 ( ) 4. 在C54x系列DSP的寻址方式中,使用DP作为直接寻址的偏移寻址范围只有128个字。( ) 5. DSP的流水线冲突可以通过改变编程方法或者添加nop语句来消除。 ( ) 6. TMS320VC5402型DSP汇编语言的寻址方式可以实现FFT算法中的位倒序寻址方式。( )

7. 在C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4个字。 ( )

9. 如果OVLY=1,程序存储空间可以使用内部RAM,此时,不论XPC为何值,扩展程序存储空间的所有低32K字都被映像到内部RAM中。 ( )

3. 在DSP的编程中可以将程序中不同的段放置在不同的存储器中。 ( ) 4. C54x系列DSP的寻址方式中,用DP作为直接寻址的偏移寻址范围只有128个字。( ) 6. 在C54x系列DSP中断向量表中,每个中断向量的入口地址间隔4个字。 ( )

7. DSP对程序存储空间、数据存储空间和I/O空间的选择分别是由三根片选线PS、DS、IS独立选择的。 9. DSP的流水线冲突可以通过改变编程方法或者添加nop语句来消除。 ( ) 10. TMS320C54X系列DSP的汇编语言中分支转移指令执行需要4个机器周期。 ( ) 1. DSP 处理器TMS320VC5402的定时器可以构成20位的定时器。 ( ) 2. DSP 处理器TMS320VC5402的软件中断是不可屏蔽的中断。 ( ) 4. DSP 处理器TMS320VC5402可以计算浮点小数运算。 ( ) 6. TMS320VC5402型DSP汇编语言的寻址方式可以实现FFT算法中的位倒序寻址方式。( ) 8. 在DSP的编程中可以将程序中不同的段放置在不同的存储器中。 ( ) 10. TMS320C54X 系列DSP的汇编指令WRITA可以寻址1M字的程序空间。 ( ) 4.DSP 处理器TMS320VC5402内部没有专用的除法指令。 ( ) 5.定点DSP 处理器TMS320VC5402可以计算浮点小数运算 ( ) 7.DSP 处理器TMS320VC5402的定时器可以构成20位的定时器。 ( ) 9.DSP 处理器TMS320VC5402的软件中断是不可屏蔽的中断。 ( ) 10.DSP 处理器TMS320VC5402支持流水线的指令运行方式 ( ) 1.DSP处理器TMS320VC5402内部没有专用的除法指令。 ( ) 2.定点DSP处理器TMS320VC5402可以计算浮点小数运算。 ( ) 3.CCS软件开发系统支持C语言程序编程。 ( ) 6.DSP处理器C54x的软件中断是不可屏蔽的中断。 ( ) 7.DSP处理器C54x支持流水线的指令运行方式。 ( ) 8.DSP处理器C54x的堆栈是向低地址方向生长的。 ( ) 10.DSP处理器C54x的汇编程序是由许多“段”组成的。 ( ) 三.程序阅读题(本题总分30分,每小题10分)

第 4 页(共 2 页)

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的内容是多少? 1.(1) 寄存器“BRC”的功能是暂存块循环的次数 (2) 8次 (3) B=0x0100H; 2. 阅读下面的程序:

.mmregs

DAT0 DAT1 DAT2

.SET .SET .SET

60H 61H 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,DAT0

ST #0243h,DAT1 ST #1230h,DAT2

ADD3 DAT0,DAT1,DAT2,DAT3

问题:(1)语句“.mmregs”的含义。

(2)语句“ADD3 DAT0,DAT1,DAT2,DAT3”是一条什么类型的语句?作用是什么? (3)执行此段程序后,存储单元(DAT3)的运行结果多少? 2.(1) 定义存储器映像寄存器的符号名称。 (2)宏调用。执行三个数相加。

(3) 14a7H 3.阅读下面的程序片断,写出运行结果 .mmregs DAT0 .SET

60H

LD #004h,DP

ST #0345h,DAT0

STM #0002h,T MPY DAT0,A NOP

第 5 页(共 2 页)

问题:(1)寄存器T的作用是什么? (2)执行“MPY DAT0,A”后,累加器A的内容是什么? 3.答:寄存器T的作用是暂存被乘数, 累加器A的内容为0x68A或68Ah 1. 阅读程序,回答后面的问题 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”语句被执行了多少次? 1. 答:BRC保存着RPTB指令的循环次数

判断AR4的内容是否为零,若不为零,跳转到标号begin。 70次

3. 已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=111,外部晶振=10MHz,参数设置表:

CLKMD1 CLKMD2 CLKMD3 CLKMD复位值 时钟方式 PLL×15 0 0 0 E007H 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 1 9007H 4007H 1007H F007H 0000H F000H PLL×10 PLL×5 PLL×2 PLL×1 2分频 4分频 0 1 STM #00H,CLKMD Status:LDM CLKMD,A AND #01H,A

BC Status,ANEQ STM #9007H,CLKMD

问题(1)DSP复位后,DSP的工作时钟是多少?

(2)执行上面的程序片段后,DSP的工作时钟是多少? 3. 答:(1)5MHz

(2)100MHz

1. 阅读下面的程序片断,写出运行结果 .mmregs

bei_hua .set 18

LD # bei_hua,A

问题:(1)“.mmregs”的作用是什么?

(2) 运行此段程序后,累加器A的结果是多少?

1. 答:定义存储器映像寄存器的符号名称

A的结果是18

2. 阅读下面的程序,回答问题。

.sect \

第 6 页(共 2 页)

rst: B _c_int00 ;复位中断向量的入口

NOP NOP

.space 18*4*16

tint: B timeout ;定时器0的中断向量的入口 NOP NOP

问: (1) “.sect”伪指令的作用是什么?

(2) 标号“rst”的地址为6000H,请问标号“tint”的地址是多少? 2. 答:定义一个自定义段名的程序段

604Ch

3. 阅读下面的命令连接文件(简称CMD文件)和程序文件: CMD文件:

MEMORY

{ PAGE 0: PROG: origin = 0x1000, } { }

.data

table: .word 1,2,3,4 ; 变量初始化

.text

start: STM # 0,SWWSR ; 插入0个等待状态 问:(1)MEMORY和SECTIONS的作用各是什么?

(2)标号“table”和“start”的地址分别是什么,分别位于程序空间还是数据空间? 3. 答:MEMORY和SECTIONS链接伪指令,用来指定目标存储器结构和地址分配。

标号table:1000h(程序空间) 标号start:2000h(数据空间)

1. 阅读下面的程序片断,回答下面的问题

DAT0 .SET 60H DAT1 .SET 61H

DAT2 DAT3

.SET

.SET

62H 63H

PAGE 1: DATA: origin = 0x2000,

length = 0x1000 length = 0x1000

SECTIONS

.text: .data:

{} > {} >

PROG PAGE 0 DATA PAGE 1

LD #004h,DP

ST #83h,DAT0

ST #0041h,DAT1 RSBX SXM LD DAT0,A RPT #15 SUBC DAT1,A

STL A,DAT2

STH A,DAT3 问:在CPL=0的情况下,

第 7 页(共 2 页)

(1) 语句“STL A,DAT2”,其中DAT2所指的地址是多少? (2) 存储单元(DAT2)和(DAT3)的内容是多少? 1.答:(1) 0262h

(2) (DAT2)=02H (DAT3)=01H

2. 阅读下面的程序,回答问题。

MEMORY

{ PAGE 0: PROG: origin = 0x2000, }

SECTIONS {

.text: .bss:

{} > {} >

PROG PAGE 0 DATA PAGE 1

PAGE 1: DATA: origin = 0x3000,

length = 0x1000 length = 0x1000

}

汇编程序:

.bss a,4 .bss x,4 .bss y,1

STM #a, AR3

STM #x, AR4 RPTZ A, #3

MAC *AR3+,*AR4+,A STL A,*(y) 问题:(1)指令“STM #a, AR3”的作用是什么?执行此句指令后,寄存器AR3的内容是多少? (2)指令“MAC *AR3+,*AR4+,A”执行了几次?每执行一次寄存器AR3和AR4的内容如何变化? (3)这段代码的功能是什么?

2.答:(1)将标号a的地址赋给辅助工作寄存器AR3,AR3=3000h。

(2)执行了4次,每执行一次辅助工作寄存器AR3和AR4的内容增一。

4 (3) y??ai?1ixi

3. 阅读下面的程序,回答问题。 MEMORY

{ PAGE 0: PROG: origin = 0x2000,

PAGE 1: }

SECTIONS { .text: STACK: }

汇编程序

{} > {} >

PROG PAGE 0 DATA PAGE 1

DATA: origin = 0x4000,

length = 0x1000 length = 0x1000

size .set 0x0120

stack .usect “STACK”,size .text

STM # stack + size,SP

问题:(1)指令“stack .usect “STACK”,size”的作用是什么?

第 8 页(共 2 页)

(2)标号“stack”的存储器地址是多少?

(3)执行这段代码之后,SP寄存器的内容是多少?

3.答:(1)定义一个未初始化段,段名为”STACK”,目的是为变量stack保留size个单元的存储空间。 (2) stack的存储空间为0x4000; (3) SP=0x4120; 1. 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)该文件中出现了几个段?哪些是初始化段?哪些是未初始化段?各段是如何分配的? 1.答:该文件使用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区间。 2. 阅读下面的程序片段,写出运行结果 .mmregs DAT0 .SET 60H

LD #004h,DP

ST #0345h,DAT0 STM #0002h,T

MPY DAT0,A NOP

NOP

问题:(1)寄存器T的作用是什么?

(2)执行“MPY DAT0,A”后,累加器A的内容是什么? 2.答:寄存器T的作用是暂存被乘数, 累加器A的内容为0x68A或68Ah

3. 已知DSP的三个时钟引脚状态CLKMD1-CLKMD3=101,外部晶振=10MHz,参数设置表:

CLKMD1 CLKMD2 CLKMD3 CLKMD复位值 时钟方式 PLL×15 0 0 0 E007H 0 0 0 1 1 0 9007H 4007H PLL×10 PLL×5 第 9 页(共 2 页)

1 1 1 1 0 1 1 0 0 1 1007H F007H 0000H F000H PLL×2 PLL×1 2分频 4分频 0 1 STM #00H,CLKMD

Status:LDM CLKMD,A AND #01H,A BC Status,ANEQ STM #9087H,CLKMD

问题:(1)DSP复位后,DSP的工作时钟是多少?

(2)执行上面的程序片段后,DSP的工作时钟是多少? 3.答: (1)2.5MHz

(2)100MHz

1. 阅读程序,回答后面的问题

STM #9,AR4 begin: next:

STM #7,BRC RPTB next-1 nop

LD #0,B

banz begin,*AR4-

问(1)BRC寄存器是做什么用途?

(2)其中的“nop”语句被执行了多少次? 1.答:BRC保存着RPTB指令的循环次数 80次

2. 阅读下面的程序,回答问题。 MEMORY

{ PAGE 0: PROG: origin = 0x2000, PAGE 1: DATA: origin = 0x3000, }

SECTIONS { .text: STACK: }

汇编程序

{} > {} >

PROG PAGE 0 DATA PAGE 1

length = 0x1000

length = 0x1000

size .set 0x0120

stack .usect “STACK”,size

.text

STM # stack + size,SP 问题:(1)指令“stack .usect “STACK”,size”的作用是什么? (2)标号“stack”的存储器地址是多少?

(3)执行这段代码之后,SP寄存器的内容是多少?

2.答:(1)定义一个未初始化段,段名为”STACK”,目的是为变量stack保留size个单元的存储空间。 (2) stack的存储空间为0x4000; (3) SP=0x4120;

3. 阅读下面的程序,回答问题。

第 10 页(共 2 页)

在“.sect”定义的段中,由于不同的段均有不同的段名,因此不同段名的“.sect”段不会合并为一个段,而且可以分别定位在程序存储空间的不同位置。 5. 简述C54x系列DSP的定时器工作过程。

5. 答:① 定时分频系数和周期数分别装入TCD和PRC寄存器中; ② 每来一个定时脉冲CLKOUT,计数器PSC减1;

③ 当PSC减至0时,PSC产生借位信号;

④ 在PSC的借位信号作用下,TIM减1计数,同时将分频系数装入PSC,重新计数;

⑤ 当TIM减到0时,定时时间到,由借位产生定时中断TINT和定时输出TOUT,并将PRD中的时间常数重新装入TIM。

6. 简述PMST寄存器中IPTR的作用。

6.答:C54x的中断向量地址是由PMST寄存器中的IPTR(9位中断向量指针)和左移2位后的中断向量序号所组成。

中断向量地址=IPTR+(左移2位的中断向量序号) 4.简述PMST寄存器中IPTR的作用。

4.答:C54x的中断向量地址是由PMST寄存器中的IPTR(9位中断向量指针)和左移2位后的中断向量序号所组成。

中断向量地址=IPTR+(左移2位的中断向量序号)

2. 宏指令与子程序有哪些区别?

2.答:⑴ 宏指令和子程序都可以被多次调用,但是把子程序汇编成目标代码的过程只进行一次,而在用到宏指令的每个地方都要对宏指令中的语句逐条地进行汇编。

⑵ 在调用前,由于子程序不使用参数,故子程序所需要的寄存器等都必须事先设置好;而对于宏指令来说,由于可以使用参数,调用时只要直接代入参数就行了。

4.TMS320C54X DSP的程序代码或数据以段的形式装载于存储器中,段可分为哪两种基本类型?有哪5条伪指令来建立和管理各种各样的段?并指明各伪指令的功能。 4.答:段分为初始化段和未初始化段。

.text 段(文本段),通常包含可执行代码; .data 段(数据段),通常包含初始化数据;

.sect段——已初始化段,由汇编器伪指令建立的自定义段。 .bss段——未初始化段;

.usect段——未初始化段,由汇编命令建立的命名段(自定义段)。 6. 如何实现DSP由一种工作频率切换到另外一种工作频率? 6.答:步骤1:复位PLLNDIV,选择DIV方式; 步骤2:检测PLL的状态,读PLLSTATUS位;

步骤3:根据所要切换的倍频,确定乘系数;

步骤4:由所需要的牵引时间,设置PLLCOUNT的当前值; 步骤5:设定CLKMD寄存器。

5.简述DSP处理器中断系统分为几种中断,如何清除中断标志?

5.答:硬件中断:由片外管脚和片内外设引起的中断,又分为可屏蔽中断和非屏蔽中断。 软件中断:软件中断是由程序指令产生的中断请求, (5) 有三种情况将清除中断标志:

(1)软件和硬件复位,即’C54x的复位引脚RS=0; (2)相应的IFR标志位置1;

(3)使用相应的中断号响应该中断,即使用INTR #K指令。 (5)

第 16 页(共 2 页)

本文来源:https://www.bwwdw.com/article/yvfp.html

Top