可编程中断控制器A.ppt
《可编程中断控制器A.ppt》由会员分享,可在线阅读,更多相关《可编程中断控制器A.ppt(75页珍藏版)》请在三一文库上搜索。
1、1,7.5 可编程中断控制器 8259A,8259A的功能 8259的引脚与功能结构 8259A的中断工作过程 8259A的工作方式 8259A的编程 8259A在IBMPC/XT中的应用举例,2,7.5 可编程中断控制器 8259A,一、功能 Intel 8259A是可编程中断控制器,配合80X86CPU管理可屏蔽中断 中断优先权的管理 中断屏蔽的管理 中断结束的管理,3,8259A,8259A具体功能: 1片8259A可以管理8级中断,经级连最多可扩展至64级 每一级中断都可单独被屏蔽或允许 在中断响应周期,可提供中断向量号(配合I8086 /88 /286/ 386 ),或相应的调用指令
2、(配合 I8080/85)。 8259A有多种工作方式,可通过初始化编程进行设置。,4,二、 8259的引脚与功能结构,D7D0,INTA,INT,中断请求寄存器,中断屏蔽寄存器,数据 总线 缓冲器,IR0,IR7,读/写 控制 逻辑,级联 缓冲器 比较器,RD,WR,A0,CS,CAS0,CSA1,CAS2,SP/EN,优先权判别电路,中断服务寄存器,控制逻辑,5,8259的内部结构,1。中断请求寄存器IRR 保存8条外界中断请求信号IR0IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求 2、中断服务寄存器ISR 保存正在被8259A服务着的中断源 (或已进入中断处理程序
3、)。 Di位为1表示IRi中断正在服务中;为0表示没有被服务 3、中断屏蔽寄存器IMR 保存对中断请求信号IRi的屏蔽状态 Di位为1表示IRi中断被屏蔽(禁止);为0表示允许 8259占用两个端口地址A0=1、0(奇地址、偶地址) 。,见P252 图8-13 8259A与系统总线的连接,6,5. 控制逻辑 控制逻辑电路中,有一组初始化命令字Reg : ICW1ICW4 一组操作命令字Reg: OCW1OCW3。 系统刚开始时,初始化命令字送8259A,以后过程中将保持不变, 操作命令则用来在过程中控制中断操作。 控制逻辑按编程设定方式管理8259A的全部工作。,4. 优先权判别电路 用来识别
4、和管理各中断请求信号的优先级别。,6. 数据总线缓冲器 三态缓冲器。8259A与CPU的数据总线接口,7,8,三、8259A的中断工作过程,0 0 1 0 0 0 0 0,0 0 0 0 0 0 0 0,ISR,IRR,D0,D7,D0,D7,0 0 0 0 0 0 0 0,IMR,优先权电路,INT,INTA,CPU,INTR,INTA,D2,1,1,1,0,9,8259A的工作过程,1. 上电后,由CPU执行一段程序对8259初始化(通过输入初始化命令字实现)。完成初始化后,8259A处于 就绪状态 。,CPU 进入响应中断的过程,继而执行中断子程序。,10,8259A的中断过程,CAS0
5、CAS2,D0D7,SP/EN,IR0IR7,CPU响应周期,8259A工作波形,INT,第1个总线周期 T1 T2 T3 T4,ALE,CLK,第2个总线周期 T1 T2 T3 T4,第1个-INTA前保持高电平,INTA,LOCK,中断向量,主片输出级联信号 从片接收,11,四、8259A的工作方式,普通全嵌套方式,特殊全嵌套方式,自动循环方式,特殊循环方式,优先权固定方式,优先权循环方式,设置优先权方式,普通中断结束方式,特殊中断结束方式,自动中断结束方式,非自动中断结束方式,结束中断方式,中断屏蔽方式,普通屏蔽方式,特殊屏蔽方式,中断触发方式,边沿触发方式,电平触发方式,数据线连接方式
6、,缓冲方式,非缓冲方式,与CPU配合方式,与8080/8085 CPU配合,与8086/8088 CPU配合,级连方式,级连,不级连,12,1. 设置优先权方式,普通全嵌套方式 8259A的中断优先权顺序固定不变,从高到低依次为: IR0、IR1、IR2、IR7 中断请求后,8259A对当前请求中断中优先权最高的中断 IRi 予以响应,将其向量号送上数据总线,对应ISR的 Di位置位,直到中断结束(ISR的 Di 位复位) 在ISR的 Di 位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权中断的嵌套 特殊全嵌套方式允许同级中断嵌套(用于级连主片) 优先权自动循环方式最高优先权自动
7、转移到相邻的低优先级中断源(P332),如IR3被响应后,IR3最低,IR4最高。 优先权特殊循环方式优先权由OCW2设置哪个IR最低,其他的随之确定。,13, 特殊全嵌套方式(适用于8259级联的情况) 级联时,主片 须采用特殊的全嵌套方式。, 普通全嵌套方式常用方式,又称全嵌套方式,适用于单片 8259的情况。,特点: 和全嵌套方式基本相同,不同的是:在处理某以及中断时,可响应同级中断,从而实现对同 级中断请求的特殊嵌套.,14, 主片编程为特殊全嵌套方式: 当处理一级中断时,如果有同级的中断请求,也会给予响应。 否则:当从片8259IR2有中断请求,若主片是普通全嵌套方式,则会屏蔽从片上
8、的IR0、IR1(比IR2优先级高)中断请求。 因为从片上的8个IRi变成了主片的同一级。 而特殊全嵌套方式,对来自同一从片的较高优先级请求不会屏蔽。, 在从片的中断处理程序快结束时,应给 8259A发EOI(中断结束)命令,方法是: (a) 向从片发EOI; (b) 读从片的ISR内容: 若为0,表示从片只有一个中断源申请 中断,再向主片发一个EOI命令。 若不为0,表示从片存在两个以上的中 断源在申请中断,则不应发EOI给主片。,15,(3) 优先权循环方式 一个系统的优先权比较复杂,所以不能总规定IR0高 IR7低。 8259A设计了两种改变优先权的方法。,特殊循环方式适用于中断源的优先
9、级需要任意改变的情况 通过OCW2命令字设置当前的最低优先级IR5,使得有: IR6 IR7 IR0 IR5。,16,2. 结束中断处理方式 在中断请求得到响应时,ISR中相应位置1, 中断服务结束时,必须使这个位复位为0以标识中断处理结束。 这个中断结束是指8259结束中断,而不是CPU结束执行中断服务程序。, 非自动中断结束方式 普通中断结束方式(EOI) 适用于全嵌套方式 当8259A工作在全嵌套方式时,则当前服务过的中断源就是中断优先权最高的源,可以用非特殊(普通)的EOI使它在ISR中的相应位清0。 这个命令加在中断服务程序的末尾处。,用于系统中只有一片8259A,多个中断不会嵌套的
10、情形。系统一进入中断处理,就将当前中断服务寄存器ISR的对应位清除。对8259A来说,好像已经结束了当前中断。 在命令字ICW4中将AEOI(D1)位置“1”。,17,不管是普通、还是特殊的中断结束方式,级联系统中的中断结 束必须发送两次EOI: 一次给从片,一次给主片。 (向从片发EOI后,须检查从片中的所有申请中断的源是否全服务过。只有都服务过了,才能向主8259送另一个EOI命令)。, 特殊结束中断方式非全嵌套方式下 当8259A工作在非全嵌套模式时,8259A可能不能确定刚服务的源的等级,需要用特殊的EOI命令,指出要清除哪个ISR位。,18,中断结束字,什么是8259A的中断结束字(
11、EOI)?,8259A判断中断服务寄存器ISR的状态: 若某位为1,表示该中断源正在得到服务;一般情况下,将不再响应同级或低级的中断(采用特殊屏蔽方式时,可响应低级别的中断) 若某位为0,表示该中断服务已结束,可响应低级级别中断。 用指令向8259A送中断结束字,可以使ISR的某位清0,19,3. 屏蔽中断源方式 通过IMR编程可允许或禁止中断, 普通屏蔽方式 通过命令字OCW1设置IMR某位或某几位为1,则屏蔽其中断请求。置0则允许该级中断。, 特殊屏蔽方式用于开放较低级中断请求 在8259中,当一个中断请求被响应时,ISR对应位置1。在该位未复位时,8259A会禁止所有优先级比它低的中断。
12、,用特殊屏蔽方式可以做到: 屏蔽当前中断级(IMR对应位为1); ISR中相应位复位,则较本级低的中断源申请可以得到响应。,20,屏蔽中断源方式 P331,普通屏蔽方式 将 IMR的 Di 位置1,对应的中断 IRi 将被屏蔽,该中断请求将不能从8259A送到CPU 如果将 IMR 的 Di位置0,则允许对应的中断产生 特殊屏蔽方式允许发生低级的中断嵌套,用于级连时的主片。 将IMR的 Di 位置1,中断IRi被屏蔽;同时,ISR的Di位将置0,允许发生低级的中断。,21,4. 与CPU的配合方式,与8086/8088 CPU配合中断响应时, INTA信号2个总线周期有效,8259A送相应的中
13、断向量号(1个字节)到数据总线。,8086/ 88 CPU,8259A,中断向量号,INTA,INTR,22,5. 级连方式,不级连只用1片,如 PC/XT 级连使用29片,如 PC/AT(2片),主片,从片,-INTA,INTR,IR0,IR7,IR7,IR0,CAS0CAS2=010,INT,INT,D0D7,23,中断级连,8259A可以级连,1个主片最多可以级连8个从片 级连时,主片的级连线CAS0CAS2连至每个从片的CAS0CAS2,输出被选中的从片编号, 每个从片的中断请求信号 INT,连至主8259A的一个中断请求输入端IRi;主片的 INT 线连至CPU的中断请求输入端INT
14、R 在非缓冲方式下,引脚SP/EN,通过接地指定该片充当从片(-SP0);反之若接高电平则该片充当主片(-SP1)。,24,6. 数据线连接方式,缓冲方式 对8259A的数据线(输出中断向量)加缓冲器予以隔离和驱动 SP/EN引脚作为输出端,输出允许信号,用以关闭或开启缓冲器 非缓冲方式 SP/EN引脚作为输入端 在8259A级连时,用它选择该芯片充当主片或从片,25,CAS0 IR0 CAS1 IR1 CAS2 IR2 IR3 INTA IR4 IR5 INT IR6 IR7 SP/EN,CAS0 INTA CAS1 CAS2 INT IR0 IR1 SP/EN IR7,CAS0 IR0 C
15、AS1 IR1 CAS2 IR2 IR3 INTA IR4 IR5 INT IR6 IR7 SP/EN,INTA,INTR,+5V,8259级联非缓冲工作示意图,8259A的级连,输出得到响应 的从片编号,26,7. 中断触发方式,边沿触发方式 中断请求输入端出现上升沿为有效的中断请求信号 电平触发方式 中断请求端出现高电平为有效的中断请求信号,27,8259A是可编程中断控制器,对其编程可以分为两部分: 初始化编程:由CPU向8259A送24个字节的初始化命令字 ICW(Initialization Command Word)。 工作方式编程:由CPU向8259A送三个字节的操作命令字 OC
16、W( Operation Command Word)。 8259A必须通过ICW初始化,则处于全嵌套工作方式, 在8259A工作期间,OCW规定或设置其工作方式,动态地控制CPU处理中断的过程。,五、8259A的编程,28,初始化编程 8259A开始工作前写入。 用户必须对8259A进行初始化编程。通过写入初始化命令字ICW对8259A进行初始化。共有ICW1-ICW4。 工作方式编程 在8259A工作期间写入,共有OCW1OCW3。 可以随时向8259A写入工作命令字OCW,使之按用户设置的新的工作方式进行工作 用户还可以通过写工作命令字OCW通知8259A,下面的操作要读取8259A中的状
17、态信息,以便了解其工作情况,29,1. 初始化命令字ICW,8259A在开始工作前必须写入初始化命令字 初始化命令字ICW最多可以有4个: ICW1ICW4 必须按照以下顺序依次写入 其中 ICW1 和 ICW2 是必须的 ICW3和ICW4是否需要,由具体的工作方式(在ICW1中的设置)决定。,30,ICW1 写入偶地址,A0=0,表示可以任意,为1为0都可以(建议为0) 1只能为1,作为标志,表示写的为ICW1 D3 中断触发方式: LTIM1,电平触发方式 LTIM0,边沿触发方式 D1 规定单片或级连方式: SNGL1,单片方式 SNGL0,级连方式 ,且后边要写ICW3 D0 是否写
18、入ICW4 IC41,要写入ICW4 IC40,不写入ICW4,即ICW4规定的位全为0,特征:A0=0,ICW1中D4=1 ICW1启动了8259A中的初始化顺序, 自动发生一系列事件,31,ICW1启动了8259A中的初始化顺序,自动发生一系列事件, 对中断请求信号边沿检测电路复位; 清IMR、ISR; 指定IR0优先级最高; 设定为普通屏蔽方式; 设定为非自动结束中断方式。,32,ICW2 写入奇地址 A0=1,设置中断向量号 T7T3为中断向量号的高5位 低3位由8259A自动确定: IR0为000、IR1为001、IR7为111,33,ICW3 写入奇地址 A0=1,针对从片,针对主
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 中断 控制器
链接地址:https://www.31doc.com/p-2590067.html