第2章-TMS320C54x的硬件结构及原理-201109014_第1页
第2章-TMS320C54x的硬件结构及原理-201109014_第2页
第2章-TMS320C54x的硬件结构及原理-201109014_第3页
第2章-TMS320C54x的硬件结构及原理-201109014_第4页
第2章-TMS320C54x的硬件结构及原理-201109014_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章TMS320C54x的硬件结构及原理TMS320C54x系列DSP是一种低功耗、高性能的16位定点芯片采用改进型哈佛总线结构,具有性能强大的CPU内核、内部多总线结构、硬件重复机制及两套独立的地址产生器为组成6级流水线和并行操作提供了硬件平台

它提供多种寻址模式和功能丰富的指令集,满足了高速、实时的数字信号处理的需要它丰富的片内外设资源及方便的外部扩展能力,为芯片的嵌入式应用奠定了基础第2章TMS320C54x的硬件结构及原理内部硬件资源:

CPU内核多总线结构引脚功能系统控制存储器映像中断系统等

第2章TMS320C54x的硬件结构及原理目录:2.1芯片内部结构及特点2.2C54x的内部多总线结构2.3C54x的中央处理单元(CPU)2.4C54x的存储器结构2.5复位操作及省电方式2.6中断系统2.7流水线2.8引脚及其功能第2章TMS320C54x的硬件结构及原理TMS320C54x系列DSP结构框图

2.1芯片内部结构及特点①寻址⑥②③⑤⑤④⑦第2章TMS320C54x的硬件结构及原理2.1芯片内部结构及特点多总线的哈佛结构8套16位的地址总线和数据总线:PAB,PB,DAB,DB,CAB,CB,EAB,EB

1套外设总线实现CPU与片内存储器的数据交换。

通过6通道的直接存储器访问(DMA)可以实现与片内外设的数据传送。第2章TMS320C54x的硬件结构及原理2.1芯片内部结构及特点

CPU内核

1个算术逻辑运算单元(ALU)2个40位的累加器(ACCA、ACCB)1个40位的桶形移位器

1个乘-累加单元(MAC)(17×17位+40位加法)1个比较、选择、存储单元(CSSU)用于维特比算法

1个硬件指数编码器

2个地址生成器(程序地址和数据地址):包括辅助寄存器运算单元ARAU0、ARAU1和AR0~AR7第2章TMS320C54x的硬件结构及原理2.1芯片内部结构及特点片内存储空间

双口DARAM:单周期内可进行一次读取和一次写入操作单口SARAM:单周期内只能进行一次读/写访问片外可扩展的最大存储空间

64千字~8兆字的程序存储器64千字的数据存储器64千字的I/O空间第2章TMS320C54x的硬件结构及原理2.1芯片内部结构及特点

片内外设时钟发生器可编程定时器多缓冲串行口(McBSP)并行主机接口(HPI)DMA控制器软件可编程等待状态发生器可编程分区转换逻辑电路通用数字I/O口(GPIO)片内仿真接口JTAG第2章TMS320C54x的硬件结构及原理2.1芯片内部结构及特点灵活寻址方式与适于信号处理的指令系统各种操作类型的指令硬件重复机制位倒序寻址方式循环寻址方式节电模式─IDLEl、IDLE2和IDLE31.8V内核供电(VC5402)和3.3VI/O口供电(参照P328-P333设计电源电路)低功耗工作第2章TMS320C54x的硬件结构及原理型号频率MHzRAMKBROMKBEMIF16位DMA6-ChHPI8/16McBSP定时器根装载UART内核电源VI/O电源V引脚封装BGALQFPVC5402A-160160323211131有1.63.3144VC5404-1201203212811132有11.53.3144VC5407-1201208025611132有11.53.3144VC5409A-1201206432-1131有-1.53.3144VC5409A-1601606432-1131有-1.63.3144VC5410A-1201201283211131有-1.53.3144VC5410A-1601601283211131有-1.63.3144VC5416A-1201202563211131有-1.53.3144VC5416A-1601602563211131有-1.63.3144表2-1TMS320C54x系列DSP典型芯片的结构及技术性能

外部存储器接口TMS320VC5402芯片结构(1)存储空间多总线结构。片内有3条16位数据总线(CB、DB、EB)、1条16位的程序总线(PB)、以及4条对应的地址总线(PAB、CAB、DAB、EAB)。地址线20根,可寻址程序空间1M字,数据和I/O空间各64K字。片内ROM容量为4K×16位片内双寻址RAM(DARAM)容量为16K×16位。(2)在片内外围电路软件可编程等待状态发生器和可编程分区切换逻辑电路。带有内部振荡器或用外部时钟源的片内锁相环(PLL)时钟发生器。2个高速、全双工多通道缓冲串行口(McBSP)(5402A是3个)增强型8位并行主机接口(HPI8)2个16位定时器)(5402A是1个)6通道DMA控制器具有符合IEEE1149.1标准的在片仿真接口JTAG。(3)电源、时钟与封装单周期定点指令的执行周期为10ns(100MIPS)I/O电源电压3.3V,内核1.8V可用IDLE1、IDLE2、IDLE3指令控制芯片功耗以工作在省电方式。144引脚的薄形四边形引脚扁平封装(LQFP)或144脚的球栅阵列封装(BGA)。TMS320VC5402芯片的结构及技术性能型号频率MHzMIPS指令周期(ns)寻址空间片内存储器程序(16位)数据(16位)RAM(16位)ROM(16位)TMS320VC5402-1001001001064K/8M64K16K4K在片外围电路根装载(引导装载)内核电压(V)I/O电压(V)缓冲串口主机接口(COM)定时器DMA通道数2McBSPHPI826ChanInt是1.8V3.3V(5402A是3个)(5402A是1个)第2章TMS320C54x的硬件结构及原理2.2C54x的内部总线结构

TMS320C54x的片内采用了多总线结构,由8套16位的内部总线组成。两套程序存储器操作总线程序地址总线PAB程序总线PB六套数据存储器操作总线数据地址总线CAB、DAB、EAB数据数据总线CB、DB、EB第2章TMS320C54x的硬件结构及原理2.2.1程序存储器操作总线

程序地址总线PAB为CPU提供取指令和写指令

CPU可通过程序总线PB读取程序存储器的指令

CPU可通过数据总线EB进行程序的写操作。时所需要的地址。代码和立即数。第2章TMS320C54x的硬件结构及原理2.2.2数据存储器操作总线总线CAB、DAB、EAB及CB、DB、EB与CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设及数据存储器等功能单元相连,负责对数据进行寻址及读/写访问。

CB、DB、EB负责传送读/写数据CAB、DAB、EAB负责传送数据存储器地址表2-2内部总线读写使用情况表

内部总线读写使用情况表

使用总线读/写类型地址总线程序总线数据总线PABCABDABEABPBCBDBEB程序读

程序写

单数据读

单数据写

双数据读

Ymem

Xmem

Ymem

Xmem并行数据读/写读写读写32位长数据读

hw

lw

hw

lw双数据读/系数读系数读

Ymem

Xmem系数读

Ymem

Xmem片内外设读

片内外设写

注:hw=高16位字;lw=低16位字第2章TMS320C54x的硬件结构及原理2.3C54x的中央处理单元(CPU)CPU是DSP的核心部件。它负责:程序流的控制和指令的处理完成数据的传送执行算术运算,布尔逻辑及移位操作……TMS320C54xCPU结构图ALUMAC桶形移位寄存器CSSUEXP第2章TMS320C54x的硬件结构及原理C54xCPU主要包括下列器件:1个40位的算术逻辑单元(ALU)2个40位的累加器(ACCA、ACCB)1个桶形移位器1个乘法器与加法器组成的乘法-累加单元(MAC)1个比较、选择和存储单元(CSSU),在图2-2中由COM,TRN和TC等部分组成。1个指数编码器(EXP)2个16位的状态控制寄存器ST0、ST11个16位的处理器模式状态寄存器PMST程序地址发生逻辑和数据地址发生逻辑第2章TMS320C54x的硬件结构及原理2.3.1累加器和算术逻辑运算单元(ALU)BLBHBG15031

1639

32ALAHAG15

031

1639

32累加器A结构图

累加器B结构图保护位高阶位低阶位保护位高阶位低阶位累加器A和B的构造图:第2章TMS320C54x的硬件结构及原理算术逻辑运算单元ALUC54x的ALU是40位的,与累加器结合可以完成宽范围的算术及逻辑运算,结果为40位长多数运算可在单周期内完成其运算结果通常被送入累加器A或B中,除了从存储器到存储器的操作指令之外,如ADDM、ANDM、ORM和XORM),其运算结果则存入指令指定的目的存储器。

第2章TMS320C54x的硬件结构及原理ALU的功能框图

40404040401616MUXABALU符号ctr符号ctrMUXMUXCB15~CB0DB15~DB0MAC输出SXMSXMOVMC16CZA/ZBTCXYAMUBBACTDSOVA/OVB桶形移位器输出(1)

ALU输入数据的40位扩展当16位数据存储器操作数通过数据总线DB或CB输入ALU时,40位的ALU输入将采用两种方式形成:

若输入的16位操作数装在ALU的0~15位时,则

当SXM=0时,高24位(39~16位)用0填充;

当SXM=1时,高24位(39~16位)扩展为符号位。

②若输入的16位操作数装在ALU的16~31位时,则

当SXM=0时,39~32位和15~0位用0填充;

当SXM=1时,39~32位扩展为符号位,15~0位置0。(2)

ALU的输出ALU的输出为40位运算结果,通常被送至累加器A或B。

第2章TMS320C54x的硬件结构及原理

(3)与算术逻辑运算单元ALU有关的标志位、控制位

反映ALU当前运算结果状态的有4个标志位(ST0内):控制ALU工作的有3个控制位(ST1内)

溢出方式位OVM——ST1(D9)双16位/双精度方式位C16——ST1(D7)符号扩展位SXM——ST1(D8)进位位C——ST0(D11)测试位TC——ST0(D12)溢出标志位OVA——ST0(D10)溢出标志位OVB

——ST0(D9)(i)进位位C功能:

ALU有一个与运算结果有关的进位位C,位于ST0的11位。进位位C受大多数ALU操作指令的影响,包括算术操作、循环操作和移位操作。

用来指明是否有进位发生;②

用来支持扩展精度的算术运算;③

可作为分支、调用、返回和条件操作的执行条件。注意:①进位位C不受装载累加器操作、逻辑操作、非算术运算和控制指令的影响;

②可通过指令RSBX和SSBX对其置位和复位。(ii)TC测试/控制标志,位于ST0的12位;在以累加器A(B)为目的寄存器时算术逻辑单元的32位数的运算结果发生溢出,或者乘法/加法单元的操作发生溢出,相应的溢出标志位OVA(或OVB)置1,直到发生复位、或者是执行以AOV(BOV)和ANOV(BNOV)为条件的BC[D]、或RC[D]、CC[D]等指令,OVA(OVB)保持置1状态。RSBX指令也可以清除OVA标志。

(iii)溢出标志位(OVA或OVB)位于ST0的9,10位。(iV)溢出方式位OVM及溢出处理

溢出方式位OVM是ST1的D9位,用来指定ALU运算结果溢出的处理方式,当溢出产生时:

①若OVM=0,则对ALU的运算结果不作任何调整,直接送入累加器;

②若OVM=1,则对ALU的运行结果进行调整。

当正向溢出时,将32位最大正数00

7FFFFFFFH装入累加器;

当负向溢出时,将32位最小负数FF80000000H装入累加器。

③状态寄存器ST0中与目标累加器相关的溢出标志OVA或OVB被置1。

若将ST1中的C16置位,则ALU进行双16位算术运算,即在一个机器周期内完成两个16位数的算术运算,进行两次16位加法或两次16位减法运算。有6条双字算数运算指令支持这一功能(3.3.2)。(Vi)符号扩展位SXM位于ST1的D8位。(V)C16位于ST1的D7位。分析:

ADDXmem

Ymem,dst

执行:dst=Xmem<<16+Ymem<<16

或写成((Xmem)+(Ymem))<<16→dst

状态位:

AffectedbySXMandOVMAffectsCandOVdst(orOVsrc,ifdst=src)例2-1设(AR2)=0060h,(AR3)=0070h,

(0060h)=A678h,(070h)=7234h,分析指令ADD*AR2,*AR3,A的执行情况。A678h<<16

+7234h<<16→A例2-1(AR2)=0060h,(AR3)=0070h,(0060h)=A678h(070h)=7234h,指令ADD*AR2,*AR3,A执行情况。-5988

经DB经CB例2-2

分析双字运算指令DADD*AR3-,A,B

在C16=0和C16=1时的执行情况。指令执行前005677F9330000000000AB1534数据存储器00603456数据存储器00610060AR3解:执行:IfC16=0,

Then(Lmem)+(src)→dstElse(Lmem(31–16))+(src(31–16))→dst(39–16)(Lmem(15–0))+(src(15–0))→dst(15–0)状态位:

AffectedbySXMandOVM(onlyifC16=0)AffectsCandOVdst(orOVsrc,ifdstisnotspecified)无关系例2-2,分析双字运算指令DADD*AR3-,A,B

在C16=0和C16=1时的执行情况。指令执行前005677F9330000000000AB1534数据存储器00603456数据存储器00610060AR3C16=0时,指令执行后005677F933006BAC2D89AB1534006034560061005EAR3C16=1时,

指令执行后005677F933006BAB2D89AB1534数据存储器00603456数据存储器0061005EAR3解:第2章TMS320C54x的硬件结构及原理2.3.2桶形移位器数据定标位提取扩展精度

累加器的规格化定点定标是定点运算中用来确定小数点位置的一种操作,以保证运算精度。C54x的40位桶形移位器可将输入数据进行左移0~31位或右移0~15位的操作,从而完成功能:第2章TMS320C54x的硬件结构及原理桶形移位器结构:

MUX:选择输入数据符号控制SC:

符号位扩展移位器:

定标和移位写选择:选择高有效字/低有效字

第2章TMS320C54x的硬件结构及原理桶形移位器移位原则:左移时,低位填0右移时,若SXM=0,则高位填0,无符号扩展若SXM=1时,则高位进行符号扩展输出:

作为ALU的输入

写入数据存储器第2章TMS320C54x的硬件结构及原理2.3.3乘加器(MAC)功能:单周期内完成一次乘法操作和一次累加操作构成:一个17×17位的乘法器一个40位的加法器第2章TMS320C54x的硬件结构及原理乘加器结构框图:第2章TMS320C54x的硬件结构及原理

乘法器操作:有符号数相乘无符号数与有符号数相乘无符号数相乘在每个16位操作数的最高位MSB前添加1位符号位,扩展成17位数,然后进行乘法运算。在无符号数的MSB前添加0,在有符号数的MSB前扩展1符号位,然后进行乘法运算。在每个16位操作数的最高位MSB前添加0,扩展成17位数,然后进行乘法运算。第2章TMS320C54x的硬件结构及原理

乘法器操作:乘法器的输出经过一个小数/整数调整电路,该调整受到小数方式位(ST1的D6位)FRCT的控制。当FRCT=0时,对乘积不作任何处理的送入当FRCT=1时,由硬件将乘积左移1位,然加法器XA端

后送入加法器XA端第2章TMS320C54x的硬件结构及原理

加法器操作:累加舍入饱和零检测舍入操作:

DSP的舍入操作与十进制中的四舍五入操作类似,即运算结果的低16位若≥8000H,则向高16位进位,并将低16位清0。硬件的具体操作是:先将215(7FFFH)加至目标累加器,然后将其低16位清0

。例2-6

分析指令MAC[R]的执行情况。指令执行前00000010000400AT

1234数据存储器0060

0FRCT

0060AR3MAC*AR3,A执行后000048E0000400AT123400600FRCT0060AR3MACR*AR3,A执行后00004900000400AB123400600FRCT0060AR3解:MAC[R]*AR3,A;((AR3))×T+A[舍入]→A第2章TMS320C54x的硬件结构及原理2.3.4比较、选择和存储单元(CSSU)比较、选择和存储单元(CSSU)是一个特殊的硬件单元,它与ALU配合,支持数据通信及模式识别中的加法-比较-选择(ACS)运算。例如:利用CSSU及指令CMPS可快速完成Viterbi解码算法中的ACS算法。第2章TMS320C54x的硬件结构及原理2.3.4比较、选择和存储单元(CSSU)MUXCOMPTRNTCCCSUABMSW/LSW选择EB15~EB0来自桶形移位器比较电路COMP状态转移寄存器TRN状态比较寄存器TC多路选择器MUX第2章TMS320C54x的硬件结构及原理2.3.4比较、选择和存储单元(CSSU)CSSU、ALU与指令CMPS配合完成比较和选择操作:比较电路COMP将指定累加器A或B的高16位与低16位进行比较;将结果移入TRN的位D0及ST0的TC位;根据比较结果,选择累加器中较大的l6位数据;存入数据存储器。第2章TMS320C54x的硬件结构及原理

CMPS指令流程图第2章TMS320C54x的硬件结构及原理2.3.5指数编码器(EXP)指数编码器是用来求累加器中数据指数的专用硬件,主要用于定点数转换为浮点数的归一化和标准化处理等。

指数编码器EXP累加器A累加器BT寄存器求A的指数值,以2的补码形式(-8至31)存入T累加器指数值=冗余符号位-8第2章TMS320C54x的硬件结构及原理例2-7分析指令EXPA的执行情况。

EXPA;若A中值为0,则0→T,否则将A中的冗余符号位数减-8→T

-2第2章TMS320C54x的硬件结构及原理2.3.6CPU的状态和控制寄存器C54xCPU有3个状态和控制寄存器:

状态寄存器ST0

状态寄存器ST1

处理器模式状态寄存器PMST

PMST中包含有存储器组织和系统工作的控制信息

ST0和ST1中包含着各种状态和控制标志位

状态位:反映了CPU当前的某些处理结果

控制位:提供给用户用来控制芯片及CPU工作

第2章TMS320C54x的硬件结构及原理2.3.6CPU的状态和控制寄存器

ST0、ST1、PMST都是16位的存储器映像寄存器(MMR),其地址分别为0006h、0007h

、001Dh。访问方式:用指令SSBX或RSBX对某些位置位或清零用装载指令LD给某些位加载数据用存储指令STM等加载设定值主要反映处理器的寻址要求和计算机的中间运行状态。

ST0的结构:15—1312111098—0ST0:ARPTCCOVAOVBDPARPARP:辅助寄存器指针。用来选择使用单操作数间接寻址时的辅助寄存器AR0~AR7。ARPTCTC:测试/控制标志。

用来保存ALU测试操作的结果。TCCC:进位标志位。

用来保存ALU加减运算时所产生的进/借位。COVBOVAOVA/B:累加器A/B的溢出标志。

用来反映A/B是否产生溢出。OVBOVADPDP1.状态寄存器0(ST0)DP:数据存储器页指针。

用来与指令中提供的7位地址结合形成1个

16位数据存储器的地址。2.状态寄存器1(ST1)151413121110987654~0BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASMBRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM0:保留位,未被使用,总是读为0。BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM主要反映处理器的寻址要求、计算初始状态的设置、I/O及中断的控制等。BRAF:块重复操作标志位。

用来指示当前是否在执行块重复操作。

BRAF=0

表示当前不进行重复块操作;

BRAF=1

表示当前正在进行块重复操作。CPL:直接寻址编辑方式标志位;

用来指示直接寻址选用何种指针。

CPL=0

选用数据页指针DP的直接寻址;

CPL=1

选用堆栈指针SP的直接寻址。XF:外部XF引脚状态控制位。

用来控制XF通用外部输出引脚的状态。执行SSBX

XF=1

XF通用输出引脚为1;执行RSBX

XF=0

XF通用输出引脚为0。HM:保持方式位;响应HOLD信号时,指示

CPU是否继续执行内部操作。

HM=0

CPU从内部程序存储器取指,

继续执行内部操作。

HM=1

CPU停止内部操作。INTM:中断方式控制位;

用于屏蔽或开放所有可屏蔽中断。

INTN=0

开放全部可屏蔽中断;

INTN=1

禁止所有可屏蔽中断。OVM:溢出方式控制位;

用来确定累加器溢出时,对累加器的加载方式。

OVM=0

将运算的溢出结果直接加载到累加器中;

OVM=1

当正溢出时,将007FFFFFFFH加载累加器;当负溢出时,将FF80000000H加载累加器。SXM:符号位扩展方式控制位;用来确定数据在运算之前是否需要符号位扩展。

SXM=0

数据进入ALU之前禁止符号位扩展;

SXM=1

数据进入ALU之前进行符号位扩展。C16:双16位/双精度算术运算方式控制位;

用来决定ALU的算术运算方式。

C16=0

ALU工作在双精度算术运算方式;

C16=1

ALU工作在双16位算术运算方式。FRCT:小数方式控制位;用来确定乘法器的运算方式。

FRCT=1

乘法器的输出左移一位,消除多余的符号位。CMPT:间接寻址辅助寄存器修正方式控制位;用来决定ARP是否进行修正。

CMPT=0在进行间接寻址单操作数时,不修正ARP;CMPT=1在进行间接寻址单操作数时,修正ARP。ASM:累加器移位方式控制位。

为某些具有移位操作的指令设定一个从-16~15范围内的移位值。3.处理器模式状态寄存器PMSTSSTSMULCLKOFFDROMAVISOVLYMP/MCIPTR012345615~7主要设定和控制处理器的工作方式和存储器的配置,反映处理器的工作状态。中断向量指针CPU工作方式选择位RAM重复占位标志地址可见控制位数据ROM映射选择位时钟输出选择位乘法饱和方式位存储饱和位SST:用来决定累加器中的数据在存储到存储器之前,是否需要饱和处理。SMUL:用来决定乘法结果是否需要进行饱和处理;

CLKOFF:用来决定时钟输出引脚CLKOUT是否有信号输出;DROM:用来决定片内ROM是否可以映射到数据存储空间;AVIS:用来决定是否可以从器件地址引脚线看到内部程序空间地址线;OVLY:用来决定片内双寻址数据RAM是否映射到程序空间。

MP/MC:用来确定是否允许使用片内程序存储器ROMIPTR:用来指示中断向量所驻留的128字程序存储器的位置;第2章TMS320C54x的硬件结构及原理2.4C54x的存储器结构存储器空间的分类:

程序存储器基本空间64K字,最大可扩展至8M字;数据存储器空间64K字;

I/O空间64K字。有下列特点:

片内RAM由双口DARAM和单口SARAM相结合

储存空间的交叉应用

片内存储器与CPU同速运行

第2章TMS320C54x的硬件结构及原理2.4.1程序存储器空间程序空间用于存放指令代码和常系数表格。

程序空间的组织:

CPU工作方式选择位MP/MC重复占位标志位OVLY

程序计数器扩展寄存器XPC

程序空间的扩展:

16条外部地址线,可扩展64K字

20条或23条外部地址线,可扩展至1M~8M字

第2章TMS320C54x的硬件结构及原理C5402A

的程序存储器(第0页)结构图C5402

外部微处理器模式OVLY=0,MP/MC=1,OVLY=1微计算机模式OVLY=0,MP/MC=1,OVLY=1第2章TMS320C54x的硬件结构及原理VC5402-100

的程序存储器(第0页)结构图微处理器模式OVLY=0,MP/MC=1,OVLY=1微计算机模式OVLY=0,MP/MC=1,OVLY=1第2章TMS320C54x的硬件结构及原理C5402A

的程序存储器(第0页)结构图DROM无VC5402-100的存储器结构图C5402的存储器结构图根装载在线调试第2章TMS320C54x的硬件结构及原理

1程序存储器(第0页)芯片复位时,MP/MC引脚状态被置入位MP/MC

,或通过软件直接设置位MP/MC

。根据位MP/MC的状态决定了程序储存器的两种配置模式。当MP/MC=0时,将程序空间配置为微计算机模式,允许使用片内ROM

当MP/MC=1时,将程序空间配置为微处理器模式,禁止使用片内ROM

第2章TMS320C54x的硬件结构及原理VC5402-100

的程序存储器(第0页)结构图微处理器模式OVLY=0,MP/MC=1,OVLY=1微计算机模式OVLY=0,MP/MC=1,OVLY=1第2章TMS320C54x的硬件结构及原理2.片内ROMC5402片内集成有4K字的ROM(F800h~FFFFh)。

高2K字(F800h~FFFFh)由TI公司预留,用于掩膜程序(由芯片厂家固化到ROM中的程序),并放置了一些常用的数据表格和自举程序

(加电自检程序)。片内ROM的FF00h~FF7Fh这128个字内装有器件测试代码,在掩膜时应避开这段区间。引导程序Bootloadercodeμ律扩展表A律扩展表sin函数表保留中断矢量表F800HF900HFA00HFB00HFC00HFD00HFE00HFF00HFF80H第2章TMS320C54x的硬件结构及原理3.分页扩展

C5402有20条外部地址线A19~A0,16条外部数据线D15~D0,因此,最大可扩展程序空间是1M字。(应用电路可参考P364、P371等)特点:扩展后的程序空间分成16页,每页64K字

一个16位专用寄存器:程序计数器扩展寄存器(XPC)可对扩展程序空间寻址的指令FB[D]、FBACC[D]、

FCALA[D]、FCALL[D]、FRET[D]和FRETE[D]

可以通过指令READA和WRITA对扩展程序空间的数据直接进行访问。第2章TMS320C54x的硬件结构及原理3.分页扩展当MP/MC=0时,允许使用片内ROM,此时,片内ROM只能在第0页被寻址,不能映像至其它页。当OVLY=0时,片内DARAM不被映像至程序空间(使用外部存储器),页与页之间没有重叠

,如图所示:第2章TMS320C54x的硬件结构及原理3.分页扩展当OVLY=1时,每一页由两部分组成,每页的前16K字为片内DARAM,其内容相同(共享)。除了16K字的保留空间之外,每页的后32K字内容各不相同。如图所示:

第2章TMS320C54x的硬件结构及原理2.4.2数据存储空间数据空间用于存放程序处理过程中的数据和结果。C54x系列DSP的数据空间寻址范围为64K字,片内和片外数据存储器统一编址。(程序存储空间也是片内、片外统一编址)不同型号的芯片其片内DARAM和SARAM的容量有所不同,位DROM对数据空间结构的影响也有差异。

注意:VC5402中DROM位可用。DROM=0外部,DROM=1片内部分ROM映射为数据存储器。VC5402A中没有DROM位。DP=0DP=511页0页511DP=1页100FF每页128个字单元,共512页DARAM0-1C5402的存储器结构图第2章TMS320C54x的硬件结构及原理2.4.2数据存储空间第2章TMS320C54x的硬件结构及原理2.4.2数据存储空间数据空间0000h~005Fh为存储器映像寄存器(MMR)区间。其中,在0000h~0020h中分布着27个CPU寄存器,如表所示

第2章TMS320C54x的硬件结构及原理2.4.2数据存储空间在0021h~005Fh中分布着多个片内外设MMR寄存器:

此表适用于C5402A,而C5402有差异32个第2章TMS320C54x的硬件结构及原理2.4.2数据存储空间MMR方式访问寄存器的优点是:简化了寻址方式提高了访问效率使得CPU对寄存器的读取以及寄存器之间、寄存器与存储器之间的数据交换更加灵活和方便。

C5402片内有16K字的DARAM,地址0080h~3FFFh,分成2个8K字的数据块DARAM0和DARAM1

访问MMR的方法P77第2章TMS320C54x的硬件结构及原理2.4.3I/O空间特点:

C54x的I/O空间采用I/O映像方式,即有独立的片外寻址空间64K字

有专用访问指令PORTR和PORTW有使能和控制信号用于系统的接口应用设计

IS:I/O设备选择信号;IOSTRB:I/O设备选通信号;R/W:读/写信号;2.5复位操作及省电模式2.5.1复位操作

DSP需要进行上电复位和人工按键复位,CPU、片内外设和系统各部件进入一种确定的初始状态,并从该初始态开始工作

引脚RS是外部复位信号输入端“0”电平应该保持100ms~200ms的时间

信号由低变高后,DSP系统即开始正常工作

CPU从程序存储器的FF80h开始取指执行

2.5复位操作及省电模式2.5.1复位操作在C54x处于复位时,DSP将进行以下操作:1.处理器模式状态寄存器PMST的位IPTR=1FFh

2.使程序计数器PC=FF80h

3.将MP/MC引脚上的状态送给PMST的位MP/MC4.使状态寄存器ST0=1800h,ST1=2900H;

5.使ST1的位INTM=1,关断所有可屏蔽中断;第2章TMS320C54x的硬件结构及原理2.5.1复位操作6.使中断标志寄存器IFR=0,清除所有可屏蔽中断标志7.使控制程序计数器XPC=0,指向程序存储空间第0页8.使数据总线处于高阻状态9.使控制线处于无效状态10.产生应答信号IACK(CPU的中断响应信号输出)11.产生同步复位信号,用于初始化片内外设。注意:复位时没有对堆栈指针SP进行初始化,因此在应用软件中对SP进行设定。第2章TMS320C54x的硬件结构及原理2.5.2省电方式

C54x系列DSP提供了多种省电工作方式,主要有下列4种:空闲方式1空闲方式2空闲方式3保持方式

可以通过执行IDLE1、IDLE2、IDLE3这三条指令使DSP进入相应的空闲方式;或通过控制信号的配置实现保持方式.

C54x的4种省电方式√√√

RS复位√√√

NMI非屏蔽中断发生√√√外部可屏蔽硬件中断√内部可屏蔽硬件中断√

HOLD变为高电平各种原因结束省电工作方式√外部控制信号线处于高阻状态√外部数据线处于高阻状态√外部地址线处于高阻状态√锁相环(PLL)停止工作√√外围电路时钟停止工作√√√

CPU时钟停止工作√√√√

CPU处于暂停工作状态HOLDIDLE3

IDLE2

IDLE1

操作/特性

第2章TMS320C54x的硬件结构及原理第2章TMS320C54x的硬件结构及原理其它降低功耗的功能:

C54x还可以通过关闭外部总线和关闭时钟输出CLKOUT来降低芯片的功耗。关闭外部总线是指关断片内的外部接口时钟,使接口处于低功耗状态(将分区开关控制寄存器BSCR的D0位置1)。

关闭时钟输出是指通过指令来禁CLKOUT信号的输出(令PMST的位CLKOFF=1)。嵌入式微处理器都具有实时处理功能,对外部随机事件能够进行及时的响应和处理,这是靠中断技术来实现的。

处理流程:外部中断申请引脚或片内外设发出中断申请CPU终止主程序的正常执行转去执行中断服务程序(ISR)再返回主程序被打断位置继续执行主程序。

2.6中断系统第2章TMS320C54x的硬件结构及原理2.6.1C54x的中断申请源1.中断的分类

:软件中断硬件中断中断申请源的不同屏蔽的角度

可屏蔽中断

非屏蔽中断

2.中断优先级:中断的优先级是由芯片本身确定的,CPU将按照其优先级的高低来确定响应次序第2章TMS320C54x的硬件结构及原理3中断源的地址偏移量和优先级表(30个)软件中断#21——18HSINT216软件中断#22——1CHSINT227软件中断#20——14HSINT205软件中断#19——10HSINT194软件中断#18——0CHSINT183软件中断#17

——08H2不可屏蔽中断

204H1复位(硬件和软件复位)

100HRS/SINTR0功能

中断优先级

地址偏移中断名称

中断序号

NMI/SINT16SINT17C5402A第2章TMS320C54x的硬件结构及原理3中断源的地址偏移量和优先级表

中断序号

中断名称

中断地址

中断优先级

功能

8SINT2320H——软件中断#239SINT2424H——软件中断#2410SINT2528H——软件中断#25

11SINT262CH——软件中断#2612SINT2730H——软件中断#2713SINT2834H——软件中断#2814SINT2938H——软件中断#2915SINT303CH——软件中断#30C5402A第2章TMS320C54x的硬件结构及原理3中断源的地址偏移量和优先级表中断序号

中断名称

中断地址

中断优先级

功能

16INT0/SINT040H3外部用户中断#0

17INT1/SINT144H4外部用户中断#1

18INT2/SINT248H5外部用户中断#219TINT0/SINT34CH6内部定时器0中断

20RINT0/SINT450H7缓冲串口McBSP0接收中断

21XINT0/SINT554H8缓冲串口McBSP0发送中断

22RINT2/SINT658H9缓冲串口McBSP2接收中断

C5402A第2章TMS320C54x的硬件结构及原理3中断源的地址偏移量和优先级表中断序号

中断名称

中断地址

中断优先级

功能

23

XINT2/SINT7

5CH10缓冲串口McBSP2发送中断

24INT3/SINT8

60H11外部用户中断#325

HINT/SINT9

64H12HPI中断

26RINT1/SINT10

68H13缓冲串口McBSP1接收中断27XINT1/SINT116CH14缓冲串口McBSP1发送中断

C5402A第2章TMS320C54x的硬件结构及原理3中断源的地址偏移量和优先级表中断序号

中断名称

中断地址

中断优先级

功能

28

DMAC4/SINT12

70H

15DMA通道4中断

29

DMAC5/SINT13

74H16DMA通道5中断

78H~7FH——保留

C5402AC5402与C5402A在22,23号等中断源上有差别。第2章TMS320C54x的硬件结构及原理4.中断向量地址的计算形成一个中断向量地址的方法是:由IPTR给出高9位地址,地址偏移表的地址偏移量为低7位地址,两者结合组成一个16位的地址,即为某个中断的入口地址。

由于每个中断仅占4个字单元,一般无法容纳下中断服务程序,因此,通常在此位置上写一条跳转指令,转至相应的中断服务程序位置上去。共30个中断源,128个字单元第2章TMS320C54x的硬件结构及原理4.中断向量地址的计算4CH第2章TMS320C54x的硬件结构及原理5.软件中断指令C54x提供了3条软件中断指令INTR、TRAP和RESET。

1)指令RESET:可在程序的任何位置使用。执行该指令会引起芯片的软件复位。

2)指令INTRK;不管INTM及IMR的状态如何,执行该指令都会强行使CPU跳转至

K所指出的中断向量地址。位INTM被置1,禁止其他可屏蔽中断。(改错:IER应该为IMR)

3)指令TRAPK;与INTR指令的操作类似,而TRAP

指令不影响位INTM。第2章TMS320C54x的硬件结构及原理2.6.2中断寄存器

C54x有2个寄存器对中断进行管理,分别为中断标志寄存器IFR和中断屏蔽寄存器IMR。它们都是16位的存储器映像寄存器,地址分别是0000h和0001h。

C5402A的IFR和IMR各位名称和对应中断相同

TINT1orDMAC1RESorDMAC0C5402第2章TMS320C54x的硬件结构及原理C5402A的IFR和IMR的位名称及功能表

第2章TMS320C54x的硬件结构及原理1.中断标志寄存器IFR当一个中断请求出现时,将把中断标志寄存器IFR中的相应位置1,表示该中断发出了中断申请,并已被挂起,等待CPU的响应。

清除IFR中的中断标志方法:

1)硬件或软件复位;2)响应指令INTRK或TRAPK引发的中断3)响应硬件引发的中断,执行响应的中断服务程序4)向IFR中的位做写入操作第2章TMS320C54x的硬件结构及原理2.中断屏蔽寄存器IMR

IMR的各位可以看作是可屏蔽中断的分开关,CPU通过对它的设置来选择允许产生中断的中断源。给相应的标志位写入1,允许该中断源产生中断,写入0禁止该中断。

ST1中的INTM位是总开关。使用时,令INTM=0,使总开关闭合,令相应IMR的某位=1,使分开关闭合,该可屏蔽中断才能得到CPU的响应。

INTM位及IMR对于复位中断和非屏蔽中断是不起作用的。第2章TMS320C54x的硬件结构及原理2.6.3中断响应及中断处理过程1.非屏蔽中断或软件中断的处理过程2.可屏蔽中断的处理过程第2章TMS320C54x的硬件结构及原理2.6.3中断响应及中断处理过程3.中断处理中的一些特殊情况1)在中断服务程序ISR中进行现场保护

2)DSP在响应中断时,会有一定的延时

3)执行单重复指令RPT和RPTZ时出现了断请求

4)HOLD保持模式优先于中断

5)在指令RSBXINTM和其下一条指令之间不能响应中断。第2章TMS320C54x的硬件结构及原理2.7流水线C54x的流水线操作由6个阶段组成:

预取指(简称P)取指(简称F)译码(简称D)寻址(简称A)读数(简称R)执行(简称X)

流水线结构与操作功能:从选中的程序存储单元中取指令代码加载到PB上用指令地址PC的值加载PAB将PB上的代码送至指令译码器IR译码读数据1,加载DB读数据2,加载CB若需要,将数据3写地址加载EAB若需要,用读数据1的地址加载至DAB;用读数据2的地址加载至CAB修正辅助寄存器和堆栈指针执行指令,用写数据加载至EB第2章TMS320C54x的硬件结构及原理2.7流水线:所谓理想的流水线是指每条指令都是单字单周期指令,都以每个时钟一个节拍的方式流过流水线.

流水线连续运行时的时序:执行读数寻址译码取指预取指第2章TMS320C54x的硬件结构及原理2.7流水线:P78,3(2)32长操作数存储P68表3-4AR1中的内容是数据存储器的地址EB负责传送读/写数据EAB负责传送数据存储器地址P59表3-1利用长字寻址的32位单数据存储器操作数单字双周期指令,在两条流水线中完成写32位长操作数第2章TMS320C54x的硬件结构及原理2.7.2流水线操作典型问题1.有延迟和无延迟的流水线操作:在C54x的汇编指令集中存在着这样一些指令,只要在它的末尾加“D”就可使该指令具有了延迟功能,缩短了执行时间。表2-18具有延迟功能的指令。C54x的无延迟无条件转移指令为双字4周期指令.格式如下:

Bpmad;0≤pmad≤65535

指令的操作是将pmad赋给PC,实现程序的无条件转移。且该指令不允许执行紧跟在它后面的两条单字单周期指令。P90表3-16近程无条件转移2.7.2流水线操作典型问题(1)无延迟的流水线操作:2.7.2流水线操作典型问题(2)有延迟的流水线操作:第2章TMS320C54x的硬件结构及原理2.7.2流水线操作典型问题2.中断响应的流水线操作2.中断响应的流水线操作第2章TMS320C54x的硬件结构及原理2.7.2流水线操作典型问题3.流水线冲突流水线冲突的分类时序性流水线冲突逻辑性流水线冲突部分流水线冲突由CPU自行解决。例如:在双寻址存储器和单寻址存储器的流水线操作中存在的流水线冲突就可以由CPU自动插入空周期来解决。另一部分流水线冲突未加保护,由编程者去设法解决。第2章TMS320C54x的硬件结构及原理2.8引脚及其功能按照功能可将引脚划分为下列8部分:1)时钟信号;2)外部接口地址/数据/控制信号;3)通用I/O引脚;4)多缓冲串行口McBSP0,McBSP1和McBSP2的信号5)主机接口HPI信号;6)初始化、中断及复位信号;7)电源引脚;8)测试引脚。(C5402A的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论