- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 中断控制器、DMA控制器和计数器/定时器 7.1 中断控制器8259A 7.1.1 8259A的引脚信号、编程结构 与工作原理 7.1.2 8259A工作方式 7.1.3 8259A初始化命令字、操作命 令字 7.1.4 8259A使用举例 什么是中断控制器,它的作用是什么? 中断控制器是用来管理多个中断源的专用芯片。当有多个中断源向CPU提出中断请求时,中断控制器可以接收外部的中断请求,并进行优先级判断,选中级别最高的中断请求,并送至CPU的INTR端。 当CPU响应中断并进入中断处理程序后,中断控制器仍负责对外部中断请求的管理。 本节讨论Intel 系列的可编程中断控制器8259A的引脚信号、编程结构、工作原理、工作方式与编程方法。 8259A的工作特点: ① 1 片8259A能管理8级中断,可以用9片8259A来构成64级主从式中断系统。 ② 可编程,使用灵活。 ③ 只需一组5V电源 7.1.1 8259A的引脚信号、编程结构和工 作原理 问:A0引脚是连接到地址总线的A0吗? 若是,则8259A被分配一个偶地址和一个奇地址。 然而,8259A只有8条数据总线,或连接8086系统中的高8位地址,或连接8086系统中的低8位地址。 当CPU从内存取数据时,偶地址单元的数据通过低8位数据线传送至CPU,奇地址单元的数据通过高8位数据线传送到CPU,CPU与端口之间的16位数据交换情况与此类似。 也就是说,8259A被分配的两地址或是偶地址、或是奇地址,不会是一奇一偶。 一般情况下,8259A 的8位数据线连接数据总线的低8位。这样从8086CPU的角度来说,要给8259分配两个偶地址。也就是说,A0必须为0。 但对于8259A来说,要求A0为0时,访问偶地址端口,A0为1时,访问奇地址端口。若直接把A0接在地址总线的A0上,显然不能满足要求,哪如何解决这个问题? 问题解决办法: 1片8259对应2个端口地址,一个偶地址、一个低地址。这就要求A0接数据总线的A1便可实现。 在多片8259A级连的情况下,主片的CAS2、CAS1、CAS0和所有的从片的CAS2、CAS1、CAS0分别连在一起的,主片的作为输出,从片作为输入。 在CPU发出第一个中断响应负脉冲时,主片除完成例行工作外,还通过CAS2、CAS1、CAS0发出一个编码ID2、ID1、ID0 从片接收到编码后与本身的ICW3的D2、D1、D0比较,若相等,则在第二个负脉冲到来时,将自已的中断类型码送到数据总线。 (注:从片ICW3的D2、D1、D0的值是由该从片连接到主片的IR决定,若为IR3,则D2、D1、D0的值为011) 结论: CAS2、CAS1、CAS0是主片和从片的联络信号。 缓冲方式:在多片8259A级连的大系统中,8259A通过总线驱动器和数据总线相连的工作方式。 在缓冲方式时,会在输出状态字或中断类型码的同时,从该引脚输出一低电平,此电平下好可作为总线数据总线驱动器启动信号。 非缓冲方式: 8259A直接与数据总线相连. 此时,该引脚作为输入端,(1)系统中只有单片8259A时,SP/EN端必须接高电平,当系统中有多片8259A时,主片的SP/EN端接高电平,而从片的SP/EN端接低电平。 2 8259A的编程结构和工作原理 从编程结构上看,下半部分有7个寄存器它们都是8位,每个寄存器都是可编程的,即可以用指令来对它们的内容进行设置。 (1)下半部分: ICW1~ICW4:用来容纳初始化命令字ICW (initialization command word),一般在系统启动时由初始化程序来设定的,用来确定工作方式等,一旦设定,在系统工作过程中就不再改变。 OCW1~OCW3:用来容纳操作命令字OCW(operation command word),操作命令字由应用程序设定,来对中断处理过程作动态控制,系统在运行过程中,操作命令字可多次设置。 (2)上半部分(8259A的处理部件): 中断请求寄存器 IRR(interrupt request register) 中断优先级裁决器 PR(priority resolver) 当前中断服务寄存器ISR(in service register 8259A处理部件的工作过程(工作原理) [1]中断请求寄存器IRR接收外部的中断请求,并使相应位置1,即锁存该请求; [2]逻辑电路根据中断屏蔽寄存器IMR(即OCW1)中的对应位的
文档评论(0)