第五章中断控制器、DMA控制器和计数器定时器_第1页
第五章中断控制器、DMA控制器和计数器定时器_第2页
第五章中断控制器、DMA控制器和计数器定时器_第3页
第五章中断控制器、DMA控制器和计数器定时器_第4页
第五章中断控制器、DMA控制器和计数器定时器_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

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

文档简介

1、1Email:dpi_L第第5章章 中断、中断、DMA控制器和计数控制器和计数/定时器定时器 中断控制器8259A DMA控制器8237A 计数器/定时器8253 多功能接口芯片823802Email:dpi_L1 中断控制器中断控制器8259A 8259A的工作特点 8259A的引脚信号 8259A的编程结构和工作原理 8259A的工作方式 8259A的初始化命令字和操作命令字 8259A使用举例 多片8259A组成的主从式中断系统3Email:dpi_L1.1 8259A的工作特点的工作特点 中断控制器:在有多个中断源的系统中,接收外部的中断请求,再将此请求送到CPU的INTR端;当CPU

2、响应中断并进入中断子程序的处理过程后,由中断控制器负责对外部中断请求的管理。Intel 8259A是Intel 公司生产的专门用于中断控制的芯片。单片8259A可管理8级中断。通过级连,可管理多于8级的中断。每一级中断都可通过编程使之被屏蔽或被允许。可通过编程设定几种不同的工作方式。只需要一组5V电源。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器82534Email:dpi_L1.2 8259A的引脚信号的引脚信号 8259A是28管脚芯片D7D0:数据引线-CS:芯片选通信号INT:中断请求输出端A0:选择端口-INTA:中断应答信号IR7IR0:I/

3、O设备发送的中断请求-RD:读信号-WR:写信号CAS2CAS0:指示从片-SP/-EN: 非缓冲方式主从片标示 缓冲方式的数据总线驱动器的启动信号8259A管脚图第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器82535Email:dpi_L1.3 8259A的编程结构和工作原理的编程结构和工作原理 8259A的编程结构图第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器82536Email:dpi_L1.3.1 编程结构编程结构上半部分:处理部件中断请求寄存器IRR:8位,接收外设中断请求。当前中断服务寄存器ISR:8位

4、,用来存放现在正在处理的中断请求。中断优先级裁决器PR:用来将新收到的中断请求和ISR中的当前正在处理的中断进行比较,以判断新的中断请求是否有足够高的优先级。下半部分:7个寄存器ICW1ICW4 :初始化命令字,是计算机系统启动时由初始化程序设置的,设置后通常不再改变。OCW1OCW3 :操作命令字,是由应用程序设定的,并且在程序运行过程中可被多次设置。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器82537Email:dpi_L1.3.2 工作原理工作原理 IRR接收外部中断请求并锁存后,逻辑电路根据OCW1中对应位决定是否让此请求通过。如OCW1对应位

5、为0,则中断请求进入PR。如OCW1对应位为1,则中断请求被封锁。PR把新的中断请求和ISR中当前正在处理的中断相比较。如新的中断请求有足够高的优先级,就会通过8259的INT端输出1,向CPU发出中断请求。否则禁止发中断请求。如CPU允许中断,则CPU执行完当前指令后就可以响应中断,从INTA端向8259发出两个负脉冲。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器82538Email:dpi_L1.3.2 工作原理工作原理第1个负脉冲到达时8259做4件事 使IRR锁存功能失效不再接收外设中断请求。 使ISR中的相应位置1,为PR工作提供依据。 使IR

6、R相应位清0。 对于级连系统,主片从CAS2-CAS0向从片发一个编码。第2个负脉冲到达时,8259做3件事 恢复IRR锁存功能,接受IR7-IR0的中断请求。 将中断类型码送到数据总线。 如ICW4中的中断自动结束位为1,则将先前设置的ISR中的相应位清0。 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器82539Email:dpi_L1.4 8259A的工作方式的工作方式 设置优先级的方式 屏蔽中断源的方式 结束中断处理的方式 连接系统总线的方式 引入中断请求的方式10Email:dpi_L1.4.1 设置优先级的方式设置优先级的方式全嵌套方式 默认的

7、优先级方式。中断请求优先级顺序是IRQ0IRQ7在中断服务程序执行期间,禁止再发生同级或较低级的中断,较高级的中断请求仍能产生中断,即出现中断嵌套。特殊全嵌套方式 特殊全嵌套方式和一般全嵌套方式基本相同,不同之处在于响应同级中断。该方式一般用在级连系统中,对主片采用特殊全嵌套方式,从片则使用其它方式。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825311Email:dpi_L1.4.1 设置优先级的方式设置优先级的方式优先级自动循环方式用于系统中有多个优先级相等的中断源的情况。在这种方式下,优先级队列是变化的,初始时优先级按IR0-IR7由高到低,当某

8、级中断被服务后,它的优先级降为最低,它的下一级中断的优先级变为最高,再下一个次之,依次类推。优先级特殊循环方式 与优先级自动循环方式只有一点不同,即:初始的最低优先级由编程来决定,而该最低优先级的下一级的优先级则为最高,在下一个次之,如此类推。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825312Email:dpi_L1.4.2 屏蔽中断源的方式屏蔽中断源的方式 普通屏蔽方式 在该方式中,8259A的每一条中断请求线都可根据需要设置屏蔽,从而使这个中断请求不能从8259A送到CPU 。特殊屏蔽方式 在该方式中,当中断服务程序用OCW1将本级中断屏蔽时,

9、可使当前中断服务寄存器ISR的对应位自动清0,从而可以接受其它级别较低的中断。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825313Email:dpi_L1.4.3 结束中断处理的方式结束中断处理的方式 中断自动结束方式 当某个中断得到响应时,在中断响应周期的最后一个INTA脉冲的后沿,自动地使中断服务寄存器ISR的相应位复位,从而结束中断。此方式只能用于只有一个单片8259A的系统中,并且多个中断不会嵌套的情况。非自动中断结束方式一般的中断结束方式 特殊的中断结束方式 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时

10、器825314Email:dpi_L1.4.3 结束中断处理的方式结束中断处理的方式一般的中断结束方式 用于全嵌套方式,EOI命令自动地把当前ISR中优先级最高的一位清0。因为在全嵌套方式中,最高的非零ISR位对应了最后一次被响应和被处理的中断。特殊的中断结束方式 用于非全嵌套方式,因在该方式下无法确定最后响应的是哪一级中断,故应向8259A发特殊EOI命令。这个命令指出了要清除当前中断服务寄存器ISR中的哪一位。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825315Email:dpi_L1.4.4 连接系统总线的方式连接系统总线的方式 缓冲方式 82

11、59A通过数据总线驱动器(如:总线收发器8286)和数据总线相连,这就是缓冲方式。常用于多片8259A级连的大系统中,在缓冲方式下 ,有一个对总线驱动器的启动问题,为此,将8259A的SP/EN端和总线驱动器的允许端相连, SP/EN作为输出端。非缓冲方式 8259A的数据线直接与CPU的数据总线相连。SP/EN端作为输入端,用于区分主从片。 当系统中只有单片8259A时,此8259A的SP/EN端必须接高电平。 当系统中有多片8259A时,主片的SP/EN端接高电平,而从片的SP/EN端接低电平。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825316

12、Email:dpi_L1.4.5 引入中断请求的方式引入中断请求的方式 边沿触发方式 中断请求输入端的上升沿作为中断请求信号。电平触发方式中断请求输入端的高电平作为中断请求信号。注意:当中断输入端出现一个中断请求并得到响应后,输入端必须及时撤出高电平。 中断查询方式 8259A不向CPU发中断请求信号,而由CPU发查询命令来获得对请求设备的中断优先级。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825317Email:dpi_L1.5 8259A的初始化和操作命令字的初始化和操作命令字 8259A的初始化命令字 初始化流程 8259A的操作命令字18Em

13、ail:dpi_L1.5.1 8259A的初始化命令字的初始化命令字 ICW1的格式和含义 称为芯片控制初始化命令字。必须写在偶地址端口中,即让8259A的A0端为0。D7D5仅用于8080/8085系统,可为任意。D4=1表示为ICW1,D4=0表示为操作命令字OCW2和OCW3,因为它们都写入偶地址端口,需要用D4加以区别。 LTIM该位设定中断请求信号的形式,置1表示信号是电平触发方式,置0为边沿触发。ADI 用于MCS8080/8085系统,可为任意。SNGL置1,表示单片8259A,置0则为多片级连。IC4 若置1,需要ICW4,否则不需要。在8086/8088系统中,此位必定为1。

14、 ICW1的命令格式第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825319Email:dpi_L1.5.1 8259A的初始化命令字的初始化命令字 ICW2的格式和含义是设置中断类型码的初始化命令字,必须写入奇地址端口中,即让8259A的A0端为1。T7T3 中断向量类型码高五位,由编程决定。D2D0 未用,可置0,中断类型码的低三位由引脚IR0IR7决定,分别从000到111。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825320Email:dpi_L1.5.1 8259A的初始化命令字的初始化命令字ICW3

15、的格式和含义 只用于级连系统中,是标志主片/从片的初始化命令字,必须写到8259A的奇地址端口中。如是主片,IR7IR0 各位对应所级连的各个从片。某位=1表示对应引脚连有从片,否则表示对应引脚未连从片,但可以连外部设备。如是从片: ID7ID3不用,置0。而ID2ID0对应各个从片的标识符,指出从片的INT输出端连在主片的哪个输入引脚,例如连在主片的IR5脚,ID2ID0为101 。主片从片第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825321Email:dpi_L1.5.1 8259A的初始化命令字的初始化命令字ICW4的格式和含义 ICW4:称为

16、方式控制初始化命令字,它也要求写入奇地址端口,不过,ICW4并不总是需要写入的,只有在ICW1的第0位为1时,才有必要设置ICW4 ,否则,就不必设置。在8086/8088系统中,此位必定为1。D7D5=000作为ICW4命令字的标识码。 SFNM:规定了设置优先级的方式,该位置1,则是特殊全嵌套方式,否则为一般全嵌套方式。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825322Email:dpi_L1.5.1 8259A的初始化命令字的初始化命令字BUF规定连接系统总线的方式,该位置1,则采用缓冲方式,否则采用非缓冲方式。M/-S缓冲方式下主从片标示。

17、 缓冲方式,M/-S=1表示该8259A为主片,否则为从片。在非缓冲方式下,该位无效。 非缓冲方式下主从片标示使用-SP/-EN引脚。AEOI规定结束中断的方式。若采用中断自动结束方式,则该位置1,否则采用非自动结束中断方式。PM 微处理器方式,PM=1时,表示8259A当前所在系统为8086 /8088,否则为8080 / 8085 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825323Email:dpi_L1.5.2 初始化流程初始化流程 几点说明 ICW1写入偶端口。ICW2ICW4写入奇端口。ICW1ICW4的设置次序固定。ICW1和ICW2须

18、设置。ICW3和ICW4非必须。 在级联时,主片和从片分别设置ICW3。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825324Email:dpi_L1.5.2 初始化流程初始化流程对8259A设置初始化命令字的例子 设8259A的端口地址为80H、81H。程序如下:MOV AL,13H ;一片8259A,边沿触发, 需要ICW4OUT 80H,AL ;设置ICW1MOV AL,18H ;中断类型码高5位为00011OUT 81H,AL ;设置ICW2MOV AL,0DH ;不用特殊全嵌套方式,不用 中断自动结束方式,用缓冲 方式,主片,16位系统OUT

19、 81H,AL ;设置ICW4 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825325Email:dpi_L1.5.3 8259A的操作命令字的操作命令字OCW1的格式和含义OCW1称为中断屏蔽操作命令字。要求写入8259A的奇地址端口(即A0=1)。当OCW1中某一位为1时,对应于这一位的中断请求就被屏蔽。当OCW1中某一位为0时,表示对应的中断请求得到允许。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825326Email:dpi_L1.5.3 8259A的操作命令字的操作命令字OCW2的格式和含义OCW2的

20、功能 设置优先级循环方式。 设置中断结束方式,包括:一般的中断结束命令和特殊的中断结束命令。要求写入偶地址端口(即A0=0)。R位:决定了系统的中断优先级是否按循环方式设置,如为1,表示采用优先级循环方式;如为0,则为非循环方式。SL位:决定了OCW2中的L2、L1、L0是否有效,如为1,则有效,否则无效。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825327Email:dpi_L1.5.3 8259A的操作命令字的操作命令字EOI位:中断结束命令位,当EOI为1时,使当前中断服务寄存器中的对应位ISn复位,采用中断自动结束方式时,此位为0。D4位:当

21、D4=0时,表示是命令字OCW2或OCW3,否则为命令字ICW1。D3位:当D3=0时,表示是命令字OCW2,否则为命令字OCW3。L2L0位:当SL=1时,这几位有两个用处 当OCW2给出特殊的中断结束命令时,L2L0指出要清除当前中断服务寄存器中的哪一位; 当OCW2给出优先级特殊循环命令字时, L2L0指出了循环开始时哪个中断的优先级最低。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825328Email:dpi_L1.5.3 8259A的操作命令字的操作命令字OCW3的格式和功能OCW3的功能 设置和撤销特殊屏蔽方式。 设置中断查询方式。 设置对

22、内部寄存器的读出命令 。要求写入偶地址端口(即A0=0)。D7:无用,可置0 。ESMM位:称为特殊的屏蔽模式允许位,只有当ESMM=1时SMM位才起作用 。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825329Email:dpi_L1.5.3 8259A的操作命令字的操作命令字SMM位:称为特殊屏蔽模式位,当ESMM=1且SMM=1时,8259A脱离当前的优先级方式,而按照特殊屏蔽方式工作。当再发送一个使ESMM=1且SMM=0的OCW3之后,系统恢复原来的优先级方式 D4 D3:和OCW2中的作用相同。P位:称为查询方式位,当P=1时,使8259A

23、设置为中断查询工作方式,此后对偶地址端口执行一条输入指令,8259A会把一个查询字送给CPU,查询字表明: 当前外设是否有中断请求 当前优先级最高的中断请求是哪一个外设。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825330Email:dpi_L1.5.3 8259A的操作命令字的操作命令字RR、RIS其组合读寄存器的状态 8259A内部有几个寄存器,可以读至CPU中,供用户了解8259A的工作状态。 在读命令之前,输出一个OCW3,令其中RR=1,ISR=0,则用读命令从偶地址可以读入中断请求寄存器IRR的状态。 在读命令之前,输出一个OCW3,令其

24、中RR=1, ISR=1,则用读命令从偶地址可以读入当前服务寄存器ISR的状态。 用读命令可随时从奇地址读入中断屏蔽寄存器IMR的状态。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825331Email:dpi_L1.6 8259A使用举例使用举例 关于中断全嵌套方式的例子 关于如何使用中断结束命令的例子 多片8259A组成的主从式中断系统32Email:dpi_L1.6.1 关于中断全嵌套方式的例子关于中断全嵌套方式的例子 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器8253全嵌套:初始化后的默认方式,系统不响应

25、同级和较低级的中断请求。中断嵌套的条件IF=1在中断处理程序中开中断。中断处理程序完成后必须执行中断结束命令。33Email:dpi_L1.6.2 关于如何使用中断结束命令的例子关于如何使用中断结束命令的例子 全嵌套方式工作 非自动结束方式 两个重要结论中断处理程序执行STI指令才允许嵌套。中断处理程序如执行STI指令,并清除对应ISn位,则未必符合优先级规则。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825334Email:dpi_L1.6.3 多片多片8259A组成的主从式中断系统组成的主从式中断系统 第五章第五章 1 2 3中断控制器8259A

26、DMA控制器8237A 计数器/定时器825335Email:dpi_L2 DMA控制器控制器8237A DMA控制器的一般结构和概要 DMA控制器8237A的原理36Email:dpi_L2.1 DMA控制器的一般结构和概要控制器的一般结构和概要 DMA控制器可以像CPU那样得到总线的控制权,实现外部设备和存储器之间的数据高速传输。 一个DMA控制器通常可以连接一个或几个输入/输出接口,每个接口通过一组连线和DMA控制器相连。习惯上,将DMA控制器中和某个接口有联系的部分称为一个通道。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825337Email:

27、dpi_L2.1 DMA控制器的一般结构和概要控制器的一般结构和概要DMA方式时外设往内存传输数据的过程DMA控制器的初始化 传送缓冲区的起始地址或结束地址。 设置传输的字节数或字数。 当接口中有数据要输入时,接口往DMA控制器发一个DMA请求。DMA控制器接到请求后,便往控制总线上发一个总线请求。如CPU允许让出总线,则发一个总线允许信号。DMA控制器接到此信号后,得到总线控制权并将地址寄存器的内容送到地址总线上,同时往接口发一个DMA回答信号,并发一个I/O读信号和一个内存写信号。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825338Email:d

28、pi_L2.1 DMA控制器的一般结构和概要控制器的一般结构和概要接口接到DMA回答信号以后,将数据送到数据总线上,并撤出DMA请求信号。 内存在接收到数据以后,一般往DMA控制器回送一个准备好信号。DMA控制器接收到准备好信号后,地址寄存器的值加1或减1,字节计数器的值减1,而且撤出总线请求信号。这样就完成了对一个数据的DMA输入传输。下一次当接口中有准备好数据时,转到便可以进行一次新的传输。当计数器的值减为0时,DMA传输过程便结束,此时,DMA控制器往接口发一个计数结束信号,以表示DMA传输结束。 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825

29、339Email:dpi_L2.2 DMA控制器控制器8237A的原理的原理 8237A的编程结构和外部连接 8237A的工作模式和模式寄存器的格式 控制寄存器的格式和有关问题 状态寄存器的格式 请求标志和屏蔽标志的设置 复位命令和清除先/后触发器命令 8237A各寄存器对应的端口地址40Email:dpi_L2.2.1 8237A的编程结构和外部连接的编程结构和外部连接 8237A是Intel系列中高性能可编程DMA控制器。8237A DMAC是一个40脚双列直插式芯片。它允许DMA传输速率达1.6MB/S。可以管理实现存储器存储器,I/O设备存储器之间的数据传送。第五章第五章 1 2 3中

30、断控制器8259A DMA控制器8237A 计数器/定时器825341Email:dpi_L2.2.1 8237A的编程结构和外部连接的编程结构和外部连接4个通道 16位地址寄存器(2个)16位字节计数器(2个)8位模式寄存器 1位请求触发器和屏蔽触发器4个通道公用控制寄存器、状态寄存器和暂存器两种工作状态作为从模块工作:当CPU把数据送到8237A的寄存器或者从8237A的寄存器取出时,8237A就如同I/O接口一样作为总线的从模块工作。作为主模块工作时:当CPU响应总线请求信号,让出总线控制权后, 8237A作为主模块工作。第五章第五章 1 2 3中断控制器8259A DMA控制器8237

31、A 计数器/定时器825342Email:dpi_L2.2.1 8237A的编程结构和外部连接的编程结构和外部连接对外连接信号 CLK:时钟 -CS:片选RESET:复位READY:准备就绪,用于延长传输时间。ADSTB:地址选通输出 ,此信号有效时,DMA控制器的当前地址寄存器中的高8位地址通过DB0DB7送到外部锁存器。AEN:地址允许输出 ,使地址锁存器中锁存的高8位地址送到地址总线上。-MEMR:存储器读输出信号。-MEMW:存储器写输出信号。-IOR:设备读,双向,主:输出, 从:输入。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825343E

32、mail:dpi_L2.2.1 8237A的编程结构和外部连接的编程结构和外部连接-IOW: 设备写,双向,主:输出, 从:输入。-EOP:DMA传输过程结束,双向。 当外部送EOP信号时,DMA传输被强迫结束。 任一通道计数结束,则EOP有效。DREQ和DACK :通道DMA请求输入及应答。HRQ和 HLDA :总线请求输出和总线响应输入。A3A0 :双向地址信号。 主模块:作为20位地址线的低4位输出地址。 从模块:地址输入,对内部寄存器进行寻址。A7A4 :高4位地址输出。DB7DB0:双向数据。 主模块:输出当前地址寄存器中的高8位地址 从模块:CPU读写DMA控制器内的寄存器。第五章

33、第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825344Email:dpi_L2.2.2 8237A的工作模式和模式寄存器的格式的工作模式和模式寄存器的格式 工作模式: 单字节传输模式:此通道被编程为只做一次数据传送,传送之后就释放系统总线给CPU至少一个完整的总线周期,这之后又测试DREQ引脚,当DMA请求有效时又窃取另一总线周期。块传输模式:该模式下,只要在DACK有效之前使DREQ有效就行。它可以连续进行多个字节的传输,在传输过程中,它一直占有总线而不释放,也不检测DREQ是否一直有效。请求传输模式:它类似于块传输模式,只是在每一字节传送之后都检测DRE

34、Q引脚。若DREQ无效,则马上暂停传输,释放总线,但测试过程仍然进行,并且地址和字节数的中间值仍被保留,一旦DREQ变为有效时将继续传输。 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825345Email:dpi_L2.2.2 8237A的工作模式和模式寄存器的格式的工作模式和模式寄存器的格式级联传输模式 :多个8237A构成二级的连接方式时,第一级的主片8237A应编程为级联模式,第二级的从片要设置所需的其它三种方式之一。 模式寄存器的格式 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825346Email:d

35、pi_L2.2.3 控制寄存器的格式和有关问题控制寄存器的格式和有关问题 控制寄存器的格式第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825347Email:dpi_L2.2.3 控制寄存器的格式和有关问题控制寄存器的格式和有关问题有关问题内存到内存的传输 在进行内存到内存的传输时,固定用通道0的地址寄存器存放源地址,而用通道1的地址寄存器和字节计数器存放目的地址和计数值。 控制寄存器的D0位必须置1,此时,如果控制寄存器的D1为1,则在传输时源地址保持不变,这样,就可以使同一个数据传输到整个内存区域。8237A的启动和停止:控制寄存器的D2位是用来启动

36、和停止8237A工作的。 当D2位为0时,则启动8237A工作。 当D2为1时,则停止8237A的工作。 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825348Email:dpi_L2.2.3 控制寄存器的格式和有关问题控制寄存器的格式和有关问题状态及时序类型 普通时序:不论A15A8是否需要改变都要送地址总线,这将占用一个时钟周期。 压缩时序:只有在A15A8需要改变时才送地址总线,这将加快数据传输的速度。关于扩展写信号功能 使用READY信号使得8237A能够等待外部设备准备数据。用于外部设备的速度比较慢,采用普通时序也不能满足要求的情况下。优先级

37、问题的解决: 由D4位设置。 固定:通道0的优先级最高,通道3最低。 循环:通道的优先级依次循环,类似中断。DREQ和DACK信号极性:决定于外设接口要求。第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825349Email:dpi_L2.2.3 控制寄存器的格式和有关问题控制寄存器的格式和有关问题8237A的典型时序 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825350Email:dpi_L2.2.4 状态寄存器的格式状态寄存器的格式 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器

38、/定时器825351Email:dpi_L2.2.5 请求标志和屏蔽标志的设置请求标志和屏蔽标志的设置 DMA请求寄存器的格式 屏蔽寄存器的格式第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825352Email:dpi_L2.2.5 请求标志和屏蔽标志的设置请求标志和屏蔽标志的设置8237A综合屏蔽命令的格式 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825353Email:dpi_L2.2.6 复位命令和清除先复位命令和清除先/后触发器命令后触发器命令 复位命令:写特定的端口地址。它的功能和RESET信号相同。

39、复位命令使控制寄存器、状态寄存器、DMA请求寄存器、暂存器以及先/后触发器清0,而使屏蔽寄存器复位。清除先/后触发器命令:写特定的端口地址。先/后触发器是用来控制DMA通道中地址寄存器和字节计数器的初值设置。如果对先/后触发器清0,那么,CPU往地址寄存器和字节计数器输出数据时,第1个字节写入低8位,然后先/后触发器自动置1,这样,第2个字节输出时,就写入高8位,并且,先/后触发器自动复位为0 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825354Email:dpi_L2.2.7 8237A各寄存器对应的端口地址各寄存器对应的端口地址 操作命令与有关信

40、号的对应关系A3 A2 A1A0 -IOR -IOW 命令 111111111100000111110001100011001010110101111101111000001000读状态寄存器写控制寄存器写DMA请求标志寄存器写DMA屏蔽标志寄存器写模式寄存器清除先/后触发器读暂存器发复位命令清除屏蔽标志综合屏蔽命令 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825355Email:dpi_L2.2.7 8237A各寄存器对应的端口地址各寄存器对应的端口地址 地址寄存器和字节计数器的端口地址 DMA通道 基本地址寄存器和当前地址寄存器 基本字节计数器和

41、当前字节计数器 通道0通道1通道2通道3起始地址+0起始地址+2起始地址+4起始地址+6 起始地址+1起始地址+3起始地址+5 起始地址+7 第五章第五章 1 2 3中断控制器8259A DMA控制器8237A 计数器/定时器825356Email:dpi_L3 计数器计数器/定时器定时器8253 概述 可编程计数器/定时器的工作原理 可编程计数器/定时器8253 8253的工作模式 8253应用举例57Email:dpi_L3.1 概述概述 计数和定时的概念计数器:在设置好计数初值后,便开始减1计数,减为0时,输出一个信号,表明计数完成,然后就结束了。定时器:在设置好定时常数后,便进行减1计

42、数,并按定时常数不断地输出为时钟周期整数倍的定时间隔信号。计数器/定时器的用处:作为中断信号输出精确的定时信号作为波特率发生器实现延迟第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238058Email:dpi_L3.1 概述概述定时信号的获得:软件方法:使用延迟子程序,优点是节省硬件,主要缺点是降低了CPU的效率、延迟时间不容易设计准确。硬件方法:使用计数器/定时器,在简单的软件控制下,产生准确的时间延迟。 主要思想是根据需要的定时时间,用指令对计数器/定时器设置定时常数,并用指令启动计数器/定时器,于是计数器/定时器开始计数,计到确定值时,便自动产生

43、一个定时输出。 优点是提高了CPU的利用率,而计数器/定时器本身的开销并不大。第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238059Email:dpi_L3.2 可编程计数器可编程计数器/定时器的工作原理定时器的工作原理计数器/定时器的基本原理图 第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238060Email:dpi_L3.2 可编程计数器可编程计数器/定时器的工作原理定时器的工作原理4个寄存器,它们都可以被CPU访问。 初始值寄存器:输出端口。 计数输出寄存器:输入端口,只有把计数器的内容传输到计数输出

44、寄存器中,才能读出某个时候的计数值。 控制寄存器:输出端口,用于芯片初始化 状态寄存器:输入端口,记录芯片工作状态。计数器:从初始值寄存器中获得计数初值,计数时,从初始值开始进行减1计数直到0。时钟:用来控制计数的速率,时钟每跳动一次,计数值减1,计数初始值=时钟频率定时时间T门脉冲:输入,用来控制计数的启动和停止。OUT:输出,当计数到达0时产生输出。第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238061Email:dpi_L3.2 可编程计数器可编程计数器/定时器的工作原理定时器的工作原理 计数器/定时器几种工作模式: 计数结束产生中断可重复触发

45、的单稳态触发器分频器方波发生器选通信号发生器第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238062Email:dpi_L3.3 可编程计数器可编程计数器/定时器定时器8253 8253是Intel公司生产的可编程计数器/定时器,其主要功能如下:每片有3个独立的16位计数器通道,分别为: 计数器0 计数器1 计数器2每个计数器都可以单独作为定时或计数使用,且都可以按照二进制或BCD码格式计数。每个计数器的计数速率可高达2MHz,最高计数速率为2.6MHz。每个通道有6种工作方式,可由程序设置或改变。 第五章第五章 2 3 4DMA控制器8237A 计数

46、器/定时器8253多功能接口芯片8238063Email:dpi_L3.3.1 8253的结构和工作原理的结构和工作原理 编程结构 8位的控制寄存器3个计数器,每个计数器内部有: 16位的计数初值寄存器 计数执行部件 输出锁存器第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238064Email:dpi_L3.3.1 8253的结构和工作原理的结构和工作原理8253的工作原理 8253引脚8253的工作原理 第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238065Email:dpi_L3.3.1 8253的结构和

47、工作原理的结构和工作原理计数器0,计数器1,计数器2 数据总线缓冲器,功能为:往计数器设置初值从计数器读取计数值往控制寄存器设置控制字读写逻辑电路A1、A0对计数器和控制寄存器寻址 -RD:读信号-WR:写信号-CS:片选信号控制寄存器:用于初始化及发送控制命令。第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238066Email:dpi_L3.3.1 8253的结构和工作原理的结构和工作原理、各种控制信号组合对8253的操作表第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238067Email:dpi_L3.3.

48、2 8253控制寄存器的格式控制寄存器的格式 在8253初始化编程中,由CPU向8253的控制寄存器输出一个控制字,用来选择计数器,指示读写方式、设定工作方式和计数格式。SC1 SC0:选择计数器。在设置控制字时,用于指出所选择的是哪一个计数器 0 0 -选择0号计数器 0 1 -选择1号计数器 1 0 -选择2号计数器 1 1 -无意义 第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238068Email:dpi_L3.3.2 8253控制寄存器的格式控制寄存器的格式RW1 RW0:指示读/写。控制向计数器读/写的字节数及读/写高低字节的顺序。 0 0

49、 -对所选计数器进行锁存,以便CPU随时读取它。 0 1-读/写低8位字节,写时高8位自动清零 1 0-读/写高8位字节,写时低8位自动清零 1 1-读/写2个字节,先低8位,后高8位BCD:设置计数制。 0 -二进制格式 1 -BCD码(二十进制) 第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238069Email:dpi_L3.3.2 8253控制寄存器的格式控制寄存器的格式M2 M1 M0:模式选择 0 0 0-方式0 0 0 1-方式1 1 0-方式2(表示可以是0或1) 1 1-方式3 1 0 0-方式4 1 0 1-方式5第五章第五章 2

50、3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238070Email:dpi_L3.3.3 8253的编程命令的编程命令 编程原则:设置初值前必须先写控制字。初值设置要符合控制字中的格式规定。编程命令有两类:读出命令:读计数器当前值。写入命令 设置控制字命令。 设置初始值命令。 锁存命令 。第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238071Email:dpi_L3.3.3 8253的编程命令的编程命令写入命令设置计数初值的命令(只写) 必须先写控制字,才能设置初始值。写入时必须符合控制字中的格式规定。若为16位,要用两条输出

51、指令完成计数初值的设定。锁存命令(只写) 是配合CPU读计数器当前值而设置的。在读计数器值时先用锁存命令将当前计数值在输出锁存器中锁定,方可由CPU读取。当CPU将锁定值用输入指令读走时,锁存器自动失锁。读计数器当前值的命令(只读) 要求先用锁存命令锁住锁存器的当前值,然后从相应寄存器的端口读出。读出时也必须符合控制字中的格式规定。第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238072Email:dpi_L3.4 8253的工作模式的工作模式 8253的基本规则: 控制字写入时,进入初始状态。初值写入后,要经过一个时钟上升沿和一个下降沿,才开始计数。

52、在CLK的上升沿,门控信号被采样 。在CLK下降沿,计数器作减1计数。8253的6种工作模式: 模式0:计数结束产生中断模式1:可编程的单稳态触发器模式2:分频器模式3:方波发生器模式4:软件触发的选通信号发生器模式5:硬件触发的选通信号发生器第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238073Email:dpi_L3.4.1 模式模式0计数结束产生中断计数结束产生中断特点门控触发方式:电平触发。当计数到0时结束,输出端OUT为高电平。只有再写入计数值,才重新开始计数。在实际应用中,常将计数结束后的上升跳变作为中断信号。时序图第五章第五章 2 3

53、4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238074Email:dpi_L3.4.1 模式模式0计数结束产生中断计数结束产生中断门控信号GATE对计数的影响在8253获得初值前门控信号GATE=0 计数初值写入后并不开始计数,直到门控GATE进入高电平时,计数开始。在8253获得初值前门控信号GATE=1 计数初值写入后即开始计数。在计数过程中,门控信号GATE=0 计数暂停,输出端OUT的电平保持不变,当GATE=1,结束暂停,从暂停的计数值继续进行计数。在计数过程中,设置了新的计数初值 计数器按新的初值重新计数,输出端OUT的电平保持不变。 第五章第五章 2 3 4

54、DMA控制器8237A 计数器/定时器8253多功能接口芯片8238075Email:dpi_L3.4.1 模式模式0计数结束产生中断计数结束产生中断门控信号GATE对计数影响图示第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238076Email:dpi_L3.4.1 模式模式0计数结束产生中断计数结束产生中断模式0小结:在模式0状态,GATE信号采用电平触发方式,高电平计数,低电平暂停。当设置了控制字后,输出OUT一直保持低电平,直到计数结束才恢复为高电平。在计数过程中修改初值立即执行。只有再写入计数值,才重新开始计数。第五章第五章 2 3 4DMA

55、控制器8237A 计数器/定时器8253多功能接口芯片8238077Email:dpi_L3.4.2 模式模式1 可编程的单稳态触发器可编程的单稳态触发器特点:门控触发方式:门控上升沿作为触发信号。输出是单稳态负脉冲。 负脉冲宽度主要决定于计数值。当计数到零后,可由触发脉冲再次启动。 时序图第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238078Email:dpi_L3.4.2 模式模式1 可编程的单稳态触发器可编程的单稳态触发器 门控信号GATE对计数的影响在计数过程中,GATE变为低电平或由高电平变为低电平。 计数继续进行,不受影响。在计数过程中,

56、又出现了门控GATE的上升沿触发信号。 则在触发脉冲上升沿之后的下一个CLK脉冲后,计数器重新开始计数,输出端OUT保持不变,直到计数为0才变为高电平。这将使输出的单稳脉冲比原先设计的计数值加宽了。在计数过程中,设置了新的计数初值。 若在此期间没有来上升沿触发信号,当前输出不受影响,直到下一次触发时才按新的计数值计数。 若在此期间来一个触发信号,输出端OUT保持不变,计数器采用新的计数初值重新开始计数。 第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238079Email:dpi_L3.4.2 模式模式1 可编程的单稳态触发器可编程的单稳态触发器门控信号

57、GATE对计数影响图示第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238080Email:dpi_L3.4.2 模式模式1 可编程的单稳态触发器可编程的单稳态触发器模式1小结在模式1状态,GATE信号采用上升沿触发方式,门控GATE出现上升沿触开始计数。在计数过程中,GATE信号出现上升沿会导致计数器重新开始计数,而GATE信号为低电平或由高电平变为低电平对计数没有影响。输出OUT在计数过程中一直为低电平,直到计数结束才变为高电平。计数过程中设置新的计数初值对OUT没有影响 。当计数到零后,可由触发脉冲再次启动。 第五章第五章 2 3 4DMA控制器8

58、237A 计数器/定时器8253多功能接口芯片8238081Email:dpi_L3.4.3 模式模式2分频器分频器特点:门控触发方式:电平触发和上升沿触发。N分频的计数器,正脉冲为N-1个时钟脉冲宽度,负脉冲为1个时钟脉冲宽度。通道能连续计数。时序图 第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238082Email:dpi_L3.4.3 模式模式2分频器分频器门控信号GATE对计数的影响在计数过程中,门控信号GATE=0 此时,计数结束,OUT输出高电平。当GATE信号变为高或出现上升沿时,计数器从初始值重新开始计数。在计数过程中,设置了新的计数初

59、值 新的计数初值设置后,如果GATE端一直维持高电平,那么输出端OUT将不受影响,直到本输出周期结束,但在下一个输出周期,将按新的计数值进行计数。 新的计数初值设置后,如果GATE端出现上升沿,计数器将按新的计数值开始重新计数,输出端OUT一直维持高电平直到计数为1。第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238083Email:dpi_L3.4.3 模式模式2分频器分频器门控信号GATE对计数影响图示第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238084Email:dpi_L3.4.3 模式模式2分频器

60、分频器模式2小结:在模式2状态,GATE信号采用电平和上升沿触发方式,高电平或上升沿触发开始计数。在计数过程中,GATE信号要保持高电平,低电平则结束计数,输出端OUT仍保持高电平。当GATE信号变为高或出现上升沿时,计数器从初始值重新开始计数。在最简单的情况下,即门控GATE为持续高电平时,工作如同一个N分频的计数器,正脉冲为N-1个时钟脉冲宽度,负脉冲为1个时钟脉冲宽度。第五章第五章 2 3 4DMA控制器8237A 计数器/定时器8253多功能接口芯片8238085Email:dpi_L3.4.4 模式模式3方波发生器方波发生器特点:和模式2类似,但输出为方波或基本对称的矩形波。若计数值

温馨提示

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

评论

0/150

提交评论