信息与通信第五章 输入输出接口芯片及接口芯片的应用2_第1页
信息与通信第五章 输入输出接口芯片及接口芯片的应用2_第2页
信息与通信第五章 输入输出接口芯片及接口芯片的应用2_第3页
信息与通信第五章 输入输出接口芯片及接口芯片的应用2_第4页
信息与通信第五章 输入输出接口芯片及接口芯片的应用2_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、信息与通信第五章 输入输出接口芯片及接口芯片的应用2第三节 中 断中断的概念什么是中断?在CPU正常运行程序时,由于内部或外部某个非预料事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后再返回被中断了的程序,继续执行。这个过程就是中断。2中断服务程序1中断服务程序 2非预料事件1CPU执行流程非预料事件 23中断源和中断优先权引起中断的因素很多, 将发出中断申请的外设或内部原因,称为中断源 如:溢出; 输入输出设备中断源,如键盘、显示器、打印机等; 调试程序设置的中断源 给每个中断源指定一个优先权,称为中断优先权 当多个中断源同时发出中断请求时, CPU按照中断优先

2、权的上下顺序,依次响应4非预料事件是指事件发生的时间无法预知, 即中断源何时产生中断不确定,是随机的。但事件的性质及处理方法那么是的, 确定的, 即中断效劳程序是事先编写好的, 只是何时执行未知。5断点和中断现场断点 是指CPU执行的现行程序被中断时的下一条指令的地址,又称断点地址。中断现场 是指CPU转去执行中断效劳程序前的运行状态,包括CPU内部各存放器、断点地址等。61000:150H 、 、 、 、 、MOV AX, 0ADD AX, DXMOV DI , AX、 PUSH AX 、 、 IRETCPU在执行此指令时,某中断源发申请中断;CPU在执行完该指令后,转去执行中断子程序地址1

3、000:150H为断点断点概念:7中断类型 中断源可以分为两大类,即外部中断和内部中断。1.内部中断 内部中断又称软件中断是通过软件调用的不可屏蔽中断,其包括除法错中断、单步中断、断点中断、溢出中断、INTn指令中断等。 总之,可以将引起内部中断的原因归结为三种情况: 1由CPU的某些错误引起的。如:除法错中断、溢出中断。 2为调试程序设置的中断。如:单步中断、断点中断。 3由中断指令INT引起的。如:INTn指令中断。 82.外部中断1非屏蔽中断NMI。2可屏蔽中断INTR。98086/8088中断源类型NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259

4、A8086/8088CPU内部逻辑断点中断可屏蔽中断请求n43012103.中断优先级8086/88的中断优先级次序如表所示。中 断优 先 级内中断(除法错,INTO,INT)最 高最 低非屏蔽中断NMI可屏蔽中断INTR单步中断 中断优先级次序 11中断响应过程 (1) 关闭中断:多数CPU在发出响应中断信号时,自动关闭中断。(2) 保护断点:CPU响应中断后,为了在处理完中断请求后正确返回到主程序, CPU要将返回地址压入栈内保存起来。(3) 保护现场:由于中断具有很强的随机性,所以,为了能保证中断返回后主 程序正确运行,要将有关存放器和运行状态压入栈内保护起来。(4) 进展中断效劳程序:

5、要进展中断效劳程序,就要取得入口地址,不同的 CPU有不同的取得入口地址方式,8086/8088CPU是通过中断矢量形 成入口地址的。当得到入口地址后,CPU就开场运行中断效劳程序。 12(5) 恢复现场:当中断效劳程序完毕时,将已保护的有关存放器和状态从栈中 弹出, 为主程序的正确运行作好准备。(6) 开放中断并返回:在中断效劳程序的最后,要开放中断为以后的中断请 求作好准备,然后使用中断返回指令如8086/8088中的IRET 返回到 主程序。13 中断向量和中断向量表 中断向量:中断处理子程序的入口地址。中断类型号:对每种中断都指定一个中断类型号代码,从0255,每一个中断类型号都可以与

6、一个中断效劳程序相对应。中断向量表:是中断类型号与它相应的中断效劳程序入口地址之间的转换表。148086/8088中断向量表在中断向量表中,每个中断向量占4个字节。前两个字节为中断处理子程序入口地址的偏移量IP,后两个字节存放中断处理子程序入口地址的段地址CS。按照中断类型号,对应的中断向量在内存的0段0单元有规那么的排列运用debug命令:D 0:0可以看到。15可编程中断控制器8259A8259A的工作特点8级中断优先控制,通过级连可以扩展至64级优先权控制允许 或屏蔽状态3.8259A的工作方式,可以通过编程设 置,因此,使用非常灵活161、 8259A的外部引脚信号1、 8259A的外

7、部引脚信号171、 8259A的外部引脚信号 1. D7-D0:双向数据输入/输出引脚,用以与CPU进展信息交换。 2. IR7-IR0:8级中断请求信号输入引脚,规定的优先级为IR0 IR1IR7,当有多片8259A形成级连时,从片的INT与主片的IRi相连。 3. INT:中断请求信号输出引脚,高电平有效,用以向CPU发中断请求,应接在CPU的INTR输入 端。181、 8259A的外部引脚信号 4. -INTA:中断响应应答信号输入引脚,低电平有效,在CPU发出第二个时,8259A将其中最高级别的中断请求的中断类 型码送出;应接在CPU的中断应答信号输出端。 5.-RD:读控制信号输入引

8、脚, 低电平有效,实现对8259A内 部有关存放器内容的读操作。191、 8259A的外部引脚信号6. -WR:写控制信号输入 引脚,低电平有效,实现对 8259A内部有关存放器的 写操作。7. -CS:片选信号输入引脚, 低电平有效,一般由系统地 址总线的高位,经译码后形 成,决定了8259A的端口地 址范围。201、 8259A的外部引脚信号8. A0:8259A两组内部存放 器的选择信号输入引脚, 决定8259A的端口地址。 A00ICW1、OCW2、 OCW3; A01 ICW2ICW4、 OCW1211、 8259A的外部引脚信号9. CAS2-CAS0:级连信号引脚,当8259A为

9、主片时,为输出;否那么为输入,与-SP/-EN信号配合,实现芯片的级连,这三个引脚信号的不同组合000111,刚好对应于8个从片。10. SP/-EN:-SP为级连管理信号输入引脚,在非缓冲方式下,假设8259A在系统中作从片使用,那么-SP=1;否那么-SP=0;在缓冲方式下,用作8259A外部数据总线缓冲器的启动信号。11. +5V、GND:电源和接地引脚222、8259A与系统总线的连接 在一个8086系统中,由于数据总线是16位的;而8259A的数据总线是8位的。解决方法:将8086系统中16位数据总线中的高8位弃之不用,直接将8259A的D7-D0端与系统中数据总线的低8位相连。但是

10、,需要注意一点,此时分配给8259A芯片的两个端口地址是相邻的两个偶地址,此时8259A的A0端与系统的地址总线的A1端相连。地址总线的A0=0,因此CPU送过来的都是偶地址。 在实际的8086系统中,对8259A端口地址的分配就是按照上述的方法,即分配给8259A两个相邻的偶地址。其中一个A1=0,A0=0,这个地址较低,另外一个A1=1,A0=0,这个地址较高。233、8259A的编程构造和工作原理24数据总线 缓冲器读/写逻辑 级联缓冲 比较器控 制 逻 辑ISR优先权电路 IRRIMRIR0IR7D7D0INTA INTRDWRA0CSCAS0CAS1CAS2SP/EN内部数据总线2.

11、 总体构造IR18位双向三态。是与CPU进行数据交换的数据通道,CPU对它的读出和写入都是通过该缓冲器进行的。用于CPU对8259A进行读写控制用于多片8259A进行级连根据设定的工作方式管理整个芯片的工作8位寄存器。用于存放来自外设的中断请求信号,当某引脚有中断请求信号时,相应的位被置1。0 0 0 1 0 1 1 0IRR8位寄存器。用于存放正在处理的中断请求信号,8259A在接收到CPU的响应信号(INTA)后,使相应位置1。0 0 0 1 0 10 0ISR用于识别和管理各种中断请求信号的优先级别。8位寄存器。用于存放对中请求的屏蔽信息。当某位被编程设置为1 时,则相应的中断请求信号被

12、屏蔽,不会被送到CPU.1 0 0 0 0 0 0 1IMR258259A的编程构造8259的编程构造由三组共10个存放器构成,每个存放器均为8位。262. 8259A的编程构造和工作原理1下半部有7个8位可编程存放器分为两 组: 第一组4个:初始化命令字ICW1-ICW4 第二组3个:操作命令字OCW1-OCW3 2上半部为处理部件 由中断请求存放器 IRR,中断效劳存放器ISR,中断屏蔽寄 存器IMR,优先权分析器PR组成 278259A的工作过程1.当有一条或假设干条中断请求输入IR7-IR0有效时,那么使中断请求存放器的IRR的相应位置1。2.假设CPU处于开中断状态,那么在当前指令执

13、行完之后,响应中断,并且从-INTA发应答信号两个连续的负脉冲。3.第一个负脉冲到达时,IRR的锁存功能失效,对于IR7-IR0上发来的中断请求信号不予理睬。 284.使正效劳存放器ISR的相应位置1,以便为中断优先级比较器的工作做好准备。5.使IRR存放器的相应位复位(清零),即去除中断请求。6.第二个负脉冲到达时,将中断类型存放器中的内容ICW2,送到数据总线的D7-D0上,CPU以此作为相应中断的类型码。8259A的工作过程298259A的工作过程7.假设ICW4中的中断完毕位为1,那么,第二个负脉冲完毕时,8259A将ISR存放器的相应位清零。否那么,直至中断效劳程序执行完毕,才能通过

14、输出操作命令字EOI,使该位复位。 30 8259A的工作方式 8259A有多种工作方式,这些工作方式,可以通过编程来设置或改变。1、设置优先级的方式2、屏蔽中断源的方式3、完毕中断处理方式4、连接系统总线的方式5、中断触发的方式31普通全嵌套方式特殊全嵌套方式自动循环方式特殊循环方式优先权固定方式优先权循环方式设置优先级方式普通中断完毕方式特殊中断完毕方式自动中断完毕方式非自动中断完毕方式完毕中断处理方式屏蔽中断源方式普通屏蔽方式特殊屏蔽方式中断触发方式边沿触发方式电平触发方式连接系统总线方式缓冲方式非缓冲方式8259A的工作方式321、设置优先级的方式全嵌套方式 -中断优先级固定:从IR0

15、IR7依次是IR0最高,IR7最低。 在ISR位置位期间,制止再发生同级或较低级的中断,较高级的中断 请求仍能产生中断。 每个中断请求可分别由IMR相应位屏蔽。1(2) 特殊全嵌套 特殊全嵌套方式同全嵌套方式只有一点不同,主片响应“同级中断; 特殊全嵌套方式一般用于多片8259A级连的系统中。(3) 优先级自动旋转方式 -起始优先级固定:从IR0IR7依次是IR0最高,IR7最低当某一个中断受到效劳后,它的优先级自动降到最低,其它中断源的优先级随之按顺序循环地改变。 IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 由高到低。 如果这时IRQ1有中断请求,那么在完

16、成其中断效劳后,优先级队列变为 由高到低: IRQ0 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 IRQ1 1优先级自动循环方式 IR0IR1IR2IR3IR4IR5IR6IR7IR0中断响应后最高最低IR0IR1IR2IR3IR4IR5IR6IR7初始优先级队列最高最低IR0IR1IR2IR3IR4IR5IR6IR7 IR4中断响应后IR0IR1IR2IR3IR4IR5IR6IR7 IR3中断响应后(4) 优先级特殊旋转方式 优先级特殊旋转方式与优先级自动旋转方式只有一点不同,即:在优先 级特殊旋转方式中,初始的最低优先级由编程来决定,例如,设定IRQ3 为最低优先级,那么,

17、IRQ4即为最高优先级。 优先级自动旋转方式也是由操作命令字OCW2设定。2、屏蔽中断源的方式(1)普通屏蔽方式 在该方式中,8259A的每一条中断请求线都可根据需要设置屏蔽,从而 使这个中断请求不能从8259A送到CPU。 可以通过操作命令字OCW1来设置屏蔽。8259A内部有一个中断屏蔽寄 存器IMR,它的每一位对应了一个中断请求输入,通过设置OCW1,使 IMR中任一位或几位为1,当某位为1时,对应的中断请求被屏蔽。(2) 特殊屏蔽方式 在某些应用场合,希望能动态地改变系统的优先级构造,即在执行中 断效劳程序的某一局部时,希望制止某些较低级的中断请求,而在执行 中断效劳程序的另一局部时,

18、又能够开放比自己级别低的中断请求。要 到达这种目的,可采用特殊屏蔽方式。 设置了特殊屏蔽方式后,未被OCW1屏蔽的中断,不管其优先级如何, 都可申请中断。 3、完毕中断处理的方式(1) 中断自动完毕方式AEOI 自动中断完毕方式由初始化命令字ICW4设置。(2)中断非自动完毕方式 在这种方式下,当中断效劳程序完毕返回时,必须向8259A送中断结束命令EOI,8259A在接到该命令后,将中断效劳存放器中相应位复位。它有两种情况: 非特殊EOI命令:在全嵌套方式下,EOI命令能自动地把当前ISR中优先级最高的一位清0。因为在全嵌套方式中,最高的非零ISR位对应了最后一次被响应和被处理的中断。也就是

19、当前正在处理的中断,所以,它的复位相当于完毕了当前正在处理的中断。 特殊EOI命令:在非全嵌套方式下,因无法确定最后响应的是哪一级中断,故应向8259A发特殊EOI命令。这个命令指出了要去除当前中断服务存放器ISR中的哪一位。中断完毕字命令什么是8259A的中断完毕字EOI?8259A判断中断效劳存放器ISR的状态:假设某位为1,表示该中断源正在得到效劳;一般情况下,将不再响应同级或低级的中断采用特殊屏蔽方式时,可响应低级别的中断假设某位为0,表示该中断效劳已完毕,可响应低级级别中断。用指令向8259A送中断完毕字,可以使ISR的某位清0该操作与CPU无关。394、系统总线的连接方式(1).缓

20、冲方式在多片8259A级连的大系统中,8259A通过外部总线驱动器和数据总线相连,这就是缓冲方式。在缓冲方式下,8259的输出信号-SP/-EN作为缓冲器的启动信号,用来启动总线驱动器,在8259A与CPU之间进展信息交换。一个8259A主片至多带8个从片,因此可扩展控制64个中断源。40级联工作方式单片8259A可支持8个中断源;采用多片8259A级连,可最多支持64个中断源。n片8259A可支持7n+1个中断源;级连时只能有一片8259A为主片,其余的均为附属片;涉及到的8259A引脚包括:CAS0-CAS2SP / ENIRiINT41级连电路连接方法424、系统总线的连接方式(2).非

21、缓冲方式当系统中只有一片或几片8259A芯片时,可以将数据总线直接与系统数据总线相连,这时8259A处于非缓冲方式下。在这种方式下,8259A的-SP/-EN作为输入端设置,主片应接高电平,从片应接低电平 435、引入中断请求的方式边沿触发方式中断请求输入端出现上升沿为有效的中断请求信号电平触发方式中断请求端出现高电平为有效的中断请求信号,中断响应后必须及时撤出高电平中断查询方式 既有中断特点又有查询特点8259A不向CPU发INT请求信号,而由CPU发查询命令来获得对请求设备的中 断优先级。 CPU使用软件查询确认中断源,进而对外部设备进展中断效劳。44四、8259A编程 8259A工作方式

22、设定及运行中的控制,均由8086发来的命令字(1字节代码)决定。命令字分初始化命令字和操作命令字两种,系统向8259A两个端口之一写入。 8259A根据接收命令字的端口号,特征位及顺序决定命令字的属性。命令字初始化命令字(Initialization Command Word,ICW),有ICW1ICW4四个,有接收顺序要求。操作命令字(Operation Command Word,OCW),有OCW1OCW33个,无接收顺序要求。458259A的编程构造8259的编程构造由三组共10个存放器构成,每个存放器均为8位。468259A的初始化命令字ICW 8259A在开场工作前必须写入初始化命令

23、字,ICW1写入偶地址端口,其余写入奇地址端口。 初始化命令字ICW最多可以有4个:ICW1ICW4 必须按照以上顺序依次写入其中 ICW1 和 ICW2 是必须的ICW3和ICW4是否需要,由具体的工作方式决定流程47写ICW1 A0=0,D4=1写ICW2 A0=1SNGL=1 IC4=1写ICW3 A0=1写ICW4 A0=1是否是否按顺序对A0=1端口写入命令字8259A芯片的初始化流程481ICW1-根本方式初始化命令字偶地址,即片内 口地址A0=0硬件设置D7 D6 D5 D4 D3 D2 D1 D0是否要ICW41:要写0:不写是否单片1:单片0:级联触发方式1:电平触发0:边沿

24、触发标志位ICW1 X X X 1 LTIM X SNGL IC4 初始化命令字注:打 X 号的说明8086没有定义,编程的时候可以让他们为0掌握492ICW2-中断类型码初始化命令字 奇地址,即 片内口地址A0=1 ICW2是一个设定中断矢量用的命令字。它紧跟在ICW1后面,任何工作方式下都必须设置。 T7T3为中断向量号的高5位低3位由8259A自动确定:IR0为000、IR1为001、IR7为111D7 D6 D5 D4 D3 D2 D1 D0 T7 T6 T5 T4 T3 T2 T1 T0 50ICW2例:假设8个可屏蔽中断IR0IR7类型号为08H0FH,那么初始化的ICW2为08H

25、00001000。假设初始化的ICW2为38H00111000 ,那么类型号为38H3FH0011100000111111 51ICW2例:当中断控制器8259A的A0接向地址总线的A1时,假设其中一个地址为62H,那么另一个口的地址为多少;假设某外设的中断类型码为86H,该中断应加到8259A的中断请求存放器IRR的哪个输入端?答:另一个地址是60H, 应该加在IR652(3) ICW3-主/从片初始化命令字假设8259A处于级联方式,即ICW1的SNGL=0,就必须分别对主、从芯片写入ICW3;ICW3必须写入8259A的奇地址,即A0=1 53ICW3-主/从片初始化命令字 级连命令字主

26、片:IRi1,说明其对应引脚IRi 上连接有从片;否那么引脚IRi上没有连接从片从片:ID0ID2 编码说明该从片的INT引脚接到了主片上的哪个IRi引脚针对从片针对主片54ICW3-主/从片初始化命令字主8259A通过级连线CS2CS0,依次向各个从8259A芯片输送中断请求源中优先级最高的中断源所对应的标识符ID2-ID0,每个从片8259A拿到这个标识符之后,与自己的ICW3设置的ID2-ID0标识符进展比较,当两者相符合时,那么该从片8259A芯片在第二个中断响应周期,向CPU提供由ICW2设置的8位中断类型码。 55 多片 8259A 组成的主从式中断系统 56多片 8259A 组成

27、的主从式中断系统主从式中断系统中,主片和从片的初始化: 主片初始化 : 与前面所讲的单片情况下的初始化过程差不多 , 只是有以下几点差异 : ICWl 中的 SNGL 位必须设置为 0, 而在单片情况下 , 那么为1 必须设置初始化命令字 ICW3,对主片设置 ICW3 时 , 如果某个 IR 引脚上连有从片 ,那么 ICW3 的对应位就设置为 1, 如未连从片 , 那么设置为 0 。 ICW4 中的 SFNM 位如果设为 1, 那么将主片设置为特殊全嵌套工作方式 57多片 8259A 组成的主从式中断系统对从片 8259A 进展初始化要注意以下两点 : 从片的 ICW1 中 ,SNGL 位也

28、要设置为 0从片也必须设置 ICW3, 从片ICW3 的意义有别于主片:从片的ID0ID2 编码说明该从片的INT引脚接到了主片上的哪个IRi引脚58(4) ICW4-方式控制初始化命令字 假设ICW1的D0位为“1,就需要写入ICW4,进展方式控制初始化。ICW4必须写入8259A的奇地址端口A0=1。 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 SFNM BUF M/S AEOI PM微处理器选择1:86/880:80/851:自动结束0:非自动结束EOI中断结束方式 0 x 非缓冲方式 1 0 从片缓冲方式 1 1 主片缓冲方式嵌套方式1:特殊全嵌套方式0:全嵌套方式59

29、 操作命令字8259A工作期间,可以随时承受操作命令字OCWOCW共有3个:OCW1OCW3写入时没有顺序要求,需要哪个OCW就写入那个OCWOCW1必须写入奇地址端口,OCW2、OCW3必须写入偶地址端口601OCW1-设置/去除中断屏蔽操作命令 A0=1; 掌握操作命令字OCW1-设置/清除中断屏蔽操作;OCW2-设置优先级循环方式和中断结束方 式操作;OCW3-设置特殊屏蔽和查询读出操作 D7 D6 D5 D4 D3 D2 D1 D0 M7 M6 M5 M4 M3 M2 M1 M0Mi=1 IRi被屏蔽; Mi=0 IRi被开放。 其内容将写入中断屏蔽存放器IMR61命令格式如图。 R、

30、SL、EOI的不同组合决定了8259A的几种工作方式。 L2L0 这几位确定当SL=1时指定的特殊完毕或特殊循环时的中断优先级.2OCW2 0 R SL EOI 0 0 L2 L1 L00 0 1 非特殊EOI命令0 1 1 特殊EOI命令 1 0 1 按非特殊EOI命令旋转1 0 0 以自动EOI方式旋转(设置) 自动旋转 0 0 0 以自动EOI方式旋转(清除)1 1 1 按特殊EOI命令旋转1 1 0 置优先权命令0 1 0 无操作0 0 0 0 有 0 0 1 1 效 0 1 0 2 的 0 1 1 3 中1 0 0 4 断1 0 1 5 请 1 1 0 6 求 1 1 1 7 级 别A0 D7 D6 D5 D4 D3

温馨提示

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

评论

0/150

提交评论