接口技术8259a中断控制器原理及应用

上传人:今*** 文档编号:107840293 上传时间:2019-10-21 格式:PPT 页数:62 大小:1.42MB
返回 下载 相关 举报
接口技术8259a中断控制器原理及应用_第1页
第1页 / 共62页
接口技术8259a中断控制器原理及应用_第2页
第2页 / 共62页
接口技术8259a中断控制器原理及应用_第3页
第3页 / 共62页
接口技术8259a中断控制器原理及应用_第4页
第4页 / 共62页
接口技术8259a中断控制器原理及应用_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《接口技术8259a中断控制器原理及应用》由会员分享,可在线阅读,更多相关《接口技术8259a中断控制器原理及应用(62页珍藏版)》请在金锄头文库上搜索。

1、8259A中断控制器 原理及应用 (6.3节),2,8259A中断控制器,Intel 8259A是可编程中断控制器PIC 可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中断 8259A的基本功能 一片8259A可以管理8级中断,可扩展至64级 每一级中断都可单独被屏蔽或允许 在中断响应周期,可提供相应的中断向量号 8259A设计有多种工作方式,可通过编程选择,3,8259A的内部结构和引脚,4,1. 中断控制,中断请求寄存器IRR 保存8条外界中断请求信号IR0IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求 中断服务寄存器IS

2、R 保存正在被8259A服务着的中断状态 Di位为1表示IRi中断正在服务中;为0表示没有被服务 中断屏蔽寄存器IMR 保存对中断请求信号IR的屏蔽状态 Di位为1表示IRi中断被屏蔽(禁止);为0表示允许 (与IF标志位的规定相反),5,2. 与处理器接口(读写控制逻辑部分),注:ICW初始化命令字,OCW操作命令字,6,3. 中断级连,单片8259A可支持8个中断源; 采用多片8259A级连,可最多支持64个中断源。N片8259A可以支持8*N-(N-1)个中断源 级连时只能有一片8259A为主片,其余的均为从属片; 涉及到的8259A引脚包括: CAS0-CAS2 : 主8259A的三条

3、级连线CAS0CAS2作为输出线,连至每个从8259A的CAS0CAS2 SP*/EN*:在非缓冲方式下,规定该8259A是主片(SP*1)还是从片(SP*0) IRi : 每个从8259A的中断请求信号INT,连至主8259A的一个中断请求输入端IR INT :主8259A的INT线连至CPU的中断请求输入端,级连电路连接方法,演示,8259A的工作过程,8259A对中断请求的处理过程如下: 当某IRi有效时,IRR相应位置1 若有效的IRi未被屏蔽,则向CPU发出中断请求 检测到第1个INTA*信号后,置ISRi=1,IRRi=0 检测到第2个INTA*信号后,把ISRi=1中最高优先级的

4、中断类型码放到DB上 若工作在AEOI方式,在第2个INTA*结束时,使ISRi复位;否则由CPU发出EOI命令使ISRi复位,动画,9,8259A的工作过程(续),10,8259A的工作方式(理解),11,1. 优先权固定方式,普通全嵌套方式 8259A的中断优先权顺序固定不变,从高到低依次为IR0、IR1、IR2、IR7 中断请求后,8259A对当前请求中断中优先权最高的中断IRi予以响应,将其向量号送上数据总线,对应ISR的Di位置位,至到中断结束(ISR的Di位复位) 在ISR的Di位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权中断的嵌套 特殊全嵌套方式,一中断正被处理

5、时,允许同级或更 高优先级的事件可以打断当前的中 断处理过程而被服务。(参阅教材P190P191) 注: 特殊全嵌套仅用于多个8259A级连时的主8259A,而不能用于从属8259A或单8259A系统。,特殊全嵌套方式,D.,主8259A,IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7,一般嵌套方式: 从片的INT被主片封锁,故更高级别的IR0-IR2中断也无法得到响应,特殊嵌套方式: 因主片不封锁从片的INT,故级别高的IR0-IR2中断可以得到响应。(但IR3-IR7仍被本从片封锁),C.,假定IR3发生中断,并获得服务,一般嵌套方式:IR4的中断被服务时,这些中断将被封锁

6、。,B.,特殊嵌套方式:IR4的中断被服务时,只封锁IR5-IR7。,A.,INT,E.,从8259A,INT,IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7,普通(一般)全嵌套方式 VS. 特殊全嵌套方式,去CPU,2、循环优先级方式,中断源轮流处于最高优先级,某中断请求IRi被处理后,其优先级别自动降为最低,原来比它低一级的中断上升为最高级 自动循环:初始优先级自动规定 特殊循环:初始优先级可用编程改变 适用于多个中断源具有相同优先权,IR7,IR6,IR5,IR4,IR3,IR2,IR1,IR0,7,6,5,4,3,2,1,0,2,1,0,7,6,5,4,3,最低级,最高

7、级,最高级,最低级,ISR内容,IR7,IR6,IR5,IR4,IR3,IR2,IR1,IR0,IR4的服务结束以前,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,IR4的服务结束以后,ISRi,15,3. 结束中断处理方式,什么是8259A的中断结束?,8259A利用中断服务寄存器ISR判断: 某位为1,表示正在进行中断服务; 该位为0,就是该中断结束服务。 这里说明如何使ISR某位为0,不反映CPU的工作状态。,16,结束中断处理方式(续),自动中断结束方式AEOI 在第2个INTA#结束时,由8259A使ISRi自动复位 非自动中断结束方式1:普通中断结束方式EOI 配

8、合全嵌套(固定)优先权方式使用 当CPU用输出指令往8259A发出普通中断结束EOI命令时,8259A就会把所有正在服务的中断中优先权最高的ISR位复位 非自动中断结束方式2:特殊中断结束方式SEOI 配合循环优先权方式使用 CPU在程序中向8259A发送一条特殊中断结束命令,这个命令中指出了要清除哪个ISR位,17,4. 屏蔽中断源方式,普通屏蔽方式 将IMR的Di位置1,则对应的中断IRi被屏蔽,该中断请求不能从8259A送到CPU 如果IMR的Di位置0,则允许IRi中断产生 特殊屏蔽方式 使用场合:在执行较高级的中断服务时,希望开放较低级的中断请求。 原理:将IMR的Di位置1,对应的

9、中断IRi被屏蔽的同时,使ISR的Di位置0。假定当前正在处理IR6,先进入特殊屏蔽方式,然后设置IM6=1。这时,除IR6外的所有中断请求均能得到响应。 特殊屏蔽方式中只能用SEOI命令结束中断。,18,5. 中断触发方式,边沿触发方式 8259A将中断请求输入端出现的上升沿作为中断请求信号 电平触发方式 中断请求端出现的高电平是有效的中断请求信号,19,6. 数据线连接方式,缓冲方式 8259A的数据线需加缓冲器予以驱动 8259A把SP*/EN*引脚作为输出端(输出允许信号),用以锁存或开启缓冲器(enable buffer) 非缓冲方式 SP*/EN*引脚为输入端(slave prog

10、ram) 若8259A级连,由其确定是主片(sp=1)或从片 (sp=0),20,8259A的编程,初始化编程 8259A开始工作前,必须进行初始化编程 给8259A写入初始化命令字ICW(ICW1ICW4) 中断操作编程 在8259A工作期间 可以写入操作命令字OCW(OCW1OCW3)将选定的操作传送给8259A,使之按新的要求工作 还可以读取8259A的信息,以便了解它的工作状态,8259A内部寄存器的寻址方法,需要CS#、A0、RD#、WR#和D4、D3的配合 内部寄存器的访问方法如下表:,8259A的初始化顺序,8259的初始化流程如图 (注意次序不可颠倒 ),写ICW1,写ICW2

11、,级连?,写ICW3,需ICW4?,写ICW4,N,N,Y,Y,8259A的控制命令字,初始化8259A必须从ICW1开始 写ICW1意味着重新初始化8259A 写入ICW1后,8259A的状态如下: 清除ISR和IMR(全0); 将中断优先级设成初始状态:IR0最高,IR7最低; 设定为普通(一般)屏蔽方式; 采用非自动中断结束方式; 状态读出逻辑预置为读IRR。,24,ICW1初始化字,表示可以任意 为1为0都可以(建议为0),1只能为1,作为标志,中断触发方式: LTIM1,电平触发方式 LTIM0,边沿触发方式,规定单片或级连方式: SNGL1,单片方式 SNGL0,级连方式,是否写入

12、ICW4 IC41,要写入ICW4 IC40,不写入ICW4,即ICW4规定的位全为0,ICW1芯片控制初始化命令字,LTIM: 触发方式 =1 高电平触发 =0 上升沿触发 SNGL: 级连控制 =1 单片 =0 级连 IC4: ICW4控制 =1 要写ICW4(8086配合8259则此位必须为1) =0 不写ICW4(默认ICW4为全0),A0 D7 D6 D5 D4 D3 D2 D1 D0 0 x x x 1 LTIM x SNGL IC4,ICW1的标志,ICW2中断向量码基值,T7T3: 中断向量码的高5位 T2T0: 最低3位为中断源的序号IRn 000111分别对应IR0IR7

13、由8259A根据中断源的序号自动填入 例如: 若ICW2命令字为48H,则IR0的中断向量码为48H,IR7的中断向量码为4FH,等等。,A0 D7 D6 D5 D4 D3 D2 D1 D0 1 T7 T6 T5 T4 T3 x x x,ICW3级连控制字,主片的级联控制字 (位映像方式) Si=1 对应IRi线上连接了从片,A0 D7 D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0,从片的级联控制字 (编码方式) ID2ID0 标识码,说明本从片连接到主片的哪个IR引脚上。 000111分别对应IR0IR7。,A0 D7 D6 D5 D4 D3

14、D2 D1 D0 1 0 0 0 0 0 ID2 ID1 ID0,ICW3级连控制字(续),ICW3必须与主从片的连接关系一致: 例如,主片的IR4与从片的INT线连接,则主片的ICW3=10H,从片的ICW3=04H。 中断响应时,主片通过级连线CAS2-CAS0送出被允许中断的从片标识码,各从片用自己的ICW3与CAS2-CAS0比较,二者一致的从片才可发送中断向量码。,演示,29,ICW4,嵌套方式: 特殊全嵌套方式(SFNM1) 普通全嵌套方式(SFNM0),数据线的缓冲方式: 缓冲方式(BUF1) 非缓冲方式(BUF0),主片/从片选择: 主片(M/S=1) 从片(M/S=0),中断

15、结束方式: 自动中断结束(AEOI1) 非自动中断结束(AEOI0),微处理器类型: 16位80x86(PM1) 8位8080/8085(PM0),ICW4方式控制初始化命令字,SFNM: 特殊全嵌套(special fully nested mode) 1 特殊全嵌套方式 0 一般全嵌套方式 AEOI: 自动EOI 1 自动EOI方式 0 非自动EOI方式,A0 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNM BUF M/S AEOI 1,BUF: 缓冲方式 M/S: 主/从缓冲选择 BUF M/S 1 1 缓冲方式/主PIC 1 0 缓冲方式/从PIC 0 x 非缓冲方式/正常,初始化主片8259A,mov al,11h ;写入ICW1:设定边沿触发,级连方式 out 20h,al ;主片I/O地址是20H和21H jmp intr1 ;本程序段的转移指令起延时作用,等待8259A操作结束 intr1: mov al,08h;写入ICW2:设定主片IR0的中断向量号为08H out 21h,al jmp intr2 intr2: mov al,04h ;写入ICW3:设定主片IR2级连从片 out 21h,al jmp intr3 intr3: mov al,05h;写入ICW4:设定普通全嵌套方式,普通中断结束方式 out 2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号