DSP原理与应用张卫宁课后习题答案Word文档下载推荐.docx

上传人:b****6 文档编号:21195773 上传时间:2023-01-28 格式:DOCX 页数:19 大小:197.89KB
下载 相关 举报
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

①40位的算术运算逻辑单元(ALU)。

②2个40位的累加器(ACCA、ACCB)。

③1个运行-16至31位的桶形移位寄存器。

④17×

17位的乘法器和40位加法器构成的乘法器-加法器单元(MAC)。

⑤比较、选择、存储单元(CSSU)。

⑥指令编码器。

⑦CPU状态和控制寄存器。

3、处理器工作方式状态寄存器PMST中的MP/MC、OVLY和DROM三个状态位对C54x的存储空间结构各有何影响?

当OVLY=0时,程序存储空间不使用内部RAM。

当OVLY=1时,程序存储空间使用内部RAM。

内部RAM同时被映射到程序存储空间和数据存储空间。

当MP/MC=0时,4000H~EFFFH程序存储空间定义为外部存储器;

F000H~FEFFH程序存储空间定义为内部ROM;

当MP/MC=1时,4000H~FFFFH程序存储空间定义为外部存储。

DROM=0:

0000H~3FFFH——内部RAM;

4000H~FFFFH——外部存储器;

DROM=1:

4000H~EFFFH——外部存储器;

F000H~FEFFH——片内ROM;

FF00H~FFFFH——保留。

4、TMS320C54x芯片的片内外设主要包括哪些电路?

①通用I/O引脚②定时器③时钟发生器④主机接口HPI⑤串行通信接口⑥软件可编程等待状态发生器⑦可编程分区转换逻辑

5、TMS320C54x芯片的流水线操作共有多少个操作阶段?

每个阶段执行什么任务?

完成一条指令都需要哪些操作周期?

六个操作阶段:

①预取指P;

将PC中的内容加载PAB②取指F;

将读取到的指令字加载PB③译码D;

若需要,数据1读地址加载DAB;

若需要,数据2读地址加载CAB;

修正辅助寄存器和堆栈指针④寻址A;

数据1加载DB;

数据2加载CB;

若需要,数据3写地址加载EAB⑤读数R;

若需要,数据3写地址加载EAB;

⑥执行X。

执行指令,写数据加载EB。

6、TMS320C54x芯片的流水线冲突是怎样产生的?

有哪些方法可以避免流水线冲突?

’C54x的流水线结构,允许多条指令同时利用CPU的内部资源。

由于CPU的资源有限,当多于一个流水线上的指令同时访问同一资源时,可能产生时序冲突。

解决办法①由CPU通过延时自动解决;

②通过程序解决,如重新安排指令或插入空操作指令。

为了避免流水冲突,可以根据等待周期表来选择插入的NOP指令的数量。

7、TMS320C54x芯片的串行口有哪几种类型?

四种串行口:

标准同步串行口SP,缓冲同步串行口BSP,时分多路串行口TDM,多路缓冲串行口McBSP。

8、TMS320VC5402共有多少可屏蔽中断?

它们分别是什么?

NMI和RS属于哪一类中断源?

答:

TMS320VC5402有13个可屏蔽中断,RS和NMI属于外部硬件中断。

9、试分析下列程序的流水线冲突,画出流水线操作图。

如何解决流水冲突?

STLMA,AR0

STM#10,AR1

LD*AR1,B解:

流水线图如下图:

解决流水线冲突:

最后一条指令(LD*AR1,B)将会产生流水线冲突,在它前面加入一条NOP指令可以解决流水线冲突。

10、试根据等待周期表,确定下列程序段需要插入几个NOP指令。

1LD@GAIN,T

STM#input,AR1

MPY*AR1+,A解:

本段程序不需要插入NOP指令

2STLMB,AR2

STM#input,AR3

MPY*AR2+,*AR3+,A解:

本段程序需要在MPY*AR2+,*AR3+,A语句前插入1条NOP指令

③MAC@x,B

STLMB,ST0

ADD@table,A,B解:

本段程序需要在ADD@table,A,B语句前插入2条NOP指令

第三章

1、已知(80H)=50H,AR2=84H,AR3=86H,AR4=88H。

MVKD80H,*AR2

MVDD*AR2,*AR3

MVDM86H,AR4

运行以上程序后,(80H)、(84H)、*AR3和AR4的值分别等于多少?

解:

(80H)=50H,(84H)=50H,*AR3=50H,AR4=50H

2、已知,(80H)=20H、(81H)=30H。

LD#0,DP

LD80H,16,B

ADD81H,B

运行以上程序,B等于多少?

(B)=0000000000H

3、阅读以下程序,分别写出运行结果。

.bssx,4

.data

table:

.word4,8,16,32

……

STM#x,AR1

RPT#2

MVPDtable,*AR1+

数据表table中的常量4传送到以变量x的地址为地址的存储单元中;

数据表table中的常量8传送到以变量x+1的地址为地址的存储单元中;

数据表table中的常量16传送到以变量x+2的地址为地址的存储单元中;

.data

.word4,8,16,32

MVPDtable,*+AR2

数据表table中的常量4传送到以变量x+1的地址为地址的存储单元中;

数据表table中的常量8传送到以变量x+2的地址为地址的存储单元中;

数据表table中的常量16传送到以变量x+3的地址为地址的存储单元中;

3.5TMS320C54x的数据寻址方式各有什么特点?

应该应用在什么场合?

TMS320C54x有7种基本的数据寻址方式:

立即寻址,绝对寻址,累加器寻址,直接寻址,间接寻址,存储器映像寄存器寻址和堆栈寻址。

1,立即寻址:

其特点是指令中包含有一个固定的立即数,操作数在指令中,因而运行较慢,需要较多的存储空间。

它用于对寄存器初始化。

2,绝对寻址:

可以寻址任一数据存储器中操作数,运行较慢,需要较多的存储空间。

它用于对寻址速度要求不高的场合。

3,累加器寻址:

把累加器内容作为地址指向程序存储器单元。

它用于在程序存储器和数据存储器之间传送数据。

4,直接寻址:

指令中包含数据存储器的低7位和DP或SP结合形成16位数据存储器地址,它寻址速度快,用于对寻址速度要求高的场合。

5,间接寻址:

利用辅助寄存器内容作为地址指针访问存储器,可寻址64千字X16为字数据存储空间中任何一个单元。

它用于按固定步长寻址的场合。

6,堆栈寻址:

用于中断或子程序调用时,将数据保存或从堆栈中弹出。

7,存储器映像寄存器(MMR)寻址,是基地址为零的直接寻址,寻址速度快,它用于直接用MMR名快速访问数据存储器的0页。

第四章

1、软件开发的环境有哪几种?

在非集成开发环境中,软件开发常采用哪些部分?

可以在两种开发环境中进行C54X的开发:

非集成的开发环境和集成的开发环境。

在非集成开发环境中,软件开发常采用:

编辑、汇编、链接、调试等部分。

2、什么是COFF格式?

它有什么特点?

汇编器和链路器生成的目标文件,是一个可以由'

C54x器件执行的文件。

这些目标文件的格式称为公共目标文件格式,即COFF。

特点:

在编写汇编语言程序时,COFF采用代码段和数据段的形式,以便于模块化的编程,使编程和管理变得更加方便。

3、说明.text段、.data段和.bss段分别包含什么内容?

.text段(文本段),通常包含可执行代码;

.data段(数据段),通常包含初始化数据;

.bss段(保留空间段),通常为未初始化变量保留存储空间。

5、链接器对段是如何处理的?

链接器将一个或多个COFF目标文件中的各种段作为链接器的输入段,经过链接后在一个可执行的COFF输出模块中建立各个输出段,通过情况下是将不同目标文件中的同名段进行合并,并为各个输出段分配进具体的存储器中。

6、什么是程序的重定位?

将各个段配置到存储器中,使每个段都有一个合适的起始地址;

将符号变量调整到相对于新的段地址的位置;

将引用调整到重新定位后的符号,这些符号反映了调整后的新符号值。

7、宏定义、宏调用和宏展开分别指的是什么?

在调用宏之前,必须先定义宏。

可以在源程序的任何位置定义宏,宏定义的所有内容必须包含在同一个文件中。

宏定义可以嵌套,即在一条宏指令中调用其他的宏指令。

在定义宏之后,可在源程序中使用宏名进行宏调用。

8、链接器能完成什么工作?

链接器命令文件中,MEMORY命令和SECTIONS命令的任务是什么?

链接器将各个目标文件合并起来,并完成如下工作:

(1)将各个段配置到目标系统的存储器。

(2)对各个符号和段进行重新定位,并给它们指定一个最终的地址。

(3)解决输入文件之间的未定义的外部引用。

MEMORY命令的作用:

MEMORY命令用来建立DSP应用系统中的存储器模型。

通过这条命令,可以定义系统中所包含的各种形式的存储器,以及它们占用的地址范围。

SECTION命令的作用:

说明如何将输入段结合成输出段;

在可执行程序中定义输出段;

规定输出段在存储器中的存储位置;

允许重新命名输出段。

第六章应用程序设计

2、FIR低通滤波器的截止频率为

,其输出方程为:

存放

的系数表以及存放数据的循环缓冲区设置在DARAM中,如图6.1所示。

试用MATLAB中的fir1函数确定各系数ai,用循环缓冲区实现。

运行Coef.m文件,生成滤波器所需系数文件。

Coef.m文件内容如下:

n=79;

b=fir1(n,0.1);

fid=fopen('

FIRCoef.inc'

'

wt'

);

fprintf(fid,'

%s%s%s\n'

FIRCoef'

.sect'

"

FIRCOEF"

'

%s\n'

forj=1:

1:

(n+1)

%s%6.0f\n'

.word'

round(b(j)*16384));

end

fclose(fid)

用循环缓冲区实现的参考程序如下:

;

FIR滤波器的参考程序,使用循环缓冲区法。

.title"

fir_main.asm"

.mmregs

.global_c_int00

K_FIR_BFFR.set80

K_FIR_INDEX.set1

K_FRAME_SIZE.set256

stack_len.set100

stack.usect"

STACK"

stack_len

FIR_DP.usect"

fir_vars"

0

d_filin.usect"

1

d_filout.usect"

fir_coff_table.usect"

fir_coff"

K_FIR_BFFR

d_data_buffer.usect"

fir_bfr"

K_FIR_BFFR;

buffersizeforthefilter

FIR_Dinbuf.usect"

fir_dinbuf"

K_FRAME_SIZE

FIR_Doutbuf.usect"

fir_doutbuf"

.asgAR0,FIR_INDEX_P

.asgAR4,FIR_DATA_P

.asgAR5,FIR_COFF_P

.asgAR6,INBUF_P

.asgAR7,OUTBUF_P

.copy"

FIRInput.inc"

.copy"

FIRCoef.inc"

.text

_c_int00:

ssbxINTM;

INTM=1,禁止所有可屏蔽中断

ssbxFRCT

--------------------------------------------------------------------

stm#0,CLKMD;

切换CPU内部PLL到分频模式

Clk_Status:

ldmCLKMD,A

and#01b,A

bcClk_Status,ANEQ;

检查是否已经切换到分频模式?

stm#0x07ff,CLKMD;

设置DSP时钟16.384MHZ

--------------------------------------------------------------------

nop

stm#0x3FF2,PMST

stm#0x7FFF,SWWSR

stm#0xF800,BSCR

stm#0x0000,IMR;

禁止所有可屏蔽中断

stm#0xFFFF,IFR;

清除中断标志

stm#stack+stack_len,SP;

设置堆栈指针

nop

STM#FIR_Dinbuf,AR1

RPT#(K_FRAME_SIZE-1)

MVPD#FIRIn,*AR1+;

以上3行的功能是把模拟数据拷贝到内存中。

STM#fir_coff_table,FIR_COFF_P

RPT#K_FIR_BFFR-1;

MVPD#FIRCoef,*FIR_COFF_P+;

把滤波器常数拷贝到内存中。

STM#K_FIR_INDEX,FIR_INDEX_P

STM#d_data_buffer,FIR_DATA_P;

loadcir_bfraddressfortherecentsamples

RPTZA,#K_FIR_BFFR

STLA,*FIR_DATA_P+;

清除滤波器缓冲区,所有数据存储单元置0。

STM#(d_data_buffer+K_FIR_BFFR-1),FIR_DATA_P;

STM#fir_coff_table,FIR_COFF_P;

AR5指向滤波器系数缓冲区最低地址。

STM#FIR_Dinbuf,INBUF_PAR6指向输入数据缓冲区,准备读入数据。

STM#FIR_Doutbuf,OUTBUF_P;

AR7指向输出数据缓冲区,准备读出数据。

;

修改数据页指针

LD#FIR_DP,DP

STM#K_FRAME_SIZE-1,BRC;

程序执行256次。

RPTBDfir_filter_loop-1

STM#K_FIR_BFFR,BK;

LD*INBUF_P+,A;

从输入数据缓冲区读入数据,准备处理。

fir_filter:

STLA,*FIR_DATA_P+%;

读入最新数据

RPTZA,(K_FIR_BFFR-1)

MAC*FIR_DATA_P+0%,*FIR_COFF_P+0%,A;

累加处理。

STHA,*OUTBUF_P+;

把数据输出到输出缓冲区,可以验证结果。

fir_filter_loop

WaitbWait

.END

第七章TMS320C54x片内外设、接口及应用

1、已知TMS320C54X的CLKOUT频率为4MHz,那么,

①在SAM工作方式下,主机的时钟频率是多少?

在SAM工作方式下,主机频率可达3.2MHz或2.4MHz。

②在HOM工作方式下,主机的时钟频率与TMS320C54X的时钟频率有关吗?

在HOM工作方式下,主机的时钟频率与TMS320C54X的时钟频率无关。

2、试分别说明下列有关定时器初始化和开放定时中断语句的功能(针对5402处理器)。

①STM#0004H,IFR

清除外部中断2标志位

②STM#0080H,IMR

允许定时器T1或DMAC1中断(使用哪一种中断由DMA通道优先级和使能控制寄存器DMPREC控制。

在复位以后,中断被配置为定时器T1中断)。

③RSBXINTM

使能所有可屏蔽中断。

④STM#0279H,TCR

设置定标计数器的值PSC为9;

定时器分频系数为9;

以PRD中的值加载TIM,以TDDR中的值加载PSC;

定时器停止工作。

3、试分别说明下列语句的功能。

1STM#SPCR10,SPSA0

STM#0001H,BSP0

对串口控制寄存器SPCR10赋值。

不使用数字循环返回模式,接收数据DRR[1,2]采用右对齐方式,连续时钟方式,DX使能判断,接收中断由RRDY产生,接收移位寄存器未超载,串口接收器准备好,使能串口接收器。

②STM#SPCR20,SPSA0

STM#0081H,BSP0

对串口控制寄存器SPCR20赋值。

串口使用软件模式,帧同步逻辑、采样率发生器复位,由发送准备好XRDY驱动发送中断;

发送移位寄存器为空,发送器未准备好,使能串口发送器。

③STM#SPCR20,SPSA0

ORM#01000001B,BSP0

修改串口控制寄存器SPCR20的值。

由采样率发生器产生帧同步信号,使能串口发送器。

4、已知中断向量TINT=013H,中断向量地址指针IPTR=0111H,求中断向量地址。

中断向量地址=(100010001B)<

<

9+(10011)<

2=88CCH

第八章

1、一个典型的dsp系统通常有哪些部分组成?

画出原理框图?

一个完整的DSP系统通常是由DSP芯片和其他相应的外围器件构成。

一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等。

⑤经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。

 

2、dsp系统硬件设计过程都有哪些步骤?

第一步:

确定硬件实现方案;

第二步:

器件的选择;

第三步:

原理图设计;

第四步:

PCB设计;

第五步:

硬件调试;

第九章

工程项目的管理

CCS开发环境对用户系统采用工程项目的集成管理,使用户系统的开发和调试变得简单明了。

在开发过程中,CCS会在开发平台中建立不同独立程序的跟踪信息,通过这些跟踪信息对不同的文件进行分类管理,建立相应的文件库和目标文件。

一个工程项目包括源程序、库文件、链接命令文件和头文件等,它们按照目录树的结构组织在工程项目中。

工程项目构建(编译链接)完成后生成可执行文件。

9.1CCS集成开发环境都有哪些功能?

CCS集成开发环境。

此环境集编辑,编译,链接,软件仿真,硬件调试和实时跟踪等功能于一体,包括编辑工具,工程管理工具和调试工具等。

9.3在CCS的所有窗口中,都含有一个关联菜单。

怎样打开这个关联菜单?

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

9.4CCS软件为用户提供哪几种常用的工具条?

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

9.6CCS软件可为用户提供各种窗口,常用的窗口都有哪些?

怎样打开?

反汇编窗口,存储器窗口,寄存器窗口,观察窗口,

反汇编窗口:

主要用来显示反汇编后的指令和调试所需的符号信息,包括反汇编指令,指令所存放的地址和相应的操作码。

当程序装入目标处理器或仿真器后,CCS会自动打开反汇编窗口。

存储器窗口:

可以直接显示存储器的内容。

在调试程序的过程中,可直接观察存储器的内容来确定程序的正确性。

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

当前位置:首页 > 高中教育 > 语文

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

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