PIE中断系统及其应用PPT课件
微机原理第6章 中断系统.ppt

不可屏蔽中断
•中断分类图
• 含义:不能用软件来控制是否允许中断的 一种外部中断。 • 常见NMI中断有: (1)电源掉电 (2)存储器检验出错 (3)总线奇偶错等。
可屏蔽中断
•中断分类图
• 含义:可用软件控制是否允许中断的外部 中断。即STI使IF=1,允许中断;CLI使 IF=0,禁止中断。
• 常见INTR中断有: 所有外部设备中断如键盘、鼠标、打印机、 显示器、声卡、CD-ROM等
• 示意图
6.2 可编程中断控制器8259A
• 基本情况:
(1)8位可编程中断控制器,又称优先级控制器 (2)处理8级向量优先级中断 (3)具有单一+5V供电 (4)8259A芯片级联组成强大的中断管理系统(多至
64级外部中断)。 (5)优先级方式可编程 (6)多级中断管理
• 主要内容
一、内部结构及工作原理 二、引脚信号 三、工作方式 四、编程方法
(2)求中断服务程序所在段的段基地址
段选择子为 :0013H=0000 0000 0001 0 011 B TI=0,段描述符在GDT中,RPL=11为普通用户程序请求, 索引值 =0000 0000 0001 0 B 所以中断描述符描述的中断服务程序所在段描述符在GDT中的位置 为: 索引值×8+GDT首地址=
0000 0000 0001 0000B+00500000H=00500010H 因此,段描述符为:39 18 40 42 34 00 00 96 H 段基地址=39423400H
(3)合成物理地址
服务程序入口地址=对应段的段基地址+偏移地址
=39423400H+00422012H=39845412H
解:
PIC单片机中断系统详细汇总

精选版课件ppt
9
§8.4 中断相关的寄存器
与中断有关的特殊功能寄存器SFR共有6个, 分别是:
选 项 寄 存 器 OPTION_REG 、 中 断 控 制 寄 存 器INTCON、第一外围设备中断标志寄存器PIR1、 第一外围设备中断屏蔽寄存器PIE1(也称中断使能 寄存器)、第二外围设备中断标志寄存器PIR2和第 二外围设备中断屏蔽寄存器PIE2,如表9.2所列。
1=选择RB0/INT上升沿触发;
精选版课件ppt
12
0=选择RB0/INT下降沿触发 ⒉中断控制寄存器INTCON
中断控制寄存器是一个可读/可写的寄存 器,各位的分布形式如下:
它将第一梯队中的3个中断源的标志位和屏 蔽位,以及PEIE和GIE包含在其中:
RBIF : 端 口 RB 的 引 脚 RB4 ~ RB7 电 平 变 化 中 断标志位。
TMR2IF:定时/计数器TMR2模块溢出中断标 志位。
➢ 1=发生了TMR2溢出; 0=未发生TMR2溢出。
CCP1IF:输入捕捉/输出比较/脉宽调制CCP1 模块中断标志位。
❖ 输入捕捉模式下:
1=发生了捕捉中断请求;
0=未发生捕捉中断请求。
精选版课件ppt
17
❖ 输出比较模式下: 1=发生了比较输出中断请求; 0=未发生比较输出中断请求。
后5个SFR,共有40位,但仅使用了30位来控 制中断,分别与图9.l中的中断逻辑电路的输入信 号成严格的对应关系。
精选版课件ppt
10
精选版课件ppt
11
⒈选项寄存器OPTION _REG
OPTION_REG选项寄存器是可读写的, 各位的分布形式:
该寄存器包含了与定时/计数器TMR0、 分频器和端口RB有关的控制位。RB端口引脚 RB0和外部中断INT复用一脚,与该脚有关的一 个控制位含义如下: INTEDG:外部中断INT触发信号边沿选择位:
中断系统及应用 PPT

CPU响应中断,就是CPU要去执行相应的中断服务程序,其响应过程是CPU将现执行程序的指令 地址压入堆栈,跳转到中断服务程序入口地址,中断服务程序的入口地址就是中断向量,这个中 断向量用2个16位寄存器存放。入口地址是22位的,地址的低16位保存在该向量的低16位;地址 的高16位则保存在它的高6位,更高的10位保留。
CPU级使能可屏蔽中断采纳CPU中断使能寄存器(IER)依然中断调试使能寄存器(DBGIER)与中 断处理方式有关。标准处理模式下,不使用中断调试使能寄存器(DBGIER)。只有当F28335使用 实时调试(Real-time Debug)且CPU被停止(Halt)时,才使用中断调试使能寄存器(DBGIER),此时 INTM不起作用。假如F28335使用实时调试而CPU仍然工作运行,则采纳标准的中断处理。
中断向量表
INT1、1 INT1、2 INT1、3 INT1、4 INT1、5 INT1、6 INT1、7 INT1、8
PIE 组2 向量-复用CPU的INT2中断
32 0x0000 0D40
2
SEQ1INT(ADC)
5
33 0x0000 0D42
2
SEQ2INT(ADC)
第4.4节 外设中断扩展(PIE)

电气信息类专业课程DSP原理及应用——跟我动手学TMS320F2833xDSP原理及应用第4.4节外设中断扩展(PIE)外设中断扩展模块(PIE)通过复用少量的中断输入来扩展大量的中断源。
•PIE模块支持96个独立的中断源,这些中断源被分成8组。
每组中断都连接至12个CPU核中断(INT1~INT12)中的一个;•96个中断都对应有各自的中断向量表,这些向量表存储在特定的RAM模块并且可以根据需要修改,•CPU响应中断时,可自动获取相应的中断向量。
•中断的优先级可以通过硬件和软件来控制•在PIE模块中,每个中断都可以独立的使能和禁止•28x系列CPU支持一个不可屏蔽中断(NMI)和16个具有优先级别的可屏蔽的CPU级中断请求(INT1~INT14,RTOSINT及•CPU无法在CPU级处理这么多的外设中断请求,因此用PIE控制器来仲裁来自外设和外部管脚的中断请求3~7利用PIE模块复用中断PIE中断:外设级、PIE级、CPU级外设级:•外设中,触发中断的事件发生时,会将寄存器中相应的中断标志位(IF)置位。
•在外设级,如果该中断的使能位(IE)被置位,则外设会向PIE模块产生中断请求;•如果该中断没有被使能,则IF将保持置位状态直至被软件清零;如果该中断在稍后被使能并且IF处于置位状态,外设仍然向PIE模块产生中断请求。
•中断标志位需要人为的清零。
PIE中断:外设级、PIE级、CPU级PIE级:•PIE模块使来自外设或外部管脚的8个中断复用一个CPU级中断信号。
PIE模块将所有的中断源分成12组:PIE分组1~12,在同一PIE分组的中断将共用一个CPU中断。
•对于共用同一个CPU中断的中断组,在PIE模块都有一个相应的标志寄存器PIEIFRx和使能寄存器PIEIERx(x为1~12),这些寄存器的每一位都对应着一个中断分组中的某一个中断。
•每一个中断分组都对应着一个中断应答位PIEACKx(x=1~12)•一旦外设向PIE发送了中断请求,PIE相应的中断标志位(PIEIFRx.y)就会被置位;如果PIE中断使能位(PIEIERx.y)也被置位,则PIE就会检查相应的PIEACKx位来判断CPU是否准备好响应该组的中断。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若中断被使能,则中断请求提交给PIE,IF仍为1; 若中断未被使能,则IF仍为1,直至软件清0;
❖ 外设寄存器中的IF位需手动清0;
2021
1) 外设级中断
外设级中断通过IFR与IER使能控制; 注意:外设寄存器的中断标志必须采用软件
2021
3.1 中断向量的分配
❖ 复用中断模式在使用中断过程中多个中断源共 用一条中断线,每条中断线连接地中断向量都在 中断向量表中占32位地址空间,用来存放中断服 务程序的入口地址;
❖ 中断复用程序必须处理所有输入的中断请求, 这就要求编程人员在服务程序的入口处采用软件 方法将这些中断分离开,以便能够正确地处理;
中断向量的分配 中断向量的映射方式
2021
3.1 中断向量的分配
❖ PIE支持96个中断,每个中断都有自己的中 断向量存放在RAM中,构成整个系统的中断 向量表,如表8.2所示;
❖ 在相应中断时,CPU将自动地从中断向量表 中获取相应的中断向量;
❖ CPU获取中断向量和保存重要的寄存器需要 花费9个CPU时钟周期,因此CPU能够快速地 响应中断;
PIEACK(PIE响应寄存器):0x0000 0CE1
PБайду номын сангаасEIER1:0x0000 0CE2
PIEIFR1:0x0000 0CE3
…
…
PIEIER12:0x0000 0CF8
PIEIFR12:0x0000 0CF9
保留:0x0000 0CFA~0x0000 0CFF
2021
2021
3 中断向量
❖ 对于复用中断,在PIE模块内每组中断有相应的 中断标志位(PIEIFRx.y)和使能位(PIEIERx.y)
❖ 除此之外,每组PIE中断(INT1~INT12)有一个 响应标志位(PIEACKx)
2021
2) PIE级中断
❖ 一旦PIE控制器有中断请求,相应的中断标志位 被置1(PIEIFRx.y);
2021
1、中断源
在F2810和F2812处理器中,定时器1和定时器2 预留给实时操作系统DSP/BIOS使用,其中断分配 给INT14和INT13,用户在程序中不可以修改;
2021
1、中断源
其余12个可屏蔽中断直接连接在外设中断扩展模 块,供外部中断和处理器内部的外设单元使用;
2021
1、中断源
❖ 但软件分离的方法势必会影响中断的响应速度, 因此,在实时性要求高的应用中不能使用。因此 就涉及到如何加快中断服务程序的问题。
2021
用户可以操作修改的中断是INT1~INT12,其中 每一个中断组又复用了8个外设中断;所以外设中 断一共有96个;
2021
2、PIE中断扩展
28x的每个外部设备都能产生1个或多个中断; 但由于CPU并不能同时处理所有的外设中断请求;
因此需要一个PIE控制器对这些外设和外部管脚 的中断请求进行仲裁;
进行清零;
返回
2021
2) PIE级中断
❖ PIE模块复用8个外设中断引脚向CPU申请中断; 这些中断被分为12组,每组有一个中断信号向 CPU申请中断;
例如:PIE第1组复用CPU的中断1(INT1); PIE第12组复用CPU的中断12(INT12); 其余不复用的中断则直接向CPU提出请求;
标准处理模式下,不使用中断调试使能寄存器 (DBGIER);
当F281x使用实时调试且CPU被停止时,才使用中 断调试使能寄存器(DBGIER),此时INTM不起作用;
2021
3) CPU级中断
❖ 中断标志寄存器(IFR) 中断使能寄存器(IER) 全局中断屏蔽使能(INTM)
2021
4)中断优先级
CPU中断的优先级:由高到低分别为RS, NMI,INT1~INT14;
PIE控制每组8个中断的优先级:由高到低为 INTx.1~INTx.8。
2021
5) PIE寄存器及其地址
PIE寄存器地址:0x0000 0CE0~0x00000CFF
PIECTRL(PIE控制寄存器):0x0000 0CE0
PIE矢量表用来存放每一个中断服务的地址;不 论是复用还是非复用的中断都对应着一个矢量表;
2021
实际用户可以修改使用的外设中断只有45个
2021
2.1 中断操作流程
包含三部分中断 外设级中断、PIE级中断、CPU级中断
2021
2.1 中断操作流程
2021
1) 外设级中断
❖ 外部设备中断事件发生,则其对应的寄存器 中的中断标志位被设为1(Interrupt Flag: IF);
两个不可屏蔽中断RESET和NMI各自占用独立 的专用中断,同时NMI中断也可以选择同定时器1 复用INT13;
2021
2021
CPU一共支持16个中断(RESET、NMI、 INT1~INT14);其中RESET、NMI是不可屏蔽中 断;INT1~INT14是可屏蔽中断(INT13、INT14留 给实时操作系统);
❖ 一旦向CPU请求中断,相应于INTx的CPU级中 断标志位(IFR)置1。中断标志位锁存到IFR后, 只有CPU中断使能寄存器(IER)或调试中断使能 寄存器(DBGIER)和全局中断屏蔽位(INTM)被使 能时才会响应中断请求;
2021
3) CPU级中断
❖ CPU级使能可屏蔽中断采用CPU中断使能寄存 器(IER)还是中断调试使能寄存器(DBGIER)与中 断处理方式有关。
❖ 如果相应的PIE中断使能位(PIEIERx.y)被置1, 则PIE检查相应的PIEACKx位以确定CPU是否准 备响应该中断;
❖ 如果PIEACKx清零,则PIE向CPU发出中断请 求;如果PIEACKx置1,则PIE将等待直到 PIEACKx被清0才向CPU发出中断请求;
返回
2021
3) CPU级中断
主要内容
❖ 中断源 ❖ PIE控制器概述 ❖ 中断向量表 ❖ PIE矢量表 ❖ 可屏蔽中断处理 ❖ CPU定时器 ❖ 举例
2021
1、中断源
C28xDSP内核总计16个中断线,其中包括2个不 可屏蔽中断(RESET和NMI)与14个可屏蔽中断; 可屏蔽中断通过相应的中断使能寄存器使能或 禁止产生的中断;