第2章硬件结构_第1页
第2章硬件结构_第2页
第2章硬件结构_第3页
第2章硬件结构_第4页
第2章硬件结构_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章:TMS320C54x的硬件结构第二章第二章 TMS320C54x的硬件结构的硬件结构2.1 TMS320C54x硬件结构框图硬件结构框图2.2 总总 线线 结结 构构2.3 中央处理单元中央处理单元(CPU)2.4 存储器和存储器和I/O空间空间2.5 中中 断断 系系 统统1第二章:TMS320C54x的硬件结构2.1 TMS320C54x硬件结构框图硬件结构框图1. TMS320C54x内部结构(内部结构(3大块)大块) (1):包括算术逻辑运算单元:包括算术逻辑运算单元(ALU)、乘法器、累加器、移、乘法器、累加器、移位寄存器、各种专门用途的寄存器、地址生成器及内部总线。位寄存器

2、、各种专门用途的寄存器、地址生成器及内部总线。 (2):包括片内程序:包括片内程序ROM、片内单访问的数据、片内单访问的数据RAM和双访问的数据和双访问的数据RAM、外接存储器接口。、外接存储器接口。 (3):包括片内定时器、各种类型的串:包括片内定时器、各种类型的串口、主机接口、片内锁相环口、主机接口、片内锁相环(PLL)、时钟发生器及各种控制电路。、时钟发生器及各种控制电路。2第二章:TMS320C54x的硬件结构3加法器(40)第二章:TMS320C54x的硬件结构 2. TMS320C54x主要特性主要特性 C54x是一款低功耗、高性能的定点是一款低功耗、高性能的定点DSP芯片芯片 先

3、进的先进的(1条程序总线、条程序总线、3条数据总线和条数据总线和4条地址总条地址总线线)。 4040位算术逻辑运算单元位算术逻辑运算单元,包括,包括1 1个个4040位桶形移位寄存器位桶形移位寄存器和和2 2个独立的个独立的4040位累加器。位累加器。 1717位并行位并行,与,与40位专用加法器相连,用于非流水位专用加法器相连,用于非流水线式单周期乘法线式单周期乘法/累加累加(MAC)运算。运算。 4第二章:TMS320C54x的硬件结构(续)(续) (CSSU)(CSSU):用于加法用于加法/ /比较选比较选择。择。 可以在单个周期内计算可以在单个周期内计算4040位累加器中位累加器中数值

4、的指数。数值的指数。 包括包括8个辅助寄存器和个辅助寄存器和2个辅助寄存个辅助寄存器算术运算单元器算术运算单元(ARAU)。 5第二章:TMS320C54x的硬件结构 :64 K字字程序存储空间、程序存储空间、64 K字数字数据存储空间及据存储空间及64 K字字I/O空间,对于空间,对于C548、C549、C5402、C5410和和C5416等可将其程序空间扩展至等可将其程序空间扩展至8M。 RAM(DARAM)。C54x中的中的DARAM被分成若干被分成若干块。块。 (在每个机器周期内,(在每个机器周期内,CPU可以对同一个可以对同一个DARAM块寻址块寻址(访问访问)2次,即次,即CPU可

5、以在一个机器周期内对同一个可以在一个机器周期内对同一个DARAM块读出块读出1次和写入次和写入1次。)次。) DARAM可以映射到程序空间和数据空间。可以映射到程序空间和数据空间。但一般情况下,但一般情况下,DARAM总是总是映射到数据空间,用于存放数据。映射到数据空间,用于存放数据。 (SARAM)。如。如C548、C5402、C5416等。等。6第二章:TMS320C54x的硬件结构7第二章:TMS320C54x的硬件结构8第二章:TMS320C54x的硬件结构引脚图9第二章:TMS320C54x的硬件结构2.2 总总 线线 结结 构构 TMS320C54X总线结构是围绕总线结构是围绕8组

6、组16比特总线建立的。比特总线建立的。 PB:传送从程序存储器来的指令代码和立:传送从程序存储器来的指令代码和立 即数;即数; (CB、DB):传送从数据存储器读出的操作:传送从数据存储器读出的操作 数;数; ( EB):传送写入到数据存储器中的数据;:传送写入到数据存储器中的数据; (PAB、CAB、DAB、EAB):传送执行指令所:传送执行指令所 需的地址;需的地址; (表(表2-2 各种寻址方式所用到的总线,各种寻址方式所用到的总线,P23) BACK10第二章:TMS320C54x的硬件结构2.3 中央处理单元(中央处理单元(CPUCPU)。1 . CPU状态和控制寄存器状态和控制寄存

7、器 C54x DSP有三个状态和控制寄存器:有三个状态和控制寄存器: (1) 状态寄存器状态寄存器0(ST0); (2) 状态寄存器状态寄存器1(ST1); (3) 处理器工作模式状态寄存器处理器工作模式状态寄存器(PMST)。 ST0和和ST1中包含各种工作条件和工作方式的状态,中包含各种工作条件和工作方式的状态, PMST中包含存储器的设置状态及其他控制信息。中包含存储器的设置状态及其他控制信息。 11第二章:TMS320C54x的硬件结构(1 1)状态寄存器()状态寄存器(ST0ST0) 反映寻址要求和计算中的状态;反映寻址要求和计算中的状态; ST0的结构图:的结构图: ARP 辅助寄

8、存器指针辅助寄存器指针 TC 测试测试/控制标志位控制标志位 C进位位。进位位。 OVA /OVB 累加器累加器A/B的溢出标志位的溢出标志位 DPDP数据存储器页指针数据存储器页指针 12第二章:TMS320C54x的硬件结构(2 2)状态寄存器()状态寄存器(ST1ST1)反映寻址要求、计算初始状态、反映寻址要求、计算初始状态、I/OI/O终端控制终端控制 如图如图 BRAF 块重复操作标志位。 CPL 直接寻址编辑方式位 XF XF引脚状态位。 HM 保持方式位 INTM 中断方式位 。 OVM 溢出方式位 SXM 符号位扩展方式位。 C16 双16位/双精度算术运算方式位 FRCT 小

9、数方式位。 CMPT 修正方式位 ASM 累加器移位方式位 13第二章:TMS320C54x的硬件结构操作:操作:ST0和和ST1寄存器的各位可以使用寄存器的各位可以使用SSBX和和RSBX指令来指令来设置和清除;设置和清除; 例如:例如: SSBX CPL RSBX SXMARP、DP、ASM位可以位可以LD指令来加载。指令来加载。 例如:例如:LD #10,DP LD #5,ASM14第二章:TMS320C54x的硬件结构1 5 7 6 5 4 3 2 1 0 I P T R M P / M C O V L Y A V I S D R O M C L K O F F S M U L S S

10、 T 这些 位置 在C 5 4 x D S P的A版 本 或更新 版本 才有 ,或 者 在C 5 4 8或 更 高的系 列器 件才 有。 (3)处理器工作模式状态寄存器)处理器工作模式状态寄存器(PMST:Processor Mode Status) 功能:功能:设定并控制处理器的工作方式,反映处理器工作状态;设定并控制处理器的工作方式,反映处理器工作状态;如图如图含义:含义:IPTR 中断向量指针。 微处理器/微型计算机工作方式位 OVLY RAM重复占位位。 AVIS 地址可见位 MP/MC15第二章:TMS320C54x的硬件结构操作:操作:PMST寄存器由存储器映射寄存器指令例如寄存器

11、由存储器映射寄存器指令例如STM进行加载。进行加载。 例如:例如:STM #FF80h,PMST16第二章:TMS320C54x的硬件结构2.运算部件运算部件(6个个) C54X使用使用40bit的的ALU和和2个个40bit累加器累加器(A、B)完成二进制补码的算术运算:)完成二进制补码的算术运算: ALUALU可完成布尔运算;可完成布尔运算; 可以同时完成两个可以同时完成两个16bit16bit运算运算 (具有两个(具有两个1616位的位的ALUALU) ALUALU组成框图见下图组成框图见下图17第二章:TMS320C54x的硬件结构ALUALU组成框图组成框图18第二章:TMS320C

12、54x的硬件结构(2 2)累加器)累加器 存放参加运算的数据或存放运算的结果(存放参加运算的数据或存放运算的结果(ALUALU或或MACMAC) 三个部分(保护位作用:数据位余量,防止三个部分(保护位作用:数据位余量,防止迭代运算时迭代运算时 发生溢出)发生溢出)累加器A: 3932 3116 150 AG(保护位) AH(高阶位) AL(低阶位) 累加器B: 3932 3116 150 BG(保护位) BH(高阶位) BL(低阶位) 累加器A和B的差别仅在于累加器A的3116位可以作为乘法器的一个输入。 19第二章:TMS320C54x的硬件结构(3 3)桶形移位器桶形移位器 能把输入的数据

13、进行能把输入的数据进行0 31bit左移和左移和0 16bit右移右移 移位数可以用以下方式定义:移位数可以用以下方式定义:如图如图用一个立即数用一个立即数(-1615)表示。表示。用状态寄存器用状态寄存器ST1的累加器移位方式的累加器移位方式(ASM)位表示,共位表示,共5位,移位位,移位数为数为-1615。用用T寄存器中最低寄存器中最低6位的数值位的数值(移位数为移位数为-1631)表示。表示。 位提取、数字定标、扩展算术和溢出保护等,如:桶形移位提取、数字定标、扩展算术和溢出保护等,如:桶形移位器和指数编码器,可把位器和指数编码器,可把A/B中的值在一个周期内进行归一化。中的值在一个周期

14、内进行归一化。 20第二章:TMS320C54x的硬件结构图21第二章:TMS320C54x的硬件结构例如:例如:ADD A,-4,B ;B=B+A4ADD A,ASM,B ;B=B+A B(150),then ; B(3116) (*AR3) ;else B(150) (*AR3)27第二章:TMS320C54x的硬件结构(6)指数编码器指数编码器 完成完成EXPEXP单周期指令的专用硬件;单周期指令的专用硬件; 将累加器中的将累加器中的以二进制补码的形式存储以二进制补码的形式存储在在T T中;中; 累加器中为消除多余符号位所需移动累加器中为消除多余符号位所需移动的位数;的位数; 累加器的冗

15、余位数累加器的冗余位数-8-8; 结果若大于结果若大于0 0,则左移;若小于,则左移;若小于0 0,则右移。,则右移。 超过超过3232位时,该操作产生负值;位时,该操作产生负值; 累加器内容归一化;累加器内容归一化; 28第二章:TMS320C54x的硬件结构累加器归一化(定点数变为浮点数):累加器归一化(定点数变为浮点数): EXP A ;(冗余符号位(冗余符号位-8),结果放到),结果放到T寄存器寄存器 ST T,EXPONET;将指数值存放到数据存储器中将指数值存放到数据存储器中 NORM ; 累加器归一化(累加器按中值移位)累加器归一化(累加器按中值移位)例如:假设例如:假设40位累

16、加器位累加器A中的定点数为中的定点数为FFFFFFF001,则用,则用EXP A指指 令,求得它的指数为令,求得它的指数为13h。 再执行再执行NORM ,累加器按中值移位,将原来的定点数分成尾,累加器按中值移位,将原来的定点数分成尾数数FF80080000和指数两个部分。和指数两个部分。BACK29第二章:TMS320C54x的硬件结构2.4 存储器和存储器和I/O空间空间 存储器的组成(分为存储器的组成(分为3 3个可选择的存储空间):个可选择的存储空间):映射的接口位:提供与外部存储器存储空间数据(保存执行指令所使用的双访问单访问位数据存储空间的指令)位:存放程序(要执行程序存储空间16

17、64/DARAMSARAM16641664K ROM KOIKRAM30第二章:TMS320C54x的硬件结构。RAM有两种类型:单寻址有两种类型:单寻址RAM(SARAM)和双寻址和双寻址RAM(DARAM)。P35 表表2-6。 。P41表表2-9 。,使,使它能够在任何一个给定的机器周期内同时执行它能够在任何一个给定的机器周期内同时执行4次存储次存储器操作,即器操作,即1次取指、读次取指、读2个操作数和写个操作数和写1个操作数。个操作数。 31第二章:TMS320C54x的硬件结构片内存储器与片外存储器比较:片内存储器与片外存储器比较: 片内存储器片内存储器具有不需要插入等待状态,成本具

18、有不需要插入等待状态,成本和功耗低等优点;和功耗低等优点; 片外存储器片外存储器具有寻址较大存储空间的能力。具有寻址较大存储空间的能力。32第二章:TMS320C54x的硬件结构1. 存储空间的分配存储空间的分配 在在C54x中,片内存储器的形式有中,片内存储器的形式有DARAM、SARAM和和ROM 3种,取决于芯片的型号。种,取决于芯片的型号。 RAM总是安排到总是安排到数据数据存储空间,但也可以构成程序存储空存储空间,但也可以构成程序存储空间;间; ROM一般构成一般构成程序程序存储空间,也可以部分地安排到数据存存储空间,也可以部分地安排到数据存储空间。储空间。 33第二章:TMS320

19、C54x的硬件结构 C54x通过通过PMSTPMST的的3个状态位个状态位( (MP/MCMP/MC、OVLYOVLY、 DROMDROM) )如图,可以很方便地如图,可以很方便地“使能使能”和和“禁止禁止”程序和数据空程序和数据空间中的片内存储器。间中的片内存储器。1 1)MP/MC: MP/MC: =0=0,片内,片内ROMROM安排到程序空间;安排到程序空间; =1=1,片内片内ROMROM不安排到程序空间。不安排到程序空间。2 2) OVLYOVLY:=0=0,片内,片内RAMRAM只安排到数据存储空间;只安排到数据存储空间; =1=1,片内片内RAMRAM安排到程序和数据存储空间。安

20、排到程序和数据存储空间。3 3) DROMDROM:=0=0,片内,片内ROMROM不安排到数据空间;不安排到数据空间; =1=1,部分片内,部分片内ROMROM安排到数据空间。安排到数据空间。 下图以下图以C5402C5402为例给出了数据和程序存储区图,并说为例给出了数据和程序存储区图,并说明了与明了与MP/MCMP/MC、OVLYOVLY及及DROM 3DROM 3个状态位的关系。个状态位的关系。 34第二章:TMS320C54x的硬件结构C5402存储器图存储器图35第二章:TMS320C54x的硬件结构 说明:说明: (1)DSP的工作方式控制寄存器中的的工作方式控制寄存器中的OVL

21、Y(D5)位)位控制控制00003FFFH存储空间的片内存储空间的片内/片外分配;片外分配;如图如图 (2)DSP的工作方式控制寄存器中的的工作方式控制寄存器中的MP/MC(D6)位控制位控制4000FFFFH存储空间的片内存储空间的片内/片外分配;片外分配; (3)TMS320TMS320C5402的的20条程序地址线可扩展外部程序条程序地址线可扩展外部程序存储器到存储器到1M字。采用分页扩展方法,共字。采用分页扩展方法,共16页,每页页,每页64k字字。 见见P36 图图2.13。36第二章:TMS320C54x的硬件结构2.程序存储器程序存储器多数多数C54x DSP的外部程序存储器可寻

22、址的外部程序存储器可寻址64 K字的存储空字的存储空间。它们的片内间。它们的片内ROM、双寻址、双寻址DARAM以及单寻址以及单寻址SARAM,都可以通过软件映像到程序空间。,都可以通过软件映像到程序空间。当存储单元映像到程序空间时,处理器就能自动地对它当存储单元映像到程序空间时,处理器就能自动地对它们所处的地址范围寻址。如果程序地址生成器们所处的地址范围寻址。如果程序地址生成器(PAGEN)发出的地址处在片内存储器地址范围以外,处理器就能发出的地址处在片内存储器地址范围以外,处理器就能自动地对外部寻址。自动地对外部寻址。37第二章:TMS320C54x的硬件结构 (1) 片内存储器是否作为程

23、序存储器,取决于软件对片内存储器是否作为程序存储器,取决于软件对PMST的的状态位状态位 MP/MC和和OVLY的编程。的编程。P37 表表27。 TMS320TMS320C54X片内片内ROM容量范围容量范围2K48K字;字; 为了增强处理器的性能,对片内为了增强处理器的性能,对片内ROM再细分为若干块,这再细分为若干块,这样就可以在片内样就可以在片内ROM的一个块内取指的同时,又在别的块中读的一个块内取指的同时,又在别的块中读取数据。取数据。P37 图图2.14。 38第二章:TMS320C54x的硬件结构片内高2 K字ROM中的内容是由TI公司定义的,这2K字程序空间(F800hFFFF

24、h)中包含的内容。如图图2.15。 1)自举加载程序。)自举加载程序。 从串行口、外部存储器、从串行口、外部存储器、I/接口自举加载。接口自举加载。 自举加载自举加载程序,可以将用户代码调入到程序存储器的任何一个位程序,可以将用户代码调入到程序存储器的任何一个位置。置。 2)256字字A律压扩表。律压扩表。 3)256字字律压扩表。律压扩表。 4)256字正弦函数值查找表。字正弦函数值查找表。 5)中断向量表。)中断向量表。 MP/MC硬件复位时硬件复位时=0,CPU从从FF80H单元(通常存放转移指令单元(通常存放转移指令自举加载自举加载程序)开始执行。程序)开始执行。 39第二章:TMS3

25、20C54x的硬件结构(2) 最多可扩展到最多可扩展到8192K, 分为分为0127127页,每页页,每页64K64K字长。字长。见见P39P39图图2.162.16,2.172.17。 0ROM/RAM -XPC 1127 6页:可用于片内映射;专门的程序计数器扩展寄存器:专用指令 条; 23位地址线代替16位的地址线 (C5402为20位的地址总线,C5420为18位) ,扩展程序存储器的页号由XPC寄存器设定。 为了通过软件切换程序存储器的页面,有6条专用的影响XPC值的指令(FB、FBACC、FCALA、FCALL、FRET、FRETE)。 40第二章:TMS320C54x的硬件结构

26、3. 数据存储器数据存储器 (1) 片内数据存储器片内数据存储器 C54X片内数据存储器容量范围片内数据存储器容量范围10K200K200K字节字节 组成:片上组成:片上ROMROM、DARAMDARAM、SARAMSARAM(表(表2 28 8) 为了提高处理器的性能,片内为了提高处理器的性能,片内RAM也细分为若干块。分也细分为若干块。分块以后,用户可以在同一周期内从同一块以后,用户可以在同一周期内从同一DARAM中取出两个中取出两个操作数,将数据写入另一块操作数,将数据写入另一块DARAM中。图中。图2.18 41第二章:TMS320C54x的硬件结构3. 数据存储器数据存储器片内数据存

27、储器片内数据存储器 组成组成:片上:片上ROMROM、DARAMDARAM、SARAMSARAM(P40P40表表2 28 8) C54X片内数据存储器容量范围片内数据存储器容量范围10K200K200K字字 分块分块:为了提高处理器的性能,片内:为了提高处理器的性能,片内RAM也细分为也细分为若干块。分块以后,用户可以在同一周期内从同一若干块。分块以后,用户可以在同一周期内从同一DARAM中取出两个操作数,将数据写入另一块中取出两个操作数,将数据写入另一块DARAM中。中。P41图图2.18 。42第二章:TMS320C54x的硬件结构C54xC54x中中DARAMDARAM前前1K1K字字

28、数数据存储器空间分配据存储器空间分配1)0000h-001Fh:1)0000h-001Fh:存储器映像存储器映像CPUCPU寄存器;寄存器;2 2)0020h-005F:0020h-005F:外围电路寄存器;外围电路寄存器;3 3)0060h-007Fh:320060h-007Fh:32字暂存器;字暂存器;4 4)0080h-03FFh:8960080h-03FFh:896字字DARAMDARAM。43第二章:TMS320C54x的硬件结构(2)片外数据存储器片外数据存储器TMS320C54X片外数据存储器容量范围最大为片外数据存储器容量范围最大为48K根据根据CPU产生的地址自动寻址产生的地

29、址自动寻址44第二章:TMS320C54x的硬件结构(3 3)特殊功能寄存器)特殊功能寄存器第一类:存储器映像第一类:存储器映像CPUCPU寄存器寄存器(26(26个个) ) 主要用于程序的运算处理和寻址方式的选择及设定,见主要用于程序的运算处理和寻址方式的选择及设定,见P41P41表表2-92-9。 辅助寄存器辅助寄存器AR0-AR7AR0-AR7:产生:产生16bit16bit数据空间,通用数据空间,通用R R; 暂存器暂存器T T:乘(加)法指令存放一乘数、:乘(加)法指令存放一乘数、EXPEXP指令结果;指令结果; TRN(状态转移寄存器):用来得到新的度量值,存放中间(状态转移寄存器

30、):用来得到新的度量值,存放中间结果结果Viterbi(用于在(用于在Viterbi算法中记录转移路径);算法中记录转移路径); 堆栈指针寄存器堆栈指针寄存器SP:指示栈顶在数据:指示栈顶在数据M位置,向下生长;位置,向下生长; 45第二章:TMS320C54x的硬件结构 缓冲区大小寄存器缓冲区大小寄存器BK:在循环寻址中确定缓冲区中数据的:在循环寻址中确定缓冲区中数据的大小;大小; 块循环寄存器块循环寄存器BRC:确定一代码循环的次数;:确定一代码循环的次数; 块循环起始地址块循环起始地址RSA:循环的开始地址;:循环的开始地址; 块循环块循环 结束地址结束地址REA:循环的结束地址;:循环

31、的结束地址; 中断标志寄存器中断标志寄存器IFR:指明各中断源的状态;:指明各中断源的状态; 中断屏蔽寄存器中断屏蔽寄存器IMR:屏蔽特定的中断;:屏蔽特定的中断; 程序计数器扩展寄存器程序计数器扩展寄存器XPCXPC; 其它:累加器其它:累加器A、B; 方式控制方式控制R:PMST; 状态状态R:ST0/ST1等。等。46第二章:TMS320C54x的硬件结构第二类:外围电路寄存器第二类:外围电路寄存器(17个)个) 功能:用于控制片内外设(串口、定时器、机器周期功能:用于控制片内外设(串口、定时器、机器周期设定等)设定等) : 1 1 1 SPCDRRRSRDXRXSR串口控制寄存器:包括

32、串口模式和状态位。串口数据接收寄存器:保持将要写入数据线的来自的输入串行数据。串口数据发送寄存器:保持将要装入的来自数据总线的输出数据。 0 0 B D R R 0 B D X R 0B S P CB S P C E缓 冲 串 口 控 制 寄 存 器缓 冲 串 口 控 制 扩 展 寄 存 器缓 冲 串 口 数 据 接 收 寄 存 器缓 冲 串 口 数 据 发 送 寄 存 器缓冲串口缓冲串口47第二章:TMS320C54x的硬件结构BKR0 0 0 AXR0 接收缓冲范围寄存器接收地址寄存器发送缓冲范围寄存器发送地址寄存器ARRBKX;的数据重装;:用于定时周期寄存器一个脉冲):递减计数器(每接

33、收定时设定寄存器;:对定时器控制和状态定时控制寄存器TIMPRD TIM TCR48第二章:TMS320C54x的硬件结构 SW W SR BSC R C LK M D软 件 等 待 状 态 寄 存 器多 路 开 关 控 制 寄 存 器时 钟 模 式 寄 存 器49第二章:TMS320C54x的硬件结构小结小结 (CPUCPU):): DSP的内部控制逻辑完成各种具体流水线指令操的内部控制逻辑完成各种具体流水线指令操作,它对于使用者是作,它对于使用者是。 使用使用DSP实质上就是实质上就是。 对对SFR功能的了解程度,直接关系到所功能的了解程度,直接关系到所设计设计(运行速度、运算精度、代码效

34、率、可靠性等)(运行速度、运算精度、代码效率、可靠性等) 学习学习DSP硬件结构,很大程度上是硬件结构,很大程度上是。本章首先掌握本章首先掌握ST0;ST1;PMST50第二章:TMS320C54x的硬件结构 4I/O空间空间 C54X器件除了程序和数据存储空间外,还提供了器件除了程序和数据存储空间外,还提供了64K字的字的I/O空间,都空间,都在片外:在片外: 有两条指令用来访问此空间有两条指令用来访问此空间(输入指令输入指令PORTR和输出指令和输出指令PORTW)对对I/O空间寻址空间寻址; 访问访问I/O空间是对空间是对I/O映射的外部器件进行访问,而不是访问存储器映射的外部器件进行访

35、问,而不是访问存储器; 所有所有C54x DSP只有两个通用只有两个通用I/O,即,即 和和XF。为了访问更多的通用。为了访问更多的通用I/O,可以对主机通信并行接口和同步串行接口进行配置,以用作通用,可以对主机通信并行接口和同步串行接口进行配置,以用作通用I/O。 还可以扩展外部还可以扩展外部I/OI/O:外部:外部I/OI/O必须使用缓冲或锁存电路,配合外部必须使用缓冲或锁存电路,配合外部I/OI/O读写控制时序构成外部读写控制时序构成外部I/OI/O的控制电路。的控制电路。BIO BACK51第二章:TMS320C54x的硬件结构 2.5 中中 断断 系系 统统 2.5.1 中断系统概述

36、中断系统概述CPU终止正在执行的程序,转去执行一个请求中断的内终止正在执行的程序,转去执行一个请求中断的内部或外部的中断服务程序,待处理完毕后,又返回到被部或外部的中断服务程序,待处理完毕后,又返回到被终止的源程序处继续执行,这一过程称为中断。终止的源程序处继续执行,这一过程称为中断。 为实现中断功能而设置的各种硬件和软为实现中断功能而设置的各种硬件和软件。件。 52第二章:TMS320C54x的硬件结构 C54x DSP既支持既支持软件中断软件中断,也支持,也支持硬件中断硬件中断。(1)由程序指令)由程序指令 (INTR、TRAP、RESET)要求的要求的软件中断软件中断;(2)由外围设备信

37、号要求的)由外围设备信号要求的硬件中断硬件中断,有两种形式:,有两种形式: a)受外部中断口信号触发的受外部中断口信号触发的外部硬件中断外部硬件中断; b)受片内外围电路信号触发的受片内外围电路信号触发的内部硬件中断内部硬件中断。 当同时有多个硬件中断出现时,当同时有多个硬件中断出现时,C54x DSP按按照中断照中断优先级别优先级别的高低对它们进行服务。的高低对它们进行服务。 53第二章:TMS320C54x的硬件结构1. 中断分类中断分类C54x DSP的中断可以分成两大类:(1)可屏蔽中断:)可屏蔽中断:这些都是可以用软件来屏蔽或开放的中断。 C54x 最多可以支持16个可屏蔽中断,但C

38、5402只使用14个可屏蔽中断。 ;BRINT0、BXINT0、BRINT1和BXINT1(串行口中断)。TINT0、TINT1(定时器中断)。HPINT(主机接口)DMAC0DMAC5。(2)非屏蔽中断:)非屏蔽中断:这些中断是不能够屏蔽的,C54x对这一类中断总是响应,并从主程序转移到中断服务程序。C54x DSP的非屏蔽中断包括:所有的软件中断;以及两个外部硬件中断: (复位)和 。 INT0INT3RSNMI54第二章:TMS320C54x的硬件结构 两者比较:两者比较: 非屏蔽中断非屏蔽中断:不能由用户用软件来屏蔽的中断。 一旦有非屏蔽中断请求,CPU必须予以响应。 :用于某些十分重

39、要的事件发生,如:掉电。 可屏蔽中断可屏蔽中断:用户根据需要可用软件开放或禁止CPU响应中断。 软件指令控制,灵活方便。 一般事件处理。 55第二章:TMS320C54x的硬件结构 2. 中断处理一般过程:中断处理一般过程: 中断源请求中断; CPU响应中断; 保护现场; 转中断服务; 恢复现场; 中断返回。 56第二章:TMS320C54x的硬件结构 2.5.2 中断标志寄存器中断标志寄存器(IFR)和中断屏蔽寄存器和中断屏蔽寄存器(IMR) 1.中断标志寄存器(中断标志寄存器(IFR) 当一个中断出现的时候,当一个中断出现的时候,IFR中相应的中断标志位置中相应的中断标志位置1,直到,直到

40、中断得到处理为止。以中断得到处理为止。以C5402为例:为例: (1) 共共14个有效标志位个有效标志位(可屏蔽中断):(可屏蔽中断): 外部中断外部中断4个(个(INT0-INT3) 定时器中断定时器中断2个(个(TINT0-TINT1) 串口定时器串口定时器4个(两发个(两发/两收)两收) DMA中断中断3个(个(DMAC0. 4. 5) HPI中断中断1个个 ;57第二章:TMS320C54x的硬件结构(2) IFR的操作的操作 置位:当可屏蔽中断发生时,相应位置“1”(挂起)。 识别:CPU通过读IFR来识别挂起的中断。 四种清除方法: a)软、硬件复位; b)写“1”到IFR的相应位

41、,相应的尚未处理完的中断被清除; (所有未处理的中断可以通过IFR的当前内容写回到IFR这种方法来清除) 例:STM #FFFFH,IFR c)响应中断请求,中断得到处理; d)利用适当的中断号执行INTR指令,相应的中断标志位清0。 58第二章:TMS320C54x的硬件结构 2.中断屏蔽寄存器中断屏蔽寄存器(IMR) 是一个存储器映像的CPU寄存器,主要用来屏蔽可屏蔽中断。图 共14个有效位(与IFR对应) (2) 当IMRi=0 屏蔽该中断; IMRi =1 不屏蔽即开放该中断。 59第二章:TMS320C54x的硬件结构 IMR的操作复位时,IMR均为0;CPU通过写入“ 1”或“0”

42、实现“开放”或“屏蔽”,例如: STM #0008H,IMR 图CPU通过对IMR检查来判断中断是否被屏蔽。60第二章:TMS320C54x的硬件结构 3.中断方式控制位(INTM)说明:a) INTM是CPU状态寄存器ST1中的1位(第11位)如图 b) 功能:开放所有可屏蔽中断关闭所有可屏蔽中断0 1 c) 操作: 10;SSBX INTMRETERSBX INTM中断响应后,会自动置 ,将不影响其它中断置位软件置位:中断服务程序中的指令执行后自动清 ;清零软件清零: d) 该控制位不影响非屏蔽中断 。 e) 该控制位不能用存储操作命令设置。 61第二章:TMS320C54x的硬件结构 2

43、.5.3 接收、应答及处理中断接收、应答及处理中断1. 接收中断请求接收中断请求 中断请求由硬件器件或软件指令来发出。(中断源说明如P44 表2-10所示。)(1) 硬件中断请求硬件中断请求 硬件中断有外部和内部两种。硬件中断有外部和内部两种。30INTINTHPIDMA外部中断:等、行口、片内外设:定时器、串NMIRS62第二章:TMS320C54x的硬件结构 (2) 软件中断请求软件中断请求 软件中断都是由程序中的指令软件中断都是由程序中的指令INTR、TRAP和和 RESET产生的。产生的。注: PC=中断向量地址指针+中断向量号 该指令不允许执行任何可屏蔽中断 该指令不影响IFR标志位

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

温馨提示

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

评论

0/150

提交评论