好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

8.2-8259a原理.ppt

45页
  • 卖家[上传人]:小**
  • 文档编号:58267051
  • 上传时间:2018-10-28
  • 文档格式:PPT
  • 文档大小:1.01MB
  • / 45 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 《微型计算机原理与接口技术》 第5版第8章 中断和可编程中断 控制器8259A,§8.2 8259A的工作原理,,8.2.1 8259A的引脚信号和内部结构 8.2.2 8259A的工作方式 8.2.3 8259A的命令字及编程,可编程中断控制器 8259A,中断控制器 8259A1. 8259A的引脚 8259A与CPU的接口引脚 8259A与外设的接口引脚 8259A级联时的接口引脚,8.2.1 8259A的引脚信号和内部结构,可接收8级中断,经4个8位寄存器判别后,优先级最高的中断请求信号从INT脚输出,送CPU的INTR脚请求可屏蔽中断内部结构,1.中断请求寄存器IRR (Interrupt Request Register) 外部8级中断请求信号从IR7~IR0脚上引入,有请求时相应位置1 多个中断请求可同时进入 例如IR7、IR5、IR2上有请求,IRR将置成10100100中断响应时相应位清0 中断请求信号可为高电平或上升沿触发,编程定义 2.中断屏蔽寄存器IMR (Interrupt Mask Register) 存放中断屏蔽信息,每1位与1个IR位对应,置1禁止对应中断请求进入系统。

      用来有选择地禁止某些设备请求中断内部结构,3.中断服务寄存器ISR(Interrupt Service Register) 保存正处理的中断请求任一中断被响应而执行其服务程序时,相应位置1,直到处理结束 多重中断情况下,会有多个位置1 4.优先级判决器PR(Priority Resolver) 判别请求寄存器IRR里中断的优先级,把优先级最高的中断请求选进服务寄存器ISR中去 多重中断出现时,PR判定新出现的中断能否去打断正在处理的中断,优先服务更高的中断级别内部结构,5.控制电路 包含一组初始化命令字寄存器ICW1~ICW4和一组操作命令字寄存器OCW1~OCW3,管理8259A的全部工作 根据IRR设置和PR判定,发控制信号 从INT脚向CPU发中断请求信号,接收CPU或总线控制器8288送来的中断响应信号 ; 中断响应时ISR相应位置1,并发送中断类型号n,经数据总线缓冲器送到D7~D0; 中断服务程序结束时,按编程规定方式结束中断内部结构,6.数据总线缓冲器 是8259A与CPU的接口,CPU经它向8259A写控制字,接收8259A送出的中断类型号,还可从中读出状态字(中断请求、屏蔽、服务寄存器的状态)和中断查询字。

      7.读/写控制电路 接收CPU的 、 、地址、片选 一片8259A只占两个I/O地址,XT机中A0接地址A0,口地址为20H、21H 与8086 连时,A0脚接地址A1,A0的0/1选偶/奇地址口 执行OUT指令时, 信号与A0配合,将控制字写入ICW和OCW寄存器; 执行IN指令时, 信号与A0配合,将内部寄存器的内容经D7~D0送给CPU内部结构,8.级联缓冲器/比较器 一片8259A最多引入8级中断,超过8级要用多片8259A构成主从关系,级联使用 从片输出INT接主片IRi 主从片的3条级联信号线CAS2~CAS0并接 单片时,从设备编程/允许缓冲线 接高电平;多片时,主片 接高电平,从片的接低电平 多片时,8259A必须经驱动器与数据总线相连,工作于缓冲方式;少量8259A系统中,8259A可直接与数据总线相连,工作于非缓冲方式§8.2 8259A的工作原理,8.2.1 8259A的引脚信号和内部结构 8.2.2 8259A的工作方式 8.2.3 8259A的命令字及编程,8.2.2 8259A的工作方式,写入初始化命令字ICW和控制命令字OCW,对8259A设置不同的工作方式。

      1.设置优先级方式 1)全嵌套方式:最基本方式,初始化后自动进入 从各IRi脚引入的中断请求具有固定优先级,IR0IR7依次降低,IR0 最高8259A初始化后自动进入此方式 中断响应后,中断服务寄存器ISR的对应位ISn置1,并保持到中断结束,类型号n出现在DB上,然后进入中断处理 由CPU发EOI命令结束中断,使ISn复位;也可发自动结束中断命令AEOI 处理过程中,高级中断打断低级中断,禁止低级或同级中断进入 2)特殊全嵌方式: 同全嵌套方式,但允许同级中断进入1.设置优先级方式,图中, 从片INT脚接主片的IR2, 主片角度看, 从片的8级中断为同级中断若正在处理IR3,则允许IR0~IR2进入, 即允许同级中断进入必须在IR3中断处理程序中,用STI指令开中断,才允许从片中断嵌套 但全嵌套方式禁止同级中断进入例8.3 同级中断举例1.设置优先级方式,3)优先级自动循环方式各中断请求优先级相同,IRi服务完后成为最低级,IRi+1成最高级初始优先级从高到低为IR0IR7 例8.4 参看下图的优先级自动循环方式示意图 图(a):初始状态IR0为最高级,若IR1、IR3、IR6同时请求中断,则ISR的IS1、IS3、IS6均置1。

      图(b):IR1先被服务,之后IS1=0,IR1成最低级,IR2为最高级,优先级顺序:IR2IR7、IR0、IR1 为IR3服务后IS3=0,IR3最低,IR4最高,依次类推1.设置优先级方式,4)优先级特殊循环方式 也称为设置最低优先级方式,与优先级自动循环方式类似,只是最低优先级由程序设置,并非IR7最低IRi设为最低后,IRi+1便是最高可用CLI指令关中断,禁止可屏蔽中断进入; 开中断情况下,可将中断屏蔽寄存器IMR的相应位置1,来屏蔽某一级或某几级中断有两种屏蔽方式:1)普通屏蔽方式将IMR中的某1位或某几位置1,就可将相应的中断请求屏蔽例如,令IMR=00100100,则IR5和IR2上的中断请求被屏蔽2)特殊屏蔽方式仅屏蔽本级中断,高级或低级中断都允许进入2.中断屏蔽方式,3.结束中断方式,中断响应后,ISR的相应位ISn置1,中断结束后应将ISn清0,表示结束中断 2种结束中断方式:自动和非自动,后者又分普通结束和特殊结束(EOI和SEOI) 1)自动结束中断方式—AEOI IRi上中断响应后,ISR相应位置1,在CPU发来的中断响应信号 的第2周期结束时, ISR相应位自动清0, 结束中断。

      AEOI方式,中断结束时不用对8259A发任何命令,通常在只有一片8259A,多个中断不会嵌套的情况下使用3.结束中断方式,2)普通结束中断方式—EOI 是常用的结束中断方式,用于全嵌套方式当CPU处理完1个中断请求时,需向8259A发EOI命令,8259A收到EOI后,将ISR寄存器中优先级最高的中断,也就是刚服务过的中断的ISn清零,从而结束中断 3)特殊结束中断方式—SEOI 在非完全嵌套方式下,用ISR寄存器无法确定当前正在处理哪级中断,也无法确定哪级中断是最后响应和处理的,不能用EOI方式结束中断,要用特殊方式这时要用OCW2命令中的L2~L0来指定将ISR寄存器的哪1位清04.中断查询方式-POLL,使用一条IN指令读取中断查询字,就可查到8259A是否有中断请求以及哪个优先级最高下图是中断查询字格式,,§8.2 8259A的工作原理,8.2.1 8259A的引脚信号和内部结构 8.2.2 8259A的工作方式 8.2.3 8259A的命令字及编程,8.2.3 8259A的命令字及编程,为使8259A按预定方式工作,必须对它编程,由CPU向其控制寄存器发各种控制命令。

      控制命令有两类: 初始化命令字ICW1~ICW4,对8259A初始化; 操作命令字OCW1~OCW3,定义操作方式 在操作过程中,允许重设置操作命令字,动态改变8259A的控制方式 两类命令字被写入8259A的两个端口,一个为偶地址口,8259A的A0=0,另一个为奇地址口,A0=1 在XT机中,偶/奇地址口为20H和21H1.初始化命令字ICW 初始化命令字ICW1~ICW4顺序写入控制口,设置8259A初始状态8086系统中ICW1、ICW2和ICW4必须要有,ICW3只在级联时用 ICWl,,A0=0,ICW1写入偶地址口;D4=1标志位;IC4=1需要设ICW4;单片时SNGL=1, 不要写入ICW3, 级联时SNGL=0, 要写入ICW3;LIMT=1从IRi引入中断为电平触发,0边沿触发;A7~A5及ADI位用于8位CPU初始化命令字,ICW2 ICW2紧跟ICW1写入,A0=1,写入奇地址口,无标志位 T7~T3位用于确定中断类型码n的高5位,低3位D2~D0则由8259A根据从IRi上引入中断的引脚序号自动填入,从IR0~IR7的序号依次为000~111,其初值可以置为0。

      ICW2的高5位内容是可以任选的,一旦高5位确定,一块芯片的8个中断请求信号IR0~IR7的中断类型号也就确定了初始化命令字,例8.4 在PC/XT机中,ICW2的高5位T7~T3=00001B,若从IR5上引入中断请求,则其中断类型码n=? 如何设置ICW2? 从IR5上引入的中断类型号的低3位D2~D0=101B,由于高5位是00001B,所以从IR5上引入的中断类型码n=00001 101B=0DH,表示是硬盘中断请求因此设置ICW2的指令为:MOV AL ,00001000BOUT 21H ,AL 据此可知,若ICW2的高5位为01110B,则该8259A引入的8级中断的中断类型号n = 01110000B ~ 01110111B = 70H~ 77H,这是为PC/AT机设置的ICW2 初始化命令字,ICW3 ICW3只在级联时使用图8.15是ICW3的格式和8259A主从结构连接图 (a)主片ICW3格式Si=0, IRi上未接从片, Si=1接有从片 (b)从片ICW3格式低3位指明从片接主片哪个引脚,ID2~ ID0 = 000 ~111表示IR0~IR7引脚初始化命令字,例8.5 用3片8259A按主从结构连接,如图8.15(c)。

      主片口地址为20H/21H, 从片1口地址为A0H/A1H,从片2为B0/B1H试求出3片8259A的ICW3,并编程将ICW3写入各芯片的奇地址口中 主片IR2、IR7接从片,故主片ICW3=10000100B=84H,从片1接主片IR2,故从片1的ICW3=00000010B =02H;从片2接主片IR7,故从片2的ICW3=00000111B=07H 对各芯片写入初始化命令字ICW3:MOV AL, 84H ;主片程序OUT 21H, ALMOV AL, 02H ;从片1程序OUT 0A1H, ALMOV AL, 07H ;主片2程序OUT 0B1H,AL,初始化命令字,ICW4 8086系统ICW4必须设置, 写入奇地址口无级联时ICW4应在ICW2后写入, 级联时它在ICW3后写入 图8.16 ICW4的格式:,,初始化命令字,ICW4各位的含义: D7~D5=000, 为标志位; PM=1, 选择8086系统; AEOI=1, 选择AEOI方式, 即自动结束中断方式;AEOI=0, 为非AEOI(非自动结束中断)方式, 须在中断服务程序中安排操作命令字OCW2, 选择所需的方式结束中断。

      BUF和M/S配合使用决定缓冲或非缓冲方式等; SFNM=1,设置特殊全嵌套方式(Special Fully Nested Mode), 否则为一般全嵌套方式初始化命令字, 图8.17 8259A初始化命令字写入流程图 初始化命令字必须从ICW1开始顺序写入规定端口; 级联时要写入ICW3,无级联时无需写入 级联时ICW4应在ICW3后写入,无级联时在ICW2后写入 只有ICW1写入偶地址口,即A0=0,其余都写入奇地址口。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.