DSP处理器原理与应用 教学课件 ppt 作者 鲍安平 全书 第5章

上传人:E**** 文档编号:89360661 上传时间:2019-05-24 格式:PPT 页数:140 大小:1.12MB
返回 下载 相关 举报
DSP处理器原理与应用 教学课件 ppt 作者 鲍安平 全书 第5章_第1页
第1页 / 共140页
DSP处理器原理与应用 教学课件 ppt 作者 鲍安平 全书 第5章_第2页
第2页 / 共140页
DSP处理器原理与应用 教学课件 ppt 作者 鲍安平 全书 第5章_第3页
第3页 / 共140页
DSP处理器原理与应用 教学课件 ppt 作者 鲍安平 全书 第5章_第4页
第4页 / 共140页
DSP处理器原理与应用 教学课件 ppt 作者 鲍安平 全书 第5章_第5页
第5页 / 共140页
点击查看更多>>
资源描述

《DSP处理器原理与应用 教学课件 ppt 作者 鲍安平 全书 第5章》由会员分享,可在线阅读,更多相关《DSP处理器原理与应用 教学课件 ppt 作者 鲍安平 全书 第5章(140页珍藏版)》请在金锄头文库上搜索。

1、,第5章 TMS320C55X DSP的外设,5.1 引言 5.2 通用计时器 5.3 TMS320C5509 DSP片上ADC 5.4 外部存储器接口(EMIF) 5.5 本章小结 习题与思考题,在第1章中,我们讲到DSP处理器往往需要脱机独立工作,为与外设接口方便,其中往往设置了丰富的周边接口电路。在实际应用中掌握DSP片上外设的使用方法非常重要。 图5-1为TMS320C5509的CPU、总线、片上存储器以及部分片上外设的示意图。如图所示的TMS320C5509有多种片上外设,这给我们的设计和应用带来了很大的方便。,5.1 引 言,TMS320C5509的片上外设主要有:时钟产生器(振荡

2、器与锁相环PLL)、计时器(Timer)、通用的I/O口(GPIO)、多通道同步缓冲串口(McBSP)、主机接口(HIP)、直接存储器访问(DMA)控制器、外部存储器接口(EMIF)、内部集成电路(I2C)模块、多媒体卡(MMC)控制器、USB2.0接口、模拟/数字转换器(ADC)等。 本书将在本章以及后续章节介绍TMS320C5509的片上外设的使用方法。在学习的过程中,大家可以参考TI公司针对不同外设的应用手册。,图5-1 TMS320C5509的CPU、总线、片上存储器以及部分片上外设示意图,5.2.1 通用计时器简介 TMS320C5509的通用计时器由两个计数器组成,提供了20 bi

3、t的计数范围:1个4 bit的预定标计数器和1个16 bit的主计数器。图5-2所示是通用计时器的原理框图。,5.2 通 用 计 时 器,图5-2 通用计时器原理框图,该计时器有两个计数器(PSC和TIM)和两个周期寄存器(TDDR和PRD)。TDDR和PRD里面存放计时器的计时值,而计时的任务由PSC和TIM来完成。 在计数器初始化或计数器重新装入过程中,周期寄存器的内容会被复制到计数寄存器中。计时器控制器(TCR)控制和监视计时器和计时器引脚(TIN/TOUT)的工作状态。根据TCR中的FUNC bit的值,可以将计时器引脚配置成通用输出(同TCR的DATAOUT bit相连接)、计时器输

4、出、一个时钟输入或者高阻状态。,预定标计数器由输入时钟驱动,这个输入时钟可以是CPU时钟也可以是外部时钟。每个时钟周期,PSC减1。当PSC减为0时,TIM会自动减1。当TIM减为0后一个周期,计时器会向CPU发出中断请求,向DMA控制器发出一个同步事件(TEVT),同时送出一个输出信号到计时器引脚。 如果置位TCR中的自动装入位(ARB),则计时器配置成自动装入模式。在这种模式下,每当计时器计数减为0,预定标和计数器的值都会被重新装入。为了保证在自动装入模式下,计时器的输出引脚能正常工作,计时器的周期(TDDR + 1) (PRD + 1)必须大于等于4个时钟周期。,5.2.2 TMS320

5、C55X中断系统 中断指的是这样一个过程:CPU正处理某件事情(执行程序)时,外部发生了某一件事件并向CPU发信号请求去处理,CPU暂时中断当前工作,转去处理这一事件(进入中断服务程序),处理完再回来继续原来的工作。实现这种功能的部件称为中断系统,产生中断的请求源称为中断源。 中断系统使得DSP能够处理多个任务。DSP有许多中断源,可以设置中断控制寄存器来确定响应哪些中断而不理会哪些中断。DSP在对片上外设操作时很多时候都要用到中断。,C55X支持32个中断服务子程序ISR。有些ISR可以由软件或硬件触发,有些则只能由软件触发。当CPU同时接收到多个硬件中断请求时,CPU会按照预先定义的优先级

6、对它们做出响应和处理。所有的C55X中断,无论是软件还是硬件中断,都可分成可屏蔽中断、不可屏蔽中断两类。可屏蔽中断可以通过软件来加以屏蔽,不可屏蔽中断则不能被屏蔽。所有的软件中断都是不可屏蔽中断。,1中断管理寄存器 C55X的中断管理寄存器如表5-1所示。,表5-1 C55X的中断管理寄存器,1) 中断向量指针(IVPD、IVPH) 中断向量均为16 bit指向程序空间的中断向量。DSP中断向量指针(IVPD)指向256 byte的程序页,它包括了DSP中断向量IV0IV15和IV24IV31。这些向量都可以映射到只分配给DSP的存储器。 主机中断向量指针(IVPH)指向256 byte的程序

7、页,它包括了主机中断向量IV16IV23。这些向量都可以映射到DSP和主机处理器共享的存储器,因此主机处理器可以定义相关的中断服务子程序。,如果IVPD和IVPH的值相同, 则所有的中断向量会在同一个256 byte的程序页里。DSP硬件复位时,给两个IVP都装入FFFFh。两个IVP都不受软件复位指令的影响。 在修改IVPD和IVPH之前,要确认: 可屏蔽中断被全局禁止(INTM=1)。这可以防止IVP被修改成指向新向量之前,产生任何可屏蔽中断。 每个硬件非屏蔽中断,对于旧的IVPD和新的IVPD值,都有一个向量和一个中断服务子程序。如果在修改IVPD过程中,发生一个硬件非屏蔽中断,就可防止

8、提取非法指令代码。,表5-2说明不同中断向量的地址如何产生。CPU连接一个16 bit的中断向量指针和一个编码成5 bit的向量数(例如,IV1是00001,IV16是10000),再左移3 bit。,表5-2 向量与向量地址的形成,2) 中断标志寄存器(IFR0、IFR1) 两个16 bit的中断标志寄存器IFR0和IFRl包含了所有可屏蔽中断的标志位。当一个可屏蔽中断的要求到达CPU时,一个IFR的相应标志置l,它表示中断还未解决或正等待CPU的确认。图5-3所示是C55X IFR0寄存器的示意图,表5-3是IFR0各位域的功能说明,IFR1示意图在图5-4中给出,其具体各位域的功能可以参

9、考TMS320VC5509A的数据手册。 可以通过读IFR来确定未决的中断,写IFR来清零未决中断。要清零一个中断请求(且将其IFR bit清零),则写1到相应的IFR bit。例如:,;清零标志IF 14和IF 2 MOV #0100000000000100b,mmap(IFR0) 所有未决的中断,都可通过把IFR现有内容写回到IFR来清零。硬件中断请求的确认也可清零相应的IFR bit。一个器件的复位也可清零所有的IFR bit。,表5-3 IFR0寄存器各位功能,图5-3 IFR0寄存器,图5-4 IFR1寄存器,3) 中断使能寄存器(IER0、IER1) 要使能一个可屏蔽中断,将其IE

10、R0或IER1里的相应位置1。要禁止一个可屏蔽中断,则将其IER0或IER1里相应的使能位置0。复位时,所有的IER bit都清0,禁止所有的可屏蔽中断。IER0和IER1的各位所对应的中断与IFR0和IFR1相同,可以参考表5-3和图5-3、图5-4。,4) 调试中断使能寄存器(DBIER0、DBIER1) 只有当调试器工作在实时仿真模式,CPU暂停的情况下,才使用这两个16 bit的调试中断使能寄存器:DBIER0和DBIER1。如果CPU以实时模式运行,则使用标准的中断处理程序,而不用DBIER。在一个DBIER里,使能的可屏蔽中断定义为临界的时间中断。当CPU在实时模式下暂停时,只对临

11、界的时间中断提供服务,而临界的时间中断也在中断使能寄存器(IER1或IER0)里使能。,读DBIER来识别临界的时间中断。写DBIER来使能或禁止临界的时间中断。要使能一个中断,则对相应的bit置位。要禁止一个中断,则将相应的bit清0。用户可参阅C55X DSP的数据手册,了解DBIER各bit所对应的中断。 注意:DBIERl和DBIER0不受软复位指令或DSP硬件复位的影响。用户使用实时仿真模式前,要先初始化这些寄存器。,2. 中断响应过程 DSP处理中断的4个步骤如下: (1) 接收中断请求。软件或硬件都要求将当前程序队列挂起。 (2) 响应中断请求。CPU必须响应中断请求。如果是可屏

12、蔽中断,则响应必须满足某些条件;如果是不可屏蔽中断,则CPU立即响应。,(3) 准备进入中断服务子程序。CPU要执行的主要任务有: 完成当前指令的执行,并冲掉流水线上还未解码的指令。 自动将某些必要的寄存器的值保存到数据堆栈和系统堆栈。 从用户事先设置好的向量地址获取中断向量,该中断向量指向中断服务子程序。,(4) 执行中断服务子程序。CPU执行用户编写的ISR。ISR以一条中断返回指令结束,自动恢复步骤(3)中自动保存的寄存器值。 注意: 外部中断只能发生在CPU退出复位后的至少3个周期后,否则无效。 在硬件复位后,不论INTM bit的设置和寄存器IER0、IERl的值如何,所有的中断(可

13、屏蔽和不可屏蔽)都被禁止,直到通过软件写堆栈指针(SP和SSP寄存器)初始化堆栈后,才可开放中断。堆栈初始化后,INTM bit和寄存器IER0、IER1的值决定开放哪些中断。,5.2.3 计时器中断 通用计时器有一个计时器中断信号(TINT)。当主计数寄存器(TIM)减为0时,计时器会向CPU发出中断请求,计时器中断的速率为: (5-1),TINT会自动在一个中断标志寄存器(IFR0和IFR1)设置一个标志。 用户可以在中断使能寄存器(IER0和IER1)以及调试中断使能寄存器(DBIER0和DBIER1)里,使能或禁止这个中断。没有使用通用计时器时,禁止计时器中断,以免产生不希望的中断。

14、由5.2.2节我们知道计时器0中断对应IER0和IFR0的第4位。,5.2.4 计时器寄存器 对于通用计时器,DSP包含了如表5-4所列的寄存器。,表5-4 通用计时器寄存器,1. 周期和计数寄存器 周期和计数寄存器的说明如表5-5所示,其位域的分布如图5-5所示。,表5-5 周期和计数寄存器,图5-5 通用计时器里的周期和计数寄存器,对于周期和计数寄存器各位域的说明如表5-65-8所示。,表5-6 寄存器 PRSC各位域的说明,表5-7 寄存器PRD各位域的说明,表5-8 寄存器TIM各位域的说明,2. 计数器控制寄存器(TCR) 图5-6所示是计数器控制寄存器(TCR)。表5-9说明了TC

15、R的各域。通过置位TCR的各域,可以配置、启动、停止、装入/重新装入计时器。TCR中的其他bit控制相关的计时器输出引脚的功能。,图5-6 计数器控制寄存器(TCR),表5-9 TCR 的 域,续,续,续,5.2.5 计时器的操作 计时器的操作主要有2部分,一是对其寄存器进行初始化,二是设置中断向量。 计时器初始化步骤如下: (1) 确定计时器是停止的(TSS = 1),使能计时器自动装入(TLB = 1),正确的置位TCR中的其他控制bit。当TLB为1时,周期寄存器(PRD和TDDR)中的值会自动装入计数寄存器(TIM和PSC)。,(2) 通过写PRSC中的TDDR, 装入期望的预定标计数

16、周期系数(以输入时钟周期为基本单位)。 (3) 往PRD中装入主计数器系数(以输入时钟周期为基本单位)。 (4) 关闭计时器自动装入(TLB = 0),启动计时器(TSS = 0)。当计时器开始工作时,TIM会保持PRD的值,PSC会保持TDDR的值。,下面是一个计时器初始化的实例: void TIMER_init(void) / 初始化计时器 ioport unsigned int *tim0; ioport unsigned int *prd0; ioport unsigned int *tcr0; ioport unsigned int *prsc0; tim0 = (unsigned int *)0x1000; /定时器0计数寄存器地址 prd0 = (unsigned int *)0x1001; /定

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

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

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