8259A芯片使用方法_第1页
8259A芯片使用方法_第2页
8259A芯片使用方法_第3页
8259A芯片使用方法_第4页
8259A芯片使用方法_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、8259A导线和内部结构1 .端子信号8259A端子信号如下图所示8259A销图l D7D0:双向、三态的数据线与系统数据总线连接。 编程到8259A时,在写入命令语言的第二个中断响应总线周期中,中断类型代码被传递给CPU。l :连接读取信号、输入、系统控制总线。=0表示CPU读取8259A。l :写入、输入信号,连接系统控制总线。=0时,CPU写入8259A。l A0:片上寄存器地址信号、输入、片上寄存器端口地址用。 每个芯片8259A有两个寄存器端口,A0=0时选择偶数地址端口,A0=1时选择奇数地址端口。 如果连接到8088系统,则可以将此引脚连接到地址总线上的A0。如果连接到8086系统,则可以将此引脚连接到地址总线上的A1。l :芯片选择信号,输入。=0时,选择8259A。 在系统地址信号A15A1通过解码器被解码,并生成芯片选择信号。l/:双功能双向信号。 8259A以缓冲模式工作时,作为输出控制缓冲的传送方向。 从CPU向8259A发送数据时,/输出变为高电平;从8259A向CPU发送数据时,/输出变为低电平。 如果8259A在非缓冲模式下运行,则8259A将用作指定主机还是从机的输入(级联)。 /=1的8259A为主机,/=0的8259A为从机。l INT :与中断请求信号、输出、CPU的中断请求信号线INT连接。 在级联方式中,从站单元的INT与主站单元的IR7IR0中的任意一个连接。l :与中断响应信号、输入、CPU的中断响应信号线连接。l CAS2CAS0:级联控制线、主站的CAS2CAS0与从站的CAS2CAS0对应连接。 对于主芯片,对于CAS2CAS0输出信号即从站,CAS2CAS0是输入信号。 如果响应于来自片的中断请求,则主片通过cas 2到cas 0将相应代码发送到从片,通知它们允许来自片的中断请求。l IR7IR0:中断请求输入信号从外围设备输入。 上升沿(边缘触发方式)或高电平(电平触发方式)表示中断请求到达。l VCC: 5V电源输入信号。l GND :电源地2 .内部结构8259A的内部结构如下图所示8259A内部结构图l数据总线缓冲区数据总线缓冲区为三态、双向、8位寄存器。 数据线D7D0连接到CPU系统的数据总线,构成CPU和8259A之间的信息传输信道。l读/写控制逻辑读/写控制逻辑从系统总线接收读/写控制信号和端口地址信号,以控制8259A内部寄存器的读/写。l级联缓冲区/比较器8259A在单片机模式和多芯片级联模式下工作。 级联缓冲器/比较器提供多个8259A的管理和选择功能,其中一个是主缓冲器而另一个是从缓冲器。l中断控制逻辑中断控制逻辑按照由程序设定的操作方法管理中断,并且向片内的各个组件发送控制信号,向CPU发送中断请求信号INT和从CPU回复的中断响应信号,并且控制单元8259A进入中断管理状态。l中断请求寄存器(interrupt request register,IRR )IRR是接收来自IR0IR7的中断请求信号并进行锁存的8位(D0D7)寄存器,记录有当前的中断请求。 D0D7对应于中断请求信号IR0IR7。当在IRi(i=07)中出现中断请求信号时,对应的Di被设置为1。 由于多个中断请求可能同时到达,因此IRR可能具有多个位置1。 当第一个中断响应信号到达时(当CPU响应8259A的中断请求INT时,它将连续返回两个中断响应信号,并产生两个中断响应总线周期),在8259A决定响应IRi时,它将清除相应的Di。如果最初的中断响应脉冲到达,则IRR锁存功能变为无效,在不接受IR0IR7上的中断请求信号的第2次中断响应脉冲结束之前,IRR锁存功能不会恢复。l中断服务寄存器(interrupt service register,ISR )ISR是CPU记录当前服务中断的8位(IS0IS7)寄存器。 IS0IS7对应中断请求信号IR0IR7。 如果8259A在第一个中断响应脉冲到达之后确定用IRi作出响应,则将对应的ISi(i=07到7 )设置为1,指示IRi正被服务。 ISi的复位由8259A中断终止方式决定。 如果8259A被设置为自动终止模式,则ISi在第二个中断响应脉冲的后沿自动重置为0。如果8259A被设置为非自动终止模式,则Di重置从相应的中断服务程序发送的中断终止命令(EOI )ISi设置1可以防止兄弟(或具有较低优先级)的中断请求被响应,而不能防止响应较高优先级的中断请求,即允许中断嵌套。 因此,ISR可能配备了多个人1。l中断屏蔽寄存器(interruptmaster,IMR )IMR是保存IR0IR7的中断掩码标志的8位(IM0IM7)寄存器。 IM0IM7对应于中断请求信号IR0IR7,用于屏蔽IRi。 如果IMi=1,那么禁止相应的IRi中断请求;如果IMi=0,那么相应地释放所述IRi中断。l优先级寄存器(PRiority register,pr )优先级决定器将IRR中记录的当前的中断请求与ISR中记录的CPU正服务的中断优先级进行排列比较,并且在各个ISR中优先级最高的ISR的优先级高于各个ISR中优先级最高的ISR的优先级的情况下,从中断控制逻辑检测中断请求信号INT 如果CPU中断当前中断服务并且不是响应于具有最高优先级的IRR而执行中断嵌套,则8259A不向CPU发起中断请求INT,CPU继续当前工作。二、8259A工作过程接收到来自IR0IR7的中断请求,将IRR的对应位置设为1。2、PR记录在IRR中,优先判断未被屏蔽的中断和记录在IRS中的中断,决定是否向CPU发出中断请求INT。 如果IRR中具有最高优先级的信号的优先级高于ISR中具有最高优先级的信号的优先级,那么向CPU发出中断请求信号INT,否则,不发出中断请求信号INT。3 .如果IF=1,则CPU接收INT,在当前正在运行的指令终止之后,接着返回到8295A的两个中断响应信号。4、在8295A收到第一个中断响应信号之后(1)使IRR锁存功能无效,不再接收到中断请求,直到第二中断响应信号结束为止进行恢复。(2)响应于记录在IRR中的具有最高优先级的中断请求:使相应ISR的位置为1,并且重置相应IRR位。5、在8295A收到第二中断响应信号之后(1)将响应中断的中断类型代码发送给CPU。 CPU用中断类型码乘以4取得该中断向量的地址,从该地址取出中断向量,执行该中断服务程序,为该中断服务。(如果8295A自动终止,则在第二个中断响应脉冲之后重置与所响应的中断对应的ISR位。 如果8295A未自动终止,则中断服务的进程必须在终止之前使用中断终止命令(EOI )重置对应于中断的ISR位。三、8259A的工作方式8259A的中断管理功能强,可以在单片级管理8级外部中断,多片级联方式最多可以管理64级外部中断,中断优先级优先,有中断嵌套、中断掩码和中断结束等多种中断管理方式。1 .中断优先方式通常,8259A响应于具有最高优先级的中断请求而暂停CPU的低优先级中断服务,并为具有高优先级的中断(即中断)服务。 8259A的中断优先方式分为以下两类l固定优先级方式在固定优先级方式中,IR0IR7的中断优先级是固定的,除非通过编程重新设定优先级。 8259A在接通电源后以一定的优先顺序方式动作,接通电源后,IR0IR7的默认优先顺序为IR0、IR1、IR2、IR7,其中IR0的优先顺序最高,IR7的优先顺序最低。l自动循环优先级方式在自动循环优先度方式中,IR0IR0的优先度可以变更。 当中断请求的服务终止时,中断请求的变化规律为优先级自动下降到最低级别,下一级别的中断变为最高级别,并且IR 0到IR 7的优先级顺时针变化。 例如,在初始优先级从高到低的顺序是IR0、IR1、IR2、IR7的情况下,在IR4和IR6中有中断请求时,首先服务IR4。 IR4服务后,自动下降到最低级别,IR5达到最高级别时,中断优先级为IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4。 这种优先级管理方式使8个中断请求能够享受同等优先服务的权利。自动循环优先级方式分为通常的自动循环方式和特殊的自动循环方式两种通常的自动循环方式的特征是,IR7IR0的初始优先顺序由系统指定,即优先顺序从IR0向IR7依次降低。 然后,发生中断时,优先顺序在右循环中自动变更。特殊的自动循环方式的特征是通过编程将某个中断请求人为降低到最低级别,其它中断请求的优先级也发生变化,然后随着中断的发生,它们的优先级顺序以右循环方式自动变化。 例如,通过编程将IR4降低到最低水平时,IR7IR0的优先顺序为IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4。2 .中断嵌套方式无论是固定优先级方式还是自动循环优先级方式,都允许中断嵌套。 这意味着更高优先级的中断可以中断CPU的当前中断服务进程,并为更高优先级的中断服务CPU。 8259A提供了两种嵌套方法l通常的完全嵌套方式典型的全局方法是8259A中最常见的操作方法,简称为全局方法,它是初始化8259A之后的默认操作方法。 当CPU正在执行中断服务(即,正在执行中断服务程序)时,如果出现新的中断请求,则8259A仅接收到高于当前服务的中断请求的优先级的中断请求(即,具有高于当前服务的中断请求的优先级的中断请求)l特殊全嵌套方式特殊的完全嵌套方式是8259A在多个级联方式中使用的嵌套方式。 当CPU提供中断服务时,8259A不仅允许具有较高优先级的中断请求,而且允许对等中断请求实现对等中断请求的特殊嵌套。在级联方法中,主切片通常设置为特殊的全嵌套方法,从切片设置为常规的全嵌套方法。 这样设置的优点在于,即使来自片的中断请求响应而进入中断服务期间,来自该片的“顶级”中断请求也可以响应主片。 这是因为从属片的所有中断请求都是通过同一IRi导入到主片中的,而在主片中来自从属片的所有中断请求都属于兄弟,并且以特殊的完全嵌套方式允许兄弟的中断请求3 .中断屏蔽方式中断掩码方式是掩码8259A的中断请求IR0IR7的中断管理方式,有通常掩码方式和特殊掩码方式两种。l通常屏蔽方式通常的掩码方式是通过8259A的中断掩码寄存器(IMR )实现中断请求IRi的掩码。 通过程序写入操作命令OCW1,将IMR中的IMi位置1作为对应的IRi(i=07)中断请求的屏蔽。 IRi被屏蔽后,无法响应8259A。l特殊屏蔽方式对于一些应用,希望由于具有较低优先级的中断请求而中断CPU服务的中断。 为此目的,考虑到与IMR相对应的位置1,因此有可能出现较低优先级的中断请求并屏蔽此级别的中断。然而,如果每次响应到中断请求时,8259A允许与该中断对应的ISR位置1并且CPU发出中断终止命令(EOI ) 8259A以特殊的屏蔽方式动作,将IMR的位置设为1时,ISR的对应位也自动复位。 从而,可以插入较低优先级的中断请求,当然,也可以插入没有被屏蔽的具有较高优先级的中断请求。 特殊屏蔽方式可通过编程写入动作指令语OCW3来设定或取消。4 .中断结束方式如果中断请求IRi作出响应,则8259A必须获取相应ISR的位置1,并在CPU服务完成中断之后清除相应ISR的位。 否则,CPU仍然提供中断服务,并且无法访问低优先级中断请求。8259A有三种中断终止方法:l自动退出方式如果采用自动终止方式,则与刚响应的中断请求对应的ISR位在第二个中断响应脉冲之后被重置。 该中断服务的终止方法由硬件自动完成。 请注意,中断服务程序并非实际终止,尽管清除了与中断请求对应的ISR位。 如果在中断服务程序运行期间收到了优先级较低的其他请求信号,则8259A没有保留表示当前中断服务未结束的标志,因此收到优先级较低的中断请求,中断当前中断服务程序的运行。 因此,此方法仅适用于不中断嵌套的情况。l通常结束方式在正常终止方法中,中断服务程序必须在终止之前将包含正常EOI命令的操作命令字OCW2写入8259A。 此命令不指定要重置的ISR位。 收到此命令后,8259A将清除ISR中优先级最高的一个。 在正常的全功能方法中,由于CPU提供服务的中断仅通过具有高优先级的中断请求被中断,因此当前正在终止的中断对应于在所有提供服务的中断中具有最高优先级的比特,并且在ISR中设置的第一优先级为最高比特l特殊结束方式在特殊终止方式中,中断服务程序在终止之前,必须将包含特殊EOI命令的操作命令语OCW2写入8259A,该特殊EOI命令指定要复位的ISR位。 重置ISR中的哪些比特在特殊EOI命令中明确指出,因此可以用于完全嵌套的常规中断终止。 当高优先级嵌套结构可能被破坏时(当CPU在低优先级/同级中断请求期间提供服务的高优先级中断被中断时),也适用于中断终止。现在将描述级联系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论