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

可编程中断控制器intel 8259a.ppt

39页
  • 卖家[上传人]:wt****50
  • 文档编号:49281650
  • 上传时间:2018-07-26
  • 文档格式:PPT
  • 文档大小:847KB
  • / 39 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第7章 输入/输出与中断 7.5 可编程中断控制器Intel 8259A 芯片的特点:-可编写程序控制芯片的多项功能-可提供多中断源的中断类型码-中断源有多种触发方式-可屏蔽/允许输入端的中断源-采用NMOS工艺制造,只需要一组5V电源使用形式:-单片方式——可提供8个中断源-级联方式——最多提供64个中断源(9片) 第7章 输入/输出与中断 8259A引脚及功能示意图28个DIP封装8个中断源输入8个数据线1位片内地址线3条控制线4条级联线2条中断响应请求线2条电源线 图7.22 8259A引脚第7章 输入/输出与中断 8259A引脚及功能结构与中断源有关(14个)IR7IR0:外部中断源输入引脚INT:中断请求输出引脚,接8086CPU的INTR:中端响应输入引脚,接8086CPU的CAS0 CAS2:级联选择线SP/EN:级联控制线第7章 输入/输出与中断 8259A引脚及功能结构与CPU有关(12个)D7D0:8位数据传送线INT:中断请求输出引脚,RD、WR:读/写控制线CS:片选控制线A0:片内地址线第7章 输入/输出与中断 7.5.2 8259A的内部结构及外部引脚1.8259A的内部结构 图7.21 8259A内部结构框图 第7章 输入/输出与中断 中断请求寄存器IRR(Interrupt Request Register),8位,接受并锁存来自IR0~IR7的中断请求信号,当IR0~IR7上出现某一中断请求信号时,IRR对应位被置1;中断屏蔽寄存器IMR(Interrupt Mask Register),8位,若IRR中记录的各级中断中有任何一级需要屏蔽,只要将IMR的相应位置1即可,未被屏蔽的中断请求进入优先权判别器;中断服务寄存器ISR(In-Service Register),8位,保存当前正在处理的中断请求,例如,如果ISR的D2=1,表示CPU正在为来自IR2的中断请求服务;优先权判别器PR(Priority Resolver)能够将各中断请求中优先级最高者选中,并将ISR中相应位置1。

      若某中断请求正在被处理,8259A外部又有新的中断请求,则由优先权判别器将新进入的中断请求和当前正在处理的中断进行比较,以决定哪一个优先级更高若新的中断请求比正在处理的中断级别高,则正在处理的中断自动被禁止,先处理级别高的中断,由PR通过控制逻辑向CPU发出中断申请INT 第7章 输入/输出与中断 数据总线缓冲器是8259A与系统之间传送信息的数据通道读/写控制逻辑包含了初始化命令字寄存器和操作命令字寄存器其功能是确定数据总线缓冲器中数据的传输方向,选择内部的各命令字寄存器当CPU发读信号时将8259A的状态信息放到数据总线上;当CPU发写信号时,将CPU发来的命令字信息送入指定的命令字寄存器中级联缓冲/比较器用来存放和比较在系统中用到的所有8259A的级联地址主控8259A通过CAS0、CAS1和CAS2发送级联地址,选中从控8259A 第7章 输入/输出与中断 2.8259A的外部引脚8259A采用28脚双列直插封装形式,如图7.22所示CS:片选信号,输入,低电平有效,来自地址译码器的输出只有该信号有效时,CPU才能对8259A进行读/写操作WR:写信号,输入,低电平有效,通知8259A接收CPU从数据总线上送来的命令字。

      RD:读信号,输入,低电平有效,用于读取8259A中某些寄存器的内容(如IMR、ISR或IRR) 第7章 输入/输出与中断 D7D0:双向、三态数据线,接系统数据总线的D7D0,用来传送控制字、状态字和中断类型号等IR7IR0:中断请求信号,输入,从I/O接口或其他8259A(从控制器)上接收中断请求信号在边沿触发方式中,IR输入应由低到高,此后保持为高,直到被响应在电平触发方式中,IR输入应保持高电平INT:8259A向CPU发出的中断请求信号,高电平有效,该引脚接CPU的INTR引脚INTA:中断响应信号,输入,接收CPU发来的中断响应脉冲以通知8259A中断请求已被响应,使其将中断类型号送到数据总线上 第7章 输入/输出与中断 CAS0CAS2:级联总线,输入或输出,用于区分特定的从控制器件8259A作为主控制器时,该总线为输出,作为从控制器时,为输入SP/EN:从片/允许缓冲信号,输入或输出,该引脚为双功能引脚在缓冲方式中(即8259A通过一个数据总线收发器与系统总线相连),该引脚被用做输出线,控制收发器的接收或发送;在非缓冲方式中,该引脚作为输入线,确定该8259A是主控制器(SP/EN=1)还是从控制器(SP/EN=0)。

      8259A的级联方式如图7.23所示 A0为地址输入信号,用于对8259A内部寄存器端口的寻址第7章 输入/输出与中断 7.5.3 8259A的工作过程⑴初始化工作过程8259初始化是由CPU发送2-4个初始化命令字ICW来实现的⑵接受外设中断请求初始化后8259进入正常工作状态当外部中断源通过IRn引脚向 8259发出有效中断请求时,8259会自动将其内部中断请求寄存器 IRR的相应位置1以记录并保持外设的中断请求⑶中断屏蔽判断中断请求寄存器IRR中的被置位与中断屏蔽寄存器IMR的相应位 比较,如果没有被屏蔽,信号被送入优先级分析器第7章 输入/输出与中断 ⑷中断判断中断请求进入优先权分析器PR后,PR将其中的最高优先权与服 务状态寄存器ISR中正在处理的中断优先权比较以确定是否通过 INT脚向CPU送出中断请求信号⑸中断响应CPU接受到8259的中断请求后,如果CPU内的中断允许标志IF=1 ,则在当前指令执行完后进入中断相应周期第7章 输入/输出与中断 注意: CPU收到中断请求后,若IF=1,则CPU完成当前指令后,响应中断,即执行两个中断响应总线周期,在 引脚上发出两个负脉冲。

      8259A收到第一个负脉冲后,使IRR锁存功能失效,不接受IR0~IR7上的中断请求信号;直到第二个负脉冲结束后,才又使IRR锁存功能有效,并清除IRR的相应位,使ISR的对应位置1,以便为优先级裁决器以后的裁决提供依据收到第二个负脉冲后,8259A把当前中断的中断类型号送到D7~D0,CPU根据此类型号进入相应的中断服务程序第7章 输入/输出与中断 ⑹中断结束如果8259初始化为中断自动结束方式,即ICW4 的AEOI=1,在第 二个负脉冲结束时,ISR中的被第一个负脉冲置位的位即被复位 如果8259初始化为非自动结束中断方式,即ICW4 的AEOI=0,则 等到中断结束命令送到OCW2后,才清除ISR中的相应位,表明 中断服务程序结束第7章 输入/输出与中断 7.5.4 8259A的编程8259A是可编程的中断控制器,它的工作状态和操作方式是由 CPU通过命令字进行控制的8259A有两类命令字——初始化命令 字ICW(Initialization Command Words)和操作命令字OCW(Operation Command Words)相应地,在8259A的控制部分有7个CPU可访问 的寄存器,这些寄存器分成两组:一组用做存ICW,另一组存OCW 。

      当计算机刚启动时,用初始化程序设定ICW,即由CPU按次序发 送24个不同格式的ICW,用来建立起8259A操作的初始状态,此后 的整个工作过程中该状态保持不变相反,操作命令字(OCW)用于 动态控制中断处理,是在需要改变或控制8259A操作时随时发送的 每片8259A有2个片内地址A0=0和A0=1,所有的命令字都是通过 这两个端口来发送的注意,当发出ICW或OCW时,CPU中断申请 引脚INTR应关闭(使用CLI指令)第7章 输入/输出与中断 1.初始化命令字1) ICW1ICW1主要用于设置芯片控制方式,其格式及各位的定义如图7.24所示 图7.24 ICW1的作用 第7章 输入/输出与中断 对A0=0的端口写入一个D4=1的数据,表示初始化编程开始D4:特征位,必须为1;D3:LTIM位,设置中断请求信号的触发方式,0为边沿触发,1为高电平触发D1:SGNL位,是否工作在单片方式,0为多片级联,1为单片D0:IC4 位,是否有ICW4,0表示后面不需设置命令字ICW4,1表示后面还需要设置ICW4D2和D7D5这4位在仅对8080/8085系统有意义,8086/8088系统中这4位不用,通常置为0。

      第7章 输入/输出与中断 2) ICW2ICW2用于设置中断类型号,写入A0=1的端口,其格式如图7.25所示 图7.25 ICW2的作用 第7章 输入/输出与中断 在8086/8088系统中,只设置D7D3,即只需设置中断类型号的高5位,编程时D2D0的值可任意设定(通常设为0),D2D0的实际内容由8259A根据中断请求来自IR0IR7的哪一个输入端,自动填充为000111中的某一组编码,与高5位一同构成8位的中断类型号例如,在PC/XT中ICW2为00001000B,则对于从IR0、IR1、IR2、IR3、IR4、IR5、IR6和IR7上引入的各中断请求,其相应的中断类型号为08H、09H、0AH、0BH、0CH、0DH、0EH和0FH 第7章 输入/输出与中断 3) ICW3ICW3用于设置级联,写入A0=1的端口,格式如图7.26所示 图7.26 ICW3的作用 第7章 输入/输出与中断 只有当系统中有级联(ICW1的SNGL位为0)时,才写入ICW3对于主片,ICW3的S0S7指明了IR0IR7各引脚连接从片的情况,置1的位表示对应的引脚有从片级联。

      例如,若主片ICW3的内容为07H(00000111B)时,说明主片的IR0、IR1、IR2上连有从片对于从片,ICW3的D7D3不用,置0即可;用D2D0表示与主片的对应引脚级联,例如,若某从片ICW3的内容为07H,说明该从片的INT引脚与主片的IR7相连 第7章 输入/输出与中断 4) ICW4ICW4用于设置8259A的工作方式,写入A0=1的端口,格式如图7.27所示ICW1的IC4位为1时,才写入ICW4 图7.27 ICW4的作用 第7章 输入/输出与中断 D4:SFNM位,设置中断的嵌套方式,0为一般嵌套方式,1为特殊的全嵌套方式D3:BUF位,若该位为1,则8259A工作于缓冲方式,8259A通过数据总线收发器和总线相连,SP/EN引脚为输出;该位为0,8259A工作于非缓冲方式,SP/EN引脚为输入,用做主片、从片选择端D2:M/S位,当D3即BUF位为1时,该位才有效,用于主片/从片选择,0表示本片8259A为从片,1表示本片8259A为主片;当BUF位为0时,该位无效,可设为任意值 第7章 输入/输出与中断 D1:AEOI位,设置结束中断方式0表示中断正常结束,靠中断结束指令清除ISR相应位;1表示自动结束中断,即CPU响应中断后,立即自动清除ISR相应位。

      D0:μPM位,设置微处理器类型0表示系统采用8080/8085微处理器;1表示系统采用8086/8088微处理器 第7章 输入/输出与中断 2.初始化编程8259A初始化流程图如图7.28所示任何一种8259A的初始化都必须发送ICWl和ICW2,只有在ICWl中指明需要ICW3和ICW4以后,才发送ICW3和ICW4一旦初始化以后,若要改变某一个ICW,则必须重新再进行初始化编程,不能只是写入单独的一个ICW例如,PC/AT机中8259A的主片定义为:上升沿触发、在IR2级联从片、有ICW4、非AEOI方式、中断类型号08H0FH、一般的中断嵌套方式、端口地址是20H、21H;从片定义为:上升沿触发、级联到主片的IR2、有ICW4、非AEOI方式、中断类型号为70H78H、一般的中。

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