第08章中断系统和CPU定时器的使用_第1页
第08章中断系统和CPU定时器的使用_第2页
第08章中断系统和CPU定时器的使用_第3页
第08章中断系统和CPU定时器的使用_第4页
第08章中断系统和CPU定时器的使用_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、2005.88.1 中断概述及中断源中断概述及中断源 8.2 PIE-外设中断扩展外设中断扩展8.3 可屏蔽中断处理流程可屏蔽中断处理流程8.4 中断向量中断向量8.5 复用中断处理的注意事项复用中断处理的注意事项8.6 定时器中断应用实例定时器中断应用实例2005.8中断(Interrupt)是由硬件或者软件所驱动的事件。它使得CPU暂停当前的主程序,转而去执行一个中断服务程序。2005.8C28x 中断源中断源u2个不可屏蔽中断个不可屏蔽中断l/RSlNMIu14个可屏蔽中断个可屏蔽中断 (INT1 INT14)每个中断源都分别对应一个中断向每个中断源都分别对应一个中断向量,中断向量其实是

2、量,中断向量其实是32位的中断位的中断入口地址,应用程序可以利用这入口地址,应用程序可以利用这些入口地址跳转到相应的中断服些入口地址跳转到相应的中断服务程序。务程序。2005.8C28X DSP 的中断源的中断源2005.8PIEPIE2812内部具有很多外设,每个外设又可以产生一个或者多个内部具有很多外设,每个外设又可以产生一个或者多个中断请求,对于中断请求,对于2812的的CPU而言,它没有足够的能力去同时而言,它没有足够的能力去同时处理所有外设的中断请求。处理所有外设的中断请求。2812的的CPU为了能够及时有效的为了能够及时有效的处理好各个外设的中断请求,特别设计了一个专门处理外设中处

3、理好各个外设的中断请求,特别设计了一个专门处理外设中断的扩展模块(断的扩展模块(the Peripheral Interrupt Expansion block),叫做外设中断控制器),叫做外设中断控制器PIE,它能够对各种中断请求源(例,它能够对各种中断请求源(例如来自于外设或者其他外部引脚的请求)做出判断以及相应的如来自于外设或者其他外部引脚的请求)做出判断以及相应的决策。决策。 8.2 Peripheral Interrupt Expansion - PIE2005.8PIE可以支持可以支持96个不同的中断,这些中断分成了个不同的中断,这些中断分成了12个组,每个个组,每个组有组有8个中

4、断,而且每个组都被反馈到个中断,而且每个组都被反馈到CPU内核的内核的12条中断线条中断线中的某一条上(中的某一条上(INT1-INT12),我们平时用到的所有的外设),我们平时用到的所有的外设中断都被归入了这中断都被归入了这96个中断中,被分布在不同的组里,这里其个中断中,被分布在不同的组里,这里其实也是用到了多路复用的原理。值得一提的是,实也是用到了多路复用的原理。值得一提的是,PIE目前只使目前只使用了用了96个终端中的个终端中的45个,其他的等待将来的功能扩展。个,其他的等待将来的功能扩展。 8.2 Peripheral Interrupt Expansion - PIE2005.88

5、.2 Peripheral Interrupt Expansion - PIE101(TINT1 / XINT13)(TINT2)2005.8PIE 寄存器寄存器reservedreservedreserved#include “DSP28_Device.h” PieCtrlRegs.PIEIFR1.bit.INTx4 = 1; /manually set IFR for XINT1 in PIE group 1 PieCtrlRegs.PIEIER3.bit.INTx5 = 1; /enable CAPINT1 in PIE group 3 PieCtrlRegs.PIEACK.all =

6、0 x0004; /acknowledge the PIE group 3 PieCtrlRegs.PIECTRL.bit.ENPIE = 1; /enable the PIE2005.82812的PIE内部的中断分布图,8列12行,总共有96个中断,黄色部分表示已经使用的中断2005.8三种中断级别:三种中断级别:外设级中断、外设级中断、PIEPIE级中断、级中断、CPUCPU级中断级中断2005.8三种中断级别:三种中断级别:外设级中断外设级中断、PIEPIE级中断、级中断、CPUCPU级中断级中断外设产生中断时,中断标志寄存器(外设产生中断时,中断标志寄存器(IFRIFR)相)相应位置应

7、位置1 1 若外设的中断使能寄存器(若外设的中断使能寄存器(IERIER)相应位也置位)相应位也置位则向则向PIEPIE发请求发请求 若没有被使能,标志位保持不变,除非若没有被使能,标志位保持不变,除非软件软件清除清除 若中断产生后才被使能,且标志位未清除,仍会若中断产生后才被使能,且标志位未清除,仍会向向PIEPIE发中断请求发中断请求2005.8PIEPIE级中断级中断当外设产生中断事件,相关中断标志位置位,中断使能位使当外设产生中断事件,相关中断标志位置位,中断使能位使能之后,外设就会把中断请求提交给我们的能之后,外设就会把中断请求提交给我们的PIE模块。模块。在前面我们已经讲到,在前面

8、我们已经讲到,PIE模块将模块将96个外设和外部引脚的中个外设和外部引脚的中断进行了分组,每断进行了分组,每8个中断为个中断为1组,一共是组,一共是12组,分别是组,分别是PIE1-PIE12。每个组的中断被多路汇集进入。每个组的中断被多路汇集进入1个个CPU中断,中断,例如例如PDPINDA,PDPINDB,XINT1,XINT2,ADCINT,TINT0,WAKEINT这这7个中断都在个中断都在PIE1组内,这些中断都汇集到组内,这些中断都汇集到CPU中断的中断的INT1;同样的,;同样的,PIE2的中断都被汇集到的中断都被汇集到CPU中断的中断的INT2,INT12组的中断都被汇集到了组

9、的中断都被汇集到了CPU中端的中端的INT12。 2005.8PIEPIE级级中断中断响应响应流程流程2005.8PIEPIE级中断级中断在在PIE级需要我们手动的地方有:级需要我们手动的地方有: u PIE中断的使能。需要使能某个外设中断,就得将其相应中断的使能。需要使能某个外设中断,就得将其相应组的使能寄存器组的使能寄存器PIEIERx的相应位进行置位;的相应位进行置位; u PIE中断的屏蔽。这是和使能相反的操作;中断的屏蔽。这是和使能相反的操作; u PIE应答寄存器应答寄存器PIEACK相关位的清除,以使得相关位的清除,以使得CPU能够能够响应同组的其他中断。响应同组的其他中断。 2

10、005.8PIEPIE级中断级中断PIE级中断和外设级中断的比较级中断和外设级中断的比较l 外设中断的中断标志位是需要手工清除的,而外设中断的中断标志位是需要手工清除的,而PIE级的中级的中断标志位都是自动置位或者清除的。断标志位都是自动置位或者清除的。l 但是但是PIE多了一个多了一个PIEACK寄存器,相当于一个通行的关寄存器,相当于一个通行的关卡,同一时间只能放一个中断过去,只有等到这个中断被响卡,同一时间只能放一个中断过去,只有等到这个中断被响应,给关卡一个放行命令之后,才能让同组的下一个中断过应,给关卡一个放行命令之后,才能让同组的下一个中断过去,被去,被CPU响应。响应。 2005

11、.8CPUCPU级中断级中断向向CPUCPU申请中断,申请中断,CPUCPU级级IFRIFR置置1 1响应中断的条件:响应中断的条件:IER/DBGIERIER/DBGIERINTMINTM相应位被使能相应位被使能 标准模式下,不使用标准模式下,不使用DBGIERDBGIER 实时调试且实时调试且CPUCPU被停止时,使用被停止时,使用DBGIERDBGIERu 此时此时INTMINTM不起作用不起作用2005.88.3 可屏蔽中断处理过程可屏蔽中断处理过程2005.8中断标志寄存器中断标志寄存器 (IFR)2005.8中断使能寄存器中断使能寄存器 (IER)2005.8中断全局使能中断全局使

12、能uINTM用来做全局的使能/禁止中断:l使能:INTM = 0l禁止:INTM = 1 (reset value)uINTM只能被汇编语言修改:2005.8中断响应过程中断响应过程2005.88.4 中断向量中断向量一个或多个中断源对应一个中断向量,中断向一个或多个中断源对应一个中断向量,中断向量量放在放在RAMRAM中的中断向量表中的中断向量表两种可行的方案:两种可行的方案:A A 每组(每组(8 8个)共用一个中断向量(软件分离)个)共用一个中断向量(软件分离)B B 每个每个PIEPIE级中断用一个中断向量级中断用一个中断向量1 1 中断向量的分配中断向量的分配2005.88.4 中断

13、向量中断向量1 1 中断向量的分配中断向量的分配 获取中断向量、保存寄存器需获取中断向量、保存寄存器需9 9个时钟周期个时钟周期 复用中断模式复用中断模式,如何分离多个中断源的中断?,如何分离多个中断源的中断? 软件分离的方法影响速度,如何解决?软件分离的方法影响速度,如何解决?u 外设中断扩展模块外设中断扩展模块2005.88.4 中断向量中断向量2 2 中断向量表的重映射中断向量表的重映射PIEPIE:将中断向量表大小扩展,使得将中断向量表大小扩展,使得9696个可能产生的个可能产生的中断都有各自独立的中断都有各自独立的3232位入口地址位入口地址 须重新定位中断向量表到须重新定位中断向量

14、表到0 x00 0D000 x00 0D00地址地址 使用前必须初始化,以使用使用前必须初始化,以使用PIEPIE中断向量表中断向量表WMAP=1WMAP=1(复位时为(复位时为1 1) ENPIE=1ENPIE=1(复位时为(复位时为0 0) 2005.88.4 中断向量中断向量2005.8TMS320F2812 内存映射内存映射reservedreservedreservedreservedreservedreservedreservedXINT Zone 0 (8K)XINT Zone 1 (8K)XINT Zone 2 (0.5M)XINT Zone 6 (0.5M)XINT Zone

15、 7 (16K)MP/MC=1XINT Vector-RAM (32)MP/MC=1 ENPIE=0reservedreservedreservedreserved2005.8复位时默认中断向量表复位时默认中断向量表2005.8PIE Vector Mapping (ENPIE = 1)CPU vectors are remapped to 0 x00 0D00 in Data spacePIE vector space - 0 x00 0D00 256 Word memory in Data space RESET and INT1-INT12 vector locations are Re

16、-mapped2005.8F2812/10 PIE Interrupt Assignment Table2005.8Device Vector Mapping - Summary2005.88.5 复用中断处理的注意事项(略)复用中断处理的注意事项(略)(见教科书上的(见教科书上的8.4节节 中断源中断源 部分)部分)2005.88.6 定时器中断应用举例2005.8定时器中断应用举例2005.8定时器中断应用举例2005.81. 1. 定时器控制寄存器(定时器控制寄存器(TCRTCR)2005.82. 2. 定时器预定标寄存器(定时器预定标寄存器(TPRTPR)2005.83. 3. 定时器

17、计数器(定时器计数器(TPRTPR)2005.84. 4. 定时器周期寄存器(定时器周期寄存器(PRDPRD)2005.8本章小结 F2812的中断源及类型的中断源及类型 F2812中断源的扩展原理中断源的扩展原理 F2812中断向量的分配和映射方式中断向量的分配和映射方式 简述简述F2812可屏蔽中断的处理过程可屏蔽中断的处理过程 定时器的工作原理及中断应用定时器的工作原理及中断应用2005.8C28x CPU的中断源分类的中断源分类At the CPU level, each of the C28x interrupts, whether hardware or software, can

18、 be placed in one of the following two categories:u Maskable interrupts.These are interrupts that can be blocked (masked) or enabled (unmasked) through software.u Nonmaskable interrupts. These interrupts cannot be blocked. The C28x will immediately approve this type of interrupt and branch to the co

19、rresponding subroutine. All software-initiated interrupts are in this category.2005.8The C28x handles interrupts in four main phases:uReceive the interrupt request. Suspension of the current program sequence must be requested by a software interrupt (from program code) or a hardware interrupt (from a pin or an on-chip device).1)Approve the interrupt. The C28x must

温馨提示

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

评论

0/150

提交评论