DSP应用技术教程 部分习题答案DOCWord文件下载.docx

上传人:b****7 文档编号:21993030 上传时间:2023-02-02 格式:DOCX 页数:14 大小:53.14KB
下载 相关 举报
DSP应用技术教程 部分习题答案DOCWord文件下载.docx_第1页
第1页 / 共14页
DSP应用技术教程 部分习题答案DOCWord文件下载.docx_第2页
第2页 / 共14页
DSP应用技术教程 部分习题答案DOCWord文件下载.docx_第3页
第3页 / 共14页
DSP应用技术教程 部分习题答案DOCWord文件下载.docx_第4页
第4页 / 共14页
DSP应用技术教程 部分习题答案DOCWord文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

DSP应用技术教程 部分习题答案DOCWord文件下载.docx

《DSP应用技术教程 部分习题答案DOCWord文件下载.docx》由会员分享,可在线阅读,更多相关《DSP应用技术教程 部分习题答案DOCWord文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

DSP应用技术教程 部分习题答案DOCWord文件下载.docx

3)按照DSP处理器的工作时钟和指令类型划分,可以将DSP处理器分为静态DSP处理器和一致性DSP处理器。

4)按照不同生产厂家的产品系列划分,可以将DSP处理器分为TI公司的TMS320系列、AD公司的ADSP21系列、AT&

T公司的DSP16/32系列,Motolora公司的MC5600/MC9600系列、NEC公司的PD77系列等。

11.什么是定点DSP和浮点DSP?

参见P81.2.3节。

第2章DSP系统设计概述

1.DSP与通用的CPU和微控制器(MCU)相比有什么特点?

DSP处理器与通用CPU和微控制器(MCU)相比,从系统管理的角度看,通用CPU具有强大的优势;

从系统简单、易于开发的角度看,MCU提供了相应用户电路,具有良好的实用性;

但如果需要实现复杂数学计算,或需要进行高速数字运算的数字信号处理系统(例如语音识别、图像实时处理和多媒体处理等),则需要使用DSP处理器来完成,这是由于DSP处理器在结构上采用了许多专门技术和措施,来提高数据运算处理速度,使其能实时快速地实现各种数字运算。

2.简述DSP系统的基本构成。

典型的DSP系统基本结构框图如图所示。

从结构框图可以看出,典型的DSP系统包括数字信号处理器DSP、存储器、A/D和D/A转换器、模拟控制和处理电路、各种控制口与通信口,同时还需要电源管理以及为并行处理或协处理提供的同步电路等。

3.如何着手DSP系统设计开发?

需要哪些准备工作?

参见P16-172.2.1节。

4.简述DSP系统的一般设计过程。

DSP系统的设计开发过程可以用下图所示的流程图来表示,该流程图将设计过程大致分为如下几个阶段:

1)定义系统性能指标

2)确定算法并进行算法模拟

3)选择DSP处理器

4)设计DSP应用系统(软硬件设计)

5)系统集成和测试

5.TI公司的DSP主要有哪几大类?

TI公司为各种应用开发提供了多种数字信号处理(DSP)平台,其中包括TMS320C2000系列、TMS320C5000系列、TMS320C6000系列、DaVinci数字媒体处理器和OMAP应用处理器。

6.简述TI公司2000,5000,6000系列DSP的特点及主要用途。

参见2.3.1节。

7.简述Davinci系列处理器和OMAP系列处理器的主要特点.

参见2.3.1节达芬奇系列和OMAP系列部分。

8.简述TMS320C54x系列处理器与TMS320C55x系列处理器在性能上的区别。

参见2.3.1节TMS320C54x和TMS320C55x两系列介绍部分。

9.在设计DSP系统时,如何选择DSP?

对不同的应用场合,DSP处理器的选取也是不一样的。

一般来说,选择DSP处理器时应考虑以下因素:

DSP处理器的运算速度、DSP处理器的运算精度、DSP处理器的硬件资源、DSP处理器的开发工具、DSP处理器的功耗、DSP处理器的价格及售后技术服务、DSP处理器的支持多处理器功能、DSP应用系统的运算量和其他因素。

13.一个DSP系统的采用频率是10HZ,采用的DSP指令周期是10ns。

如果某DSP算法是按样点处理的,问算法实时运行的条件是什么?

如果DSP算法是按帧处理的,且帧长是10ns,则在一帧时间内最多可运行多少个指令周期?

条件:

一个样点计算时间<

100ms,

一帧内最多可运行1个指令周期。

参见P30-31DSP应用系统的运算量。

第3章TMS320C54x的硬件结构

2.TMS320C54x的总线有哪些?

它们各自的作用和区别是什么?

TMS320C54x片内有8条16位主总线,即1条程序总线(PB)、3条数据总线(CB、DB和EB)和4条地址总线(PAB、CAB、DAB和EAB),这些总线形成了支持高速指令执行的硬件基础。

8条16位总线的功能如下。

1)1条程序总线(PB):

程序总线(PB)传送由程序存储器取出的指令操作代码和立即操作数。

2)3条数据总线(CB、DB和EB):

3条数据总线(CB、DB和EB)将内部各单元(如CPU,数据地址生成电路,程序地址生成电路,片内外围设备以及数据存储器)连接在一起。

其中,CB和DB用来传送从数据存储器读出的数据;

EB用来传送写入存储器的数据。

3)4条地址总线(PAB、CAB、DAB和EAB):

4条地址总线(PAB、CAB、DAB和EAB)用于传送执行指令所需要的地址。

3.TMS320C54x的CPU包含哪些部分?

它们的功能是什么?

TMS320C54x的CPU基本组成如下:

运算部件:

1)40位算术逻辑单元(ALU):

功能:

TMS320C54x使用40位算术逻辑单元(ALU)和两个40位累加器(ACCA和ACCB)来完成二进制补码的算术运算和逻辑运算,且大多数都是单周期指令。

2)2个40位累加器A和B:

用于存储ALU或乘法器/加法器单元输出的数据。

累加器也能输出数据到ALU或乘法器/加法器中。

3)40位桶形移位寄存器:

桶形移位器能把输入的数据进行0到31位的左移和0到16位的右移。

4)17×

17位乘法器和一个专用40位加法器:

C54xCPU有一个17×

17位的硬件乘法器,与40位的专用加法器相连,可以在单周期内完成一次乘法累加运算。

5)比较、选择和存储单元(CSSU):

6)指数编码器:

指数编码器是用于支持单周期指令EXP的专用硬件。

功能支持指令EXP和NORM完成规格化定点数操作。

控制部件:

1)状态寄存器ST0:

ST0反映寻址要求和计算的中间运行状态

2)状态寄存器ST1:

ST1反映寻址要求,计算的初始状态设置,I/O及中断控制。

3)处理器模式状态寄存器PMST:

PMST主要设定并控制处理器的工作方式,反映处理器工作状态。

PMST中的数据决定了C54X芯片的存储器配置情况,PMST寄存器通过存储器寻址的寄存器指令装载。

4.TMS320C54x的CPU中累加器A和B的保护位AG和BG的作用是什么?

累加器A和B的保护位AG和BG作为计算时的高位余量位,用于防止在迭代运算(如自相关)中产生溢出,在进行有符号运算时为扩展符号位。

5.当标志位FRCT=1时,TMS320C54xCPU中的乘法器的乘积将作怎样的调整?

说出这些调整在小数运算中的实际意义是什么?

由于乘法器在进行两个16位二进制补码相乘时会产生两个符号位,为提高运算精度,在状态寄存器ST1中设置小数方式控制位FRCT。

当FRCT=1时,乘法器结果自动左移一位,消去多余的符号位,相应的定标值加1。

6.已知累加器A的值为FFFF815432h,暂存器T的值为0010h,执行指令EXPA和NORMA后,累加器A和暂存器T的值各为多少?

累积器A的值为FF81543200h,暂存器T的值为8h。

9.TMS320C54x的总存储空间为多少?

可分为哪几类?

它们的大小是多少?

TMS320C54x的总存储空间为192K字,分为3个可选择的存储空间:

64K字的程序存储空间、64K字的数据存储空间和64K字的I/O空间。

10.TMS320C54x片内随即存储器有哪几种?

片内与片外RAM的区别是什么?

参见P62-633.4节存储器部分。

11.简述三种存储器空间各自的作用是什么?

1)程序存储器空间用来存放要执行的指令和执行中所需的系数表。

2)数据存储器空间用来存放执行指令所要用的数据,包括需要处理的数据或数据处理的中间结果。

3)I/O存储器空间可与存储器映射外围设备相接口,也可以作为附加的数据存储空间使用。

12.I/O空间是在片内还是在片外?

访问I/O的实质是什么?

I/O空间是在片外,访问I/O是对I/O映射的外部器件进行访问,而不是访问存储器。

13.数据页0(0h~7Fh)能否被映射到程序存储空间?

不能

14.TMS320C54x存储空间的配置是受

、OVLY和DROM3个位控制的。

如果想使片上RAM同时映射到数据存储空间和程序存储空间,那么

、OVLY和DROM的值应该如何设置?

OVLY=1

17.TMS320C54x片内外设主要有哪些?

通用I/O端口、时钟发生器、软件可编程等待状态发生器、可编程块切换逻辑、定时器、主机接口、串行口、DMA控制器等。

19.时钟发生器由哪些部分组成?

他们是如何工作的?

参考P73-773.5.2节时钟发生器部分。

21.TMS320C54x复位的条件有哪些?

通常TMS320C54x有几种复位方式?

各是什么?

上电复位后,第一条程序指令所在的地址是多少?

TMS320C54x复位期间,处理器进行以下操作:

(1)处理器工作方式状态寄存器PMST中的中断向量指针IPTR被设置成1FFh。

(2)处理器工作方式状态寄存器PMST中

被设置成与引脚

状态相同的值。

(3)程序计数器PC设置成FF80h。

(4)扩展程序计数器XPC被清零(如果XPC可用)。

(5)不管

位的状态如何,将FF80h加到地址总线上。

(6)数据总线变为高阻状态。

(7)控制线处于无效状态。

(8)产生应答信号

(9)状态寄存器ST1中的中断方式位INTM置1,关闭所有可屏蔽中断。

(10)中断标志寄存器IFR被清零,以清除中断标志。

(11)单指令重复计数器(RC)被清除。

(12)产生同步复位信号

,用于初始化片内外设。

(13)状态寄存器ST0=1800h,即以下的状态位被设置成它们的初始值:

ARP=0,TC=1,C=1,OVA=0,OVB=0,DP=0。

(14)状态寄存器ST1=2900h,即以下的状态位被设置成它们的初始值:

BRAF=0,CPL=0,XF=1,HM=0,INTM=1,OVM=0,SXM=1,C16=0,FRCT=0,CMPT=0,ASM=0。

(15)处理器工作方式状态寄存器PMST以下的状态位被设置成它们的初始值:

OVLY=0,AVIS=0,DROM=0,CLKOFF=0。

需要注意的是,复位期间,其余的状态位和堆栈指针SP没有被初始化,需要使用用户程序对它们进行初始化。

如果

=0,那么处理器从片内ROM开始执行程序,否则,处理器从片外程序存储器开始执行程序。

TMS320C54x的复位有两种方式,分别为软件复位和硬件复位。

软件复位是通过执行指令实现处理器的复位;

硬件复位是通过硬件复位电路实现处理器的复位。

硬件复位电路包括上电复位、手动复位和自动复位。

上电复位后,第一条程序指令所在的地址是FF80h。

22.在闲置方式1(IDLE1)、闲置方式2(IDLE2)、闲置方式3(IDLE3)和保持方式这4种省电方式中,哪一种最省电?

哪几种能够被内部中断唤醒?

闲置方式3(IDLE3)最省电。

闲置方式1(IDLE1)能够被内部中断唤醒

23.TMS320C54x中断分为哪几类?

其中的可屏蔽中断在什么情况下可以被CPU响应?

TMS320C54x支持软件中断和硬件中断。

软件中断由程序指令产生(INTR或TRAP)。

硬件中断由设备的一个信号产生,硬件中断包含两种类型,分别为外部硬件中断和内部硬件中断。

外部硬件中断由外部中断接口的信号触发;

内部硬件中断由片内外设的信号触发。

硬件或软件中断发送了一个中断请求后,CPU必须要决定是否响应该中断。

软件中断和不可屏蔽中断立即被响应,而可屏蔽的硬件中断只有在满足以下3种条件时才能被响应:

(1)优先级最高。

当同时有多个硬件请求中断时,TMS320C54x根据优先级对其进行响应。

(2)状态寄存器ST1中的INTM位为0。

表示允许可屏蔽中断,可以用“RSBXINTM”指令来对INTM复位。

(3)中断屏蔽寄存器IMR中的相应位为1。

CPU响应中断时,让PC转到适当的地址取出中断向量,并发出中断向量信号

,清除响应的中断标志位。

24.若处理器工作方式状态寄存器PMST的值设为01A0h,而中断向量为INT3,那么中断响应时,中断向量地址为多少?

该题自己思考解答。

参考P923.7.4节。

重点是中断向量地址计算。

26.TMS320C54x的流水线操作分为几个阶段?

分别叙述流水线操作各阶段的功能?

流水线的6个操作阶段分别为预取指(P)、取指(F)、译码(D)、访问(A)、读数(R)和执行(X)。

每个流水线操作阶段各占用一个机器周期。

各操作阶段的功能如下:

(1)程序预取指(P):

将下一条指令的地址,放在程序地址总线(PAB)上。

(2)程序取指(F):

从程序总线(PB)上取指令字,并将该指令字放入指令寄存器(IR)中。

(3)译码(D):

将指令寄存器(IR)中的内容译码,确定要访问存储器的类型以及数据地址产生单元(DAGEN)和CPU的控制时序。

(4)访问(A):

数据地址产生单元(DAGEN)在数据地址总线(DAB)输出要读的操作数的地址。

如果还有第二个操作数,则在另一个数据地址总线CAB上输出相应的地址。

同时更新间接寻址模式下的辅助寄存器(ARx)和堆栈指针(SP)。

(5)读数(R):

从数据总线DB和CB上读取操作数,完成操作数的读取。

同时,操作数的写入开始。

如果需要写数据,则写数据的地址放在数据写地址总线(EAB)上。

对存储器映射寄存器而言,数据是从存储器中读取,写数据时通过DB写入选择的存储器映射寄存器。

(6)执行(X):

在这个阶段完成指令的执行,并将数据放在数据写总线(EB)上完成操作数的写入。

第4章TMS320C54x指令系统

1.TMS320C54x提供哪几种数据寻址方式?

各有什么特点?

应该应用在什么场合?

TMS320C54x提供了以下7种基本的数据寻址方式:

(1)立即数寻址:

指令中直接包含了所需要的操作数。

(2)绝对寻址:

指令中包含所要寻址的存储单元的地址。

(3)累加器寻址:

利用累加器的数值作为地址来读写程序存储器。

(4)直接寻址:

指令中包含数据存储器地址的低7位。

这7位作为偏移地址与数据页指针DP或堆栈指针SP相结合共同构成16位的数据存储器实际地址。

(5)间接寻址:

根据辅助寄存器的内容来寻找存储器映射寄存器地址,地址的低7位来自指令或某个辅助寄存器的低7位,高9位设置为0。

(6)存储器映射寄存器寻址:

修改存储器映射寄存器中的值而不影响当前数据页指针DP或堆栈指针SP的值。

(7)堆栈寻址方式:

地址来自堆栈指针SP,把数据压入和弹出系统堆栈。

2.绝对地址寻址有哪几种?

它们可以访问哪些地址空间?

有什么特点?

其中的长立即数寻址方式的指令能不能与循环指令RPT和RPTZ一起使用?

绝对寻址有以下四种类型:

1)数据存储器地址寻址:

数据存储器地址(dmad)寻址是用一个符号(符号地址)或一个表示16位地址的立即数来指明寻址的数据存储单元的16位绝对地址。

2)程序存储器地址寻址:

程序存储器地址(pmad)寻址是用一个符号(符号地址)或一个表示16位地址的立即数来指明寻址的程序空间的地址。

3)端口地址寻址:

端口地址(PA)寻址是用一个符号或一个数值来指明其外部I/O口地址。

4)长立即数*(lk)寻址:

长立即数*(lk)寻址是用一个符号或一个数值来指明寻址的数据存储空间的地址。

这种寻址方式可以用在所有支持单数据存储器(Smem)操作数的指令中。

使用长立即数寻址方式的指令不能与单循环指令RPT和RPTZ一起使用。

3.直接寻址方式有两种方式,它们是什么?

如何控制?

当SP=2000h,DP=2,偏移地址为25h时,分别寻址的是哪个存储空间的哪个地址单元?

直接寻址方式包括DP直接寻址和SP直接寻址两种方式。

当CPL=0时,寻址方式为以DP为基地址的直接寻址方式,简称DP直接寻址;

当CPL=1时,寻址方式为以堆栈指针SP为基地址的直接寻址方式,简称SP直接寻址。

当CPL=0时,DP=2,dmad=25h,实际地址为0100h+25h=0125h。

当CPL=1时,SP=2000h,dmad=25h,实际地址为2000h+25h=2025h。

4.当使用位倒序寻址时,应使用什么辅助寄存器?

试述地址以位倒叙方式产生的过程。

位倒序寻址是DSP的一种特殊处理方式,是专门为快速傅立叶变换FFT而设计的,这种寻址方式可以显著提高程序的执行速度和存储区的利用效率。

使用时,AR0存放的整数N为FFT点数的一半,另一个辅助寄存器ARx指向数据存放的单元,当使用位倒序寻址把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右,而不是通常的从右向左。

5.在循环寻址方式中,如何确定循环缓冲的起始地址?

如循环缓冲大小为32,其起始地址必须从哪开始?

长度为R的缓冲器必须从N位地址的边界开始(即循环缓冲器基地址的N个最低有效位必须为0),N是满足2N>

R条件的最小整数。

长度R=32的循环缓冲器必须从地址XXXXXXXXXX0000002(N=6,26>

32,该地址的最低6位为0)开始,同时32必须存入BK。

6.若辅助寄存器AR0的值为0x0010h,AR3的值为0x0310h,循环缓冲起始地址为0300h,BK=31,请分别给出下列寻址方式修改后的辅助寄存器的值。

(1)*AR3+%

(2)*AR3+0%(3)*AR3-0%(4)*+AR3(-2)(5)*AR0(0100H)

寻址方式修改后的辅助寄存器的值

(1)AR3=0X0311H(0X0300H<

0X0311H<

0X031FH)

(2)AR3=0X0310H+0X0010H=0X0320H>

0X031FH则:

AR3=0X0320H-1FH=0X0301H

(3)AR3=0X0310H-0X0010H=0X0300H

(4)AR3=0X0310-2=0X030EH

(5)AR0=0X0100H

7.双数据存储器操作数间接寻址使用哪几种类型?

所用辅助寄存器只能是哪几个?

其特点是什么?

双数据存储器操作数间接寻址类型为*ARx、*ARx-、*ARx+、*ARx+0%。

所用4个辅助寄存器为AR2、AR3、AR4、AR5。

双数据存储器操作数间接寻址的特点是:

占用程序空间小,运行速度快,在一个机器周期内通过2个16位数据总线(C和D)读两个操作数。

8.堆栈寻址的作用是什么?

压栈和弹出堆栈操作是如何实现的?

当发生中断或子程序调用时,堆栈用来自动地保存程序计数器PC的值。

堆栈也可以用来保护现场或传送参数。

堆栈寻址,就是利用堆栈指针,按照先进后出的原则来寻址。

SP总是指向压入堆栈的最后一个数据。

堆栈寻址的作用是保护调用,中断现场信息,进行数据传输。

在执行压入堆栈操作时,SP先减1,然后将数据压入堆栈;

在执行弹出堆栈操作时,数据从堆栈中弹出后,SP再加1。

9,10,11,12,21,22题:

参考书中例题和PPT,自行思考解答。

第5章TMS320C54x的软件开发与设计

1.简述TMS320C54x应用软件开发过程。

TMS320C54XDSP软件开发的流程主要包括以下步骤:

(1)用C语言或汇编语言编写程序,后缀分别为.C或.asm,在asm文件中,除了DSP的指令外还有伪指令;

(2)用汇编器由asm文件生成obj文件,或者用C编译器把C文件翻译成asm文件,再生成obj文件;

(3)用链接器根据链接命令文件(cmd文件)将多个obj文件及库文件链接起来,并分配各程序段、数据段的地址,生成的out文件可供模拟/仿真;

(4)用模拟器/仿真器对out文件进行分析验证;

(5)用代码格式转换工具将out文件转化成可写入EPROM的数据文件。

2.简述汇编器、链接器的功能。

汇编器(Assembler)用于把汇编语言源文件翻译成机器语言目标文件,机器语言格式为公用目标格式(COFF)。

链接器(Linker)用于把多个目标文件组合成单个可执行目标模块。

它一边创建可执行模块,一边完成重定位以及决定外部参考。

链接器的输入是可重定位的目标文件和目标库文件。

3.简述COFF文件中段的结构。

参考P1835.5.1节COFF文件中的段。

4.链接器对段是如何处理的?

链接器是开发TMS320C54x器件必不可少的开发工具之一,它对段处理时有2个主要任务:

一个是将一个或多个COFF目标文件中的各种段作为链接器的输入段,经链接后在一个执行的COFF输出模块中建立各个输出段;

另一个是在程序装入时对其重新定位,为各个输出段选定存储器地址。

链接器通过链接命令文件来控制对段的处理,命令文件为ASCⅡ文件,可包含以下内容:

控制链接的输入文件名、指定目标文件、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1