TMS320C54xDSP精.docx

上传人:b****2 文档编号:2319021 上传时间:2022-10-28 格式:DOCX 页数:16 大小:70.02KB
下载 相关 举报
TMS320C54xDSP精.docx_第1页
第1页 / 共16页
TMS320C54xDSP精.docx_第2页
第2页 / 共16页
TMS320C54xDSP精.docx_第3页
第3页 / 共16页
TMS320C54xDSP精.docx_第4页
第4页 / 共16页
TMS320C54xDSP精.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

TMS320C54xDSP精.docx

《TMS320C54xDSP精.docx》由会员分享,可在线阅读,更多相关《TMS320C54xDSP精.docx(16页珍藏版)》请在冰豆网上搜索。

TMS320C54xDSP精.docx

TMS320C54xDSP精

 

TMS320C54xDSP

CPU与外设

 

第一章综述

1总线结构

C54x包括8条16比特宽度的总线,其中:

●一条程序总线(PB)

●三条数据总线(CB、DB、EB)

●四条地址总线(PAB、CAB、DAB、EAB)

2CPU

C54x的CPU结构包括:

●40比特的ALU,其输入来自16比特立即数、16比特来自数据存储器的数据、暂时存储器、T中的16比特数、数据存储器中两个16比特字、数据存储器中32比特字、累加器中40比特字。

●2个40比特的累加器,分为三个部分,保护位(39-32比特)、高位字(31-16比特)、低位字(15-0比特)。

●桶型移位器,可产生0到31比特的左移或0到16比特的右移。

●17×17比特的乘法器

●40比特的加法器

●比较选择和存储单元CSSU

●数据地址产生器DAGEN

●程序地址产生器PAGEN

3外设

C54x包括:

●通用I/O引脚,XF和

●定时器

●PLL时钟产生器

●HPI口,8比特或16比特

●同步串口

●带缓存串口,BSP

●多路带缓存串口,McBSP

●时分复用串口,TDM

●可编程等待状态产生器

●可编程bank-switching模块

●外部总线接口

●IEEE1149.1标准JTAG口

第二章存储器

一般而言,C54x的存储空间可达192K16比特字,64K程序空间,64K数据空间,64KI/O空间。

依赖其并行的工艺特性和片上RAM双向访问的性能,在一个机器周期内,C54x可以执行4条并行并行存储器操作:

取指令,两操作数读,一操作数写。

使用片内存储器有三个优点:

高速执行(不需要等待),低开销,低功耗。

1存储空间分配图(以C549为例)

 

复位后,中断矢量表位于程序区FF80H位置,可重新定位于程序空间任何一个128字的页面(其地址高9比特即页号由PMST中IPTR确定)。

2程序存储区

C54x有片内ROM、DARAM、SARAM,这些区域可以通过软件配置到程序空间。

当地址落在这些区域内,自动对这些区域进行访问;当地址落在这些区域以外,自动产生对外部存储器的访问。

2.1片内ROM

片内ROM(4K,16K,24K,28K或48K字)可能包括的内容有:

●引导程序,可以从串口、外部存储器、I/O口或HPI口引导

●256字的μ率扩展表

●256字的A率扩展表

●256字的正弦表

●中断矢量表

2.2扩展程序存储器

‘548、’549、’5410、’5420采用分页扩展的方式使可寻址程序空间达到8192K字。

这一功能的实现有赖于:

●23条地址线

●扩展程序计数器XPC

●6条访问外部程序空间的指令

当程序空间可以使用片内RAM时,程序空间的每一页分为以下两部分:

最大32K字的通用块和32K字的专有块。

通用块为所有页共享。

XPC寄存器指示选定页,复位后,初始化为0。

影响XPC的6条指令是:

●FB[D]-长跳转指令

●FBACC[D]-长跳转指令,跳转地址由A或B中内容确定

●FCALA[D]-长调用指令,子程序地址由A或B中内容确定

●FCALL[D]-长调用指令

●FRET[D]-长返回指令

●FRETE[D]-长中断返回指令

其它的指令不修改XPC寄存器,而在当前页中做内部访问。

3内存映象寄存器(以‘549为例)

0

IMR

中断屏蔽寄存器

1

IFR

中断标志寄存器

2-5

-

测试保留

6

ST0

状态寄存器0

7

ST1

状态寄存器1

8

AL

累加器A低字(15-0比特)

9

AH

累加器A高字(31-16比特)

A

AG

累加器A保护位(39-32比特)

B

BL

累加器B低字(15-0比特)

C

BH

累加器B高字(31-16比特)

D

BG

累加器B保护位(39-32比特)

E

T

乘法寄存器

F

TRN

传送寄存器

10-17

AR0-AR7

辅助寄存器ARnn=0~7

18

SP

堆栈指针

19

BK

循环缓存区大小寄存器

1A

BRC

块重复计数器

1B

RSA

块重复开始地址

1C

REA

块重复结束地址

1D

PMST

状态寄存器

1E

XPC

PC扩展寄存器

1E-1F

保留

20

BDRR0

带缓存串口0数据接收寄存器

21

BDXR0

带缓存串口0数据发送寄存器

22

BSPC0

带缓存串口0控制寄存器

23

BSPCE0

带缓存串口0控制扩展寄存器

24

TIM

定时器计数器

25

PRD

定时器周期寄存器

26

TCR

定时器控制寄存器

27

保留

28

SWWSR

等待状态产生寄存器

29

BSCR

Bank-switching控制寄存器

2A

保留

2B

XSWR

扩展等待状态寄存器

2C

HPIC

主机接口控制寄存器

2D-2F

保留

30

TRCN

TDM串口数据接收寄存器

31

TDXR

TDM串口数据发送寄存器

32

TSPC

TDM串口控制寄存器

33

TCSR

TDM串口通道选择寄存器

34

TRTA

TDM串口接收发送寄存器

35

TRAD

TDM串口接收地址寄存器

36-37

保留

38

AXR0

ABU0发送地址寄存器

39

BKX0

ABU0发送缓冲大小寄存器

3A

ARR0

ABU0接收地址寄存器

3B

BKR0

ABU0接收缓冲大小寄存器

3C

AXR1

ABU1发送地址寄存器

3D

BKX1

ABU1发送缓冲大小寄存器

3E

ARR1

ABU1接收地址寄存器

3F

BKR1

ABU1接收缓冲大小寄存器

40

BDRR1

带缓存串口1数据接收寄存器

41

BDXR1

带缓存串口1数据发送寄存器

42

BSPC1

带缓存串口1控制寄存器

43

BSPCE1

带缓存串口1控制扩展寄存器

44-57

保留

58

CLKMD

时钟方式寄存器

59-5F

保留

下面着重对三个状态寄存器作一简要说明。

3.1ST0寄存器

ST0结构为:

15-13

12

11

10

9

8-0

ARP

TC

C

OVA

OVB

DP

●ARP-辅助寄存器指针

●TC-测试/控制位,存储了ALU测试位操作的结果,受BIT,BITF,CMPM,CMPR,CMPS,SFTC指令的影响

●C-如果加法产生进位C为1,减法产生借位C为0。

ADD指令只能置位C,而SUB指令只能清C

●OVA-累加器A溢出标志

●OVB-累加器B溢出标志

●DP-数据存储空间页标志,由DP指定页,在此页中采用直接寻址指令。

其绝对地址为DP指示的高9位加上直接寻址指令中的地址为其低7位构成。

3.2ST1寄存器

ST1结构为:

15

14

13

12

11

10

9

8

7

6

5

4-0

BRAF

CPL

XF

HM

INTM

0

OVM

SXM

C16

FRCT

CMPT

ASM

●BRAF-块重复指示。

BRAF=1,块重复操作。

●CPL-编译器模式,指示相关直接寻址选用指针。

CPL=0,使用DP指针;CPL=1,使用SP指针。

●XF-指示外部引脚XF状态。

●HM-挂起方式。

指示CPU响应信号的方式。

HM=0,外部接口呈高阻;HM=1,CPU停机。

●INTM-全局中断控制位。

INTM=0,开中断;INTM=1,屏蔽可屏蔽中断。

●0-读出值总为0。

●OVM-溢出处理方式。

指示发生溢出时,对累加器中数值的处理。

OVM=0,溢出值不变;OVM=1,载入正向最大值007FFFFFFFH或负向最大值0080000000H。

●SXM-符号扩展方式。

SXM=0,符号不扩展;SXM=1,数据被ALU使用前先行符号扩展。

●C16-C16=0,ALU操作采用双精度方式(全32位方式),C16=1,ALU操作采用双16位方式。

●FRCT-小数模式。

FRCT=1,乘法器输出左移一位补偿多余的符号位。

●CMPT-兼容模式。

CMPT=0,ARP在只有单数据存储器操作数的间接寻址方式中不更新,在这种方式下,ARP必须总置0;CMPT=1,ARP在上述条件下更新,除非使用AR0。

●ASM-累加器移位数。

规定了移位范围-16-15,用于并行存储指令STH、STL、ADD、SUB和LD。

3.3PMST寄存器

ST1结构为:

15-7

6

5

4

3

2

1

0

IPTR

MP/MC

OVLY

AVIS

DROM

CLKOFF

SMUL

SST

●IPTR-中断矢量指针。

此9位指向内存空间中以128字为单位的页首址。

即中断矢量必须位于页的起始部分。

复位后IPTR为1FFH,指向FF80H的位置,可重新定义到任何页。

●-微机/微处理器模式。

=0,微机模式,片内ROM可访问;=1,微处理器模式,片内ROM不可访问。

●OVLY-片内RAM是否配置入程序空间。

OVLY=0,片内RAM不配置入程序空间;OVLY=1,除00-7FH外,片内RAM配置入程序空间。

●AVIS-地址显示模式。

控制对内部程序访问时,地址数据是否显示在地址线上。

AVIS=0,不显示;AVIS=1,显示。

●DROM-数据ROM配置。

DROM=0,片内ROM不配置在数据空间;DROM=1,部分片内ROM配置在数据空间。

●CLKOFF-CLKOUT关闭。

CLKOFF=1,CLKOUT输出禁止,保持高电平。

●SMUL-乘法溢出处理。

当SMUL=1,且OVM=1,FRCT=1时,对MAC(乘累加)和MAS(乘累减)指令的操作基于ETSIGSM规范。

体现在在小数模式下,在进行后续加/减之前,8000H×8000H的结果被调整为7FFFFFFH。

这等同于在OVM=1下MPY+ADD指令。

如果只有OVM=1,而SMUL不为1,只在加/减结果后作溢出调整。

●SST-存储溢出处理。

当SST=1,累加器中数据在存储到数据空间之前进行溢出调整。

影响指令有:

STH,STL,STLM,DST,ST||ADD,ST||LD,ST||MACR[R],ST||MAS[R],ST||MPY和ST||SUB.步骤是:

1)依据指令,累加器中数据完成左移或右移。

2)40比特值根据SXM位调整为32位。

SXM=0(不符号扩展),若值大于7FFFFFFFH,取7FFFFFFFH;若SXM=1(符号扩展),若值大于7FFFFFFFH,取7FFFFFFFH,若值小于80000000H,取80000000H。

3)调整后数据存入数据空间。

4)在调整过程中,累加器中数据不改变。

3.4累加器的存储操作

累加器中数据存储,AH和AL部分比较好办,采用STH,STL和STLM即可完成。

要存储AG中的内容,则需要采用间接方式,如累加器A中内容为0FF43211234H,要存储AG部分内容至TEMP存储器中,可用“STHA,-8,TEMP”指令来完成,TEMP=FF43H。

第三章数据寻址

C54x提供七类寻址方式:

●立即数寻址

●绝对地址寻址

●累加器寻址

●直接寻址

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

当前位置:首页 > 工程科技 > 交通运输

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

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