TMS320C54x的硬件结构.ppt

上传人:小飞机 文档编号:6522021 上传时间:2023-11-08 格式:PPT 页数:60 大小:1.47MB
返回 下载 相关 举报
TMS320C54x的硬件结构.ppt_第1页
第1页 / 共60页
TMS320C54x的硬件结构.ppt_第2页
第2页 / 共60页
TMS320C54x的硬件结构.ppt_第3页
第3页 / 共60页
TMS320C54x的硬件结构.ppt_第4页
第4页 / 共60页
TMS320C54x的硬件结构.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《TMS320C54x的硬件结构.ppt》由会员分享,可在线阅读,更多相关《TMS320C54x的硬件结构.ppt(60页珍藏版)》请在三一办公上搜索。

1、第二章:TMS320C54x的硬件结构2.1 TMS320C54x硬件结构框图2.2 总 线 结 构2.3 中央处理单元(CPU)2.4 存储器和I/O空间2.5 中 断 系 统,2.1 TMS320C54x硬件结构框图1.TMS320C54x内部结构(3大块)(1)CPU:包括算术逻辑运算单元(ALU)、乘法器、累加器、移位寄存器、各种专门用途的寄存器、地址生成器及内部总线。(2)存储器系统:包括片内程序ROM、片内单访问的数据RAM和双访问的数据RAM、外接存储器接口。(3)片内外设与专用硬件电路:包括片内定时器、各种类型的串口、主机接口、片内锁相环(PLL)、时钟发生器及各种控制电路。,

2、2.TMS320C54x主要特性 C54x是一款低功耗、高性能的定点DSP芯片(1)CPU部分 先进的多总线结构(1条程序总线、3条数据总线和4条地址总线)。40位算术逻辑运算单元(ALU),包括1个40位桶形移位寄存器和2个独立的40位累加器。17位并行乘法器,与40位专用加法器相连,用于非流水线式单周期乘法/累加(MAC)运算。,(1)CPU部分(续)比较、选择、存储单元(CSSU):用于加法/比较选择。指数编码器:可以在单个周期内计算40位累加器中数值的指数。双地址生成器:包括8个辅助寄存器和2个辅助寄存器算术运算单元(ARAU)。,(2)存储器系统 192 K字可寻址存储空间:64 K

3、字程序存储空间、64 K字数据存储空间及64 K字I/O空间,对于C548、C549、C5402、C5410和C5416等可将其程序空间扩展至8M。片内双寻址 RAM(DARAM)。C54x中的DARAM被分成若干块。在每个机器周期内,CPU可以对同一个DARAM块寻址(访问)2次,即CPU可以在一个机器周期内对同一个DARAM块读出1次和写入1次。DARAM可以映射到程序空间和数据空间。但一般情况下,DARAM总是映射到数据空间,用于存放数据。片内单寻址RAM(SARAM)。如C548、C5402、C5416等。,(3)片内外设 软件可编程等待状态发生器。可编程分区转换逻辑电路。片内锁相环(

4、PLL)和时钟发生器。可编程串行接口(4种)可编程定时器16位(12个)8位或16位主机接口(HPI)。多种节电模式:软件控制片外总线、CLKOUT、器件电压等。,(4)指令系统单指令重复和块指令重复操作。用于程序和数据管理的块存储器传送指令。32位长操作数指令。同时读入2或3个操作数的指令。可以并行存储和并行加载的算术指令。条件存储指令。从中断快速返回的指令。,2.2 总 线 结 构 TMS320C54X总线结构是围绕8组16比特总线建立的。一组程序总线PB:传送从程序存储器来的指令代码和立 即数;三组数据总线(CB、DB):传送从数据存储器读出的操作 数;(EB):传送写入到数据存储器中的

5、数据;四组地址总线(PAB、CAB、DAB、EAB):传送执行指令所 需的地址;,2.3 中央处理单元(CPU)C54X的CPU由运算部件、控制部件和各种寄存器组成。1.CPU状态和控制寄存器 C54x DSP有三个状态和控制寄存器:(1)状态寄存器0(ST0);(2)状态寄存器1(ST1);(3)处理器工作模式状态寄存器(PMST)。ST0和ST1中包含各种工作条件和工作方式的状态,PMST中包含存储器的设置状态及其他控制信息。,(1)状态寄存器(ST0)功能:反映寻址要求和计算中的状态;ST0的结构图:,含义:ARP 辅助寄存器指针 TC 测试/控制标志位 C进位位。OVA/OVB 累加器

6、A/B的溢出标志位 DP数据存储器页指针,(2)状态寄存器(ST1)功能:反映寻址要求、计算初始状态、I/O终端控制,含义:BRAF 块重复操作标志位。CPL 直接寻址编辑方式位 XF XF引脚状态位。HM 保持方式位 INTM 中断方式位。OVM 溢出方式位 SXM 符号位扩展方式位。C16 双16位/双精度算术运算方式位 FRCT 小数方式位。CMPT 修正方式位 ASM 累加器移位方式位,(3)工作方式寄存器(PMSTProcessor Mode Status)功能:设定并控制处理器的工作方式,反映处理器工作状态;,含义:IPTR 中断向量指针。微处理器/微型计算机工作方式位 OVLY

7、RAM重复占位位。AVIS 地址可见位,2.运算部件(6个)(1)算术逻辑单元(ALU)功能:C54X使用40bit的ALU和2个40bit累加器(A、B)完成二进制补码的算术运算:ALU可完成布尔运算;同时完成两个16bit运算(具有两个16位的ALU)组成:ALU组成框图见下图,ALU组成框图,(2)累加器 功能:存放参加运算的数据或存放运算的结果(ALU或MAC)组成:三个部分(保护位作用:数据位余量,防止溢出,迭代运算),累加器A和B的差别仅在于累加器A的3116位可以作为乘法器的一个输入。,(3)桶形移位器 功能:能把输入的数据进行0 31bit左移和0 16bit右移 移位数可以用

8、以下方式定义:用一个立即数(-1615)表示。用状态寄存器ST1的累加器移位方式(ASM)位表示,共5位,移位数为-1615。用T寄存器中最低6位的数值(移位数为-1631)表示。用途:位提取、数字定标、扩展算术和溢出保护等,如:桶形移位器和指数译码器,可把A/B中的值在一个周期内进行归一化。,(4)乘/加单元 组成:1717bit乘法器、40bit加法器、符号控制、小数控制、零检测器、舍入器、溢出/饱和逻辑、暂存器;功能:一个单指令周期内完成1717bit的二进制补码运算;用途:卷积、相关、滤波(LMS)、欧氏距离等运算;,(5)比较、选择和存储单元 功能:从累加器(32bit)选择出较大的

9、字(16bit)并存储在数据M;用途:在数据通信、模式识别等领域,经常要用到Viterbi(维特比)算法。C54x DSP的CPU的比较、选择和存储单元(CSSU)就是专门为Viterbi算法设计的进行加法/比较/选择(ACS)运算的硬件单元。,(6)指数编码器 组成:完成EXP单周期指令的专用硬件;功能:将累加器中的指数值能以二进制补码的形式存储在T中;指数值含义:累加器中为消除非有效符号位所需移动的位数;计算:累加器的冗余位数-8;范围:813,超过32位,该操作产生负值;用途:累加器内容归一化;,3.特殊功能寄存器(P41)(1)第一类(26个)功能:主要用于程序的运算处理和寻址方式的选

10、择及设定 含义:辅助寄存器AR0-AR7:产生16bit数据空间,通用R;暂存器TREG:乘(加)法指令存放一乘数、EXP指令结果;过渡寄存器TRN(状态转移寄存器):用来得到新的度量值存放中间结果Viterbi(用于在Viterbi算法中记录转移路径);堆栈指针寄存器SP:指示栈顶在数据M位置,向下生长;,缓冲区大小寄存器BK:在循环寻址中确定缓冲区中数据的大小;块循环寄存器BRC:确定一代码循环的次数;块循环起始地址RSA:循环的开始地址;块循环 结束地址REA:循环的结束地址;中断标志寄存器IFR:指明各中断源的状态;中断屏蔽寄存器IMR:独立的屏蔽特定的中断;其它:累加器A、B,方式控

11、制R:PMST,状态R:ST0/ST1等。,(2)第二类(17个)功能:用于控制片内外设(串口、定时器、机器周期设定等)串口控制:,缓冲串口,ABU收发地址:,定时器:,其它:,小结(CPU):DSP的内部控制逻辑完成各种具体流水线指令操作,它对于使用者是保密的。使用DSP实质上就是掌握上述特殊功能寄存器的功能及用法。对SFR功能的了解程度,直接关系到所设计程序的质量(运行速度、运算精度、代码效率、可靠性等)学习DSP硬件结构,很大程度上是掌握SFR的正确使用。本章首先掌握ST0;ST1;PMST,2.4 存储器和I/O空间 C54x的总存储空间为192K字 存储器的组成(分为3个可选择的存储

12、空间):,C54x 片内有随机存储器(RAM)和只读存储器(ROM)。RAM有两种类型:单寻址RAM(SARAM)和双寻址RAM(DARAM)。C54x 片内有26个映像到数据存储空间的CPU寄存器和外围电路寄存器。C54结构上的并行性及在片RAM的双寻址能力,使它能够在任何一个给定的机器周期内同时执行4次存储器操作,即1次取指、读2个操作数和写1个操作数。,1.存储空间的分配 在C54x中,片内存储器的形式有DARAM、SARAM和ROM 3种,取决于芯片的型号。RAM总是安排到数据存储空间,但也可以构成程序存储空间,ROM一般构成程序存储空间,也可以部分地安排到数据存储空间。C54x通过P

13、MST的3个状态位(MP/MC、OVLY、DROM),可以很方便地“使能”和“禁止”程序和数据空间中的片内存储器。以C5402为例给出了数据和程序存储区图,并说明了与MP/、OVLY及DROM 3个状态位的关系。,说明:(1)DSP的工作方式控制寄存器中的OVLY(D5)位控制00003FFFH存储空间的片内/片外分配;(2)DSP的工作方式控制寄存器中的MP/MC(D6)位控制4000FFFFH存储空间的片内/片外分配;(3)TMS320C5402的23条程序地址线可扩展外部程序储存器到1M字。共16页,每页64k字。,2.程序存储器 多数C54x DSP的外部程序存储器可寻址64 K字的存

14、储空间。它们的片内ROM、双寻址DARAM以及单寻址SARAM,都可以通过软件映像到程序空间。当存储单元映像到程序空间时,处理器就能自动地对它们所处的地址范围寻址。如果程序地址生成器(PAGEN)发出的地址处在片内存储器地址范围以外,处理器就能自动地对外部寻址。,(1)程序存储器-片内程序存储器 片内存储器是否作为程序存储器,取决于软件对PMST的状态位 MP/MC和OVLY的编程。表27。TMS320C54X片内ROM容量范围2K48K字;为了增强处理器的性能,对片内ROM再细分为若干块,这样就可以在片内ROM的一个块内取指的同时,又在别的块中读取数据。图2.14。,片内高2 K字ROM中的

15、内容是由TI公司定义的,这2K字程序空间(F800hFFFFh)中包含的内容。如图2.15。自举加载程序。从串行口、外部存储器、I/接口自举加载。256字A律压扩表。256字律压扩表。256字正弦函数值查找表。中断向量表。自举加载程序,可以将用户代码调入到程序存储器的任何一个位置。MP/MC硬件复位时=0,CPU从FF80H单元(通常存放转移指令自举加载程序)开始执行。,(2)程序存储器-片外程序存储器 最多可扩展到1M,分为015页,23位地址线代替16位的地址线(C5402为20位的地址总线,C5420为18位),扩展程序存储器的页号由XPC寄存器设定。为了通过软件切换程序存储器的页面,有

16、6条专用的影响XPC值的指令。,3.数据存储器(1)片内数据存储器 C54X片内数据存储器容量范围10K200K字节 组成:片上ROM、DARAM、SARAM(表28)空间分配:,为了提高处理器的性能,片内RAM也细分为若干块。分块以后,用户可以在同一周期内从同一DARAM中取出两个操作数,将数据写入另一块DARAM中。图2.18,(2)片外数据存储器 TMS320C54X片外数据存储器容量范围最大为48K 根据CPU产生的地址自动寻址,4I/O空间 C54X器件除了程序和数据存储空间外,还提供了64K字的I/O空间,位于器件外部:有两条指令用来访问此空间(输入指令PORTR和输出指令PORT

17、W)对I/O空间寻址;访问I/O空间是对I/O映射的外部器件进行访问,而不是访问存储器;所有C54x DSP只有两个通用I/O,即 和XF。为了访问更多的通用I/O,可以对主机通信并行接口和同步串行接口进行配置,以用作通用I/O。,2.5 中 断 系 统 2.5.1 中断系统概述 中断:CPU终止正在执行的程序,转去执行一个请求中断的内部或外部的中断服务程序,待处理完毕后,又返回到被终止的源程序处继续执行。这一过程称为中断;中断系统:为实现中断功能而设置的各种硬件和软件。C54x DSP既支持软件中断,也支持硬件中断。当同时有多个硬件中断出现时,C54x DSP按照中断优先级别的高低对它们进行

18、服务。,1.中断分类C54x DSP的中断可以分成两大类:第一类是可屏蔽中断。这些都是可以用软件来屏蔽或开放的硬件和软件中断。C5402只使用14个可屏蔽中断。;RINT0、XINT0、RINT1和XINT2(串行口中断)。TINT0、TINT1(定时器中断)。HPINT(主机接口)DMAC0DMAC5。(2)第二类是非屏蔽中断。这些中断是不能够屏蔽的,C54x对这一类中断总是响应,并从主程序转移到中断服务程序。C54x DSP的非屏蔽中断包括所有的软件中断,以及两个外部硬件中断:(复位)和。,非屏蔽中断:不能由用户用软件来屏蔽的中断。特点:一旦有非屏蔽中断请求,CPU必须予以响应。用途:用于

19、某些十分重要的事件发生,如:掉电;可屏蔽中断:用户根据需要可用软件开放或禁止CPU响应中断。特点:软件指令控制,灵活方便。用途:一般事件处理。,2.中断处理一般过程:中断源请求中断;中断标志寄存器(IFR)CPU响应中断;预定义条件的满足 保护现场;转中断服务;恢复现场;中断返回;,2.5.2 中断标志寄存器(IFR)和中断屏蔽寄存器(IMR)1.中断标志寄存器(IFR)当一个中断出现的时候,IFR中相应的中断标志位置1,直到中断得到处理为止。,(1)共14个有效标志位(可屏蔽中断):外部中断4个(INT0-INT3)定时器中断2个(TINT0-TINT1)串口定时器4个(两发/两收)DMA中

20、断3个(DMAC0.4.5)HPI中断1个;,(2)IFR的操作 置位:当硬件或软件中断发生时,相应位置“1”(挂起)。识别:CPU通过读IFR来识别挂起的中断。清除:,四种方法:,(3)串口中断:应在中服程序中清除IFR相应位,以免串口的重复中断(每接收/发送一个字符,产生一次),2.中断屏蔽寄存器(IMR)是一个存储器映像的CPU寄存器,主要用来屏蔽外部和内部中断,说明(1)共14个有效位(与IFR对应)(2)当IMRi=0 屏蔽该中断;IMRi=1 不屏蔽该中断,(3)IMR的操作,3.中断方式控制位(INTM)说明:a)INTM是CPU状态寄存器ST1中的1位(第11位),b)功能:,

21、c)操作:,d)该控制位不影响不可屏蔽中断 RS,NMI。e)该控制位不能用存储操作命令设置。,2.5.3 接收、应答及处理中断1.接收中断请求 产生一个中断请求时,IFR中相应的中断标志位被置位。不管中断是否被处理器应答,该标志位都会被置位。当相应的中断响应后,该标志位自动被清除。一个中断由硬件器件或软件指令请求。(中断源说明如表2-10所示。)(1)硬件中断请求 硬件中断有外部和内部两种。,(2)软件中断请求 软件中断都是由程序中的指令INTR、TRAP和 RESET产生的。,注:PC=中断向量地址指针+中断向量号 该指令允许执行任何可屏蔽中断 该指令不影响IFR标志位 不允许中断嵌套,a

22、)INTR K;,b)TRAP K;除INTM不变外,其它同上。注:可实现中断嵌套 可用软件指令在TRAP中服中置位INTM c)RESET 注:功能:使处理器返回一个预定状态;复位指令:可在程序的任何时候产生;该指令影响ST0,ST1,不影响PMST,2.应答中断 硬件或软件中断发送了一个中断请求后,CPU必须决定是否应答中断请求。软件中断和非屏蔽硬件中断会立刻被应答;屏蔽中断仅仅在如下条件被满足后才被应答。(1)优先级别最高(当同时出现一个以上中断时)。(2)状态寄存器 ST1中的INTM位为0。(3)中断屏蔽寄存器IMR中的相应位为1。CPU响应中断时,让PC转到适当的地址取出中断向量,

23、并发出中断响应信号,清除相应的中断标志位。,3.执行中断服务程序(ISR)(1)将PC值(返回地址)存到数据存储器堆栈的栈顶;(2)将中断向量的地址加载到PC;(3)在中断向量地址上取指;(4)执行分支转移指令,转至中断服务程序(如果延迟分支转移,则在转移前先执行附加的指令);(5)执行中断服务程序;(6)中断返回,从堆栈弹出返回地址加到PC中;(7)继续执行被中断了的程序。,中断操作流程,(),2.5.5 中断向量(地址)组成:IPTR+中断向量序号 2(9位)(5位)(7位)注:中断向量地址指针IPTR位于PMST(CPU方式控制R)的高9位(D15D7),可用程序设置;中断向量序号由相应

24、的中断源(硬件或软件)提供 向量中断实现过程举例:,例1:软硬件复位分析:复位时:IPTR全为“1”,指向程序存储器最后一页(第511页)软硬件复位中断向量序号为00000B 解:中断向量=1111,1111,1000,0000B=FF80H 中断服务程序:从FF80H单元开始存放(通常放一条转移指令,转到应用程序的入口处),例2:已知外部中断1的中断服务入口地址为2500H,中断向量地址指针为1F0H,试述向量中断实现过程。分析:INTI中断向量序号为17(11H),TMS320C54X的中断系统(小结)中断源:最多32个(4个保留)其中:硬件14个/软件16 非屏蔽(不可)中断16个/可屏蔽中断16个 优先级:最多14级/复位中断:1级(最高),NMI:2级 可实现多级嵌套 软件和非屏蔽中断:CPU立即响应,并进入中断服务程序。硬件可屏蔽中断:满足以下三个条件后,在3-8机器周期之间响应。当前的中断源相应IFR标志为=1,且优先级为最高;IMR=1(不屏蔽);INTM=0(中断允许);中断向量(地址):IPTR+中断向量序号 2,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号