第四章中断管理和复位_第1页
第四章中断管理和复位_第2页
第四章中断管理和复位_第3页
第四章中断管理和复位_第4页
第四章中断管理和复位_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、1一、中断矢量一、中断矢量 二、可屏蔽中断二、可屏蔽中断三、非屏蔽中断三、非屏蔽中断四、片内外设的中断扩展四、片内外设的中断扩展中断申请中断申请: 由软件或硬件驱动的信号,可暂停目前执行由软件或硬件驱动的信号,可暂停目前执行的主程序,转而去执行一个中断服务子程序的主程序,转而去执行一个中断服务子程序中断分类(屏蔽方式):中断分类(屏蔽方式): 可屏蔽中断:可用软件加以屏蔽或解除屏蔽。可屏蔽中断:可用软件加以屏蔽或解除屏蔽。 非屏蔽中断:这些中断不能够被屏蔽。非屏蔽中断:这些中断不能够被屏蔽。C28x将立即响应将立即响应该种中断并转入相应的子程序去执行。所有用软件调用的中该种中断并转入相应的子程

2、序去执行。所有用软件调用的中断都属于该类中断。断都属于该类中断。中断分类(触发方式):中断分类(触发方式): 软件触发软件触发:通过在软件中写指令,例如:通过在软件中写指令,例如INTR、OR IFR或或者者TRAP指令。指令。 硬件触发:来自于片内外设,或者外围设备的中断信号,硬件触发:来自于片内外设,或者外围设备的中断信号,表示某个事件已经发生。表示某个事件已经发生。处理中断过程:处理中断过程:1接收中断请求:接收中断请求:由软件中断由软件中断(从程序代码中从程序代码中)或者硬件中断或者硬件中断(从一个引从一个引脚或一个基于芯片的设备脚或一个基于芯片的设备)提出请求去暂停当前主程序的执行。

3、提出请求去暂停当前主程序的执行。2响应中断:响应中断:C28x必须能够响应中断请求。如果中断是可屏蔽的,则必必须能够响应中断请求。如果中断是可屏蔽的,则必须满足一定的条件,按照一定的顺序去进行测试。而对于非屏蔽硬件中断和软件须满足一定的条件,按照一定的顺序去进行测试。而对于非屏蔽硬件中断和软件中断,中断,C28x会立即作出响应。会立即作出响应。3准备执行中断服务程序并保存寄存器值。准备执行中断服务程序并保存寄存器值。(1)完整地执行完当前指令,清除流水线中还没有到达第二阶段的所有指令。完整地执行完当前指令,清除流水线中还没有到达第二阶段的所有指令。(2)将寄存器将寄存器ST0、T、AH、AL、

4、PH、PL、AR0、ARl、DP、STl、DBGSTAT、PC和和IER的内容保存到堆栈中,以便自动保存主程序的大部分内容。的内容保存到堆栈中,以便自动保存主程序的大部分内容。(3)取回中断向量并把它放入程序寄存器取回中断向量并把它放入程序寄存器PC中。中。4执行中断服务子程序:执行中断服务子程序:C28x进入预先规定的向量地址,并且执行进入预先规定的向量地址,并且执行已写好的中断服务程序已写好的中断服务程序ISR。处理中断过程:处理中断过程: C28x支持支持32个中断,包括复位中断。每一向量占用个中断,包括复位中断。每一向量占用32位的空间,该地址是相应中断服务程序位的空间,该地址是相应中

5、断服务程序ISR的入口地址。的入口地址。每一个每一个32位的向量被保存在一个连续地址中。位的向量被保存在一个连续地址中。 一、一、中断矢量中断矢量 向量表可以映像到程序空间的底部或顶部,这取决于状态向量表可以映像到程序空间的底部或顶部,这取决于状态寄存器寄存器STl的向量映像位的向量映像位VMAP,如果,如果VMAP位是位是0,向量就,向量就映像在以映像在以000000h开始的地址上;如果其值是开始的地址上;如果其值是1,向量就映像,向量就映像到以到以3FFFC0h开始的地址上。开始的地址上。 VMAP位可以由位可以由SETC VMAP指令进行置位,由指令进行置位,由CLR CVMAP指令进行

6、复位。指令进行复位。VMAP的复位值是的复位值是1。一、一、中断矢量中断矢量 一、一、中断矢量中断矢量 一、一、中断矢量中断矢量 14个通用中断个通用中断INTlINTl4 为仿真而设计的中断为仿真而设计的中断DLOGINT(数据标志中断数据标志中断)和和TOSINT(实实 时操作系统中断时操作系统中断) 中断寄存器:中断寄存器: 中断标志寄存器中断标志寄存器IFRl6位寄存器位寄存器IFR包含的标志位表明相应中断在包含的标志位表明相应中断在等待等待CPU的确认。外部输入线的确认。外部输入线INTlINTl4在在CPU的每的每个时钟周期都被采样。如个时钟周期都被采样。如果识别出果识别出个中断信

7、号,个中断信号,IFR相应的位就被置位和锁存。相应的位就被置位和锁存。DLOGINT或或RTOSINT,CPU片内分析逻辑送来的信号使得相应标志位被设置和锁存。片内分析逻辑送来的信号使得相应标志位被设置和锁存。 中断使能寄存器中断使能寄存器IER包含的每一位为可屏蔽中断进行使能和关闭。包含的每一位为可屏蔽中断进行使能和关闭。 调试中断使能寄存器调试中断使能寄存器DBGIER包含的每一位为可屏蔽中断进行包含的每一位为可屏蔽中断进行使能和关闭。表明了当使能和关闭。表明了当CPU处于实时仿真模式时哪一个中断可以利用。处于实时仿真模式时哪一个中断可以利用。 二、二、可屏蔽中断可屏蔽中断 可屏蔽中断也利

8、用状态寄存器可屏蔽中断也利用状态寄存器STl的的0位,即中断全局屏蔽位位,即中断全局屏蔽位INTM,可用来进行全局使能中断和关闭中断。,可用来进行全局使能中断和关闭中断。 当当INTM0时,这些中断全局使能;时,这些中断全局使能; 当当INTM1时,这些中断全局关闭。时,这些中断全局关闭。二、二、可屏蔽中断可屏蔽中断 中断标志寄存器中断标志寄存器(IFR) 二、二、可屏蔽中断可屏蔽中断 若要使能中断,需要把它的相应位置若要使能中断,需要把它的相应位置1;若要关闭中断,应该清除它的相应位。若要关闭中断,应该清除它的相应位。中断使能寄存器中断使能寄存器(IER) 二、二、可屏蔽中断可屏蔽中断 中断

9、使能寄存器中断使能寄存器IER 可屏蔽中断响应过程可屏蔽中断响应过程 二、二、可屏蔽中断可屏蔽中断 可屏蔽中断的标准操作可屏蔽中断的标准操作二、二、可屏蔽中断可屏蔽中断 1送往送往CPU的中断请求。的中断请求。2设置相应的设置相应的IFR标志位。标志位。3当当 1)IER中的相应位是中的相应位是1;2)STl中的中的INTM位是位是0,确认中断;,确认中断;一旦一个中断被一旦一个中断被 使能并且被使能并且被CPU确认,则其他的中断就不能得到响应直到确认,则其他的中断就不能得到响应直到CPU开始执行中断服开始执行中断服 务程序,即中断响应的步骤务程序,即中断响应的步骤13。4清除相应的清除相应的

10、IFR位。位。5清空流水线。清空流水线。6增加和临时存储增加和临时存储PC。7取回中断向量。取回中断向量。8SP增增1。9执行自动上下文存储。执行自动上下文存储。10清除相应的清除相应的IER位。位。11设置设置INTM和和DBGM,清除,清除LOOP、EALLOW和和IDLESTAT。12取回向量赋值给取回向量赋值给PC。13执行中断服务程序。执行中断服务程序。14继续执行程序。继续执行程序。 中断处理的标准过程中断处理的标准过程三、三、非屏蔽中断非屏蔽中断 C28x非屏蔽中断包括:非屏蔽中断包括: 软中断软中断INTR和和TRAP指令指令 硬件中断硬件中断NMI 非法指令陷阱非法指令陷阱

11、硬件复位中断硬件复位中断RS PIE:外设中断扩展模块(外设中断扩展模块(the Peripheral Interrupt Expansion block)把许)把许多中断源多路复用成一个较小的中断输入集。多中断源多路复用成一个较小的中断输入集。 功能:功能:PIE模块支持模块支持96个不同的中断,这些中断分成个不同的中断,这些中断分成12个组,每个组有个组,每个组有8个个中断,每个组都被反馈到中断,每个组都被反馈到CPU内核的内核的12条中断线条中断线(1NTlINTl2)的一条上。这的一条上。这96个中断中的每一个都得到了各自向量的支持,这些向量被保存在专用个中断中的每一个都得到了各自向量

12、的支持,这些向量被保存在专用RAM块中块中并可以进行修改。并可以进行修改。 在在PIE块中可对每个中断分别使能或者使之无效。块中可对每个中断分别使能或者使之无效。 四、片内外设的中断扩展四、片内外设的中断扩展四、片内外设的中断扩展四、片内外设的中断扩展四、片内外设的中断扩展四、片内外设的中断扩展四、片内外设的中断扩展四、片内外设的中断扩展2812三级中断系统三级中断系统 四、片内外设的中断扩展四、片内外设的中断扩展 外设级:外设级:一个中断产生事件出现在某个外设中,和该事件相关的中断一个中断产生事件出现在某个外设中,和该事件相关的中断标志标志(IF)位会在这个特别外设的寄存器中被置为位会在这个

13、特别外设的寄存器中被置为1。如果相应的中断使能。如果相应的中断使能(IE)位位已经置位,则外设向已经置位,则外设向PIE控制器产生一个中断请求。如果该中断在外设级使能控制器产生一个中断请求。如果该中断在外设级使能无效,则相应的无效,则相应的IF位会一直保持直到用软件清除它为止。如果在以后使能该中位会一直保持直到用软件清除它为止。如果在以后使能该中断,且中断标志仍然置位,那么就会向断,且中断标志仍然置位,那么就会向PIE发出一个中断请求。外设寄存器中发出一个中断请求。外设寄存器中的中断标志必须手工清除。的中断标志必须手工清除。 PIE级:级:PIE块汇集了块汇集了8个外设和外部引脚的中断进入个外

14、设和外部引脚的中断进入1个个CPU中断。这些中中断。这些中断被划分为断被划分为12个组:个组:PIE组组1PIE组组12,1个组中的中断被多路汇集进入个组中的中断被多路汇集进入1个个CPU中中断。例如,断。例如,PIE组组1被多路汇集进入被多路汇集进入CPU中断中断INTl,而,而PIE组组12被多路汇集进入被多路汇集进入CPU中断中断INTl2。与。与CPU剩余的中断相连接的中断源不是多路复用的。对于非多路复用剩余的中断相连接的中断源不是多路复用的。对于非多路复用的中断而言,的中断而言,PIE直接向直接向CPU传送中断请求。对于多路复用的中断源,传送中断请求。对于多路复用的中断源,PIE块中

15、的块中的每个中断组都有一个相关标志位每个中断组都有一个相关标志位PIEIFRx.y和使能位和使能位PIEIERx.y。另外,每个中断。另外,每个中断组组(1NT1INTl2)都有一个应答位都有一个应答位PIEACKx。2812三级中断系统三级中断系统 CPU级:级:一旦某个中断请求被送往一旦某个中断请求被送往CPU,CPU级中与级中与INTx相关的中断标相关的中断标志志(IFR)位就被置位。该标志位被锁存在位就被置位。该标志位被锁存在IFR后,后,CPU不会马上就去执行相应的中不会马上就去执行相应的中断,而是等待断,而是等待CPU使能使能IER寄存器,或者使能寄存器,或者使能DBGIER寄存器,并对全局中断屏寄存器,并对全局中断屏蔽位蔽位INTM进行适当的使能。进行适当的使能。 四、片内外设的中断扩展四、片内外设的中断扩展2812三级中断系统三级中断系统 四

温馨提示

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

评论

0/150

提交评论