8259A中文手册

  • 格式:pdf
  • 大小:183.81 KB
  • 文档页数:12

intel 8259a 可编程中断控制器 ●8086,8088兼容 ●MCS-80,MCS-85兼容 ●8位优先级控制 ●可扩展至64级 ●可编辑中断模式

●独立中断请求屏蔽功能 ●单电源+5v,无时钟 ●28脚DIP或PLCC封装 ●高速-标准温度范围 -扩展温度范围 intel 8259a 可编程中断控制器可以为CPU处理8位优先级中断,而且,无须额外电路即可级联扩展至64位优先级中断处理。28脚DIP封装,使用NMOS技术,电路是静态的,无须时钟信号输入。 8259a被设计用来减少软件和实时处理的多级优先级中断。它有多种模式,满足系统的多种需要的最佳化。 8259a全面向上兼容intel8259。原先为8259所写的软件,可以使用8259a代替(MCS-80.85,无缓冲边沿触发)。

表一。管脚描述 符号 管脚号 类型 名字和功能 VCC

28 I 电源:+5V

GND 14 I 地 CS 1 I 芯片使能:低电压时,允许CPU与8259a之间/RD、/WR的通信。但INTA功能与它独立 WR 2 I 写:低电压且CS亦为低电压时,8259a接受来自CPU的命令字 RD 3 I 读:它与CS皆为低电压时,允许8259a将状态通过数据总线发到CPU D7-D0 4-11 I/O 双向数据总线:控制,状态和中断向量信息通过此传输

图一.模块框图 图二。管脚配置 CAS0-CAS2 12,13,15 I/O 级联线:CAS线组成8259a的私有总线以控制多8259a架构。对主片为输出,对从片为输入 SP/EN 16 I/O 从编程/缓冲器允许信号:这是一个双功能管脚。当缓冲模式时,它可作为输出到缓冲接收器(EN)。当非缓冲模式,作为输入以指定是否是主/从片(SP=1时主片) INT 17 O 中断:当一个有效的中断请求判定出时,该管脚变为高电平;用于给cpu中断 IR0-IR7 18-25 I 中断请求:异步输入。当如下情况时,被判定为中断请求:出现上升沿电压且保持高电压直至被识别(边沿触发模式),或者高电平触发。 INTA 26 I 中断响应:用于允许8259a中断向量数据传输到数据总线,由其定序。 A0 27 I A0地址线:与/CS,/WR,/RD配合使用。用于解析来自cpu的不同信息和cpu想要读出的状态。一般与a0线相接(8086时A1)

功能说明书

微机系统上的中断 微机系统设计需要I/O设备,诸如键盘,显示器,传感器,和其他部件,并且以一种有效的方式接受I/O设备的服务,这样在整个过程中,微机才可以承担大量的系统任务而无所影响。 最常用的使用这些设备的方法是检测法。此即处理器必需以一定次序检测每一个设备,并且询问它需要服务的每一个设备。显而易见,主程序的很大一部分被这些持续的检测循环所占据,而且这种方法对系统有着严重的影响,限制了微机能够成带的任务,减少了使用这些设备的性价比。 一个更好的方法是,能够允许微处理器执行主程序并且只有当周边设备请求时才停下来去处理(周边设备的请求)。确实,这种方法将提供一个外部的异步输入,以通知处理器结束当前正被执行的指令,取得服务请求设备的子程序。一旦这个服务结束,处理器将重新继续放下的任务。 这种方法叫做中断。显然,系统效能大大增加,这样处理器可以承担更多的任务,进一步的提高其性价比。 可编程中断控制器(PIC)功能上是中断驱动系统环境下的总管家,决定那一个输入优先级最高,确定输入请求是否拥有比当前服务级别更高的优先级,并且将决定出的中断通知cpu。 每一个周边设备或者架构通常都有一个与其特殊功能或工作要求相关联的程序,他被称为服务程序。PIC给CPU中断后,必须输入给CPU信息,以指出程序响应与请求设备相关的服务程序。这个指针是一个位表地址,并会被经常访问。

8259a 8259a是一个专门用在实时中断驱动的微机系统。它管理8级优先级或中断请求并可与其他8259a芯片级联(可达64级)。它被系统软件当做周边I/O设备来操作。编程者可以选择8259a的工作方式,以满足系统需要。优先级模式可以在主程序之间随时更改。这意味着整个中断结构可以根据系统需要而定义。 中断请求寄存器(IRR)和中断服务寄存器(ISR) 输入的中断由两个级联的寄存器IRR、ISR处理。IRR用来储存所有请求的中断,ISR用来储存所有正在服务的中断请求。

优先权裁决器(PR) 该逻辑模块决定IRR各位的优先级。最高优先级的中断请求被选取并在/INTA脉冲期间映射到ISR的相应位。

中断屏蔽寄存器(IMR) IMR储存需要屏蔽的位。IMR操作IRR。屏蔽高优先级输入并不影响低优先级 INT:它直接输出到CPU中断输入端。 Voh完全兼容8080a,8085a和8086输入电平。

/INTA(中断响应) /INTA脉冲将引起8259a向数据总线释放位信息。数据格式取决于8259a的系统模式(uPM)

数据总线缓冲器这是一个三态双向8位缓冲器,是8259a与系统数据总线之间的接口。

控制字和状态信息通过它来传输。 读写控制逻辑 本模块的功能是接受CPU的输出命令。它包括初始化命令字(ICW)寄存器和操作命令字(OCW)寄存器,储存着多种设备操作的控制格式。该功能模块也可以允许将8259a的状态传送到数据总线。

/CS 低电压有效。否则,不允许读写芯片操作。 /WR 低电压有效,允许向8259a写入ICWs AND OCWs /RD 低电压有效,发送IRR ISR IMR 或者中断号到数据总线。 A0 这个输入信号与/WR /RD 信号关联,以写入命令给不同的命令寄存器、以及读取不同状态寄存器,可以直接与地址总线的某根相连。

级联缓冲器/比较器 该功能模块存储和比较系统中所有8259a的ID。相关的三根I/O管脚(CAS0-2),当8259a是主片时,作为输出;当8259a是从片时,作为输入。作为主片时,8249a发送请求中断的从片ID到CAS0-2上。这样选中的从片,将在下一个或两个连续的/INTA脉冲中,发送预先编辑好的子程序的地址到数据总线上(详见“8259a的级联”部分)。 中断流程 在微机系统中,8259a最强大的的特征是可编程性和中断程序地址功能。后者允许直接或间接跳转到相应中断服务程序,而无须检测设备。中断事件的一般流程取决与所用CPU的类型。 当为MCS-80/85系统时: 1.有一个或多个中断请求,IRR相应位置位 2.8259a处理这些请求,并向CPU发送中断请求INT。 3.CPU识别INT信号,并发出响应脉冲/INTA。 4.根据来自CPU的/INTA信号,置位最高优先级的ISR位,并将相应的IRR位复位。8259a也会通过D7-0向8位数据总线释放一个CALL指令代码(11001101) 5.这个CALL指令将会引起使cpu向8259发送另外两个/INTA脉冲。 6.这两个/INTA脉冲允许8259a释放它的预编辑程序地址到数据总线上。低八位地址在第一个/INTA脉冲发送,高八位地址在第二个/INTA脉冲发送。 7.这个由8259a释放3字节CALL指令完成。在自动中断结束模式(AEOI)时,在第三个/INTA脉冲的末尾,ISR位复位;否则,ISR位将保持“1”直到终端流程最后处理相应EOI命令。 在8086系统中,在第四步之前,终端流程是一样的。 4.根据来自CPU的/INTA信号,最高优先级的ISR位置位,并且相应的IRR位复位。

在此脉冲期间内,8259a并不驱动数据总线。 5.8086发送第二个/INTA脉冲。在此期间,8259a向数据总线释放一个供CPU读取的八位指针。 6这样就结束了中断周期。AEOI模式时,在第二个/INTA脉冲结束时,ISR位复位。否则,ISR位将保持“1”直到在程序结尾相应的EOI命令被处理。

如果到第四步时没有中断请求(换言之,中断请求持续时间太短),8259a将处理中断级别7.向量字节和CAS线将看起来像是中断输入端7请求中断。 当8259a PIC接收到中断信号时,INT管脚激活并且开始响应周期。如果一个更高优先级的中断在这两个/INTA周期内发生,INT管脚在第二个/IINTA脉冲后立即失效(变为低电平)。再过一段不定时间后,INT管脚重新激活以识别等待服务的更高级别的中断请求。沉寂时间(inactive time)不是固定的,且在一个区间内变动。设计人员在使用8259a时,应当考

虑这点。鉴于此,我们推荐设计相应的异步技术。

中断流程输出

MCS-80,MCS-85 该序列由三个/INTA脉冲定时。在第一个/INTA脉冲时,CALL代码被放到数据总线上。 表2.第一个中断向量内容

在第二个/INTA脉冲时,相应服务程序的低位地址放到数据总线上。当interval=4位时,A5-A7是可编辑的,A0-A4是由8259a自动插入。当interval=8,只有A6和A7可编辑,A0-A5自动插入。 表3.第二个中断向量内容

11001101 CALL代码