DSP应用技术教程部分习题答案.docx
- 文档编号:17188143
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:19
- 大小:30.20KB
DSP应用技术教程部分习题答案.docx
《DSP应用技术教程部分习题答案.docx》由会员分享,可在线阅读,更多相关《DSP应用技术教程部分习题答案.docx(19页珍藏版)》请在冰点文库上搜索。
DSP应用技术教程部分习题答案
《TMS320C54xDSP应用技术教程》部分习题答案
注意:
未提供的参考答案习题〔因考试为开卷形式.部分在课堂讲过.部分需要自行思考归纳总结或编程.请参考PPT和书上示例.自行解答。
第1章绪论
1.简述DigitalSignalProcessing和DigitalSignalProcessor之间的区别与联系。
答:
前者指数字信号处理的理论和方法.后者则指用于数字信号处理的可编程微处理器.简称数字信号处理器。
数字信号处理器不仅具有可编程性.而且其数字运算的速度远远超过通用微处理器.是一种适合于数字信号处理的高性能微处理器。
数字信号处理器已成为数字信号处理技术和实际应用之间的桥梁.并进一步促进了数字信号处理技术的发展.也极大地拓展了数字信号处理技术的应用领域。
2.什么是DSP技术?
答:
DSP技术是指使用通用DSP处理器或基于DSP核的专用器件.来实现数字信号处理的方法和技术.完成有关的任务。
5.数字信号处理的实现方法有哪些?
答:
参见P3-4节。
6.DSP的结构特点有哪些?
答:
哈佛结构和改进的哈佛结构、多总线结构、流水线技术、多处理单元、特殊的DSP指令、指令周期短、运算精度高、硬件配置强。
7.什么是哈佛结构和冯洛伊曼结构?
它们有什么区别?
答:
参见P5-6节。
8.什么是哈佛结构和冯.诺依曼结构?
它们有什么区别?
答:
DSP处理器将程序代码和数据的存储空间分开.各空间有自己独立的地址总线和数据总线.可独立编址和独立访问.可对程序和数据进行独立传输.这就是哈佛结构。
以奔腾为代表的通用微处理器.其程序代码和数据共用一个公共的存储空间和单一的地址和数据总线.取指令和取操作数都是通过一条总线分时进行的.这样的结构称为冯·诺伊曼结构。
采用哈佛结构.可同时取指令和取操作数.并行地进行指令和数据的处理.从而可以大大地提高运算的速度.非常适合于实时的数字信号处理。
而冯·诺伊曼结构当进行高速运算时.取指令和取操作数是分时操作的.这样很容易造成数据传输通道的瓶颈现象.其工作速度较慢。
9.什么是流水线操作?
在DSP中为什么要采用流水线技术?
答:
参见P6-7流水线技术部分。
10.DSP可以按几种方式进行分类?
答:
1按照DSP处理器工作时的数据格式划分.可以将DSP处理器分为定点DSP和浮点DSP。
2按照DSP处理器的用途划分.可以将DSP处理器分为通用型DSP和专用型DSP。
3按照DSP处理器的工作时钟和指令类型划分.可以将DSP处理器分为静态DSP处理器和一致性DSP处理器。
4按照不同生产厂家的产品系列划分.可以将DSP处理器分为TI公司的TMS320系列、AD公司的ADSP21系列、AT&T公司的DSP16/32系列.Motolora公司的MC5600/MC9600系列、NEC公司的μPD77系列等。
11.什么是定点DSP和浮点DSP?
答:
参见P8节。
第2章DSP系统设计概述
1.DSP与通用的CPU和微控制器〔MCU相比有什么特点?
答:
DSP处理器与通用CPU和微控制器〔MCU相比.从系统管理的角度看.通用CPU具有强大的优势;从系统简单、易于开发的角度看.MCU提供了相应用户电路.具有良好的实用性;但如果需要实现复杂数学计算.或需要进行高速数字运算的数字信号处理系统〔例如语音识别、图像实时处理和多媒体处理等.则需要使用DSP处理器来完成.这是由于DSP处理器在结构上采用了许多专门技术和措施.来提高数据运算处理速度.使其能实时快速地实现各种数字运算。
2.简述DSP系统的基本构成。
答:
典型的DSP系统基本结构框图如图所示。
从结构框图可以看出.典型的DSP系统包括数字信号处理器DSP、存储器、A/D和D/A转换器、模拟控制和处理电路、各种控制口与通信口.同时还需要电源管理以及为并行处理或协处理提供的同步电路等。
抗混叠
滤波器
程序存储器
输入
A/D转换器
数字信号处理器
D/A转换器
平滑
滤波器
输出
数据存储器
主机/用户接口
通信接口
3.如何着手DSP系统设计开发?
需要哪些准备工作?
答:
参见P16-17节。
4.简述DSP系统的一般设计过程。
答:
DSP系统的设计开发过程可以用下图所示的流程图来表示.该流程图将设计过程大致分为如下几个阶段:
1)定义系统性能指标
2)确定算法并进行算法模拟
3)选择DSP处理器
4)设计DSP应用系统〔软硬件设计
5)系统集成和测试
根据系统需求
定义系统技术性能指标
确定算法并进行算法模拟
选择DSP处理器
硬件设计
硬件调试
软件编程
软件调试
系统集成和测试
5.TI公司的DSP主要有哪几大类?
答:
TI公司为各种应用开发提供了多种数字信号处理〔DSP平台.其中包括TMS320C2000系列、TMS320C5000系列、TMS320C6000系列、DaVinci数字媒体处理器和OMAP应用处理器。
6.简述TI公司2000,5000,6000系列DSP的特点及主要用途。
答:
参见节。
7.简述Davinci系列处理器和OMAP系列处理器的主要特点.
答:
参见节达芬奇系列和OMAP系列部分。
8.简述TMS320C54x系列处理器与TMS320C55x系列处理器在性能上的区别。
答:
参见节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位总线的功能如下。
11条程序总线〔PB:
程序总线〔PB传送由程序存储器取出的指令操作代码和立即操作数。
23条数据总线〔CB、DB和EB:
3条数据总线〔CB、DB和EB将内部各单元〔如CPU.数据地址生成电路.程序地址生成电路.片内外围设备以及数据存储器连接在一起。
其中.CB和DB用来传送从数据存储器读出的数据;EB用来传送写入存储器的数据。
34条地址总线〔PAB、CAB、DAB和EAB:
4条地址总线〔PAB、CAB、DAB和EAB用于传送执行指令所需要的地址。
3.TMS320C54x的CPU包含哪些部分?
它们的功能是什么?
答:
TMS320C54x的CPU基本组成如下:
运算部件:
140位算术逻辑单元〔ALU:
功能:
TMS320C54x使用40位算术逻辑单元〔ALU和两个40位累加器〔ACCA和ACCB来完成二进制补码的算术运算和逻辑运算.且大多数都是单周期指令。
22个40位累加器A和B:
用于存储ALU或乘法器/加法器单元输出的数据。
累加器也能输出数据到ALU或乘法器/加法器中。
340位桶形移位寄存器:
功能:
桶形移位器能把输入的数据进行0到31位的左移和0到16位的右移。
417×17位乘法器和一个专用40位加法器:
C54xCPU有一个17×17位的硬件乘法器.与40位的专用加法器相连.可以在单周期内完成一次乘法累加运算。
5比较、选择和存储单元〔CSSU:
C54xCPU有一个17×17位的硬件乘法器.与40位的专用加法器相连.可以在单周期内完成一次乘法累加运算。
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数据存储器空间用来存放执行指令所要用的数据.包括需要处理的数据或数据处理的中间结果。
3I/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-77节时钟发生器部分。
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.那么中断响应时.中断向量地址为多少?
答:
该题自己思考解答。
参考P92节。
重点是中断向量地址计算。
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)长立即数*
长立即数*
这种寻址方式可以用在所有支持单数据存储器〔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>用链接器根据链接命令文件
<4>用模拟器/仿真器对out文件进行分析验证;
<5>用代码格式转换工具将out文件转化成可写入EPROM的数据文件。
2.简述汇编器、链接器的功能。
答:
汇编器〔Assembler用于把汇编语言源文件翻译成机器语言目标文件.机器语言格式为公用目标格式〔COFF。
链接器〔Linker用于把多个目标文件组合成单个可执行目标模块。
它一边创建可执行模块.一边完成重定位以及决定外部参考。
链接器的输入是可重定位的目标文件和目标库文件。
3.简述COFF文件中段的结构。
答:
参考P183节COFF文件中的段。
4.链接器对段是如何处理的?
答:
链接器是开发TMS320C54x器件必不可少的开发工具之一.它对段处理时有2个主要任务:
一个是将一个或多个COFF目标文件中的各种段作为链接器的输入段.经链接后在一个执行的COFF输出模块中建立各个输出段;另一个是在程序装入时对其重新定位.为各个输出段选定存储器地址。
链接器通过链接命令文件来控制对段的处理.命令文件为ASCⅡ文件.可包含以下内容:
控制链接的输入文件名、指定目标文件、存档库或其他命令。
链接器选项.它们在命令文件中的使用方法与在命令行中相同。
MEMORY和SECTIONS链接伪指令.用来指定目标存储器结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 应用技术 教程 部分 习题 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)