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

下载本文档

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

文档简介

1、DSP原理与应用技术原理与应用技术主要内容主要内容4.1 中断向量和优先级中断向量和优先级 4.2 可屏蔽中断可屏蔽中断4.3 不可屏蔽中断不可屏蔽中断4.4 非法指令陷阱非法指令陷阱4.5 复位操作复位操作4.6 低功耗模式低功耗模式4.7 片内外设的中断扩展片内外设的中断扩展中断的基本概念中断的基本概念o中断的基本概念中断的基本概念o1. 中断申请中断申请o中断请求信号由软件或硬件驱动的信号,可暂中断请求信号由软件或硬件驱动的信号,可暂停目前执行的主程序,转而去执行一个中断服停目前执行的主程序,转而去执行一个中断服务子程序。务子程序。o通常中断请求由外设和硬件产生,以便通常中断请求由外设和

2、硬件产生,以便CPU实实现数据的传送或接收。现数据的传送或接收。(ADC,DAC等设备等设备)o中断也可以作为特殊事件发生的标志信号中断也可以作为特殊事件发生的标志信号o2.中断分类:中断分类:o可屏蔽中断:可屏蔽中断:可用软件加以屏蔽或使能。是由可用软件加以屏蔽或使能。是由外设产生的中断外设产生的中断o非屏蔽中断:非屏蔽中断:这些中断不能够被屏蔽。所有软这些中断不能够被屏蔽。所有软件触发的中断都属于该类中断件触发的中断都属于该类中断nCPU将立即响应该种中断并转入相应的子将立即响应该种中断并转入相应的子程序去执行。程序去执行。中断的基本概念中断的基本概念o3.中断向量及中断向量表中断向量及中

3、断向量表o(1)中断向量)中断向量:中断服务程序的入口地址中断服务程序的入口地址o(2)中断向量号:)中断向量号:中断向量按一定顺序中断向量按一定顺序0,1, 2, n,编排的序号称为中断向量号编排的序号称为中断向量号o(3)中断向量表:)中断向量表:按中断向量号的顺序把中断按中断向量号的顺序把中断向量仿真一块连续的存储器空间,这块存储器向量仿真一块连续的存储器空间,这块存储器空间称为中断向量表空间称为中断向量表o(4)中断向量地址:)中断向量地址:中断向量所存放的存储器中断向量所存放的存储器单元的地址称为中断向量地址单元的地址称为中断向量地址中断的基本概念中断的基本概念o4. 中断的处理过程

4、:中断的处理过程:o(1)接收中断请求:)接收中断请求:由软件中断由软件中断(从程序代码从程序代码中中)或者硬件中断或者硬件中断(从一个引脚或一个基于芯片从一个引脚或一个基于芯片的设备的设备)提出请求去暂停当前主程序的执行。提出请求去暂停当前主程序的执行。o(2)响应中断:)响应中断:如果中断是可屏蔽的,如果中断是可屏蔽的, CPU则必须满足一定的条件,按照一定的顺序去进则必须满足一定的条件,按照一定的顺序去进行测试。而对于非屏蔽硬件中断和软件中断,行测试。而对于非屏蔽硬件中断和软件中断,CPU会立即作出响应。会立即作出响应。中断的基本概念中断的基本概念o(3)准备执行中断服务程序并保存寄存器

5、值。)准备执行中断服务程序并保存寄存器值。n 完整地执行完当前指令,清除流水线中还完整地执行完当前指令,清除流水线中还没有到达第二阶段的所有指令。没有到达第二阶段的所有指令。n 将寄存器将寄存器ST0、T、AH、AL、PH、PL、AR0、ARl、DP、STl、DBGSTAT、PC和和IER寄存器的内容保存到堆栈中,以便自动寄存器的内容保存到堆栈中,以便自动保存主程序的大部分内容(现场保护)。保存主程序的大部分内容(现场保护)。n 取回中断向量并把它放入程序寄存器取回中断向量并把它放入程序寄存器PC中。中。中断的基本概念中断的基本概念o(4)执行中断服务子程序:)执行中断服务子程序:oCPU进入

6、预先规定的中断向量地址,并且执行进入预先规定的中断向量地址,并且执行已写好的中断服务程序。已写好的中断服务程序。中断的基本概念中断的基本概念o4.1 中断向量和优先级中断向量和优先级oC28x系列芯片支持系列芯片支持32个个中断向量,包括复位向中断向量,包括复位向量。每个中断向量占量。每个中断向量占2个存储器单元,共个存储器单元,共64个存个存储单元。储单元。o每个中断向量是一个每个中断向量是一个22位的地址,该地址是相位的地址,该地址是相应中断服务程序应中断服务程序ISR的入口地址。的入口地址。o每个向量被保存在两个地址连续的存储器单元每个向量被保存在两个地址连续的存储器单元中,每个存储器单

7、元为中,每个存储器单元为16位,两个共位,两个共32位。位。4.1 中断向量和优先级中断向量和优先级o低地址单元保存中断向量的低地址单元保存中断向量的低低16位位,高地址单,高地址单元则保存它的高元则保存它的高6位位。o当一个中断被确定后,其当一个中断被确定后,其22位的向量被取回,位的向量被取回,而地址的高而地址的高10位被忽略。位被忽略。4.1 中断向量和优先级中断向量和优先级中断向量的高中断向量的高6位位中断向量的低中断向量的低16位位高高10被忽略被忽略D15 D0D5 D0D15 D6高地址单元高地址单元低地址单元低地址单元22位中断向量位中断向量4.1 中断向量和优先级中断向量和优

8、先级o向量表可以映像到程序空间的底部或顶部,这向量表可以映像到程序空间的底部或顶部,这取决于状态寄存器取决于状态寄存器STl的向量映像位的向量映像位VMAP,o如果如果VMAP=0,向量就映像在以,向量就映像在以 000000H开始开始的地址上,的地址上,0000H0040H;o如果如果VMAP=1,向量就映像到以,向量就映像到以3FFFC0h开始开始的地址上的地址上,3F FFC0H3F FFFFH;。oVMAP位可以由位可以由SETC VMAP指令进行置指令进行置1,由,由CLRC VMAP指令清指令清0。VMAP的复位值是的复位值是1。向量向量硬件优先级硬件优先级说明说明高高低低最高最高

9、通通用用中中断断复位复位可屏蔽中断可屏蔽中断1向量向量硬件优先级硬件优先级说明说明最低最低可屏蔽数据日志中断可屏蔽数据日志中断可屏蔽实时操作系统中断可屏蔽实时操作系统中断非屏蔽中断非屏蔽中断非法指令陷阱非法指令陷阱用户定义软件中断用户定义软件中断4.2 可屏蔽中断可屏蔽中断oINTlINTl4 14个通用中断个通用中断o DLOGINT(数据标志中断数据标志中断)和和TOSINT(实实时操作系统中断时操作系统中断)是是为仿真而设计的中断。为仿真而设计的中断。o三个中断寄存器:三个中断寄存器:o 1. 中断标志寄存器中断标志寄存器IFRl6位寄存器位寄存器IFR包包含的标志位,表明相应中断在等待

10、含的标志位,表明相应中断在等待CPU的确认。的确认。o外部输入线外部输入线INTlINTl4在在CPU的每一个时钟的每一个时钟周期都被采样。如果识别出一个中断信号,周期都被采样。如果识别出一个中断信号,IFR相应的位就被置位和锁存。相应的位就被置位和锁存。o对于对于DLOGINT或或RTOSINT,CPU片内分析逻片内分析逻辑送来的信号使得相应标志位被设置和锁存。辑送来的信号使得相应标志位被设置和锁存。4.2 可屏蔽中断可屏蔽中断o2.中断使能寄存器中断使能寄存器IER包含的每一位对可屏包含的每一位对可屏蔽中断进行使能和关闭。要使能蔽中断进行使能和关闭。要使能IER的某一个的某一个中断,可以将

11、中断,可以将TER中的相应位置中的相应位置1.o 3. 调试中断使能寄存器调试中断使能寄存器DBGIER包含的每包含的每一位对可屏蔽中断进行使能和关闭。要使能一位对可屏蔽中断进行使能和关闭。要使能IER的某一个中断,可以将的某一个中断,可以将TER中的相应位置中的相应位置1.oDBGIER表明了当表明了当CPU处于实时仿真模式时哪处于实时仿真模式时哪一个中断可以利用。一个中断可以利用。 4.2 可屏蔽中断可屏蔽中断o可屏蔽中断也利用状态寄存器可屏蔽中断也利用状态寄存器STl的的D0位(位(P40),),即中断全局屏蔽位即中断全局屏蔽位INTM,进行全局使能中断和关,进行全局使能中断和关闭中断。

12、闭中断。 o 当当INTM0时,这些中断全局使能;时,这些中断全局使能;o 当当INTM1时,这些中断全局关闭。时,这些中断全局关闭。o可以利用可以利用SETC INTM和和CLRC INTM指令对指令对INTM进行置进行置1和清和清0.4.2 可屏蔽中断可屏蔽中断o当一个中断标志被锁存在当一个中断标志被锁存在IFR中,直到中,直到IER、DBGIER和和INTM位被使能,否则相应的中断将位被使能,否则相应的中断将不再响应。不再响应。o使能可屏蔽中断的条件如下:使能可屏蔽中断的条件如下:中断处理过程中断处理过程使能可屏蔽中断的条件使能可屏蔽中断的条件标准标准INTM=0, IER中的相应位是中

13、的相应位是1DSP工作在实时仿真模式工作在实时仿真模式且且CPU停止停止IER和和DBGIER中的相应位是中的相应位是14.2 可屏蔽中断可屏蔽中断o4.2.1 中断标志寄存器中断标志寄存器o IFR(Interrupt Flag Register)o若一个可屏蔽中断等待若一个可屏蔽中断等待CPU响应,则响应,则IFR的相的相应位自动置应位自动置1,否则,否则IFR的相应位是的相应位是0.中断标志寄存器中断标志寄存器 (IFR)4.2 可屏蔽中断可屏蔽中断o为了识别未确认中断,可以利用指令为了识别未确认中断,可以利用指令PUSH IFR,然后测试堆栈的值。,然后测试堆栈的值。o 运用运用OR

14、IFR指令来设置指令来设置IFR各位为各位为1。o 利用指令利用指令AND IFR可以对所有的未决中断进可以对所有的未决中断进行清行清0。4.2 可屏蔽中断可屏蔽中断o4.2.2. 中断使能寄存器中断使能寄存器IER(Interrup Enable Register)o若要使能中断,需要把它的相应位置若要使能中断,需要把它的相应位置1;o若要关闭中断,应该清除它的相应位。若要关闭中断,应该清除它的相应位。o可以使用指令可以使用指令MOV的两种语法对寄存器的两种语法对寄存器IER进行读和写。进行读和写。o OR IER指令可以用来设置指令可以用来设置IER各位为各位为1,o AND IER指令可

15、以用来清除指令可以用来清除IER位,使之为位,使之为 0。o注意:注意:当执行当执行AND IER和和OR IER指令时,应确保指令时,应确保它们不会修改状态位它们不会修改状态位D15(RTOSINT),除非当前处,除非当前处于实时操作系统模式。于实时操作系统模式。 4.2 可屏蔽中断可屏蔽中断中断使能寄存器中断使能寄存器 (IER)4.2 可屏蔽中断可屏蔽中断o调试中断使能寄存器调试中断使能寄存器DEBIER(Debug Interrup Enable Register)o当当CPU处于实时仿真模式下并暂停时,才可以使用处于实时仿真模式下并暂停时,才可以使用DBGIER。o可通过读可通过读D

16、BGIER来识别使能或关闭中断,或通来识别使能或关闭中断,或通过写过写DBGIER来使能或关闭中断。来使能或关闭中断。o用指令用指令PUSH DBGIER对对DBGIER进行读操作,进行读操作,o用指令用指令POP DBGIET对对DBGIER进行写操作。进行写操作。o在复位时,在复位时,DBGIER的所有位被清的所有位被清0。全局中断使能全局中断使能oINTM用来做全局的使能用来做全局的使能/禁止中断禁止中断:n使能使能: INTM = 0n禁止禁止: INTM = 1 (reset value)oINTM只能被汇编语言修改只能被汇编语言修改:可屏蔽中断处理过程可屏蔽中断处理过程4.2.3

17、可屏蔽中断的标准操作可屏蔽中断的标准操作o1. 向向CPU发出中断请求。发出中断请求。o2设置相应的设置相应的IFR标志位。标志位。o3当当 IER中的相应位是中的相应位是1;STl中的中的INTM位是位是0,确认,确认中断;中断;一旦一个中断被使能并且被一旦一个中断被使能并且被CPU确认,则其他确认,则其他的中断就不能得到响应直到的中断就不能得到响应直到CPU开始执行中断服务程开始执行中断服务程序,即中断响应的步骤序,即中断响应的步骤13。o4清除相应的清除相应的IFR位。位。o5清空流水线。清空流水线。4.2 可屏蔽中断可屏蔽中断o6增加和临时存储增加和临时存储PC。o7取回中断向量。取回

18、中断向量。o8SP增增1。o9执行自动上下文存储。执行自动上下文存储。o10清除相应的清除相应的IER位。位。o11设置设置INTM和和DBGM,清除,清除LOOP、 EALLOW和和IDLESTAT。o12取回向量赋值给取回向量赋值给PC。o13执行中断服务程序。执行中断服务程序。o14继续执行程序继续执行程序。 向向CPU发出中断请求发出中断请求设置相应的设置相应的IFR标志位标志位IER的中断使能否的中断使能否?通过通过INTM使能否使能否?清除相应的清除相应的IFR标志位标志位清空流水线清空流水线增加并暂存增加并暂存PC值值取中断向量取中断向量SP值增加值增加1自动保护现场自动保护现场

19、清除相应的清除相应的IER位位置位置位INTM和和DBGM,清除,清除LOOP/EALLOW和和IDLESTAT用取回的向量值装入用取回的向量值装入PC执行中断服务程序执行中断服务程序返回主程序返回主程序该过程受到中断保护该过程受到中断保护4.3 非屏蔽中断非屏蔽中断 o非屏蔽中断不能被任何使能位禁止。非屏蔽中断不能被任何使能位禁止。o当有非屏蔽中断请求时,当有非屏蔽中断请求时,CPU必须立即响应,必须立即响应,并执行相应的中断服务程序。并执行相应的中断服务程序。o例外,当例外,当CPU处于实时仿真模式且被暂停时,处于实时仿真模式且被暂停时,不响应任何正常中断。不响应任何正常中断。o非屏蔽中断

20、包括:非屏蔽中断包括:o(1)软中断:)软中断:INTR和和TRAP指令指令o(2)硬件中断:)硬件中断:o(3) 非法指令陷阱非法指令陷阱o(4)硬件复位中断)硬件复位中断NMIRS4.3 非屏蔽中断非屏蔽中断 4.3.1 INTR指令指令o可以通过可以通过INTR指令对中断指令对中断INTlINTl4、DLOGINT、RTOSINT和和NMI进行初始化。进行初始化。o1. INTlINTl4、DLOGINT和和RTOSINT。o这些可屏蔽中断在这些可屏蔽中断在IFR中有相应的标志位,当中有相应的标志位,当外部引脚接收到一个中断请求时,相应的外部引脚接收到一个中断请求时,相应的IFR位置位置

21、1,则这个中断必须使能。,则这个中断必须使能。o当这些中断之一由当这些中断之一由INTR指令使能时,相应的指令使能时,相应的IFR位并不会被置位并不会被置1,而中断仍将被响应和服务,而中断仍将被响应和服务,并且与任何使能位的值无关。并且与任何使能位的值无关。o2. NMI是一个非屏蔽中断,引脚上的硬件是一个非屏蔽中断,引脚上的硬件请求和用请求和用INTR指令引起的软件请求都会导致同指令引起的软件请求都会导致同样的事件发生。样的事件发生。o这些事件与执行这些事件与执行TRAP指令时所发生的事件相指令时所发生的事件相同。同。4.3.1 INTR指令指令4.3.2 TRAP指令指令oTRAP指令可初

22、始化任何中断,包括用户定义指令可初始化任何中断,包括用户定义的软件中断。的软件中断。oTRAP指令可以操作指令可以操作32个个CPU级中断中的任何级中断中的任何一个。一个。o例如:可以利用例如:可以利用TRAP #1指令执行指令执行INT1的中断的中断服务程序。服务程序。oTRAP指令不受指令不受IFR和和IER中各位的影响,也不中各位的影响,也不影响它们中的任何位。影响它们中的任何位。TRAP指令对中断进行初始化的流程图指令对中断进行初始化的流程图取回取回TRAP指令指令清空流水线清空流水线PC增增1并暂存并暂存PC值值取回中断向量取回中断向量SP增增1自动现场保护自动现场保护设置设置INT

23、M和和DBGM,清除,清除LOOP、EALLOW和和IDLESTAT用取回的向量装载用取回的向量装载PC执行中断服务程序执行中断服务程序返回主程序返回主程序该过程受到中断保护该过程受到中断保护4.3.3 非屏蔽硬件中断非屏蔽硬件中断o通过通过NMI引脚输入可以进行不可屏蔽硬件中断引脚输入可以进行不可屏蔽硬件中断请求,低电平有效。请求,低电平有效。oCPU一旦在一旦在NMI引脚上检测到一个有效请求,引脚上检测到一个有效请求,就将按就将按TRAP指令中所示的方式来处理。指令中所示的方式来处理。o需要说明的是:尽管需要说明的是:尽管NMI不可以被屏蔽,但有不可以被屏蔽,但有一些调试执行状态是一些调试

24、执行状态是NMI所不能服务的。所不能服务的。4.4非法指令陷阱非法指令陷阱o以下以下3中情况中的任一种都会造成非法指令陷阱。中情况中的任一种都会造成非法指令陷阱。o(1)无效的指令被译码无效的指令被译码o(2)操作码操作码0000h被译码,对应于指令被译码,对应于指令ITRAP0o(3)操作码操作码FFFFh被译码,对应于指令被译码,对应于指令ITRAP1o非法指令陷阱不能被禁止,即使在仿真过程中非法指令陷阱不能被禁止,即使在仿真过程中也不能。一旦被使能,则非法指令陷阱的中断也不能。一旦被使能,则非法指令陷阱的中断操作就像操作就像TRAP指令一样。指令一样。4.5 硬件复位中断硬件复位中断RS

25、o复位(复位(RS=0)是优先级最高的中断,为非屏蔽)是优先级最高的中断,为非屏蔽外部中断外部中断o复位通常在电源打开之后被启动复位通常在电源打开之后被启动o每次复位之后必须重新初始化系统每次复位之后必须重新初始化系统o作为硬件复位的一部分,所有当前操作均被放作为硬件复位的一部分,所有当前操作均被放弃,流水线被清除弃,流水线被清除o复位后复位后CPU的寄存器按表的寄存器按表4-5-1所示进行复位,所示进行复位,然后然后RESET中断向量被取回,从而执行相应的中断向量被取回,从而执行相应的中断服务程序。中断服务程序。DP指向数据页指向数据页0没有未响应的中断,所没有未响应的中断,所有中断在复位时

26、均被清有中断在复位时均被清0在在IER寄存器中可屏蔽中寄存器中可屏蔽中断被关闭断被关闭在在DBGIER寄存器中可寄存器中可屏蔽中断被关闭屏蔽中断被关闭PC指针由地址指针由地址00 0000H或或3F FFC0H的复位中断的复位中断向量赋值向量赋值SP指针指向地址指针指向地址0400H禁止符号位扩展禁止符号位扩展关闭溢出模式关闭溢出模式乘积移位模式被设置为左乘积移位模式被设置为左移移1位位4.6 低功耗模式低功耗模式o低功耗模式可使芯片核心部分进入休眠状态,低功耗模式可使芯片核心部分进入休眠状态,耗散更少的功率。有三种模式:耗散更少的功率。有三种模式:o1. IDLE模式:模式:o任何被使能的中

27、断或任何被使能的中断或NMI中断都可以使处理器中断都可以使处理器退出退出IDLE模式。在这种模式下,如果低功耗模模式。在这种模式下,如果低功耗模块控制寄存器块控制寄存器LPMCRD1:D0位都设置成零,位都设置成零,LPM(Low-Power modes)模块将不完成任何)模块将不完成任何工作。工作。o2. HALT模式:模式:只有复位信号只有复位信号XRS和和XNMI_XINT13外部信号能够唤醒器件,使其外部信号能够唤醒器件,使其退出退出HALT模式。在模式。在XMNICR寄存器中,寄存器中,CPU有一位使能有一位使能/禁止禁止XNMI 。o3. STANDBY模式:模式:如果在如果在LP

28、MCR1寄存器中寄存器中被选中,所有信号被选中,所有信号(包括包括XNMI)都能够将处理器都能够将处理器从从STANDBY模式唤醒,用户必须选择具体哪模式唤醒,用户必须选择具体哪个信号唤醒处理器。在唤醒处理器之前,要通个信号唤醒处理器。在唤醒处理器之前,要通过过OSCCLK确认被选定的信号:确认被选定的信号:OSCCLK的周的周期数在期数在LPMCR0寄存器当中确定。寄存器当中确定。4.6 低功耗模式低功耗模式o低功耗模式寄存器低功耗模式寄存器o低功耗模式通过低功耗模式通过LPMCR0和和LPMCR1两个寄存两个寄存器来控制器来控制低功耗方式控制低功耗方式控制0寄存器寄存器LPMCR0 保留保

29、留 D15 D1 D0QUAL STDBYLPM R-0 R/W-1 R/W-04.6 低功耗模式低功耗模式确定从低功耗模式唤醒到正常工确定从低功耗模式唤醒到正常工作模式的时钟周期个数作模式的时钟周期个数00000:2个个OSCCLKS00001:3个个OSCCLKS11111: 65个个OSCCLKS设置低功耗模式设置低功耗模式00:IDLE模式模式01:STANDBY模式模式1x:HALT模式模式CANRX D15 D14 D13 D12 D11 D10 D9 D8SCIRXA C6TRIPC5TRIPC4TRIPC3TRIPC2TRIPSCIRXBC1TRIP D7 D6 D5 D4 D

30、3 D2 D1 D0T3CTRIPT2CTRIPT1CTRIPWDINT XNMI XINT1T4CTRIP低功耗方式控制低功耗方式控制1寄存器寄存器LPMCR14.6 低功耗模式低功耗模式如果相应的控制位设置为如果相应的控制位设置为1,则使能对应的信号,将器,则使能对应的信号,将器件从低功耗模式唤醒,进入正常工作模式;件从低功耗模式唤醒,进入正常工作模式;如果设置为如果设置为0,则相应的信号没有影响。,则相应的信号没有影响。4.7 外设中断扩展模块外设中断扩展模块PIE( Peripheral Interrupt Expansion block )o外设中断扩展模块外设中断扩展模块PIE把许

31、多中断源多路复用把许多中断源多路复用成一个较小的中断输入集,使成一个较小的中断输入集,使F2812能够管理能够管理更多的中断。更多的中断。o功能:功能:PIE模块支持模块支持96个不同的中断,这些中个不同的中断,这些中断分成断分成12个组,每个组有个组,每个组有8个中断,每个组都被个中断,每个组都被反馈到反馈到CPU内核的内核的12条中断线条中断线(1NTlINTl2)的的一条上。一条上。o这这96个中断中的每一个都得到了各自向量的支个中断中的每一个都得到了各自向量的支持,这些向量被保存在专用持,这些向量被保存在专用RAM块中并可以进块中并可以进行修改。行修改。在在PIE模块中可对每个中断分别

32、使能模块中可对每个中断分别使能或者使之无效。或者使之无效。 4.7.1 PIE控制器概述控制器概述oCPU支持支持17个个CPU级硬件中断,包括级硬件中断,包括1个个NMI和和16(INT1INT14,PTOSINT, DLOGINT)个)个可屏蔽中断请求。可屏蔽中断请求。oF2812有许多个外设,每个外设都可以产生一有许多个外设,每个外设都可以产生一个或多个外设级中断请求。在个或多个外设级中断请求。在CPU没有足够能没有足够能力去处理所有外设的中断请求,所以需要一个力去处理所有外设的中断请求,所以需要一个集中的外设集中的外设中断控制器中断控制器PIE,来对各种中断源,来对各种中断源的请求进行

33、管理和仲裁。的请求进行管理和仲裁。o所有多路复用所有多路复用(MUXed)中断和非多路复用中断和非多路复用(nonMUXed)中断中的每个中断都有一个向量。中断中的每个中断都有一个向量。非多路复用中断源由非多路复用中断源由CPU直接提供。直接提供。oPIE向量向量(vector)表用来存储系统的各个中断服表用来存储系统的各个中断服务子程序务子程序ISR的地址。的地址。o在器件配置期间,用户要使用向量表并在操作在器件配置期间,用户要使用向量表并在操作期间去修改它。期间去修改它。4.7.1 PIE控制器概述控制器概述o1.外设级中断:外设级中断:o某个外设产生中断时,与该事件相关的中断标某个外设产

34、生中断时,与该事件相关的中断标志志(IF)位会在这个外设的寄存器中置为位会在这个外设的寄存器中置为1。如果。如果相应的中断使能相应的中断使能(IE)位已经置位,则外设向位已经置位,则外设向PIE控制器产生一个中断请求。控制器产生一个中断请求。o如果该中断在外设级使能无效,则相应的如果该中断在外设级使能无效,则相应的IF位位会一直保持直到用软件清除它为止。如果在以会一直保持直到用软件清除它为止。如果在以后使能该中断,且中断标志仍然置位,那么就后使能该中断,且中断标志仍然置位,那么就会向会向PIE发出一个中断请求。发出一个中断请求。o外设寄存器中的中断标志必须采用软件清除。外设寄存器中的中断标志必

35、须采用软件清除。4.7.1 PIE控制器概述控制器概述o2. PIE级中断:级中断:oPIE块复用了块复用了8个外设和外部引脚的中断进入个外设和外部引脚的中断进入1个个CPU中断。中断。o这些中断被划分为这些中断被划分为12个组:个组:PIE组组1PIE组组12,1个组中的中断被多路复用进入个组中的中断被多路复用进入1个个CPU中断。中断。o例如,例如,PIE组组1被多路复用进入被多路复用进入CPU中断中断INTl,而而PIE组组12被多路复用进入被多路复用进入CPU中断中断INTl2。4.7.1 PIE控制器概述控制器概述o与与CPU剩余的中断相连接的中断源不是多路复剩余的中断相连接的中断源

36、不是多路复用的用的o对于非多路复用的中断而言,对于非多路复用的中断而言,PIE直接向直接向CPU传送中断请求。传送中断请求。o对于多路复用的中断源,对于多路复用的中断源,PIE块中的每个中断块中的每个中断组都有一个相关标志位组都有一个相关标志位PIEIFRx.y和使能位和使能位PIEIERx.y。o另外,每个中断组另外,每个中断组(1NT1INTl2)都有一个应都有一个应答位答位PIEACKx。4.7.1 PIE控制器概述控制器概述o3. CPU级中断:级中断:o一旦某个中断请求被送往一旦某个中断请求被送往CPU,CPU级中与级中与INTx相关的中断标志相关的中断标志(IFR)位就被置位。位就

37、被置位。o该标志位被锁存在该标志位被锁存在IFR后,后,CPU不会马上就去不会马上就去执行相应的中断,而是等待执行相应的中断,而是等待CPU使能使能IER寄存寄存器,或者使能器,或者使能DBGIER寄存器,并对全局中断寄存器,并对全局中断屏蔽位屏蔽位INTM进行适当的使能。进行适当的使能。4.7.1 PIE控制器概述控制器概述来自外设来自外设或外部中断或外部中断INT2.4=1INT2.4=1INT2使用使用PIE控制器的复用中断控制器的复用中断IFR寄存器寄存器INT2=0IER寄存器寄存器INT2=1ST1寄存器寄存器INTM=0CPU级中断级中断PIE级中断级中断XINT1XINT2XI

38、NT13外设级中断外设级中断开始开始PIEIFRX.Y=1?PIEIERX.Y=1?IERX.=1?PIEACKX.=0?硬件置位硬件置位PIEACKX=1中断请求发送到中断请求发送到CPU的的INTxIFRX位置位置1INTMX.=1?CPU响应响应IFRx=0,IERx=0INTM=1,EALLOW=0完成中断现场保护完成中断现场保护从从PIE获取中断向量获取中断向量执行中断程序执行中断程序结束结束4.7.2 向量表映射向量表映射o在在C28x芯片上,中断向量表可以映射到存储器芯片上,中断向量表可以映射到存储器的五个不同存储器空间。实际上,的五个不同存储器空间。实际上,F2812芯片芯片只

39、使用了只使用了PIE向量表映像。向量表映像。o向量映像由下述方式位向量映像由下述方式位/信号控制。信号控制。o1VMAP:该位是状态寄存器该位是状态寄存器STl(P40)的)的D3位。芯片复位将把该位置位。芯片复位将把该位置1。通过写。通过写STl或执或执行行SETCCLRC VMAP指令可以修改该位的指令可以修改该位的状态。对于正常的状态。对于正常的F2812操作,可把该位设置操作,可把该位设置为为1。o2M0MlMAP:该位是状态寄存器该位是状态寄存器ST1的的D11位。芯片复位将把该位置位。芯片复位将把该位置1。通过写。通过写STl或执行或执行SETC/CLRC M0MlMAP指令可以修

40、改该位的指令可以修改该位的状态。状态。o对于正常的对于正常的F2812操作,该位应该保持为操作,该位应该保持为1。M0MlMAP=0保留,仅用于保留,仅用于TI测试。测试。4.7.2 向量表映射向量表映射o3MP/MC:该位是该位是XINTCNF2寄存器(寄存器(P70)的的D8位。在有外部接口位。在有外部接口(XINTF)的芯片上,复的芯片上,复位时,该位的默认值由位时,该位的默认值由XMP/MC输入信号设置。输入信号设置。在没有在没有XINTF的芯片上,在内部将的芯片上,在内部将XMP/MC拉拉为低电平。为低电平。o复位后,通过写复位后,通过写XINTCNF2寄存器寄存器(地址:地址:0

41、x0000 0B34),可以修改该位状态。,可以修改该位状态。4.7.2 向量表映射向量表映射o4ENPIE:该位是寄存器该位是寄存器PIECTRL(P115)的的D0位。复位时该位的默认值设为位。复位时该位的默认值设为0(PIE无效无效)。复位后,通过写复位后,通过写PIECTRL寄存器寄存器(地址:地址:0 x0000 0CE0),可以修改该位状态。,可以修改该位状态。 4.7.2 向量表映射向量表映射4.7.2 向量表映射向量表映射中断向量表映射中断向量表映射向量映射向量映射取向量值取向量值地址范围地址范围oM1和和M0向量表映像仅留作向量表映像仅留作TI测试之用,当使测试之用,当使用其

42、他向量映像时,用其他向量映像时,M0和和M1存储器用作存储器用作RAM块,可以自由使用,没有限制。块,可以自由使用,没有限制。o芯片复位后,向量表映像如下表所示芯片复位后,向量表映像如下表所示。向量映射向量映射取向量值取向量值地址范围地址范围4.7.2 向量表映射向量表映射o在复位和程序引导完成之后,应该由用户对在复位和程序引导完成之后,应该由用户对PIE向量表进行代码初始化,然后,由应用程向量表进行代码初始化,然后,由应用程序使能序使能PIE向量表,从向量表,从PIE向量表所指出的位置向量表所指出的位置上取回中断向量。上取回中断向量。4.7.2 向量表映射向量表映射4.7.3 中断源中断源o

43、发出中断请求的模块或片内外设,称作中断源。发出中断请求的模块或片内外设,称作中断源。oF2812三级中断包括:三级中断包括:oF2812可以提供可以提供96个个PIE级中断级中断n41个片内外设模块中断个片内外设模块中断n2个外部中断个外部中断XINT1和和XINT2n1个看门狗和低功耗模式复用的中断个看门狗和低功耗模式复用的中断WAKEINTn1个用于个用于CPU定时器定时器0的中断的中断TINT0n51个没有定义的中断个没有定义的中断n2个个CPU中断中断INT13和和INT14n1个非屏蔽中断个非屏蔽中断NMI4.7.3 中断源中断源C28X 中断源中断源PIE向量表向量表oPIE模块相

44、连的外设及外部中断组如下表模块相连的外设及外部中断组如下表(P114)。)。o表中的每一行表示表中的每一行表示8个中断复用为一个特定的个中断复用为一个特定的CPU中断中断F2812/10 PIE Interrupt Assignment TablePIE向量表向量表oPIE向量表由向量表由25616位的位的SARAM快组成。快组成。oCPU对对INT1INT12的优先级进行定位。的优先级进行定位。oINT1的优先级最高,的优先级最高,INT12的优先级最低的优先级最低oPIE每组中每组中INTx.1的优先级最高,的优先级最高, INTx.8的优的优先级最低。先级最低。oPIE向量表见向量表见P

45、110.4.7.4 PIE配置和控制寄存器配置和控制寄存器名称名称地址地址占用空间占用空间描述描述PIECTRL0 x0000 0CE01PIE控制寄存器控制寄存器PIEACK0 x0000 0CE11PIE应答寄存器应答寄存器PIEIERxX=1,2,120 x0000 0CE2 0CF8(偶数偶数)1PIE,INTx组使能寄存器组使能寄存器PIEIFRx0 x0000 0CE3 0CF9(奇数奇数)1PIE,INTx组标志寄存器组标志寄存器保留保留x0000 0CFAx0000 0CFF6保留保留o1. PIE控制寄存器(控制寄存器(PIECTRL)指示从指示从PIE向量表中取出的中断向量

46、地址。向量表中取出的中断向量地址。当当PIECTRL=0 x0D27(去掉最低位)(去掉最低位),则来自则来自地址地址0 x0D26的中断向量被取出。的中断向量被取出。当当ENPIE=1,向量取自向量取自PIE向量表。向量表。当当ENPIE=0,向量取自向量取自Boot ROM的的CPU向量向量表或表或XINTF Zone74.7.4 PIE配置和控制寄存器配置和控制寄存器o2. PIE中断应答寄存器中断应答寄存器PIEACK ( )reservedD11-D0位对应位对应INT12-INT1如果某组中断里有一个中断未被处理,则向相应的中断位如果某组中断里有一个中断未被处理,则向相应的中断位写

47、写1读取该寄存器的值,可以显示各读取该寄存器的值,可以显示各PIE组中是否有未被处理的中断组中是否有未被处理的中断4.7.4 PIE配置和控制寄存器配置和控制寄存器o3. PIE中断标志寄存器中断标志寄存器PIEIFRx ( )oPIE中有中有12个中断标志寄存器,分别对应个中断标志寄存器,分别对应INT1INT12.reservedINTx8 INTx1=1,相应的中断被激活,相应的中断被激活当某个中断被响应后,当某个中断被响应后, INTx8 INTx1=04.7.4 PIE配置和控制寄存器配置和控制寄存器o4.PIE中断使能寄存器中断使能寄存器PIEIERx( )oPIE中有中有12个中

48、断使能寄存器,分别对应个中断使能寄存器,分别对应INT1INT12.reservedINTx8 INTx1=1,使能相应的中断,使能相应的中断INTx8 INTx1=0,禁止相应的中断,禁止相应的中断4.7.4 PIE配置和控制寄存器配置和控制寄存器4.7.5 外部中断控制寄存器组外部中断控制寄存器组oF2812支持支持3个外部可屏蔽中断个外部可屏蔽中断XINT1、 XINT2、 XINT13oXINT13和不可屏蔽中断和不可屏蔽中断XNMI复用。复用。o外部中断可以选择外部中断可以选择下降沿下降沿或或上升沿上升沿触发,还可以触发,还可以使能或禁止(包括使能或禁止(包括XNMI)。)。o可屏蔽

49、中断包含一个可屏蔽中断包含一个16位自由运行的递增计数器,位自由运行的递增计数器,当一个有效的中断边沿被检查到时,计数器被清当一个有效的中断边沿被检查到时,计数器被清0.o计数器的作用是给中断提供一个精确的时间标记计数器的作用是给中断提供一个精确的时间标记oExternal Interrupt RegistersXINT1控制寄存器控制寄存器XINT2控制寄存器控制寄存器XINT1计数寄存器计数寄存器XINT2计数寄存器计数寄存器XNMI控制寄存器控制寄存器XNMI计数寄存器计数寄存器4.7.5 外部中断控制寄存器组外部中断控制寄存器组o1. 外部中断外部中断1/2控制寄存器控制寄存器(XIN

50、T1CR/XINT1CR2)ReservedPolarityReservedEnableD15 . D3 D2 D1 D0 R-0 R/W-0 R/W-0 R/W-00 0 禁止中断禁止中断1 1 使能中断使能中断 0 0 下降沿触发下降沿触发1 1 上升沿触发上升沿触发 保留保留 保留保留 4.7.5 外部中断控制寄存器组外部中断控制寄存器组o2. 外部外部NMI中断控制器中断控制器XNMICRReservedPolaritySelectEnableD15 . D3 D2 D1 D0 R-0 R/W-0 R/W-0 R/W-00 0 禁止禁止NMINMI中断中断1 1 使能使能NMINMI中

51、断中断 0 Timer1 连接到连接到INT131 XNMI连接到连接到INT130 0 下降沿触发下降沿触发1 1 上升沿触发上升沿触发 保留保留 4.7.5 外部中断控制寄存器组外部中断控制寄存器组o3. 外部外部NMI中断计数寄存器中断计数寄存器XNMICTRoXNMICTR是是16位自由运行递增计数器,以系位自由运行递增计数器,以系统统SYSCLKOUT为计数脉冲。为计数脉冲。o当检测到有效的触发脉冲时,计数器复位为当检测到有效的触发脉冲时,计数器复位为0 x0000,开始计数,直到检测到下一个有效的,开始计数,直到检测到下一个有效的触发脉冲停止计数。触发脉冲停止计数。o当计数值达到最

52、大时,自动返回到当计数值达到最大时,自动返回到0.4.7.5 外部中断控制寄存器组外部中断控制寄存器组o4.外部中断外部中断1、2计数寄存器计数寄存器oXINT1CTR、 XINT1CTR与外部与外部NMI中断计数中断计数寄存器寄存器XNMICTR的功能基本相同。的功能基本相同。4.7.5 外部中断控制寄存器组外部中断控制寄存器组中断请求的流程(中断请求的流程(P109)o从外设到从外设到CPU的多通道中断请求流程的多通道中断请求流程 o 如果如果任何任何PIE组里的外设和外部中断产生一组里的外设和外部中断产生一个中断,假如外设中断已被使能,那么,该中个中断,假如外设中断已被使能,那么,该中断

53、的请求就被置入断的请求就被置入PIE模块。模块。o PIE模块识别模块识别PIE组组x内已经录入的中断内已经录入的中断y(INTx.y),并且将相应的,并且将相应的PIE中断标志位锁存:中断标志位锁存:PIEIFRx.y=1。o 为了使能从为了使能从PIE到到CPU的中断要求,下列两的中断要求,下列两个条件必须为真。个条件必须为真。n(1)相应的中断使能位必须置位相应的中断使能位必须置位(PIEIERx.y=1)。n(2)必须清除该组的必须清除该组的PIEACKx位。位。中断请求的流程(中断请求的流程(P109)o 如果步骤如果步骤3中的两个条件为真,那么就在中的两个条件为真,那么就在CPU建

54、立了一个中断请求,响应位再次被置位建立了一个中断请求,响应位再次被置位(PIEACKx=1)。PIEACKx位将一直保持置位直位将一直保持置位直至清除该位,这表示来自该组的附加中断能够至清除该位,这表示来自该组的附加中断能够被从被从PIE设置到设置到CPU。o CPU中断标志位置位中断标志位置位(CPU IFRx=1)以标示出以标示出一个一个CPU级的未决的中断级的未决的中断x。中断请求的流程(中断请求的流程(P109)o 假如假如CPU中断被使能中断被使能(CPU IER bitx=1或或DBGIER bitx=1),全局中断屏蔽被清除,全局中断屏蔽被清除(1NTM=0),那么,那么CPU将

55、为将为INTx服务。服务。o CPU识别这个中断并自动存放有关信息,清识别这个中断并自动存放有关信息,清除除IER位,设置位,设置INTM,清除,清除EALLOW。 中断请求的流程(中断请求的流程(P109)o CPU从从PIE向量表中获得相应的中断向量。向量表中获得相应的中断向量。o 对于复用的对于复用的PIE中断,中断,PIE模块使用模块使用PIEIERx和和PIEIFRx寄存器中的当前值去找出要使用的寄存器中的当前值去找出要使用的向量地址。有两种可能的情况:向量地址。有两种可能的情况:中断请求的流程(中断请求的流程(P109)o(1)该组中最高优先级中断的向量被取出,并)该组中最高优先级中断的向量被取出,并且被用作分支地址。这个中断在且被用作分支地址。这个中断在PIEIERx寄存寄存器中使能,在器中使能,在PIEIFRx中标示为未决的中断。中标示为未决的中断。在这种方式下,假如一个更高级的使能中断在在这种方式下,假如一个更高级的使能中断在步骤步骤4之后被标示,它就会首先得到服务。之后被标示,它就会首先得到服务。中断请求的流程(中断请求的流程(P109)o(2)如果该组中没有已经标示

温馨提示

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

评论

0/150

提交评论