TMS320C54xDSP原理及应用复习资料精.docx

上传人:b****1 文档编号:2381415 上传时间:2023-05-03 格式:DOCX 页数:15 大小:272.37KB
下载 相关 举报
TMS320C54xDSP原理及应用复习资料精.docx_第1页
第1页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第2页
第2页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第3页
第3页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第4页
第4页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第5页
第5页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第6页
第6页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第7页
第7页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第8页
第8页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第9页
第9页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第10页
第10页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第11页
第11页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第12页
第12页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第13页
第13页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第14页
第14页 / 共15页
TMS320C54xDSP原理及应用复习资料精.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

TMS320C54xDSP原理及应用复习资料精.docx

《TMS320C54xDSP原理及应用复习资料精.docx》由会员分享,可在线阅读,更多相关《TMS320C54xDSP原理及应用复习资料精.docx(15页珍藏版)》请在冰点文库上搜索。

TMS320C54xDSP原理及应用复习资料精.docx

TMS320C54xDSP原理及应用复习资料精

 

填空:

•OVLY=(0),片内RAM仅配置到到数据存储空间。

•DROM=

(1),片内ROM配置程序和数据存储空间。

•ST1的CPL=

(1)表示选用对战指针SP的直接寻址方式。

•ST1的C16=

(1)表示ALU工作在双精度算术运算式。

•软件中断是由(INTR)(TRAD)(RESET)产生的。

•时钟发生器包括一个(内部振荡电路)和一个(锁相环电路)

•状态寄存器ST1中CPL=0表示(使用DP),CPL=1表示(使用SP)

•累加器寻址的两条指令分别是(READASmem)(WRITASmem)

•链接器对段的处理主要通过(MEMORY)和(SECTIONS)两个命令完成。

•所有的TMS320C54X芯片内部都包含(程序)存储器和(数据)存储器。

•所有的COFF目标文件都包含以下三种形式的段:

(.text文本段.data数据段.bss保留空

间段)。

•TMS320C54X有8组16位总线(1组程序总线,3组数据总线,4组地址总线)。

•TMS320C54XDSP具有两个(40)位累加器。

累加器A的(AG或32~39)位是保护位。

•对于32位数寻址时,如果寻址的第一个字处在偶地址,那么第二个就处在(下一个高)

地址;如果寻址的第一个字处在奇地址,那么第二个就处在(前一个低)地址。

••••••

•DSP芯片特点:

有(改进的哈佛结构)、(低功耗设计)和(高度并行性)(多处理单元)

(特殊DSP指令)等特点。

•DSP片内寄存器在C语言中一般米用(指针)方式来访冋,常常米用的方法是将

DSP寄

存器地址的列表定义在(头文件)。

•TMS320C54X有3个16位寄存器作为状态和控制寄存器(ST0)

(ST1)(PMST)。

•TMS320C54X的三类串行口:

(标准同步串行口)(缓冲串行口)

(时分多路串行口)。

•TMS320C54X的工作方式状态寄存器PMST提供了三个控制位,

包括(MP/非MC)、

(OVLY)、(DROM)。

•MEMORY的作用(是用于描述系统实际的硬件资源,用来定义用户设计的系统中所包含

的各种形式的存储器,以及他们占据的地址范围)

•SECTIONS的作用(是用于描述段如何定位到家当的硬件资源上。

将输出段定位到所定义

 

的存储器中)。

址)组成16位的数据存储器地址。

•时钟发生器为TMS320C54X提供时钟信号,时钟发生器可以由(内部振荡电路)或(外

部时钟电路)驱动。

3、5、8、9)位时为短立即数,

•桶型移位寄存器能把输入的数据进行(0-31)位的左移和(0-15)位右移。

•即寻址方式中的立即数有两种数值形式,数值的位数为(数值的位数为(16)位时为长立即数。

•MP/非MC=

(1),允许片内ROM配置到程序存储空间。

•MP/非MC=(0),禁止片内ROM配置到程序存储空间。

•OVLY=

(1),片内RAM配置程序和数据存储空间。

•DROM=(0),禁止ROM配置到到数据存储空间。

指令:

•ADD#4568H,8,A,B//将4568H左移8位与A相加,赋给B。

•ADDA,-8,B//将A右移8位加上B,保存于B。

•ADD*AR3+,14,A//将AR3左移4加上AA。

•DSTB,*AR1-//B存到长字单元7AR1中,且AR减1。

AR17A的低位,其

•LDMAR1,A//存储器映像寄存器寻址方式,将映像寄存器加载累加器

余位置0。

•LD#10H,4,A//将10H左移4位加载到累加器A中。

•LDMMMR,A//

•MAC*AR3+,*AR4+,A,B//AR3.AR44+A7B,AR3与AR3都加1。

•MVKDSAMPLE,*AR5//SAMPLE7AR5中。

•MVDD*AR3+,*AR5+//数据存储器内部传送数据AR37AR5,且指令结束后AR3与AR5

加1。

•MPYATEMP2//B<=A.Temp2,T=Temp2。

•PPT#99

NOP//重复NOP100次。

•STLA,@quo〃将累加器A的低16位字存放在quot的存储单元中。

•STLB,*AR3+//将累加器的低位移位后加载到AR3所指地址。

•WRITASMEM//将A的内容写入SMEM中。

•••••••••LD#0032H,4,A//立即数0032H先左移4位后,再加载累加器A.

•STM#1000H,*AR2//立即数1000H存储到AR2指向的地址单元

•MAC#345,A,B//立即数345与T寄存器内值相乘后与累加器A值相加,结果加载累加器

B.

•MVDD*AR3-,100H//AR3指向的地址单元的值传送给地址100H单元,AR3中地址减一。

•LDM*AR1,A//AR1指向的地址单元的值加载到累加器A.

简答:

■CPU响应中断有哪些条件?

中断处理一般过程是什么?

对于软件中断和非可屏蔽中断,CPU立即响应。

如果是可屏蔽中断,只有满足以下条件才

能响应:

1优先权利最高;

2ST1中的INTM=0即允许可屏蔽中断;

3IMR中相位为1,允许可屏蔽中断。

中断流程:

1接受中断请求;

2响应中断;

3执行中断服务程序。

MEMORY命令用于描述系统实际的硬件资源,用来定义用户设计的系统中所包含的各种形式的存储器,以及他们占据的地址范围。

SECTIONS命令用于描述段如何定位到家当的硬件资源上。

将输出段定位到所定义的存储器中。

■W述TMS320C54X芯片的主要特点。

1CPU(中央处理单元)利用其专用的硬件逻辑和高度并行性提高芯片的处理性能。

2存储器具有192k字可寻址存储空间(包括64K字程序存储空间、64K字数据存储空间

和64K字I/O空间)。

3高度专业化的指令集能够快速地实现算法冰用于高级语言编程优化。

4片内外设和专用电路采用模块化的结构设计,可以快速的推出新的系列产品。

5TMS320C54X执行单周期定点指令时间为25/20/15/12.5/10ns,每秒指令数位

40/66/100MIPS。

电模式下,使之更适合于手机。

接,用于芯片的仿真和测试。

■W述TMS320C54X芯片存储器的分配方法。

序存储空间、64k的数据存储空间、64k的I/O存储空间。

TMS320C54X的工作方式状态寄存器PMST提供了三个控制位:

MP/非MC、OVLY、DROM,

用于在存储空间中配置片内存储器。

MP/非MC:

微处理器/微型计算机工作方式位。

OVLY:

RAM重叠位。

DROM:

数据ROM位。

■W述直接寻址及其两种方式:

址值组成一个16位的数据存储器地址。

直接寻址分为数据页指针直接寻址、堆栈指针直接寻址两种。

数据页指针直接寻址:

当状态寄存器ST1中的CPL位等于0时,ST0中的DP值与指令中

的7位地址一起形成16位数据存储器地址;

堆栈指针直接寻址:

当ST1中的CPL位等于1时,将指令中的7位地址与16位堆栈指针

SP相加,形成16位的数据存储器地址。

・荀述位码倒寻址的主要用途及实现方法。

实现方法:

ARO存放的整数N是FFT点数的一半,一个辅助寄存器只想一个数据存放的物理单元,当使用位码倒寻址把ARO加到辅助寄存器中时,地址以位倒序的方式产生,即进

位是从左向右,而不是通常的从右向左。

■t栈寻址的作用是什么?

压栈和弹出堆栈是如何实现的?

环境或传递数据值。

处理器使用一个16位存储器映像寄存器的一个堆栈指针来寻址堆栈,

会被自动压栈,堆栈指针SP指向存放最后一个数据的堆栈单元;返回时,返回地址从堆栈

中弹出并装入PC。

■W述TMS320C54X宏命令及其功能。

的指令。

宏命令一经定义,便可在以后的程序中多次调用,从而可以简化和缩短源程序。

功能:

定义自己的宏,重新定义已存在的宏、简化长的或复杂的汇编代码、访问由归档器创建的宏库、处理一个宏中的字符串、控制展开列表。

使用过程:

宏定义,宏调用,宏展开。

编辑:

程序代码的编写,生成.asm文件。

汇编:

利用TMS320C54X的汇编器对已经编好的一个或者多个源文件分别进行汇编,并

生成.lst(列表)文件和.obj(目标)文件。

链接:

利用TMS320C54X的链接器LNK500,根据链接器命令文件(.cmd)对已经汇编过的

一个或是多个目标文件(.obj)进行链接,生成.map文件和.out文件。

・W述流水线的6个独立阶段并介绍其功能。

1程序预取指:

将所要取指的地址放在程序地址总线上;

取指:

从程序总线上取指令字,并装入指令寄存器;

指令译码:

对IR中的内容译码,产生执行指令所需要的一系列控制信号;

寻址:

数据地址产生单元在数据地址总线上输出读操作数的地址。

读:

从数据总线和控制总线上读操作数;

执行指令:

从数据总线上写数据。

■154■■述TMS320C54X芯片的中断系统。

断系统既支持硬件中断,又支持软件中断。

无论是哪种中断都可以分为可屏蔽中断和非可屏蔽中断。

中断系统包括:

中断结构、中断流程、中断编程。

■简述串行通信,并描述TMS320C54X的三个串口。

接收器将串行数据流以一定的时序

串行通信是发送器将并行数据逐位移出成为串行数据流,和一定的格式呈显在连接收/发器的数据线上。

三类串行口:

标准同步串行口(SPI):

有两个独立的缓冲器用于传送数据,接收缓冲器和发送缓冲器,每

型标准串行口,它是全双工的,并有两个可设置大小的缓冲区。

提供了一种简单而有效的方式。

■■■■■■

■段的作用是什么?

COFF目标文件包含哪些段?

种形式的段:

.text文本段.data数据段.bss保留空间段■TMS320C54X有哪几种基本的寻址方式?

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

■L个典型的DSP系统通常由哪些部分组成?

画出原理框图。

A/D、DSF、D/A。

1001010011

100101011101010010110010001110100001011010010101110101001011000

■w述存储器映像寄存器寻址地址产生及其地址产生的两种方式。

针SP的值。

高9位为0,指定的辅助寄存器的高9位在寻址后被强制置0。

・荀述链接器的作用和功能。

功能:

1将各个段配置到目标系统的存储器中;

2对各个符号和段进行重新定位,并给他们制定一个最终的地址;3结局输入文件之间未定

义的外部引用问题。

■HP接口有几个寄存器?

他们的作用是什么?

1HPI存储器:

用于TMS320C54X与主机间传送数据。

地址从1000H到17FFH,空间容量

为2K字。

实现相互中断请求。

5HPI控制逻辑:

用于处理HPI与主机之间的接口信号。

程序:

SP,对其初始化。

•设计一存储空间为100个单元的堆栈。

将栈底地址指针送

Size.set100;设置堆栈空间的大小为100

Stack.usect"STK",size;设置堆栈段的首地址和堆栈空间

STM#stack+size,SP

•利用SUBC完成整除法,4伯/7H=9H,余数是2H。

LD#0041H,B

STM#0100H,AR2

STM#0110H,AR3

ST#0007H,*AR2

RPT#15

SUBC*AR2,B

STLB,*AR3+

STHB,*AR3

•编写求解加、减法的程序,计算z=x+y-w。

.title"ex41.asm"

.mmregs

STACK.usectSTACK”,10H.bssx,1.bssy,1.bssw,1.bssz,1.defstart

Table:

.word6,7,9.text

Start:

STM#0,SWWSR

STM#STACK+10H,SP

STM#x,AR1

RPT#2

MVPDtable,*AR1+

LD@x,A

ADD@y,A

SUB@w,A

STLA,@z

End:

Bend.end

•假设目标存储器的配置如下:

程序存储器:

EPROME000h〜FFFFH(片外)

数据存储器:

SPRAM0060H〜007FH(片内);DARAM0080H〜017FH(片内)

要求编写链接命令文件ex421.cmd。

此命令用来链接ex421.obj和vector.obj两个目标文件(输

入文件),并生成一个映像文件ex421.map,以及一个可执行的输出文件ex421.out。

标号"start"

是程序的入口。

答案:

ex421.objvectors.obj-oex421.out-mex421.map-estart

MEMORY

PAGE0:

EPROM:

org=0E000H,len=100Hvecs:

org=0FF80H,len=04Hvecs1:

org=0FFC8H,len=04H

PAGE1:

SPRAM:

org=0060H,len=20H

DARAM:

org=0080H,len=100H

SECTIONS

.text:

>EPROMPAGE0.bss:

>SPRAMPAGE1.data:

>EPROMPAGE0

STACK:

>DARAMPAGE1

.vectors:

>vecsPAGE0

INT2:

>vecs1PAGE0

•阅读下列汇编源程序,在每条语句后写出注释,并叙述程序的功能。

.title"cjy4.asm".mmregs

STACK.usect"STACK",10H.bssa,4;为a分配4个存储单元.bssx,4;为X分配4个存储单元.bssy,1;为结果y分配1个存储单元.defstart.data;定义数据代码段

table:

.word1*32768/10;在table开始的8个

.text;定义可执行程序代码段startSSBXFRCT;设置FRCT位,表示进行小数乘

STM#x,AR1;将X的首地址传给AR1

RPT#7;重复8次下条指令

MVPDtable,*AR1+;将程序空间8个数传给数据存储器

AR2

AR3

STM#x,AR2;将数据存储器第一个数x1的地址传给

STM#a,AR3;将数据存储器第五个数a1的地址传给

RPTZA,#3;将A清零,重复4次下条指令

MAC*AR2+,*AR3+,A;执行乘法累加和,结果放在A

STHA,@y;将A的高端字存入结果y,低端字省去

end:

Bend;原处循环等待.end

•编写一段程序,将PM中的10个数据首先传送到DM中(以地址0016H开始),

再将该数据传送到地址以0058H开始的DM中。

(PM:

程序存储器;DM:

数据

存储器)。

•••••••编程实现小数乘法,要求将变量tempi装入累加器高16位与temp2相乘,结果存入temp3。

SSBXFRCT;置FRCT标志位,准备小数乘法

LDtempi,16,A;将变量tempi装入累加器A的高16位

MPYAtemp2;完成temp2与累加器A的高16位相乘,结果放入B累加器,并将temp2装

入T寄存器

STHtemp3;将乘积结果的高16位存入变量temp3•将数组x[5]初始化为{1,234,5}。

(共10分)

.data;定义初始化数据段起始地址

TBL:

.word1,2,3,4,5;为标号地址TBL

;开始的5个单元赋初值

.sect.'Vectors”;定义自定义段,并获得该段起始地址

BSTART;无条件转移到标号为START的地址.bssx,5;为数组X分配5个存储单元

.text;定义代码段起始地址

START:

STM#x,AR5;将x的首地址存入AR5

RPT#4;设置重复执行5次下条指令

MVPDTBL,*AR5+end:

Bend.end•阅读下列汇编源程序,在每条语句后写出注释,并叙述程序的功能。

.titleCjy1.asm”;为汇编源程序取名

.mmregs;定义存储器映象寄存器

STACK.usectSTACK”,30H;设置堆栈

.bssx,10;为数组x分配10个存储单元

.bssy,10;为数组y分配10个存储单元

.datatable:

.word1,2,3,4,5,6,7,8,9,10.defstart;定义标号start.textstart:

STM#0,SWWSR;复位SWWSR

STM#STACK+30H,SP;初始化堆指针

STM#x,AR1;将目的地首地址赋给AR1

RPT#19;设定重复传送的次数为20次

MVPDtable,*AR1+;程序存储器传送到数据存储器

STM#x,AR2;将X的首地址存入AR2

STM#y,AR3;将y的首地址存入AR3

RPT#19;设置重复执行20次下条指令

MVDD*AR2+,*AR3+;将地址x开始的20个值复制到地址y开始的20个单元end:

Bend.end

程序功能:

将数据存储器中的数组x[10]复制到数组y[10]。

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2