第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 中断的基本概念中断的基本概念 o 1. 中断申请中断申请 o 中断请求信号由软件或硬件驱动的信号,可暂中断请求信号由软件或硬件驱动的信号,可暂 停目前执行的主程序,转而去执行一个中断服停目前执行的主程序,转而去执行一个中断服 务子程序。务子程序。 o 通常中断请求由外设

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

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

4、称为中断向量地址单元的地址称为中断向量地址 中断的基本概念中断的基本概念 o 4. 中断的处理过程:中断的处理过程: o (1)接收中断请求:)接收中断请求:由软件中断由软件中断(从程序代码从程序代码 中中)或者硬件中断或者硬件中断(从一个引脚或一个基于芯片从一个引脚或一个基于芯片 的设备的设备)提出请求去暂停当前主程序的执行。提出请求去暂停当前主程序的执行。 o (2)响应中断:)响应中断:如果中断是可屏蔽的,如果中断是可屏蔽的, CPU 则必须满足一定的条件,按照一定的顺序去进则必须满足一定的条件,按照一定的顺序去进 行测试。而对于非屏蔽硬件中断和软件中断,行测试。而对于非屏蔽硬件中断和软

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

6、器取回中断向量并把它放入程序寄存器PC 中。中。 中断的基本概念中断的基本概念 o (4)执行中断服务子程序:)执行中断服务子程序: o CPU进入预先规定的中断向量地址,并且执行进入预先规定的中断向量地址,并且执行 已写好的中断服务程序。已写好的中断服务程序。 中断的基本概念中断的基本概念 o 4.1 中断向量和优先级中断向量和优先级 o C28x系列芯片支持系列芯片支持32个个中断向量,包括复位向中断向量,包括复位向 量。每个中断向量占量。每个中断向量占2个存储器单元,共个存储器单元,共64个存个存 储单元。储单元。 o 每个中断向量是一个每个中断向量是一个22位的地址,该地址是相位的地址

7、,该地址是相 应中断服务程序应中断服务程序ISR的入口地址。的入口地址。 o 每个向量被保存在两个地址连续的存储器单元每个向量被保存在两个地址连续的存储器单元 中,每个存储器单元为中,每个存储器单元为16位,两个共位,两个共32位。位。 4.1 中断向量和优先级中断向量和优先级 o 低地址单元保存中断向量的低地址单元保存中断向量的低低16位位,高地址单,高地址单 元则保存它的高元则保存它的高6位位。 o 当一个中断被确定后,其当一个中断被确定后,其22位的向量被取回,位的向量被取回, 而地址的高而地址的高10位被忽略。位被忽略。 4.1 中断向量和优先级中断向量和优先级 中断向量的高中断向量的

8、高6位位中断向量的低中断向量的低16位位高高10被忽略被忽略 D15 D0D5 D0D15 D6 高地址单元高地址单元低地址单元低地址单元 22位中断向量位中断向量 4.1 中断向量和优先级中断向量和优先级 o 向量表可以映像到程序空间的底部或顶部,这向量表可以映像到程序空间的底部或顶部,这 取决于状态寄存器取决于状态寄存器STl的向量映像位的向量映像位VMAP, o 如果如果VMAP=0,向量就映像在以,向量就映像在以 000000H开始开始 的地址上,的地址上,0000H0040H; o 如果如果VMAP=1,向量就映像到以,向量就映像到以3FFFC0h开始开始 的地址上的地址上,3F F

9、FC0H3F FFFFH;。 o VMAP位可以由位可以由SETC VMAP指令进行置指令进行置1,由,由 CLRC VMAP指令清指令清0。VMAP的复位值是的复位值是1。 向量向量硬件优先级硬件优先级说明说明 高高 低低 最高最高 通通 用用 中中 断断 复位复位 可屏蔽中断可屏蔽中断1 向量向量硬件优先级硬件优先级 说明说明 最低最低 可屏蔽数据日志中断可屏蔽数据日志中断 可屏蔽实时操作系统中断可屏蔽实时操作系统中断 非屏蔽中断非屏蔽中断 非法指令陷阱非法指令陷阱 用户定义软件中断用户定义软件中断 4.2 可屏蔽中断可屏蔽中断 o INTlINTl4 14个通用中断个通用中断 o DLO

10、GINT(数据标志中断数据标志中断)和和TOSINT(实实 时操作系统中断时操作系统中断)是是为仿真而设计的中断。为仿真而设计的中断。 o 三个中断寄存器:三个中断寄存器: o 1. 中断标志寄存器中断标志寄存器IFRl6位寄存器位寄存器IFR包包 含的标志位,表明相应中断在等待含的标志位,表明相应中断在等待CPU的确认。的确认。 o 外部输入线外部输入线INTlINTl4在在CPU的每一个时钟的每一个时钟 周期都被采样。如果识别出一个中断信号,周期都被采样。如果识别出一个中断信号, IFR相应的位就被置位和锁存。相应的位就被置位和锁存。 o 对于对于DLOGINT或或RTOSINT,CPU片

11、内分析逻片内分析逻 辑送来的信号使得相应标志位被设置和锁存。辑送来的信号使得相应标志位被设置和锁存。 4.2 可屏蔽中断可屏蔽中断 o 2.中断使能寄存器中断使能寄存器IER包含的每一位对可屏包含的每一位对可屏 蔽中断进行使能和关闭。要使能蔽中断进行使能和关闭。要使能IER的某一个的某一个 中断,可以将中断,可以将TER中的相应位置中的相应位置1. o 3. 调试中断使能寄存器调试中断使能寄存器DBGIER包含的每包含的每 一位对可屏蔽中断进行使能和关闭。要使能一位对可屏蔽中断进行使能和关闭。要使能 IER的某一个中断,可以将的某一个中断,可以将TER中的相应位置中的相应位置1. o DBGI

12、ER表明了当表明了当CPU处于实时仿真模式时哪处于实时仿真模式时哪 一个中断可以利用。一个中断可以利用。 4.2 可屏蔽中断可屏蔽中断 o 可屏蔽中断也利用状态寄存器可屏蔽中断也利用状态寄存器STl的的D0位(位(P40),), 即中断全局屏蔽位即中断全局屏蔽位INTM,进行全局使能中断和关,进行全局使能中断和关 闭中断。闭中断。 o 当当INTM0时,这些中断全局使能;时,这些中断全局使能; o 当当INTM1时,这些中断全局关闭。时,这些中断全局关闭。 o 可以利用可以利用SETC INTM和和CLRC INTM指令对指令对INTM 进行置进行置1和清和清0. 4.2 可屏蔽中断可屏蔽中断

13、 o 当一个中断标志被锁存在当一个中断标志被锁存在IFR中,直到中,直到IER、 DBGIER和和INTM位被使能,否则相应的中断将位被使能,否则相应的中断将 不再响应。不再响应。 o 使能可屏蔽中断的条件如下:使能可屏蔽中断的条件如下: 中断处理过程中断处理过程使能可屏蔽中断的条件使能可屏蔽中断的条件 标准标准INTM=0, IER中的相应位是中的相应位是1 DSP工作在实时仿真模式工作在实时仿真模式 且且CPU停止停止 IER和和DBGIER中的相应位是中的相应位是1 4.2 可屏蔽中断可屏蔽中断 o 4.2.1 中断标志寄存器中断标志寄存器 o IFR(Interrupt Flag Re

14、gister) o 若一个可屏蔽中断等待若一个可屏蔽中断等待CPU响应,则响应,则IFR的相的相 应位自动置应位自动置1,否则,否则IFR的相应位是的相应位是0. 中断标志寄存器中断标志寄存器 (IFR) 4.2 可屏蔽中断可屏蔽中断 o 为了识别未确认中断,可以利用指令为了识别未确认中断,可以利用指令PUSH IFR,然后测试堆栈的值。,然后测试堆栈的值。 o 运用运用OR IFR指令来设置指令来设置IFR各位为各位为1。 o 利用指令利用指令AND IFR可以对所有的未决中断进可以对所有的未决中断进 行清行清0。 4.2 可屏蔽中断可屏蔽中断 o 4.2.2. 中断使能寄存器中断使能寄存器

15、IER(Interrup Enable Register) o 若要使能中断,需要把它的相应位置若要使能中断,需要把它的相应位置1; o 若要关闭中断,应该清除它的相应位。若要关闭中断,应该清除它的相应位。 o 可以使用指令可以使用指令MOV的两种语法对寄存器的两种语法对寄存器IER 进行读和写。进行读和写。 o OR IER指令可以用来设置指令可以用来设置IER各位为各位为1, o AND IER指令可以用来清除指令可以用来清除IER位,使之为位,使之为 0。 o 注意:注意:当执行当执行AND IER和和OR IER指令时,应确保指令时,应确保 它们不会修改状态位它们不会修改状态位D15(

16、RTOSINT),除非当前处,除非当前处 于实时操作系统模式。于实时操作系统模式。 4.2 可屏蔽中断可屏蔽中断 中断使能寄存器中断使能寄存器 (IER) 4.2 可屏蔽中断可屏蔽中断 o 调试中断使能寄存器调试中断使能寄存器DEBIER(Debug Interrup Enable Register) o 当当CPU处于实时仿真模式下并暂停时,才可以使用处于实时仿真模式下并暂停时,才可以使用 DBGIER。 o 可通过读可通过读DBGIER来识别使能或关闭中断,或通来识别使能或关闭中断,或通 过写过写DBGIER来使能或关闭中断。来使能或关闭中断。 o 用指令用指令PUSH DBGIER对对D

17、BGIER进行读操作,进行读操作, o 用指令用指令POP DBGIET对对DBGIER进行写操作。进行写操作。 o 在复位时,在复位时,DBGIER的所有位被清的所有位被清0。 全局中断使能全局中断使能 o INTM用来做全局的使能用来做全局的使能/禁止中断禁止中断: n 使能使能: INTM = 0 n 禁止禁止: INTM = 1 (reset value) o INTM只能被汇编语言修改只能被汇编语言修改: 可屏蔽中断处理过程可屏蔽中断处理过程 4.2.3 可屏蔽中断的标准操作可屏蔽中断的标准操作 o 1. 向向CPU发出中断请求。发出中断请求。 o 2设置相应的设置相应的IFR标志位

18、。标志位。 o 3当当 IER中的相应位是中的相应位是1;STl中的中的INTM位是位是0,确认,确认 中断;中断;一旦一个中断被使能并且被一旦一个中断被使能并且被CPU确认,则其他确认,则其他 的中断就不能得到响应直到的中断就不能得到响应直到CPU开始执行中断服务程开始执行中断服务程 序,即中断响应的步骤序,即中断响应的步骤13。 o 4清除相应的清除相应的IFR位。位。 o 5清空流水线。清空流水线。 4.2 可屏蔽中断可屏蔽中断 o 6增加和临时存储增加和临时存储PC。 o 7取回中断向量。取回中断向量。 o 8SP增增1。 o 9执行自动上下文存储。执行自动上下文存储。 o 10清除相

19、应的清除相应的IER位。位。 o 11设置设置INTM和和DBGM,清除,清除LOOP、 EALLOW和和IDLESTAT。 o 12取回向量赋值给取回向量赋值给PC。 o 13执行中断服务程序。执行中断服务程序。 o 14继续执行程序继续执行程序。 向向CPU发出中断请求发出中断请求 设置相应的设置相应的IFR标志位标志位 IER的中断使能否的中断使能否? 通过通过INTM使能否使能否? 清除相应的清除相应的IFR标志位标志位 清空流水线清空流水线 增加并暂存增加并暂存PC值值 取中断向量取中断向量 SP值增加值增加1 自动保护现场自动保护现场 清除相应的清除相应的IER位位 置位置位INT

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

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

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

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

24、存PC值值 取回中断向量取回中断向量 SP增增1 自动现场保护自动现场保护 设置设置INTM和和DBGM,清除,清除 LOOP、EALLOW和和IDLESTAT 用取回的向量装载用取回的向量装载PC 执行中断服务程序执行中断服务程序 返回主程序返回主程序 该过程受到中断保护该过程受到中断保护 4.3.3 非屏蔽硬件中断非屏蔽硬件中断 o 通过通过NMI引脚输入可以进行不可屏蔽硬件中断引脚输入可以进行不可屏蔽硬件中断 请求,低电平有效。请求,低电平有效。 o CPU一旦在一旦在NMI引脚上检测到一个有效请求,引脚上检测到一个有效请求, 就将按就将按TRAP指令中所示的方式来处理。指令中所示的方式

25、来处理。 o 需要说明的是:尽管需要说明的是:尽管NMI不可以被屏蔽,但有不可以被屏蔽,但有 一些调试执行状态是一些调试执行状态是NMI所不能服务的。所不能服务的。 4.4非法指令陷阱非法指令陷阱 o 以下以下3中情况中的任一种都会造成非法指令陷阱。中情况中的任一种都会造成非法指令陷阱。 o (1)无效的指令被译码无效的指令被译码 o (2)操作码操作码0000h被译码,对应于指令被译码,对应于指令ITRAP0 o (3)操作码操作码FFFFh被译码,对应于指令被译码,对应于指令ITRAP1 o 非法指令陷阱不能被禁止,即使在仿真过程中非法指令陷阱不能被禁止,即使在仿真过程中 也不能。一旦被使

26、能,则非法指令陷阱的中断也不能。一旦被使能,则非法指令陷阱的中断 操作就像操作就像TRAP指令一样。指令一样。 4.5 硬件复位中断硬件复位中断RS o 复位(复位(RS=0)是优先级最高的中断,为非屏蔽)是优先级最高的中断,为非屏蔽 外部中断外部中断 o 复位通常在电源打开之后被启动复位通常在电源打开之后被启动 o 每次复位之后必须重新初始化系统每次复位之后必须重新初始化系统 o 作为硬件复位的一部分,所有当前操作均被放作为硬件复位的一部分,所有当前操作均被放 弃,流水线被清除弃,流水线被清除 o 复位后复位后CPU的寄存器按表的寄存器按表4-5-1所示进行复位,所示进行复位, 然后然后RE

27、SET中断向量被取回,从而执行相应的中断向量被取回,从而执行相应的 中断服务程序。中断服务程序。 DP指向数据页指向数据页0 没有未响应的中断,所没有未响应的中断,所 有中断在复位时均被清有中断在复位时均被清0 在在IER寄存器中可屏蔽中寄存器中可屏蔽中 断被关闭断被关闭 在在DBGIER寄存器中可寄存器中可 屏蔽中断被关闭屏蔽中断被关闭 PC指针由地址指针由地址00 0000H 或或3F FFC0H的复位中断的复位中断 向量赋值向量赋值 SP指针指向地址指针指向地址0400H 禁止符号位扩展禁止符号位扩展 关闭溢出模式关闭溢出模式 乘积移位模式被设置为左乘积移位模式被设置为左 移移1位位 4

28、.6 低功耗模式低功耗模式 o 低功耗模式可使芯片核心部分进入休眠状态,低功耗模式可使芯片核心部分进入休眠状态, 耗散更少的功率。有三种模式:耗散更少的功率。有三种模式: o 1. IDLE模式:模式: o 任何被使能的中断或任何被使能的中断或NMI中断都可以使处理器中断都可以使处理器 退出退出IDLE模式。在这种模式下,如果低功耗模模式。在这种模式下,如果低功耗模 块控制寄存器块控制寄存器LPMCRD1:D0位都设置成零,位都设置成零, LPM(Low-Power modes)模块将不完成任何)模块将不完成任何 工作。工作。 o 2. HALT模式:模式:只有复位信号只有复位信号XRS和和

29、XNMI_XINT13外部信号能够唤醒器件,使其外部信号能够唤醒器件,使其 退出退出HALT模式。在模式。在XMNICR寄存器中,寄存器中,CPU 有一位使能有一位使能/禁止禁止XNMI 。 o 3. STANDBY模式:模式:如果在如果在LPMCR1寄存器中寄存器中 被选中,所有信号被选中,所有信号(包括包括XNMI)都能够将处理器都能够将处理器 从从STANDBY模式唤醒,用户必须选择具体哪模式唤醒,用户必须选择具体哪 个信号唤醒处理器。在唤醒处理器之前,要通个信号唤醒处理器。在唤醒处理器之前,要通 过过OSCCLK确认被选定的信号:确认被选定的信号:OSCCLK的周的周 期数在期数在LP

30、MCR0寄存器当中确定。寄存器当中确定。 4.6 低功耗模式低功耗模式 o 低功耗模式寄存器低功耗模式寄存器 o 低功耗模式通过低功耗模式通过LPMCR0和和LPMCR1两个寄存两个寄存 器来控制器来控制 低功耗方式控制低功耗方式控制0寄存器寄存器LPMCR0 保留保留 D15 D1 D0 QUAL STDBYLPM R-0 R/W-1 R/W-0 4.6 低功耗模式低功耗模式 确定从低功耗模式唤醒到正常工确定从低功耗模式唤醒到正常工 作模式的时钟周期个数作模式的时钟周期个数 00000:2个个OSCCLKS 00001:3个个OSCCLKS 11111: 65个个OSCCLKS 设置低功耗模

31、式设置低功耗模式 00:IDLE模式模式 01:STANDBY模式模式 1x:HALT模式模式 CANRX D15 D14 D13 D12 D11 D10 D9 D8 SCIRXA C6TRIPC5TRIPC4TRIPC3TRIPC2TRIPSCIRXB C1TRIP D7 D6 D5 D4 D3 D2 D1 D0 T3CTRIPT2CTRIPT1CTRIPWDINT XNMI XINT1T4CTRIP 低功耗方式控制低功耗方式控制1寄存器寄存器LPMCR14.6 低功耗模式低功耗模式 如果相应的控制位设置为如果相应的控制位设置为1,则使能对应的信号,将器,则使能对应的信号,将器 件从低功耗模

32、式唤醒,进入正常工作模式;件从低功耗模式唤醒,进入正常工作模式; 如果设置为如果设置为0,则相应的信号没有影响。,则相应的信号没有影响。 4.7 外设中断扩展模块外设中断扩展模块PIE ( Peripheral Interrupt Expansion block ) o 外设中断扩展模块外设中断扩展模块PIE把许多中断源多路复用把许多中断源多路复用 成一个较小的中断输入集,使成一个较小的中断输入集,使F2812能够管理能够管理 更多的中断。更多的中断。 o 功能:功能:PIE模块支持模块支持96个不同的中断,这些中个不同的中断,这些中 断分成断分成12个组,每个组有个组,每个组有8个中断,每个

33、组都被个中断,每个组都被 反馈到反馈到CPU内核的内核的12条中断线条中断线(1NTlINTl2)的的 一条上。一条上。 o 这这96个中断中的每一个都得到了各自向量的支个中断中的每一个都得到了各自向量的支 持,这些向量被保存在专用持,这些向量被保存在专用RAM块中并可以进块中并可以进 行修改。行修改。在在PIE模块中可对每个中断分别使能模块中可对每个中断分别使能 或者使之无效。或者使之无效。 4.7.1 PIE控制器概述控制器概述 o CPU支持支持17个个CPU级硬件中断,包括级硬件中断,包括1个个NMI 和和16(INT1INT14,PTOSINT, DLOGINT)个)个 可屏蔽中断请

34、求。可屏蔽中断请求。 o F2812有许多个外设,每个外设都可以产生一有许多个外设,每个外设都可以产生一 个或多个外设级中断请求。在个或多个外设级中断请求。在CPU没有足够能没有足够能 力去处理所有外设的中断请求,所以需要一个力去处理所有外设的中断请求,所以需要一个 集中的外设集中的外设中断控制器中断控制器PIE,来对各种中断源,来对各种中断源 的请求进行管理和仲裁。的请求进行管理和仲裁。 o 所有多路复用所有多路复用(MUXed)中断和非多路复用中断和非多路复用 (nonMUXed)中断中的每个中断都有一个向量。中断中的每个中断都有一个向量。 非多路复用中断源由非多路复用中断源由CPU直接提

35、供。直接提供。 o PIE向量向量(vector)表用来存储系统的各个中断服表用来存储系统的各个中断服 务子程序务子程序ISR的地址。的地址。 o 在器件配置期间,用户要使用向量表并在操作在器件配置期间,用户要使用向量表并在操作 期间去修改它。期间去修改它。 4.7.1 PIE控制器概述控制器概述 o 1.外设级中断:外设级中断: o 某个外设产生中断时,与该事件相关的中断标某个外设产生中断时,与该事件相关的中断标 志志(IF)位会在这个外设的寄存器中置为位会在这个外设的寄存器中置为1。如果。如果 相应的中断使能相应的中断使能(IE)位已经置位,则外设向位已经置位,则外设向PIE 控制器产生一

36、个中断请求。控制器产生一个中断请求。 o 如果该中断在外设级使能无效,则相应的如果该中断在外设级使能无效,则相应的IF位位 会一直保持直到用软件清除它为止。如果在以会一直保持直到用软件清除它为止。如果在以 后使能该中断,且中断标志仍然置位,那么就后使能该中断,且中断标志仍然置位,那么就 会向会向PIE发出一个中断请求。发出一个中断请求。 o 外设寄存器中的中断标志必须采用软件清除。外设寄存器中的中断标志必须采用软件清除。 4.7.1 PIE控制器概述控制器概述 o 2. PIE级中断:级中断: o PIE块复用了块复用了8个外设和外部引脚的中断进入个外设和外部引脚的中断进入1 个个CPU中断。

37、中断。 o 这些中断被划分为这些中断被划分为12个组:个组:PIE组组1PIE组组12, 1个组中的中断被多路复用进入个组中的中断被多路复用进入1个个CPU中断。中断。 o 例如,例如,PIE组组1被多路复用进入被多路复用进入CPU中断中断INTl, 而而PIE组组12被多路复用进入被多路复用进入CPU中断中断INTl2。 4.7.1 PIE控制器概述控制器概述 o 与与CPU剩余的中断相连接的中断源不是多路复剩余的中断相连接的中断源不是多路复 用的用的 o 对于非多路复用的中断而言,对于非多路复用的中断而言,PIE直接向直接向CPU 传送中断请求。传送中断请求。 o 对于多路复用的中断源,对

38、于多路复用的中断源,PIE块中的每个中断块中的每个中断 组都有一个相关标志位组都有一个相关标志位PIEIFRx.y和使能位和使能位 PIEIERx.y。 o 另外,每个中断组另外,每个中断组(1NT1INTl2)都有一个应都有一个应 答位答位PIEACKx。 4.7.1 PIE控制器概述控制器概述 o 3. CPU级中断:级中断: o 一旦某个中断请求被送往一旦某个中断请求被送往CPU,CPU级中与级中与 INTx相关的中断标志相关的中断标志(IFR)位就被置位。位就被置位。 o 该标志位被锁存在该标志位被锁存在IFR后,后,CPU不会马上就去不会马上就去 执行相应的中断,而是等待执行相应的中

39、断,而是等待CPU使能使能IER寄存寄存 器,或者使能器,或者使能DBGIER寄存器,并对全局中断寄存器,并对全局中断 屏蔽位屏蔽位INTM进行适当的使能。进行适当的使能。 4.7.1 PIE控制器概述控制器概述 来自外设来自外设 或外部中断或外部中断 INT2.4=1INT2.4=1 INT2 使用使用PIE控制器的复用中断控制器的复用中断 IFR寄存器寄存器 INT2=0 IER寄存器寄存器 INT2=1 ST1寄存器寄存器 INTM=0 CPU级中断级中断 PIE级中断级中断 XINT1 XINT2 XINT13 外设级中断外设级中断 开始开始 PIEIFRX.Y=1? PIEIERX.

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

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

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

43、址:地址: 0 x0000 0B34),可以修改该位状态。,可以修改该位状态。 4.7.2 向量表映射向量表映射 o 4ENPIE:该位是寄存器该位是寄存器PIECTRL(P115) 的的D0位。复位时该位的默认值设为位。复位时该位的默认值设为0(PIE无效无效)。 复位后,通过写复位后,通过写PIECTRL寄存器寄存器(地址:地址: 0 x0000 0CE0),可以修改该位状态。,可以修改该位状态。 4.7.2 向量表映射向量表映射 4.7.2 向量表映射向量表映射 中断向量表映射中断向量表映射 向量映射向量映射取向量值取向量值地址范围地址范围 o M1和和M0向量表映像仅留作向量表映像仅留

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

45、。 4.7.2 向量表映射向量表映射 4.7.3 中断源中断源 o 发出中断请求的模块或片内外设,称作中断源。发出中断请求的模块或片内外设,称作中断源。 o F2812三级中断包括:三级中断包括: o F2812可以提供可以提供96个个PIE级中断级中断 n 41个片内外设模块中断个片内外设模块中断 n 2个外部中断个外部中断XINT1和和XINT2 n 1个看门狗和低功耗模式复用的中断个看门狗和低功耗模式复用的中断 WAKEINT n 1个用于个用于CPU定时器定时器0的中断的中断TINT0 n 51个没有定义的中断个没有定义的中断 n 2个个CPU中断中断INT13和和INT14 n 1个

46、非屏蔽中断个非屏蔽中断NMI 4.7.3 中断源中断源 C28X 中断源中断源 PIE向量表向量表 o PIE模块相连的外设及外部中断组如下表模块相连的外设及外部中断组如下表 (P114)。)。 o 表中的每一行表示表中的每一行表示8个中断复用为一个特定的个中断复用为一个特定的 CPU中断中断 F2812/10 PIE Interrupt Assignment Table PIE向量表向量表 o PIE向量表由向量表由25616位的位的SARAM快组成。快组成。 o CPU对对INT1INT12的优先级进行定位。的优先级进行定位。 o INT1的优先级最高,的优先级最高,INT12的优先级最低

47、的优先级最低 o PIE每组中每组中INTx.1的优先级最高,的优先级最高, INTx.8的优的优 先级最低。先级最低。 o PIE向量表见向量表见P110. 4.7.4 PIE配置和控制寄存器配置和控制寄存器 名称名称地址地址占用空间占用空间描述描述 PIECTRL0 x0000 0CE01PIE控制寄存器控制寄存器 PIEACK0 x0000 0CE11PIE应答寄存器应答寄存器 PIEIERx X=1,2,12 0 x0000 0CE2 0CF8(偶数偶数) 1PIE,INTx组使能寄存器组使能寄存器 PIEIFRx0 x0000 0CE3 0CF9(奇数奇数) 1PIE,INTx组标志

48、寄存器组标志寄存器 保留保留x0000 0CFA x0000 0CFF 6保留保留 o 1. PIE控制寄存器(控制寄存器(PIECTRL) 指示从指示从PIE向量表中取出的中断向量地址。向量表中取出的中断向量地址。 当当PIECTRL=0 x0D27(去掉最低位)(去掉最低位),则来自则来自 地址地址0 x0D26的中断向量被取出。的中断向量被取出。 当当ENPIE=1,向量取自向量取自PIE向量表。向量表。 当当ENPIE=0,向量取自向量取自Boot ROM的的CPU向量向量 表或表或XINTF Zone7 4.7.4 PIE配置和控制寄存器配置和控制寄存器 o 2. PIE中断应答寄存

49、器中断应答寄存器PIEACK ( ) reserved D11-D0位对应位对应INT12-INT1 如果某组中断里有一个中断未被处理,则向相应的中断位如果某组中断里有一个中断未被处理,则向相应的中断位写写1 读取该寄存器的值,可以显示各读取该寄存器的值,可以显示各PIE组中是否有未被处理的中断组中是否有未被处理的中断 4.7.4 PIE配置和控制寄存器配置和控制寄存器 o 3. PIE中断标志寄存器中断标志寄存器PIEIFRx ( ) o PIE中有中有12个中断标志寄存器,分别对应个中断标志寄存器,分别对应 INT1INT12. reserved INTx8 INTx1=1,相应的中断被激

50、活,相应的中断被激活 当某个中断被响应后,当某个中断被响应后, INTx8 INTx1=0 4.7.4 PIE配置和控制寄存器配置和控制寄存器 o 4.PIE中断使能寄存器中断使能寄存器PIEIERx( ) o PIE中有中有12个中断使能寄存器,分别对应个中断使能寄存器,分别对应 INT1INT12. reserved INTx8 INTx1=1,使能相应的中断,使能相应的中断 INTx8 INTx1=0,禁止相应的中断,禁止相应的中断 4.7.4 PIE配置和控制寄存器配置和控制寄存器 4.7.5 外部中断控制寄存器组外部中断控制寄存器组 o F2812支持支持3个外部可屏蔽中断个外部可屏

51、蔽中断XINT1、 XINT2、 XINT13 o XINT13和不可屏蔽中断和不可屏蔽中断XNMI复用。复用。 o 外部中断可以选择外部中断可以选择下降沿下降沿或或上升沿上升沿触发,还可以触发,还可以 使能或禁止(包括使能或禁止(包括XNMI)。)。 o 可屏蔽中断包含一个可屏蔽中断包含一个16位自由运行的递增计数器,位自由运行的递增计数器, 当一个有效的中断边沿被检查到时,计数器被清当一个有效的中断边沿被检查到时,计数器被清 0. o 计数器的作用是给中断提供一个精确的时间标记计数器的作用是给中断提供一个精确的时间标记 o External Interrupt Registers XINT

52、1控制寄存器控制寄存器 XINT2控制寄存器控制寄存器 XINT1计数寄存器计数寄存器 XINT2计数寄存器计数寄存器 XNMI控制寄存器控制寄存器 XNMI计数寄存器计数寄存器 4.7.5 外部中断控制寄存器组外部中断控制寄存器组 o 1. 外部中断外部中断1/2控制寄存器控制寄存器(XINT1CR/XINT1CR2) ReservedPolarityReservedEnable D15 . D3 D2 D1 D0 R-0 R/W-0 R/W-0 R/W-0 0 0 禁止中断禁止中断 1 1 使能中断使能中断 0 0 下降沿触发下降沿触发 1 1 上升沿触发上升沿触发 保留保留 保留保留 4

53、.7.5 外部中断控制寄存器组外部中断控制寄存器组 o 2. 外部外部NMI中断控制器中断控制器XNMICR ReservedPolaritySelectEnable D15 . D3 D2 D1 D0 R-0 R/W-0 R/W-0 R/W-0 0 0 禁止禁止NMINMI中断中断 1 1 使能使能NMINMI中断中断 0 Timer1 连接到连接到INT13 1 XNMI连接到连接到INT13 0 0 下降沿触发下降沿触发 1 1 上升沿触发上升沿触发 保留保留 4.7.5 外部中断控制寄存器组外部中断控制寄存器组 o 3. 外部外部NMI中断计数寄存器中断计数寄存器XNMICTR o X

54、NMICTR是是16位自由运行递增计数器,以系位自由运行递增计数器,以系 统统SYSCLKOUT为计数脉冲。为计数脉冲。 o 当检测到有效的触发脉冲时,计数器复位为当检测到有效的触发脉冲时,计数器复位为 0 x0000,开始计数,直到检测到下一个有效的,开始计数,直到检测到下一个有效的 触发脉冲停止计数。触发脉冲停止计数。 o 当计数值达到最大时,自动返回到当计数值达到最大时,自动返回到0. 4.7.5 外部中断控制寄存器组外部中断控制寄存器组 o 4.外部中断外部中断1、2计数寄存器计数寄存器 o XINT1CTR、 XINT1CTR与外部与外部NMI中断计数中断计数 寄存器寄存器XNMIC

55、TR的功能基本相同。的功能基本相同。 4.7.5 外部中断控制寄存器组外部中断控制寄存器组 中断请求的流程(中断请求的流程(P109) o 从外设到从外设到CPU的多通道中断请求流程的多通道中断请求流程 o 如果如果任何任何PIE组里的外设和外部中断产生一组里的外设和外部中断产生一 个中断,假如外设中断已被使能,那么,该中个中断,假如外设中断已被使能,那么,该中 断的请求就被置入断的请求就被置入PIE模块。模块。 o PIE模块识别模块识别PIE组组x内已经录入的中断内已经录入的中断 y(INTx.y),并且将相应的,并且将相应的PIE中断标志位锁存:中断标志位锁存: PIEIFRx.y=1。

56、 o 为了使能从为了使能从PIE到到CPU的中断要求,下列两的中断要求,下列两 个条件必须为真。个条件必须为真。 n (1)相应的中断使能位必须置位相应的中断使能位必须置位 (PIEIERx.y=1)。 n (2)必须清除该组的必须清除该组的PIEACKx位。位。 中断请求的流程(中断请求的流程(P109) o 如果步骤如果步骤3中的两个条件为真,那么就在中的两个条件为真,那么就在 CPU建立了一个中断请求,响应位再次被置位建立了一个中断请求,响应位再次被置位 (PIEACKx=1)。PIEACKx位将一直保持置位直位将一直保持置位直 至清除该位,这表示来自该组的附加中断能够至清除该位,这表示

57、来自该组的附加中断能够 被从被从PIE设置到设置到CPU。 o CPU中断标志位置位中断标志位置位(CPU IFRx=1)以标示出以标示出 一个一个CPU级的未决的中断级的未决的中断x。 中断请求的流程(中断请求的流程(P109) o 假如假如CPU中断被使能中断被使能(CPU IER bitx=1或或 DBGIER bitx=1),全局中断屏蔽被清除,全局中断屏蔽被清除 (1NTM=0),那么,那么CPU将为将为INTx服务。服务。 o CPU识别这个中断并自动存放有关信息,清识别这个中断并自动存放有关信息,清 除除IER位,设置位,设置INTM,清除,清除EALLOW。 中断请求的流程(中

58、断请求的流程(P109) o CPU从从PIE向量表中获得相应的中断向量。向量表中获得相应的中断向量。 o 对于复用的对于复用的PIE中断,中断,PIE模块使用模块使用PIEIERx 和和PIEIFRx寄存器中的当前值去找出要使用的寄存器中的当前值去找出要使用的 向量地址。有两种可能的情况:向量地址。有两种可能的情况: 中断请求的流程(中断请求的流程(P109) o (1)该组中最高优先级中断的向量被取出,并)该组中最高优先级中断的向量被取出,并 且被用作分支地址。这个中断在且被用作分支地址。这个中断在PIEIERx寄存寄存 器中使能,在器中使能,在PIEIFRx中标示为未决的中断。中标示为未决的中断。 在这种方式下,假如一个更高级的使能中断在在这种方式下,假如一个更高级的使能中断在 步骤步骤4之后被标示,它就会首先得到服务。之后被标示,它就会首先得到服务。 中断请求的流程(中断请求的流程(P109) o (2)如果该组中没有已经标示的中断被使能,)如果该组中没有已经标示的中断被使能, 那么那么PIE将响应该组中最高优先级的中断向量,将响应该组中最高优先级的中断向量, 即用即用INTx.1作为分支地址,这种操作相当于执作为分支地址,这种操作相当于执 行行

温馨提示

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

评论

0/150

提交评论