最新DSP习题答案Word文件下载.docx

上传人:b****8 文档编号:22906841 上传时间:2023-02-05 格式:DOCX 页数:19 大小:79.59KB
下载 相关 举报
最新DSP习题答案Word文件下载.docx_第1页
第1页 / 共19页
最新DSP习题答案Word文件下载.docx_第2页
第2页 / 共19页
最新DSP习题答案Word文件下载.docx_第3页
第3页 / 共19页
最新DSP习题答案Word文件下载.docx_第4页
第4页 / 共19页
最新DSP习题答案Word文件下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

最新DSP习题答案Word文件下载.docx

《最新DSP习题答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新DSP习题答案Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。

最新DSP习题答案Word文件下载.docx

指令周期通常以ns(纳秒)为单位。

例如,运行在200MHz的TMS320VC5510的指令周期为5ns。

(2)MIPS:

每秒百万条指令数。

(3)MOPS:

每秒百万次操作数。

(4)MFLOPS:

每秒百万次浮点操作数。

(5)BOPS:

每秒十亿次操作数。

(6)MAC时间:

一次乘法累加操作花费的时间。

大部分DSP芯片可在一个指令周期内完成MAC操作;

(7)FFT执行时间:

完成N点FFT所需的时间。

FFT运算是数字信号处理中的典型算法而且应用很广,因此该指标常用于衡量DSP芯片的运算能力。

第2章

1.TMS320C55xDSP有哪些特征和优点?

(参见表2-2)。

一个32位×

16位指令缓冲队列:

缓冲变长指令并完成有效的块重复操作;

两个17位×

17位的乘法累加器:

在一个单周期执行双乘法累加操作;

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

实现高精度算术和逻辑操作;

一个40位桶形移位寄存器:

能够将一个40位的计算结果最高向左移31位或向右移32位;

一个16位算术逻辑单元(ALU):

对主ALU并行完成简单的算术操作;

4个40位的累加器:

保留计算结果,减少对存储单元的访问;

12条独立总线,其中包括3条读数据总线、2条写数据总线、5条数据地址总线、1条读程序总线、1条程序地址总线:

为各种计算单元并行地提供将要处理的指令和操作数——利用C55x的并行机制的优点;

用户可配置IDLE域:

改进了低功耗电源管理的灵活性。

2.TMS320C55xDSP的内部结构由哪几部分组成?

(参见图2-1)C55x有一条32位的程序数据总线(PB),5条16位数据总线(BB、CB、DB、EB、FB)和1条24位的程序地址总线,以及5条23位的数据地址总线,这些总线分别与CPU相连。

总线通过存储器接口单元(M)与外部程序总线和数据总线相连,实现CPU对外部存储器的访问;

指令缓冲单元(I)、程序流程单元(P)、地址流程单元(A)和数据计算单元(D);

以及存储器接口单元(M)。

3.简述指令缓冲单元(I)、程序流程单元(P)、地址流程单元(A)和数据计算单元(D)的组成和功能?

C55x的指令缓冲单元由指令缓冲队列IBQ(InstructionBufferQueue)和指令译码器组成。

在每个CPU周期内,I单元将从读程序数据总线接收的4B程序代码放入指令缓冲队列,指令译码器从队列中取6B程序代码,根据指令的长度可对8位、16位、24位、32位和48位的变长指令进行译码,然后把译码数据送入P单元、A单元和D单元去执行。

程序流程单元由程序地址产生电路和寄存器组构成。

程序流程单元产生所有程序空间的地址,并控制指令的读取顺序。

地址流程单元包括数据地址产生电路、算术逻辑电路和寄存器组构成。

数据地址产生电路(DAGEN)能够接收来自I单元的立即数和来自A单元的寄存器产生读取数据空间的地址。

对于使用间接寻址模式的指令,由P单元向DAGEN说明采用的寻址模式。

数据计算单元由移位器、算术逻辑电路、乘法累加器和寄存器组构成。

D单元包含了CPU的主要运算部件。

D单元移位器能够接收来自I单元的立即数,能够与存储器、I/O空间、A单元寄存器、D单元寄存器和P单元寄存器进行双向通信,此外,还可以向D单元的ALU和A单元的ALU提供移位后的数据。

4.TMS320C55xDSP的流水线操作包括多少个阶段?

每一阶段完成什么操作?

两个。

第一阶段是取流水线,即从内存中取出32位的指令包,放入指令缓冲队(IBQ)中,然后为流水线的第二阶段提供48位的指令包。

第二阶段是指执行流水线,这部分的功能是对指令进行解码,完成数据的存取和计算。

5.TMS320C55xDSP有哪些片上外设?

两个20位的定时器。

一个看门狗定时器。

6通道直接存储器存取控制器(DMA)。

外部存储器接口(EMIF)。

三个串口支持最多三个多通道缓冲串口(McBSP)或最多两个多媒体/安全数字卡接口。

增强型主机接口(EHPI)是一个16位的并行接口。

可编程锁相环(DPLL)时钟发生器。

USB全速(12Mbps)从端口。

I2C主从接口。

一个实时时钟。

6.TMS320C55x的寻址空间是多少?

当CPU访问程序空间和数据空间时,使用的地址是多少位的?

C55x的寻址空间为16MB,当CPU从程序空间读取程序代码时,使用24位地址,当访问数据空间时,使用23位的地址。

但是在访问数据空间时,将23位地址左移一位,并将地址总线上的最低有效位(LSB)置0,使得在对数据空间或程序空间寻址时,地址总线都传送24位地址。

7.符合IEEE1149.1标准的测试/仿真接口的引脚有哪几个?

TCK引脚、TDI引脚、TDI引脚、

、TRST、EMU0、

/OFF

第3章

1.C55xDSP支持哪三种寻址模式?

C55xDSP支持三种寻址模式,绝对寻址模式;

直接寻址模式;

间接寻址模式。

2.简述K16绝对寻址和K23绝对寻址不同点和相同点。

不同点:

K16绝对寻址的指令其操作数为*abs16(#k16),其中K16是一个16位的无符号常数。

寻址方法是将7位的寄存器DPH(扩展数据页指针XDP的高位部分)和K16级联形成一个23位的地址,用于对数据空间的访问。

该模式可以访问一个存储单元和一个存储映射寄存器。

和K23绝对寻址的指令其操作数为*(#k23),其中K23是一个23位的无符号常数。

使用这种寻址方法的指令将常数编码为3字节(去掉最高位)。

相同点:

K16绝对寻址和K23绝对寻址的指令不能与其他指令并行执行。

3.简述C55xDSP并行指令遵守的规则。

在并行指令中,必须遵守三条基本规则:

①两条指令的总长度不能超过6个字节。

②在指令的执行过程中不存在操作器、地址产生单元、总线等资源冲突。

③其中一条指令必须有并行使能位或两条指令符合软-双并行条件。

4.已知AC1=0200FC00H,AR3=0200H,(200)=3400H。

MOV*AR3+<

<

#16,AC1

执行上面指令后,AC1和AR3的值分别是多少?

BeforeAfter

AC1000200FC00AC10034000000

AR30200AR30201

20034002003400

5.已知AC0=EC000000H,AC1=00000000H,AR1=0200H,(200)=3300H,TC2=1。

ADDSUBCC*AR1,AC0,TC2,AC1

执行上面指令后,AC1、AR1和AC0的值分别是多少?

BeforeAfter

AC000EC000000AC000EC000000

AC10000000000AC1011F000000

AR10200AR10200

20033002003300

TC21TC21

SXMD0SXMD0

M400M400

ACOV10ACOV11

CARRY0CARRY1

6.已知AC0=69000000H,AC1=00230000H,*AR1=EF00H,AR2=0201H,*CDP=A067H。

执行下面指令后,

AMAR*AR2+

:

MACuns(*AR1),uns(*CDP),AC0>

>

#16

AC0、*AR1、AR2和AC1的值分别是多少?

AC00069000000AC00095C09200

AC10000230000AC10000230000

*AR1EF00*AR1EF00

AR20201AR20202

*CDPA067*CDPA067

ACOV00ACOV01

ACOV10ACOV10

CARRY0CARRY0

FRCT0FRCT0

SATD0SATD0

7.已知PC=004042H,AC0=0000000001H,根据下表的情况

Bbranch

执行上面指令后,PC和AC0分别是多少?

PC004042PC006047

AC00000000001AC00000000000

第4章

1.根据任务调度的方式不同,C55x处理器程序可以分为哪两类?

并简述其优缺点。

一类是由程序自己完成任务调度,另一类是由嵌入式操作系统完成任务调度。

由程序自身完成任务调度程序运行效率高,对硬件中断响应快,程序运行稳定,适合于任务较为单一、实时性较强的应用;

嵌入式操作系统完成任务调度,可以将应用分解为多个任务,简化了应用系统软件设计,更为重要的是良好的多任务设计有助于提高系统的稳定性和可靠性。

2.请利用指针将I/O空间中地址从0x100到0x107中的值放置到数据空间*ptr指针当中。

ioportint*a;

Int*ptr

voidfoo(void)

{

i=0x100;

a=&

i;

for(intj=0;

j<

=7;

j++)

ptr[j]=a[j];

}

3.在o3级优化情况下,利用中断读取0x100000地址,并将值存放到变量in_flag中。

变量in_flag定义

volatileunsignedintin_flag;

中断服务程序

interruptvoidint_handler()

In_flag=(unsignedint*)0x100000;

4.在C语言编写的程序中,分别给出利用C语言和嵌套汇编语言打开全局中断的程序代码。

C语言打开全局中断

IRQ_globalEnable();

嵌套汇编语言打开全局中断

asm(“BCLRST1_INTM”);

5.给出函数intfn(longl1,longl2,longl3,int*p4,int*p5,int*p6,int*p7,int*p8,inti9,inti10)中传送参数所使用的寄存器。

输入参数通过AC0、AC1、AC2、AR0、AR1、AR2、AR3、AR4、T0、T1传递,输出参数通过T0传送参数。

6.在.sine数据段中定义一个16点的正弦表,其数值采用Q15方式存放。

(Q15即小数点在第15位)

.sina

.word0,12539,23170,30273

.word32767,30273,23170,12539

.word0,-12539,-23170,-30273

.word-32767,-30273,-23170,-12539

7.在.mydata段中为a,b,c分别预留10、20、5个字的空间。

.def_a

.def_b

.def_c

.sectmydata

_a:

.space10*16;

_b:

.space20*16;

_c:

.space5*16;

8.请给出调用图像和视频处理库所需要的.h文件和.lib文件。

调用图像和视频处理库需要需要包含imagelib.h文件,如过采用小模式编程需要55ximage.lib,而采用大模式编程需要55ximagex.lib库。

第5章

1.C55x的片内外设可以分为哪几类?

这些片上外设可以通过什么工具完成片上外设的操作?

可以分为时钟与定时器类、外部设备连接接口、信号采集和通信接口类以及其他外设。

用户可以通过片上外设支持库完成外设的操作,片上外设支持库为用户提供了控制片上外设的函数、宏等工具,用户可以通过程序或者DSP/BIOS完成这些函数和宏的调用。

2.片上外设支持库具有什么特点?

(1)采用标准协议对外设进行编程。

片上外设支持库采用标准协议实现片上外设的编程,这些协议包括数据类型、定义外设配置的宏定义,以及实现各种外设操作的函数等;

(2)基本资源管理。

可以通过程序实现多通道外设的资源管理;

(3)设备的符号描述。

片上外设支持库通过对外设寄存器和寄存器域的符号定义,使得程序在不同DSP之间的移植变得容易,而当DSP的版本发生升级时,可以最大程度减少程序的修改。

3.如何测试时钟发生器是否正常工作?

(1)检查DSP的时钟输入引脚CLKIN、时钟输出引脚CLKOUT和时钟模式引脚CLKMD连接是否正确,正常情况下CLKIN应接时钟源,而CLKMD应拉高或拉低,CLKOUT应是信号输出引脚;

(2)系统加电后测量CLKIN引脚时钟输入是否正常,信号的高低电平及占空比是否满足需要;

(3)在没有进行软件设置的情况下,DSP在复位后CLKOUT的输出直接受CLKMD控制,当CLKMD为高,CLKOUT的输出频率将等于CLKIN的频率,CLKMD为低则CLKOUT输出将等于CLKIN的频率的1/2;

(4)如果以上步骤运行正常,则利用软件设置CLKMD寄存器,使时钟产生器工作于PLL锁相环模式下,此时再检测CLKOUT信号,查看锁相环是否正常工作。

4.设数字信号处理器定时器输入时钟频率为100MHz,如果要求定时器发送中断信号或同步事件信号的频率为1000次每秒,需要如何对定时器进行设置?

根据公式TINT频率

输入时钟频率为100MHz,由于TDDR为4位,这里我们把TDDR设为9,则PRD为9999。

5.为了完成McBSP串口的测试,需要其在回环模式下工作,试画出回环模式工作框图。

6.系统需要通过EHPI接口完成引导,在该引导模式下需要如何对通用引脚进行设置?

在EHPI引导模式下,BOOTM[3:

0]的值为1101B,下面给出通过GPIO设置DSP上电方式示意图。

7.如何对通用输入/输出引脚进行测试?

(1)输入口测试。

输入口测试步骤如下:

①通过I/O方向寄存器IODIR设置某一个引脚为输入方向;

②在已设置为输入方向的引脚上外加LVTTL信号;

③DSP访问I/O数据寄存器IODATA查看引脚上的逻辑电平,与外加LVTTL电平比较来测试输入口是否工作正常。

(2)输出口测试。

输出口测试步骤如下:

①通过I/O方向寄存器IODIR设置某一个引脚为输出方向;

②在I/O数据寄存器IODATA上设置这个引脚的逻辑电平;

③测量引脚的电平,与设置的逻辑电平相比较来检测输出口是否正常工作。

8.DMAGCR寄存器中的EHPIEXCL位设置为0或1时有何区别?

当EHPIEXCL=0,HPI和DMA通道共享DARAM、SARAM和EMIF;

当EHPIEXCL=1,HPI独占DARAM和SARAM,DMA通道只能访问EMIF和外设。

第6章

1.CCS集成开发环境有哪些功能?

CCS的功能十分强大,它集成了代码的编辑、编译、链接和调试等功能,而且支持C和汇编混合编程,其主要功能如下。

集成可视化代码编辑界面:

可直接编写C、汇编、C和汇编混合、.H文件、.cmd文件等。

集成代码生成工具:

包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等功能集成到一个开发环境中。

基本调试工具:

可以装入执行代码(.out文件),查看寄存器窗口、存储器窗口、反汇编窗口和变量窗口,并且支持C源代码级调试。

断点工具:

能在调试程序的过程中,设置软件断点、硬件断点、数据空间读/写断点、条件断点(使用GEL编写表达式)等。

探针调试工具(probepoints):

可用于算法仿真,数据监视等。

性能分析工具(profilepoints):

可用于评估代码执行的时钟数。

实时分析和数据可视化工具:

例如:

数据的图形显示工具,可绘制时域/频域波形、眼图、星座图、图像等,并具有自动刷新功能(使用Animate命令运行)。

GEL工具:

用户利用GEL扩展语言可以编写自己的控制面板/菜单,设置GEL菜单选项,可方便直观地修改变量,配置参数等。

支持实时数据交换RTDX(RealTimeDataExchange)技术:

该技术可在不中断目标系统运行的情况下,实现DSP与其他应用程序(OLE)的数据交换。

提供DSP/BIOS工具:

增强对代码的实时分析能力,如分析代码执行的效率、调度程序执行的优先级、方便管理或使用系统资源(代码/数据占用空间,中断服务程序的调用,定时器使用等),从而减少了开发人员对硬件资源熟悉程度的依赖性。

支持多DSP的调试。

2.在CCS集成开发环境中可以使用的仿真设备包括哪些?

仿真设备包括软仿真器(Simulator)、各种硬仿真器(Emulator)、TI或第三方公司提供的DSP初学者套件(DSK)和DSP评估板(EVM)等。

3.CCS的所有窗口都含有一个关联菜单,如何打开一个窗口的关联菜单?

只要在该窗口中单击右键,就可以打开关联菜单。

4.CCS为用户提供了哪几种常用的工具条?

常用工具条包括:

标准工具条、编辑工具条、项目工具条和调试工具条。

5.怎样创建一个新的工程项目?

工程项目的创建过程包括:

(1)在主菜单“Project”中选择“New”选项,弹出下图所示的对话框。

(2)在“ProjectName”域中输入要创建的项目名,在“Location”域输入或选择将要创建的工程项目所处的目录,对于每个新建的工程项目,最好建立不同的目录。

(3)从“Project”下拉列表中选择要创建的工程项目的配置(可执行程序.out或目标库函数.lib)。

(4)在“Target”下拉列表中选择将要创建的工程项目所对应的目标器件系列(TMS320C54xx、TMS320C55xx、TMS320C62xx等)。

(5)单击“Finish”按钮就完成了一个工程项目的创建。

6.如果工程文件是基于C语言编写的,怎样向工程项目中添加运行时支持库?

在主菜单中选择“Project”中的“AddFilestoProject”选项,或在工程项目浏览窗口单击项目名,在弹出的对话框中选择“AddFiles”选项。

在弹出的对话框中选择要添加文件的目录,在CCS的安装目录“\c5500\cgtools\lib”下,在添加文件对话框的“文件类型”下拉列表中要选择“ObjectandLibraryFiles(*.o*,*.l*)”,向工程里添加“rts55x.lib”或“rts55.lib”文件。

7.在调试程序时,经常使用断点,它的作用是什么?

怎样设置和删除断点?

程序运行过程中如果遇到断点,就会暂时停止运行,回到调试状态。

用户可以通过查看变量、图形等方式,发现程序中的错误。

断点可以设置在源代码行上,也设置在反汇编窗口中的指令行上。

有三种方法可以快速地设置断点。

①在反汇编窗口或含有C/C++的源代码窗口中,将光标移动到需要设置断点的指令行上,单击右键,在弹出的菜单中选择“Togglebreakpoint”命令,在本行左边会出现红色标记,表示此处有断点。

②在反汇编窗口,双击要设置断点的指令行,在源代码窗口,双击指令行左边的页边,即可完成断点的设置。

③可以单击工具条上的按钮

来添加断点。

可以使用以下任何一种方法删除断点。

∙在反汇编窗口或含有C/C++的源代码窗口中,将光标移动到已经设有断点的指令行上,单击右键,在弹出的菜单中选择“Togglebreakpoint”命令来取消断点。

∙在反汇编窗口,双击已经设有断点的指令行,在源代码窗口,双击设有断点的指令行左边的页边,即可取消断点。

∙可以单击工具条上的按钮

来删除断点。

∙选择“Debug”菜单中“Breakpoints”命令,出现如图6-38所示的“Break/ProbePoints”对话框,在断点列表中选择要删除的断点,单击“Delete”按钮,单击“OK”按钮即可。

8.什么是探针点?

它的作用是什么?

怎样设置和删除探针点?

探针点(ProbePoint)是CCS中比较有特色的工具,程序运行到探针点会执行特定的操作,如刷新图形、文件输入/输出等。

有两种方法可以很方便地设置探针点:

将光标移动到需要设置探针点的位置,单击右键,在弹出的菜单中选择“ToggleProbePoint”命令,该行最左边将出现一个蓝色菱形探针点标志;

或单击项目工具条上的按钮

完成探针点的设置。

探针点的删除:

在反汇编窗口或含有C/C++的源文件中,将光标移动到已设置探针点的位置,单击右键,在弹出的菜单中选择“ToggleProbePoint”命令即可删除探针点;

删除探针点。

单击项目工具条上的按钮

可以删除所有探针点。

第7章

1.如果电源芯片TPS54110的输出电压为1.4V,应如何设置R1、R2的电阻阻值?

根据公式

如果R2为3.92kΩ,将值带入公式,最后得到R1为6.86kΩ。

2.请给出TMS320VC5510的上电加载方式。

TMS320VC5510的上电加载方式有SPI口加载方式,EMIF口加载方式、EHPI口加载方式和McBSP口加载方式。

3.C55x系列处理器在使用TLC5510完成并行采样时可以采用哪几种方式读取采样数据?

处理器读取采样数据可以通过两种方式进行,即中断方式或者DMA方式。

4.简述采用DMA方式完成TLC5510数据采集的特点和优点。

DMA方式是把INT3引脚的低电平信号作为DMA同步事件,由它引发DMA传送,从而将采样数据导入处理器存储器,该方式的

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

当前位置:首页 > 高等教育 > 医学

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

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