《TMS320C54xDSP应用技术教程》部分习题答案注意:未提供的参考答案习题(因考试为开卷形式,部分在课堂讲过,部分需要自行思考归纳总结或编程),请参考PPT和书上示例,自行解答。第1章绪论1.简述DigitalSignalProcessing和DigitalSignalProcessor之间的区别与联系。答:前者指数字信号处理的理论和方法,后者则指用于数字信号处理的可编程微处理器,简称数字信号处理器。数字信号处理器不仅具有可编程性,而且其数字运算的速度远远超过通用微处理器,是一种适合于数字信号处理的高性能微处理器。数字信号处理器已成为数字信号处理技术和实际应用之间的桥梁,并进一步促进了数字信号处理技术的发展,也极大地拓展了数字信号处理技术的应用领域。2.什么是DSP技术?答:DSP技术是指使用通用DSP处理器或基于DSP核的专用器件,来实现数字信号处理的方法和技术,完成有关的任务。5.数字信号处理的实现方法有哪些?答:参见P3-41.1.3节。6.DSP的结构特点有哪些?答:哈佛结构和改进的哈佛结构、多总线结构、流水线技术、多处理单元、特殊的DSP指令、指令周期短、运算精度高、硬件配置强。7.什么是哈佛结构和冯洛伊曼结构?它们有什么区别?答:参见P5-61.2.2节。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?答:参见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应用系统(软硬件设计)抗混叠滤波器程序存储器输入A/D转换器数字信号处理器D/A转换器平滑滤波器输出数据存储器主机/用户接口通信接口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的总线有哪些?它们各自的作用和区别是什么?答:根据系统需求定义系统技术性能指标确定算法并进行算法模拟选择DSP处理器硬件设计硬件调试软件编程软件调试系统集成和测试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):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)数据存储器空间用来存放执行指令所要用的数据,包括需要处理的数据或数据处理的中间结果。3)I/O存储器空间可与存储器映射外围设备相接口,也可以作为附加的数据存储空间使用。12.I/O空间是在片内还是在片外?访问I/O的实质是什么?答:I/O空间是在片外,访问I/O是对I/O映射的外部器件进行访问,而不是访问存储器。13.数据页0(0h~7Fh)能否被映射到程序存储空间?答:不能14.TMS320C54x存储空间的配置是受MCMP/、OVLY和DROM3个位控制的。如果想使片上RAM同时映射到数据存储空间和程序存储空间,那么MCMP/、OVLY和DROM的值应该如何设置?答:OVLY=117.TMS320C54x片内外设主要有哪些?答:通用I/O端口、时钟发生器、软件可编程等待状态发生器、可编程块切换逻辑、定时器、主机接口、串行口、DMA控制器等。19.时钟发生器由哪些部分组成?他们是如何工作的?答:参考P73-773.5.2节时钟发生器部分。21.TMS320C54x复位的条件有哪些?通常TMS320C54x有几种复位方式?各是什么?上电复位后,第一条程序指令所在的地址是多少?答:TMS320C54x复位期间,处理器进行以下操作:(1)处理器工作方式状态寄存器PMST中的中断向量指针IPTR被设置成1FFh。(2)处理器工作方式状态寄存器PMST中MC/MP被设置成与引脚MC/MP状态相同的值。(3)程序计数器PC设置成FF80h。(4)扩展程序计数器XPC被清零(如果XPC可用)。(5)不管MC/MP位的状态如何,将FF80h加到地址总线上。(6)数据总线变为高阻状态。(7)控制线处于无效状态。(8)产生应答信号IACK。(9)状态寄存器ST1中的中断方式位INTM置1,关闭所有可屏蔽中断。(10)中断标志寄存器IFR被清零,以清除中断标志。(11)单指令重复计数器(RC)被清除。(12)产生同步复位信号SRESET,用于初始化片内外设。(13)状态寄存器ST0=