戴金色帽子 打鼓:8259A内部结构及其引脚功能

来源:百度文库 编辑:偶看新闻 时间:2024/04/26 07:44:48
可编程中断控制器8259A是28引脚双列直插式芯片,单一+5V电源供电.  其内部结构及引脚信号如图6.9所示。
 

1.内部结构

 (1)数据总线缓冲器

  数据总线缓冲器为三态、双向、8位寄存器,数据线D7~D0与CPU系统总线连接,构成CPU与8259A之间信息传送的通道。

 (2)读/写控制逻辑

  读/写控制逻辑用来接收CPU系统总线的读/写控制信号和端口地址选择信号,用于控制8259A内部寄存器的读/写操作。
         
            

 (3)级联缓冲/比较器

  8259A既可以工作于单片方式,也可以工作于多片级联方式,级联方式硬件连接如图6.10所示。级联缓冲/比较器提供多片8259A的管理和选择功能,其中一片为主片,其余为从片。

 (4)中断控制逻辑

  中断控制逻辑按照编程设定的工作方式管理中断,负责向片内各部件发送控制信号,向CPU发送中断请求信号INT和接收CPU回送的中断响应信号,控制8259A进入中断管理状态。

         

 (5)中断请求寄存器(interrupt request register,IRR)

  IRR是一个8位寄存器,用于记录外部中断请求。其中D7~D0分别与外部中断请求信号IR7~IR0相对应,当IRii=0~7)有请求(电平或边沿触发)时,IRR中的相应位Di置1,在中断响应信号有效时,Di被清除。

 (6)中断服务寄存器(interrupt service register,ISR)

  ISR是一个8位寄存器,用于记录CPU当前正在服务的中断标志。当外部中断IRii=0~7)的请求得到CPU响应进入服务时,由CPU发来的第一个中断响应脉冲将ISR中的相应位Dii=0~7)置1,而ISR的复位则由8259A中断结束方式决定。若定义为自动结束方式,则由CPU发来的第二个中断响应脉冲的后沿将Di复位为0;若定义为非自动结束方式,则由CPU发送来的中断结束命令将其复位。

 (7)中断屏蔽寄存器(interrupt mask register,IMR)

  IMR是一个8位寄存器,用来存放IR7~IR0的中断屏蔽标志。它的8个屏蔽位D7~D0与外部中断请求IR7~IR0相对应,用于控制IRi的请求是否允许进入。当IMR中的Di位为1时,对应的IRi请求被禁止;当IMR中的Di位为0时,则允许对应的中断请求进入。它可以由软件设置或清除,通过编程设定屏蔽字,可以改变原来的优先级别。

 (8)优先权判决器(priority register,PR)

  优先权判决器对IRR中记录的内容与当前ISR中记录的内容进行比较,并对它们进行排队判优,以便选出当前优先级最高级的中断请求。如果IRR中记录的中断请求的优先级高于ISR中记录的中断请求的优先级,则由中断控制逻辑向CPU发出中断请求信号INT,中止当前的中断服务,进行中断嵌套。如果IRR中记录的中断请求的优先级低于ISR中记录的中断请求的优先级,则CPU继续执行当前的中断服务程序。

2.引脚信号

  8259A引脚信号如图6.11所示:
               

  D7~D0(bidirectional data bus):双向、三态数据线,与CPU系统总线连接。

  (read):读信号,输入,低电平有效。当有效时CPU对8259A进行读操作。

  (write):写信号,输入,低电平有效。当有效时CPU对8259A进行写操作。

  A0(address line):端口地址选择信号,输入,由8259A片内译码,选择内部寄存器。

  (chip select):片选信号,输入,低电平有效。当有效时8259A被选中。

  有关寄存器的端口地址分配及读/写操作功能见表6.2。

  (slave program/enable buffer):双向信号线,用于从片选择或总线驱动器的控制信号。当8259A工作于非缓冲方式时,作为输入信号线,用于从片选择。级联中的从片接低电平,主片接高电平。当8259A工作于缓冲方式时,作为输出信号线,用做8259A与系统总线驱动器的控制信号。
  INT(interrupt request):中断请求信号,与CPU的中断请求信号相连。

  (interrupt acknowledge):中断响应信号,与CPU的中断应答信号相连。

  CAS2~CAS0(cascade lines):级联信号线,作为主片与从片的连接线,主片为输出,从片为输入,主片通过CAS2~CAS0的编码选择和管理从片。

  IR7~IR0(interrupt requests):中断请求输入信号,由外设输入。

  VCC:+5V电源输入信号。   GND:电源地