TMS320C54x DSP原理及应用 教学课件 ppt 作者 乔瑞萍 第1-6章 第6章 TMS320C54x片内外设

上传人:E**** 文档编号:89350653 上传时间:2019-05-23 格式:PPT 页数:79 大小:848KB
返回 下载 相关 举报
TMS320C54x DSP原理及应用 教学课件 ppt 作者 乔瑞萍 第1-6章 第6章  TMS320C54x片内外设_第1页
第1页 / 共79页
TMS320C54x DSP原理及应用 教学课件 ppt 作者 乔瑞萍 第1-6章 第6章  TMS320C54x片内外设_第2页
第2页 / 共79页
TMS320C54x DSP原理及应用 教学课件 ppt 作者 乔瑞萍 第1-6章 第6章  TMS320C54x片内外设_第3页
第3页 / 共79页
TMS320C54x DSP原理及应用 教学课件 ppt 作者 乔瑞萍 第1-6章 第6章  TMS320C54x片内外设_第4页
第4页 / 共79页
TMS320C54x DSP原理及应用 教学课件 ppt 作者 乔瑞萍 第1-6章 第6章  TMS320C54x片内外设_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《TMS320C54x DSP原理及应用 教学课件 ppt 作者 乔瑞萍 第1-6章 第6章 TMS320C54x片内外设》由会员分享,可在线阅读,更多相关《TMS320C54x DSP原理及应用 教学课件 ppt 作者 乔瑞萍 第1-6章 第6章 TMS320C54x片内外设(79页珍藏版)》请在金锄头文库上搜索。

1、第6章 TMS320C54x片内外设,6.1 时钟发生器 6.2 中断系统 6.3 定时器 6.4 主机接口 6.5 串行口,6.1 时 钟 发 生 器,6.1.1 时钟电路 时钟发生器为TMS320C54x提供时钟信号,其包括一个内部振荡器和一个锁相环电路。时钟发生器可以由内部振荡电路或外部时钟源驱动,这两种驱动方式如图6-1所示。,图6-1 时钟电路, 内部振荡电路驱动方式:将一个晶体跨接到X1和X2/CLKIN引脚两端,使内部振荡器工作,图中的电路工作在基波方式,建议C1和C2用10 pF。如果工作在谐波方式,则还要加一些元件。 外部时钟源驱动方式:将一个外部时钟信号直接加到X2/CLK

2、IN引脚(X1空着不接)。 硬件配置的PLL(如TMS320C541、TMS320C542、TMS320C543、TMS320C545和TMS320C546); 软件可编程PLL(如TMS320C545A、TMS320C546A和TMS320C548)。,1硬件配置的PLL 通过设定TMS320C54x的3个引脚(CLKMD1、CLKMD2和CLKMD3)的状态来完成PLL的配置。时钟方式的配置方法如表6-1所示。,表6-1 时钟方式的配置方法,2软件可编程PLL 软件可编程PLL是一种高度灵活的时钟控制方式,它的时钟定标器提供各种时钟乘法器系数,并能直接接通和关断PLL。PLL的锁定定时器可

3、以用于延迟转换PLL的时钟方式,直到锁定为止。 通过软件编程,可以选用以下两种时钟方式中的一种:, PLL方式。输入时钟(CLKIN)乘以0.2515共31个系数中的一个系数。这是靠PLL电路来完成的。 DIV(分频器)方式。输入时钟(CLKIN)除以2或4。当采用DIV方式时,所有的模拟电路,包括PLL电路都关断,以使功耗最小。 软件可编程PLL通过读/写时钟方式寄存器(CLKMD)来完成。,6.1.2 时钟模块编程 软件可编程PLL可以对时钟方式寄存器(CLKMD)编程加载,以配置成所要求的时钟方式。CLKMD寄存器是16位存储器映像寄存器,地址为0058H。它是用来定义PLL时钟模块中的

4、时钟配置。CLKMD的结构如图6-2所示。,图6-2 CLKMD的结构,表6-2 时钟方式寄存器(CLKMD)各位段的功能,表6-3 PLL 的 乘 数,6.1.3 低功耗(节电)模式 TMS320C54x器件有四种节电模式,此时,可以通过停止DSP内部的不同时钟,使TMS320C54x的核心进入休眠状态,降低功耗,且能保持CPU中的内容。当节电模式结束时,唤醒DSP可以连续工作下去。 通过执行IDLE1、IDLE2和IDLE3三条指令,或使信号为低电平,可使处理器进入不同的节电模式。表6-4列出了四种节电特性。,表6-4 四种节电工作方式,1) IDLE1模式 IDLE1暂停所有的CPU活动

5、,但片内外设仍在工作。片内外设如串口定时器等的中断可唤醒CPU结束节电工作方式。 2) IDLE2模式 IDLE2暂停CPU和片内外设的工作。由于片内外设也停止了工作,不能产生中断,因而其唤醒方式不同于IDLE1,但是,其功耗却明显降低。,3) IDLE3模式 IDLE3模式类同于IDLE2,它使片内锁相环PLL暂停工作,这样就完全使TMS320C54x停止了工作。与IDLE2相比,IDLE3更显著地降低了功耗。 4) HOLD模式 HOLD模式是另外一种节电模式,它使外部地址总线、数据总线和控制总线进入高阻状态,也可以使CPU暂停工作,这取决于HM位的状态。,6.2 中 断 系 统,6.2.

6、1 中断结构 1中断类型 TMS320C54x中断既支持硬件中断,也支持软件中断。软件中断由程序指令引起,如INTR、TRAP或RESET。硬件中断有外部硬件中断和内部硬件中断。外部硬件中断由外部中断口的信号触发;内部硬件中断由片内外围电路的信号触发。软件中断不分优先级,硬件中断有优先级。,当多个硬件中断同时请求时,TMS320C54x根据优先级别的不同对其进行服务,TMS320C54x的硬件中断优先级见附录3,其中,1为最高优先级。,无论是硬件中断还是软件中断,TMS320C54x的中断可分为如下两大类。 1) 可屏蔽中断 可屏蔽中断是可用软件来屏蔽或开放的中断,即通过对中断屏蔽寄存器(IM

7、R)中的相应位和状态寄存器(ST1)中的中断允许控制位INTM编程来屏蔽或开放该中断。TMS320C54x最多可以支持16个用户可屏蔽中断(SINT15SINT0),但有的处理器只用了其中的一部分。有些中断有两个名称,如TMS320C541。,2) 非可屏蔽中断 非可屏蔽中断是不能用软件来屏蔽的中断,不受IMR和INTM位的影响。TMS320C54x对这一类中断总是响应的,并从主程序转移到中断服务程序。,2中断管理寄存器 1) 中断标志寄存器 中断标志寄存器(IFR,Interrupt Flag Register)是一个16位存储器映像的CPU寄存器,位于数据存储器空间内,地址为0001H。当

8、一个中断出现的时候,TMS320C54x DSP收到了一个相应的中断请求(中断挂起),此时,IFR中相应的中断标志位为1。TMS320C541 IFR的位定义如图6-3所示,各位对应的可屏蔽中断源的说明见附录3。,图6-3 TMS320C541的位定义,2) 中断屏蔽寄存器 在状态寄存器ST1中的第11位INTM是中断方式位,该位是可屏蔽中断的总允许控制位。INTM=0时,开放全部可屏蔽中断;INTM=1时,禁止所有可屏蔽中断。 INTM不修改中断标志寄存器(IFR)和中断屏蔽寄存器(IMR,Interrupt Mask Register)。,图6-4 TMS320C541 IMR的位定义,3

9、中断向量 TMS320C54x给每个中断源都分配有一个确定的中断向量偏移地址(见附录3),该地址为可屏蔽中断服务程序进入各中断源服务程序的偏移地址,这样以来,可判断中断源的身份,并进入对应中断源的服务程序。,图6-5 中断向量地址的形成,6.2.2 中断流程 1接受中断请求 当发生硬件和软件指令请求中断时,IFR中相应的标志位置为有效电平。无论DSP是否响应中断,该标志都处于有效电平。在相应中断发生时,该标志自动清除。 硬件中断有外部和内部之分。外部硬件中断由外部接口信号自动请求,内部硬件中断由片内外设信号自动请求。 软件中断都是由程序中的指令INTR、TRAP和RESET产生的。,(1) I

10、NTR K:该指令可启动TMS320C54x的任何中断。 (2) TRAP K:TRAP与INTR的不同之处是TRAP中断时,不需要设置INTM位。 (3) RESET:该指令可在程序的任何时候发生,它使处理器返回一个已知状态。,2响应中断 对于软件中断和非可屏蔽中断,CPU立即响应。如果是可屏蔽中断,只有满足以下条件才能响应: (1) 优先级别最高。 (2) ST1中的INTM位为0,允许可屏蔽中断。 (3) IMR中的相应位为1,允许可屏蔽中断。,3执行中断服务程序 响应中断之后,CPU将执行下列操作: (1) 将PC值(即返回地址)压入堆栈。 (2) 将中断向量的地址装入PC;将程序引导

11、至中断服务程序ISR。 (3) 现场保护,将某些要保护的寄存器和变量压入堆栈。,(4) 执行中断服务程序ISR。 (5) 恢复现场,以逆序将所保护的寄存器和变量弹出堆栈。 (6) 中断返回,从堆栈弹出返回地址加载到PC。 (7) 继续执行被中断的程序。,图6-6 中断操作流程图,6.2.3 中断编程 第4章的例20就是一个简单完整的中断程序模板,中断过程如图6-7所示。利用软件仿真外部硬件中断int2,程序中的开放中断和中断服务程序片段如下:,STM #0,SWWSR ;开中断 RSBX INTM STM #04H, IMR INT_2: SFTA A,8 ;中断服务程序 RETE,图6-7

12、中断过程,INT_2引起标准中断矢量表程序相应的int2变化如下: * * 中断矢量表程序 * * .title “vectors.asm“ ;定义段的名称为vectors .ref start ;程序入口 .ref INT_2 .sect “vectors“,reset: B start ;复位引起的中断 nop nop nmi: RETE ;使能NMI中断 NOP NOP NOP,sint17 .space 4*16 ;程序内部的软件中断 sint18 .space 4*16 sint19 .space 4*16 sint20 .space 4*16 sint21 .space 4*16

13、sint22 .space 4*16 sint23 .space 4*16 sint24 .space 4*16 sint25 .space 4*16,sint26 .space 4*16 sint27 .space 4*16 sint28 .space 4*16 sint29 .space 4*16 sint30 .space 4*16 int0: RETE ;外部中断0 NOP NOP NOP,int1: RETE ;外部中断1 nop nop nop int2: b INT_2 ;外部中断2 nop nop nop,tint: RETE ;定时器中断 NOP NOP NOP rint0:

14、 RETE ;串口0接收中断 NOP NOP NOP,xint0: RETE ;串口0发送中断 NOP NOP NOP rint1: RETE ;串口1接收中断 NOP NOP NOP,xint1: RETE ;串口1发送中断 NOP NOP NOP Int3: RETE ;外部中断3 nop nop nop .end,6.3 定 时 器,6.3.1 定时器结构 定时器主要由3个寄存器所组成:定时器寄存器(TIM,Timer Registers)、定时器周期寄存器(PRD,Timer Period Registers)和定时器控制寄存器(TCR,Timer Control Registers)

15、。这3个寄存器都是16位存储器映像寄存器,在数据存储器中的地址分别为0024H、0025H和0026H(见附录4)。TIM是一个减1计数器;PRD中存放时间常数;TCR中包含有定时器的控制位和状态位。定时器的功能框图如图6-8所示。,图6-8 定时器的功能框图,图6-8中含一个16位的主计数器(TIM)和一个4位预定标计数器(PSC)。TIM从周期寄存器PRD加载,PSC从周期寄存器TDDR加载。 定时器的典型操作顺序为 (1) 在每个CLKOUT脉冲后PSC减1,直到它变为0。 (2) 在下一个CLKOUT周期,TDDR加载新的除计数值到PSC,并使TIM减1。,(3) 以同样方式,PSC和TIM连续进行减操作,直到TIM减为0。 (4) 在下一个CLKOUT周期,将定时器中断信号(TINT)送到CPU,同时又用另一脉冲送到TOUT引脚,把新定时器计数值从PRD加载到TIM,并使PSC再次减1。 因此,定时器中断的速率为,TINT速率=,6.3.2 定时器编程 定时器可访问的寄存器有三个:TIM、PRD和TCR。TIM和PRD这两种寄存器共同工作,提供定时器的当前计数值。 读TIM可以知道定时器中的当前值。在正常情况下,当TIM减到0后,PRD中的时间常数自动地加载到TIM。当系统复位( =1)或定时器复位(TRB=1)时,PRD中的时间常数重新加载到TIM。,控制寄

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号