《数字信号处理与DSP器件》作业及参考答案.docx
《《数字信号处理与DSP器件》作业及参考答案.docx》由会员分享,可在线阅读,更多相关《《数字信号处理与DSP器件》作业及参考答案.docx(25页珍藏版)》请在冰豆网上搜索。
《数字信号处理与DSP器件》作业及参考答案
《数字信号处理与DSP器件》
作业及参考答案
丁喜冬
中山大学物理科学与工程技术学院
第1章概述
思考题
1,P12:
1,2,3,7,9,11。
2,查看TI公司网站,找出3~4种该公司目前主推的DSP芯片的型号和价格,下载datasheet。
参考答案:
1、DSP算法的实现方法主要有哪些?
答:
(1)在通用的计算机(如PC)上涌软件(如C语言)实现。
(2)在通用计算机系统中加上专用的加速处理机实现。
(3)用通用的单片机(如MCS-51、MSP430系列等)实现。
(4)用通用的可编程DSP芯片实现。
(5)用专用的DSP芯片实现。
2、简述DSP应用系统的典型构成和特点。
答:
DSP应用系统的典型构成如下所示:
特点:
接口方便;编程方便;稳定性好;精度高;可重复性好;集成方便。
3、简述DSP应用系统的一般设计过程。
答:
定义系统性能指标采用高级语言进行性能模拟设计实时DSP应用系统借助开发工具进行软硬件调试系统集成与独立系统运行。
7、什么是定点DSP芯片和浮点DSP芯片?
各有什么优缺点?
答:
定点DSP芯片:
数据以定点格式工作的DSP芯片。
动态范围大,精度高,字长为32位(可扩至40),程序开发周期短;但功耗高,速度慢,价格高。
浮点DSP芯片:
数据以浮点格式工作的DSP芯片。
功耗低,速度快,价格低;但动态范围小,精度低,字长为16位,程序开发周期长。
9、TMS32VC5416-160工作在160MHz时的指令周期是多少ns?
它的运算速度是多少MIPS?
答:
当工作在100MHz时,其指令周期和运算速度又是多少?
在160MHz时的指令周期是6.25ns,运算速度是160MIPS;在100MHz时的指令周期是10ns,运算速度是100MIPS。
11、写出以下缩写词的中英文全称:
DSP、TI、MAC、MIPS、MOPS、MFLOPS、BOPS、DIP、PGA、PLCC、PQFP、PWM
答:
PGA、PLCC、PQFP、PWM。
DSP:
DigitalSignalProcessing数字信号处理
TI:
TexasInstruments德州仪器
MAC:
MultiplierandAccumulator乘累加单元
MIPS:
MillionInstructionsPerSecond每秒执行百万条指令
MOPS:
MillionOperationsPerSecond每秒执行百万次操作
MFLOPS:
MillionFloating-pointOperationsPerSecond每秒执行百万次浮点操作
BOPS:
BillionOperationsPerSecond每秒执行十亿次操作
DIP:
DualIn-linePackage双列直插式封装
PGA:
PinGridArray直插式封装
PLCC:
PlasticLeadedChipCarrier带引线的塑料芯片载体
PQFP:
PlasticQuadFlatPack塑料扁平方形封装
PWM:
PulseWidthModulation脉冲宽度调制
二,TI公司目前主推的DSP芯片的型号和价格:
答:
TI公司现在主要推出三个系列的dsp芯片,其分为
C6000高性能dsp(包括TMS320C674x低功耗DSP ,TMS320C67xDSP,TMS320C667xDSP,TMS320C645xDSP,TMS320C64xDSP,TMS320C62xDSP)
C6000高性能多核dsp(包括TMS320C66xDSP,TMS320C647xDSP,)
C5000超低功耗dsp(包括TMS320C55xDSP,TMS320C54xDSP)
从各系列芯片的数量来看,C6000高性能dsp仍然是当下主流dsp。
C6000HighPerformanceMulticore
主推:
TMS320C6670价格:
$160.00/ku
C6000HighPerformanceDSP
主推:
TMS320C6671价格:
$79.00/ku
C5000UltraLowPowerDSP
主推:
TMS320C5504价格:
$4.95/ku
第2章dsp芯片的基本结构和特征
思考题
1,P42:
1,3,6,7,9,10,11。
2,阅读DSP芯片(TMS320C5416)数据手册,列出其主要性能指标和片内资源。
参考答案:
1、DSP芯片的典型结构是怎样的?
答:
DSP芯片的基本结构大致可以分为CPU、总线、存储器以及集成外设与专用硬件电路等部分。
CPU主要包括算术逻辑单元(ALU)、累加器(ACC)、乘累加单元(MAC)、移位寄存器和寻址单元等。
存储器包括片内ROM、Flash、单访问RAM(SARAM)、双访问RAM(DARAM)等。
集成外设与专用硬件电路包括片内各种类型的串行接口、主机接口、定时器、时钟发生器、锁相环以及各种控制电路。
总线在CPU与存储器、集成外设和专用硬件电路等部分直接传送指令和数据,起到桥梁的作用。
3、什么是冯●诺依曼结构和哈佛结构?
两者有什么区别?
答:
冯●诺依曼结构:
程序指令与数据指令共享同一个存储空间,统一编址、依靠指令计数器提供的地址来区分是指令还是数据,采用同一条地址和数据总线进行访问。
哈佛结构:
将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。
与之对应,系统中设置了程序总线和数据总线两条总线,是数据的吞吐率提高了一倍。
区别:
前者便于硬件实现和管理,但数据传输效率不高;后者程序和数据存储器在两个分开的空间中,取指和执行能完全重叠执行,效率增高。
6、HPI口的特点是什么?
答:
特点:
接口所需外围硬件很少;HPI单元允许芯片直接利用一个或两个数据选通信号、一个独立或复用的地址总线、一个独立或复用的数据总线接到微控制单元MCU上;主机和DSP可独立地对HPI接口操作;主机和DSP握手可通过中断方式来完成;主机还可以通过HPI接口装载DSP应用程序、接收DSP运行结果或诊断DSP运行状态。
7、标准同步串行口应包括哪些基本信号?
答:
基本信号:
数据时钟CLK、帧同步FS、数据接收DR和数据发送DX。
9、TI公司的定点DSP芯片有哪些?
各有什么特点?
答:
TI的定点DSP芯片有:
TMS320C1x、TMS320C2x、TMS320C5x、TMS320C2xx、TMS320C54x、TMS320C62xx/C64xx等。
特点:
(1)TMS320C1x、TMS320C2x、TMS320C5x是TI公司早期生产的DSP芯片。
(2)TMS320C2000系列:
处理能力强;片内具有较大的Flash存储器;功耗低;资源配置灵活。
(3)TMS320C5000系列:
运算速度快;优化的CPU结构;低功耗方式;智能外设。
(4)TMS320C62x/C64x:
运行速度快;芯片内部集成了相互高度正交的2个乘法器和6个算术运算单元;指令集不同;大容量的片内存储器和大范围的寻址能力;低廉的使用成本。
10、TI公司的浮点DSP芯片有哪些?
各有什么特点?
答:
TI的浮点DSP芯片有:
TMS320C3x、TMS320C4x、TMS320C8x、TMS320C67x等。
特点:
(1)TMS320C3x:
是较早推出的、应用较广的浮点芯片,性能价格比高;有相当丰富的硬件资源;软件资源有丰富的指令系统、灵活的程序控制和完善的寻址方式。
(2)TMS320C4x:
是TMS320C3x之后推出的高性能芯片,已逐步退出市场。
(3)TMS320C8x:
是将多个TMS320C4xDSP核集成在一起的DSP芯片,也逐步退出市场。
(4)TMS320C67x:
在TMS320C62x的特点上,还具有以下特点:
运行速度快;硬件支持IEEE格式的32比特单精度与64比特双精度浮点操作;集成了32*32比特的乘法器,其结果可为32或64比特;指令集增加了浮点执行能力,可看做TMS320C62x指令集的超集。
11、除TI公司外,比较著名的DSP芯片生产商有哪些?
答:
美国AD公司、AT&T公司、Motorola公司、日本Fujitsu公司等。
二、列出5416的主要指标以及片内资源
答:
1、性能指标:
带三条独立16位数据总线和程序总线的先进多总线设备;40位ALU,包括一个40位的移位器和两个独立40位的累加器;17×17位并行乘法器;
2、片内资源:
128K16位片内RAM(包括8片8k16位DARAM和8片8k16位SARAM);16k16位程序存储片内ROM。
第3章dsp的数值运算基础
思考题
(不要求)
P67:
1,2,7,8,9。
参考答案:
(略)
第4章dsp芯片的开发环境
思考题
1,P103:
1,2,4,6,7。
2,上机操作(实验一):
熟悉CCS的安装、配置,了解CCS的操作环境、基本功能,了解TMS320C5000的软件开发过程。
参考答案:
1、DSP芯片软件开发的工具分哪几类,各有什么作用?
DSP软件开发工具主要分以下四类,对应的作用如下:
代码生成工具:
将用高级语言、汇编语言或用两种语言混合编写的DSP程序转换为可执行的DSP芯片目标代码的工具程序,主要包括C编译器、汇编器和链接器等。
代码调试工具:
对DSP程序及系统进行调试使之能够达到设计功能的工具程序,主要包括调试器。
代码优化工具:
对C语言程序进行优化使之能达到一定运算量要求的工具程序,主要包括优化器。
代码管理工具:
对整个系统所涉及的文件进行管理使之便于大规模系统开发的工具程序,主要包括工程管理器。
2、从Sample.c源程序到最终的Sample.out,之间需要经过那些步骤?
先建立一个project,然后加入自己的源文件和需要用的lib ,然后编译,如果无错误的话就可以生成一个.out文件。
然后loadprogram即可将.out文件加载到ram中,便可以运行程序进行仿真。
4、CCS的Simulator和Emulator有何区别,什么情况下适合使用Simulator调试程序,那些情况下必须使用Emulator调试程序?
Simulator叫模拟器,它纯粹以软件来模拟源平台的功能和运行结果;Emulator叫仿真器,它以软件和硬件来模拟源平台的内部设计、行为和运行结果。
无目标板的时候适合用simulator,当有目标板的时候要用Emulator。
6、什么是电路型仿真?
什么是扫描型仿真?
电路型仿真:
仿真器的电缆插头必须插入到用户硬件电路中DSP芯片的相应位置,也就是仿真电缆的插头引脚必须与DSP芯片的引脚一一对应。
扫描型仿真:
不采用插入仿真的方法,而是通过DSP芯片上提供的几个仿真引脚实现仿真功能。
7、简要说明采用DSP仿真器如何让进行硬件系统的仿真。
DSP仿真器一段提供一个JTAG(或MPSD)插头,与DSP芯片上提供的接口信号相连接,采用边界扫描的原理,访问DSP芯片的内部资源,并可控制DSP芯片访问外围电路。
仿真器的另一端可以通过USB总线、计算机并口、PCI总线、ISA总线与计算机连接,再通过CCS软件就可以对目标系统进行仿真。
第5章基于c语言的dsp芯片开发
思考题
1,P122:
1,3。
2,上机操作(实验二):
编写一个C语言的DSP程序,编译链接后下载到目标板中执行,并调试出正确的结果。
参考答案:
1、从C语言源程序到汇编语言程序,C语言编译器完成何种处理?
答:
(1)对C文件进行文法分析,生成.IF文件
(2)对代码进行多级优化,以改进C/C++程序的效率,生成.OPT文件
(3)生成汇编程序.ASM文件
2、利用C语言实现中断函数,有什么要求?
答:
(1)中断处理函数必须是void类型,不能有任何输入参数。
(2)进入中断服务程序,编译器只保护与运行上下文相关的寄存器,而不是保护所有的寄存器,中断服务程序可以任意修改不被保护的寄存器。
(3)要正确设置IMR、INTM等中断控制量。
(4)中断服务程序可以被其他C程序调用,但是效率低。
(5)多个中断可以共用一个中断服务程序,c_int0除外。
(6)中断处理函数会与一些编译选项冲突,要避免对包含中断的C程序选用相关参数。
(7)中断服务程序可以和一般函数一样访问全局变量、分配局部变量和调用其他函数。
(8)进入中断服务程序,编译器将自动产生程序保护所有必要的寄存器,并在中断返回前恢复运行环境。
(9)要利用中断向量表正确设置跳转指令。
(10)中断服务程序要尽量短小,避免中断丢失、中断嵌套等。
第6章dsp芯片的存储资源管理
思考题
1,P136:
1,2,3。
2,上机操作(实验二的补充内容):
编写一个C语言的DSP程序,查看并尝试修改其链接命令文件。
参考答案:
1、什么是COFF格式?
它有什么特点?
答:
COFF,CommonObjectFileFormat,通用对象文件格式,是TI公司的编译器和链接器所创建的目标文件格式。
它有利于模块化编程,并且为管理程序代码和系统存储空间提供灵活的方法,基于COFF格式编写汇编程序或者C程序时,不必为程序代码或变量指定目标地址,这位程序编写、程序移植、程序升级提供了极大的方便。
COFF文件格式的核心是使程序员在编写DSP程序时基于代码块和数据块的概念,具有可读性强、可移植性好的特点。
2、说明.text块、.data块和.bss块分别包含什么内容?
答:
.text块:
通常包含可执行代码;
.data块:
通常包含已初始化的变量;
.bss块:
通常为未初始化的变量保留空间。
3、链接命令文件包括哪些内容?
答:
包括MEMORY命令和SECTIONS命令。
MEMORY命令用来定义目标系统中所包含的各种形式的存储器的存储器配置图,包括对存储器各部分命名,以及规定它们的起始地址和长度。
SECTIONS命令告诉链接器如何将输入段合成输出段,在可执行程序中定义输出段,规定输出段在存储器中的存放位置,允许重新命名输出项。
第7章tms320c5000dsp芯片的汇编语言
思考题
1,P196:
1,2,3。
2,上机操作(实验三):
编写一个简单的汇编语言DSP程序,并进行汇编、链接、调试和运行。
参考答案:
1、汇编语句格式包含哪几部分?
编写汇编语句需要注意哪些问题?
答:
汇编语句格式包含标号域、指令域、操作数域和注释域四部分。
编写汇编语句需要注意以下问题:
(1)所有语句必须以标号、空格、星号或分号开始;
(2)所有包含汇编伪指令的语句必须在一行完全指定;
(3)可以选择带有标号,若使用标号,则标号必须从第一列开始,但指令域一定不能;
(4)程序中可以有注释:
–注释开始在第一列时,前面需标上星号或分号;
–但在其他列开始的注释前面只能标上分号。
(5)操作数域:
–立即数,寄存器,程序空间地址,数据空间地址或I/O地址。
–立即数:
#为前缀,间接寻址:
*为前缀。
2、C54x的指令集包含了哪几种基本类型的操作?
答:
C54x的指令集包含了四种基本类型的操作:
(1)算术指令。
包括加法、减法、乘法、乘累加、乘累减、32位操作数运算指令以及其他一些专用指令。
(2)逻辑指令。
包括与、或、异或、移位和测试指令等。
(3)程序控制指令。
包括跳转、调用、中断、返回、重复等程序控制指令。
(4)装载和存储指令。
包括装载、存储以及并行装载和存储的指令等。
3、C54x提供了哪些基本的数据寻址方式?
答:
C54x提供了七种基本的数据寻址方式:
立即数寻址、绝对地址寻址、累加器寻址、直接寻址、间接寻址、存储器映象寄存器寻址、堆栈寻址。
第8章基于c和汇编语言混合编程的dsp芯片开发
思考题
1,P218:
1,2,4。
2,上机操作(实验三的补充内容):
编写一个C语言的DSP程序,在其中嵌入汇编语句,并进行编译、链接、调试和运行。
参考答案:
1、为什么通常需要采用C语言和汇编语言的混合编程方法?
答:
基于C语言的开发方法开发速度快,资源不十分紧张;基于汇编语言的开发方法代码效率更高。
采用C语言和汇编语言的混合编程方法可综合以上优势,以达到最佳利用DSP芯片软硬件资源的目的。
2、C语言和汇编语言的混合编程方法主要有哪几种?
各有什么特点?
答:
主要有三种方法:
独立的C和汇编模块接口、从C程序中访问汇编程序变量和在汇编程序中访问C程序变量。
3、在汇编程序中如何访问C程序中定义的全局变量和全局数组?
试编写TMS320C54x程序进行实际验证。
答:
(1)访问在C程序中定义的全局变量
C程序:
inti;
floatx;
main()
{
}
汇编程序:
.global_i
.global_x
LDI@_i,R0
STFR1,@_x
(2)访问在C程序中定义的全局数组
C程序:
inth[20];
floats[80];
main()
{
}
汇编程序:
.global_h
.global_s
.data
h_add.word_h
s_add.word_s
.text
LDI0,R0
STIR0,@_h+1
LDF@_s+10,R1
LDI@h_add,AR0
LDI@s_add,AR1
LDI0,R0
LDF0.0,R1
RPTS19
STIR0,*AR0++
RPTS79
STFR1,*AR1++
第9章dsp芯片集成外设的开发
思考题
1,P264:
1,2,3,4,7。
2,上机操作(实验五的补充内容):
用C语言编写一个TMS320C5416定时器的初始化程序(包括中断向量表)和中断服务程序,其功能是使评估板上的指示灯每秒闪烁一次。
在教学实验箱上调试、运行该程序。
参考答案:
1、C54xDSP芯片中有哪些主要的片内外设?
答:
主要有通用I/O接口、定时器、HPI接口、串行口、软件可编程等待状态产生器等。
2、CPU与外设传输数据的主要方式有哪些?
试比较它们的优缺点?
答:
主要有查询传送方式(polling)、中断传送方式、DMA传送方式三种。
查询传送方式需不断地查询外设,若外设工作速度较慢,则CPU执行效率会大大降低;中断传送方式可提高CPU的效率;DMA方式直接利用硬件在外设和存储空间之间进行数据交换,不经过CPU,可解放CPU,使其在执行程序的同时,实现大量的数据交换。
3、DSP的中断处理步骤有哪些?
答:
其中
=1,则全局中断禁止,防止其他中断嵌套;
PC→*(SP),PC值递减推入堆栈(用来保护返回地址);
Vector(n)→PC,产生中断矢量地址加载PC;
拉低,表明中断发生;
IFR(n)=0,清除该中断请求相应的标志位
完成这些操作后,CPU开始执行ISR
4、DSP中断矢量表的重定位如何实现?
答:
中断矢量表的地址可以通过修改IPTR实现重定位。
C54x系列的DSP为每个中断提供了一个中断矢量号,并在中断矢量表中提供了4个字的空间用于服务程序的存放。
C54x系列DSP有32个中断,中断矢量表占用128个字的空间,可以存放在除保留空间外的程序存储区任何位置。
中断矢量表的基地址由中断矢量指针(InterruptVectorPointer,IPTP)比特位来确定,这些比特为对应于PMST的7-15
位。
7、McBSP接口的工作模式有哪些?
如何配置?
答:
McBSP接口的工作模式有正常连续工作模式、时钟停止模式、通用I/O模式。
McBSP的配置主要分为初始化和对串行口缓冲器数据的访问控制两部分。
初始化:
将McBSP发送器/接收器复位;对和使用的接收器/发送器相关的寄存器进行编程;唤醒接收器/发送器。
访问控制:
查询法和中断法。
第10章dsp脱机系统设计
思考题
1,P287:
1,3。
2,上机操作(实验六的补充内容):
写一个烧写TMS320C5416程序的辅助命令文件hex.cmd;利用该文件将“实验五”的程序烧写到目标板中。
调试程序,使系统再脱离计算机和仿真器的情况下自启动并使程序正常运行。
参考答案:
(略)
第11章dsp硬件系统设计
思考题
1,P320:
1,2,7。
2,查阅DSP实验教学系统的《教学实验指导书》和其它相关技术资料,阅读实验所用的ICETEK-VC5416-AE评估板的原理图和实物图,分析该评估板硬件系统的组成,思考其硬件电路的具体设计与实现。
参考答案:
(略)
第12章dsp芯片应用系统开发实例
思考题
1,P340:
3。
2,试简单描述DSP应用系统的开发过程和方法。
参考答案:
(略)
第13章数字滤波器算法的dsp实现
思考题
1,P365:
1。
2,补充题:
试分别写出FIR滤波器和IIR滤波器的差分方程、传递函数,并分别画出其一般结构。
参考答案:
(略)
第14章fft算法的dsp实现
思考题
1,P392:
2。
2,试画出8点DITFFT的信号流图。
3,试读懂C语言实现的FFT程序。
参考答案:
(略)
补充内容A1:
Intel系列微处理器
思考题
1,说明微型计算机系统的硬件组成及各部分的作用。
2,试比较通用微处理器和DSP芯片内部结构的不同之处。
3,请在网上查技术手册,比较IntelPentiumPRO和TiTMS320C5416的主要性能指标。
参考答案:
1,说明微型计算机系统的硬件组成及各部分的作用。
微型计算机系统的硬件组成包括微处理器、存储器、系统总线、I/O设备和I/O接口。
微处理器:
处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。
存储器:
存放程序和数据的部件。
系统总线:
用于多个部件相互连接、传递信息的公共通道。
I/O设备和I/O接口:
指微机上配备的输入设备和输出设备,作用是让用户与微机实现交互。
2,试比较通用微处理器和DSP芯片内部结构的不同之处。
通用微处理器是微机控制和运算的核心,即中央处理单元CPU,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器),适合较广的应用领域,例如装在PC机、笔记本电脑、工作站、服务器上的微处理器;
DSP芯片,即数字信号处理器,也是一种微控制器。
内部除了CPU外还集成了计算机的其他一些主要部件,包括总线、存储器、集成外设与专用硬件电路等部分,一个芯片几乎就是一个计算机,只要配上少量的外部电路和设备,就可以构成具体的应用系统。
CPU也与通用微处理器有些区别,增加了乘累加单元(MAC)和移位寄存器等。
补充内容A2:
单片机
思考题
1,比较单片机、通用微处理器和DSP芯片内部结构的不同之处。
2,请在网上查技术手册,然后比较89S51和MEGA16的主要性能指标。
3,试画出一个由89S51构成的单片机最小系统的电路原理图。
(建议用Protel电路设计软件包画出)
参考答案:
1、比较单片机、通用微处理器和DSP芯片内部结构的不同之处。
答:
DSP、单片机以及嵌入式微处理