[信息与通信]07接口芯片2_8254

上传人:豆浆 文档编号:55058443 上传时间:2018-09-24 格式:PPT 页数:132 大小:614KB
返回 下载 相关 举报
[信息与通信]07接口芯片2_8254_第1页
第1页 / 共132页
[信息与通信]07接口芯片2_8254_第2页
第2页 / 共132页
[信息与通信]07接口芯片2_8254_第3页
第3页 / 共132页
[信息与通信]07接口芯片2_8254_第4页
第4页 / 共132页
[信息与通信]07接口芯片2_8254_第5页
第5页 / 共132页
点击查看更多>>
资源描述

《[信息与通信]07接口芯片2_8254》由会员分享,可在线阅读,更多相关《[信息与通信]07接口芯片2_8254(132页珍藏版)》请在金锄头文库上搜索。

1、可编程定时器/计数器8253/8254,在计算机系统中,经常需要使用定时信号。比如: 动态存储器的刷新定时; 系统日时钟; 发声系统的声源。通常可以通过三种方法来实现系统的定时或延时控制:软件定时、不可编程硬件定时和可编程的硬件定时。,方法1:软件定时通过一段延时程序实现。比如,一个包含乘法运算的循环程序,根据CPU执行指令需要消耗时间的原理,从而达到延时目的,实现定时功能。定时或延时时间的长短可通过改变指令循环执行的次数来控制。 优点:无需增加硬件,常常应用于专用系统上软件开发以及延时时间较短、且重复次数有限的情况,无需硬件、降低硬件成本。 缺点:占用大量CPU时间,因此会降低CPU的运行效

2、率;另外,即使是同一段延时程序,由于不同系统的运行速度不同(CPU时钟频率不同) ,必然存在定时精度不高的问题。,在实际的应用系统中,为了实现精确定时而且不影响CPU效率,通常是利用专门的硬件定时电路来实现定时功能。这种方式增加了硬件成本。 方法2:不可编程、硬件定时是通过用元器件构成延时电路来实现定时控制。 例如,可以用小规模集成电路器件555,外接定时元件(电阻和电容组成的定时器)组成定时电路。 这种定时电路比较简单,只需改变电阻电容的大小,就可以改变定时的长短。由于这种定时电路一经连接好后,定时值和定时范围就不便控制,使用不方便。,方法3:可编程、硬件定时是利用专门的定时/计数器硬件芯片

3、产生准确的时间延迟,并且允许CPU进行灵活的程序控制。,定时/计数器的工作原理/过程,根据定时时间的长短或事件脉冲信号的个数:设置一个所谓的计数初值,由定时/计数器电路从该初值开始计数: 对来自电路外部具有固定的时钟周期宽度或随机的脉冲信号不断进行减1 (或加1)计数; 当计数过程终止时(例如计数至全0或全1),计数电路输出端将会产生一个特定的输出信号(电路输出信号产生电平的跃变、通常以中断方式通知CPU),从而实现计数/定时的目的。,如果输入的外部脉冲信号具有固定的时钟周期,计数的过程同时能够实现定时的功能! 此时,定时的时间长度等于外部脉冲信号的时钟周期与计数初值的乘积(减1计数器)。如何

4、修改:定时时间的长度: 可以通过改变外部脉冲信号的时钟周期大小(在特定的计时系统中外部脉冲信号的时钟周期一般是固定的) ; 或者更常见的是:通过程序控制直接修改计数初值的大小,从而能够非常方便地修改定时时间的长短。,在这种方式下,一旦CPU设置好计数初值并启动了定时/计数器后,定时硬件电路会自动计数,CPU可以并行地完成其他工作,从而大大地提高了CPU的效率。定时/计数器的主要用途是通过写入计数初值,实现定时或计数的功能; 另外,在计数过程中,计数器在某个时刻的瞬间/当前值可以随时通过输出寄存器供CPU读取,这样既不会干扰计数过程,CPU还可以延后再读取该计数值。,定时器的工作原理实质上是通过

5、对脉冲信号进行计数来实现的:既可用于定时,也可用于对外部随机事件脉冲的计数。 所以常常被称为可编程定时/计数器。理解: 定时的本质是计数,计数器是定时器的基础; 定时功能依靠计数过程实现。,综上所述,可编程定时/计数器的基本工作过程为: 首先计算定时/计数器应该预置的初值,然后把该初值传送至计数器; 具有固定的时钟周期宽度或随机的外部计数脉冲经计数器的CLK输入端进入计数器,计数器针对每一个外部脉冲的到达进行一次减1计数; 计数器计数至0或1时,计数器会在OUT输出端产生信号的跃变,或者在状态寄存器的某一位反映出来,以供查询式I/O或中断式I/O检测。在计数过程中,计数器在某个时刻的即时值可以

6、随时通过输出寄存器供CPU读取,这样既不会干扰计数过程,CPU还可以延后再读取该计数值。,可编程定时/计数器可以实现以下基本功能: (1)为操作系统实现多道程序设计提供准确的程序切换的定时信号;(结合中断) (2)向I/O设备输出周期可控的精确的定时信号; (3)用作可编程波特率发生器; (4)检测外部事件发生的频率或周期; (5)统计外部某过程(如生产、试验、武器发射等过程)中某一事件发生的次数,并将计数结果返回CPU; (6)在定时或计数达到编程规定的值以后,向CPU申请中断。,8253/8254可编程定时/计数器,微机系统中普遍采用的是Intel公司的8253/8254系列定时/计数器芯

7、片,来满足计数、定时以及延时控制的需要。 在PC机中,8253/8254在软件控制下能够产生精确的定时,可为系统提供定时中断、动态存储器刷新定时和系统扬声器的声源。可编程定时器/计数器8253芯片由Intel公司设计开发,主要用于早期的IBM PC/XT微型机中。 后来的PC/AT机使用的是8254(现在普遍是82C54芯片) 。,对比:8253与8254,8254是8253的改进型、完全兼容8253:外部引脚和功能相同;凡是用8253的地方都可以用8254替换。 反过来,8254的常用编程对8253也基本适用。8254主要改进了两个方面: 8253允许输入的最高时钟频率为5MHz,而8254

8、为10MHz; 另外,8254比8253多了一条读回命令,这条命令可以同时锁存内部三个计数器的计数值并读取芯片的状态信息。,除了8253/8254以外,在PC/AT机以后的一些兼容机中,同时引入MC146818作为系统实时定时芯片,因此以后的一些多功能芯片包含有与MC146818兼容的定时器/计数器。本章主要讲述8253/8254可编程定时/计数器的原理及在PC系列机中的应用,然后简单介绍实时钟芯片MC146818以及在PC/AT机中的应用。,8253与8254概况,8253/8254内部拥有三个独立的16位计数器; 每个计数器都可以按二进制或二十进制(BCD码)计数; 可通过程序设计的方法对

9、每个计数器设置六种不同的工作方式; 从而能够用于事件计数器、操作所用时间指示器以及单脉冲发生器和方波发生器等多种用途。,8253/4内部结构,图 8253/4的结构框图,1、数据总线缓冲器:三态、双向、8位寄存器,用于连接8254芯片与系统数据总线D0D7,实现CPU和8254芯片之间的数据传送(包括CPU写入命令/计数初值,或者从计数器读取当前计数值、状态信息)。 2、读/写逻辑:用于片选CS、读/写(RD/WR)控制、A0和A1控制选择内部寄存器端口 3、控制寄存器:初始化时,CPU写入控制字,用来确定计数器的工作方式,设置读出命令。只能写入,不能读出;,4、计数器 3个,结构、功能完全相

10、同,彼此独立的计数器分别称为计数器0、计数器1、计数器2。 每个计数器的内部逻辑结构如图所示。 每个计数器包括3个引脚: CLKi为计数脉冲输入端,OUTi为信号输出端, GATEi为门控信号输入端。,计数器内部结构 CLK计数脉冲输入信号:时钟信号下降沿 GATE门控输入信号:电平控制和上升沿控制 OUT计数器输出信号:波形取决于工作方式,计数器工作原理 初始化编程时,程序员向计数初值寄存器写入的计数初值(只要不写入新的初值,该值始终保持不变); 同时、自动送入16位减1计数器。 当GATEi1时,每一个CLKi信号的下降沿使减1计数器减1。(在计数过程中,锁存器随减1计数器的变化而变化。)

11、 当计数值减到某个规定数值时(取决于工作方式的设定),OUTi端产生输出信号的跃变。 计数脉冲可以是周期性的时钟信号,也可以是随机脉冲信号。 当输入和输出时钟信号都是周期性时,计数初值N的计算公式如下: NfCLKifOUTi,5、8254端口地址 A1A000,选中0#计数器,A1A001,选中1#计数器 A1A010,选中2#计数器,A1A011,选中控制字寄存器,8254读/写控制逻辑表,根据地址范围判断端口地址,在不同的微机系统中,由于端口地址范围分配不同,所以一个接口电路的各个端口地址无法固定。 但是,在一个特定的计算机系统中,每个接口电路的端口地址已经确定。 以8254为例,占用的

12、4个端口地址总是根据地址总线的最低两位A1A0的值进行分配。 例如,在某微机系统中,已知分配给8254的端口地址范围是40H43H,那么可以直接判断,0号、1号和2号计数器、控制字寄存器的端口地址分别是: 40H42H,43H 。,8254引脚定义,8254作为一种通用接口芯片,在不同的微机系统中既能以统一编址方式存在于存储器地址空间,也可以独立编址方式存在于I/O地址空间。8254芯片是24脚双列直插式芯片,各引脚信号的分配如图所示。,图7-10 8254的引脚配置,8254引脚定义,8254的工作方式,8254的每个计数器具有的6种工作方式(方式0方式5) ,遵循以下共同的基本规则: (1

13、)计数器开始计数过程之前,必须预先写入控制字:此时,所有的控制逻辑电路立即复位,OUTi输出端输出初始电平(不同方式下高/低电平的规定不同); (2)计数初值写入初值寄存器之后,需要经过一个CLKi端计数脉冲的上升沿和下降沿之后减1计数器才可能开始计数;,(3)通常,在CLKi端计数脉冲的上升沿对门控信号GATEi采样(门控信号GATEi对计数的触发方式不同); (4)在CLKi端输入的计数脉冲的下降沿,计数器执行减1操作。,六种不同工作方式的主要区别在于: (1)启动计数器的触发方式不同。计数器计数过程的启动方式分为软件启动和硬件启动: 软件启动是指:在GATEi为高电平的前提下,当编程指令

14、通过CPU向计数器写入计数初值后计数器立即启动计数过程; 硬件启动是指由GATEi的上升沿触发计数过程; (2)在不同工作方式的计数过程中,门控信号GATEi的作用不同; (3)OUTi端输出波形不同:不同方式下OUTi端可以输出单个的或周期性脉冲信号、正脉冲或负脉冲,以及不同电平宽度的脉冲信号;,(4)方式2和方式3具备计数“初值自动重装”的功能。 “初值自动重装”是指当一轮计数过程结束时(减1计数器的计数值减为0),初值寄存器中始终保持未变的计数初值自动地重新装入减1计数器并开始新一轮计数过程。 这种功能使得OUTi端能够持续地输出周期性变化的脉冲信号,对于需要提供周期性信号来源的应用场合

15、具有非常关键的作用。,方式0 减1计数到0时发中断请求 方式1 可编程单脉冲输出 方式2 周期性时间间隔计时器(频率发生器) 方式3 方波发生器 方式4 软件触发选通 方式5 硬件触发脉冲,图7-11 方式0的时序图,方式0 计数结束一次性输出正跃变信号,方式0具有以下特点: (1)软件启动:向计数器写入计数初值时,立即开始计数。若在计数过程中CPU写入新的初值,则在下一个CLKi计数脉冲到达时8254将新的计数初值写入减1计数器,并按照新的初值重新开始计数。 (2)计数开始时OUTi端输出初始低电平、且一直保持;直至计数结束(计数值减为0)时,OUTi端由低电平变为高电平。 OUTi端的输出

16、波形表现为计数结束时低电平变为高电平的一个上升沿,该信号常常用作通知CPU的中断请求信号(上升沿或高电平)。 方式0常常用于统计外部事件脉冲的次数。,(3)门控信号GATEi为高电平时,允许计数;当GATEi为低电平时,暂停计数且当前计数值保持不变,当GATEi恢复为高电平时计数器继续计数。 (4)无“初值自动重装”功能:计数结束时OUTi端输出由低电平一次性跃变为高电平、并一直保持高电平不变。直到CPU写入新的计数初值,OUTi端变低、从而开始新一轮计数。 工作方式1的时序关系如图所示。,图7-13 方式1的时序图,方式1 可重复硬件触发的单脉冲(单稳态)发生器,方式1具有以下特点: (1)

17、硬件启动:写入计数初值时计数器不会启动计数过程,只有当门控信号GATEi端出现上升沿时,立即触发计数过程。 类似地,在计数过程中如果写入新的计数初值,不会影响当前的计数过程;同样必须等到GATEi端出现上升沿,新的初值才会装入计数器并开始新的计数过程。,(2)写入控制命令字设定方式1后,OUTi输出初始高电平、高电平保持不变;写入计数初值后,计数器并不立即开始工作,直至门控信号GATE出现上升沿才开始计数,OUTi端立即变为低电平、计数过程中保持低电平不变;直至计数结束(计数值减为0)时OUTi端恢复高电平。 输出波形表现为计数期间为低电平的一个负脉冲(低电平的宽度为计数初值N与CLKi时钟周期的乘积),因此方式1常常用作单脉冲发生器。 若要再次计数,必须用GATE的上升沿重新触发。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号