Está en la página 1de 12

TEMPORIZADORES

Necesidad de temporización:

♦ Control de intervalos de tiempo

♦ Gestión de sucesos en tiempo real

♦ Ralentización del sistema

♦ Sincronización de eventos

♦ Asignación de cuantos de tiempo en multitarea

♦ Generación de señales periódicas

♦ Reloj y calendario interno del sistema

♦ Todo sistema digital posee algún temporizador


EL TEMPORIZADOR 8253 / 8254

Contiene 3 temporizadores independientes de 16 bits

CLK0
Buffer
D0..D7 Contador GATE0
del bus
0
de datos OUT0

RD#
BUS INTERNO

WR# Lógica de CLK0


acceso Contador
GATE0
a los 1
A0 registros OUT0
A1
CS#

CLK0
Registro
Contador
de GATE0
2
control
OUT0
TERMINALES DEL 8253 / 8254

TERM. E/S FUNCIÓN

A0 E Acceso a los 4 registros internos de


A1 E la pastilla

CS# E Selecciona el chip para acceder a sus


registros internos

RD# E Indicación de lectura o escritura sobre


WR# E los registros

CLK E Señal de reloj que gobierna el contador


Máxima frecuencia = 5 MHz

GATE E Señal que controla el funcionamiento


del contador según el modo.

OUT S Salida que por lo general indica el


final de la cuenta. Depende del modo.
ACCESO A LOS REGISTROS

15 87 0
Contador 0

Contador 1

Contador 2

Reg. de control

A0 A1 Lectura (RD#=0) Escritura (WR#=0)

0 0 Lee el contador 0 Escribe el contador 0


0 1 Lee el contador 1 Escribe el contador 1
1 0 Lee el contador 2 Escribe el contador 2
1 1 Lee el r. de control* Escribe el r. de control

* Sólo en el 8254
EL REGISTRO DE CONTROL

SC1 SC0 RL1 RL0 M2 M1 M0 BCD

7 6 5 4 3 2 1 0

SC0
SC1 Contador al que se hace referencia

RL0
RL1 Modo de acceso de la CPU

M0
M1 Modo de funcionamiento del contador
M2

BCD Cuenta en BCD en vez de en binario.

RL1 RL0 Función

0 0 Captura de la cuenta en un latch


0 1 Leer/Escribir sólo el byte más significativo
1 0 Leer/Escribir sólo el byte menos significativo
1 1 Leer/Escribir ambos bytes (menos sign. primero)
MODOS DE FUNCIONAMIENTO
DE LOS CONTADORES

MODO 0 : Conmutación al fin de cuenta


(Interrupt on Terminal Count)

M2, M1, M0 = 0 0 0

OUT se pone a 0 al programar el modo


Al final de la cuenta se pone a 1
Permanece así hasta recargar el contador

Carga
Contador

OUT

Fin de
cuenta

Carga del contador:

Al escribir el primer byte se detiene la cuenta.


Al escribir el segundo se reinicia.
MODOS DE FUNCIONAMIENTO
DE LOS CONTADORES

MODO 1 : Monoestable disparado por hardware


(Programmable one-shot)

M2, M1, M0 = 0 0 1

Al programar, OUT se pone a nivel alto.


En flanco de subida de GATE comienza la cuenta y OUT=0
Al finalizar la cuenta, OUT=1

Carga
Contador

OUT

GATE

Fin de
cuenta
MODOS DE FUNCIONAMIENTO
DE LOS CONTADORES

MODO 2 : Aestable generador de impulsos


(Rate generator)

M2, M1, M0 = X 1 0

Cuando la cuenta llega a 0 se entrega a la salida un pulso.


La duración del pulso (OUT=0) es de un ciclo de reloj CLK
Durante el resto de la cuenta, OUT permanece a 1
Es un generador de pulsos de frecuencia CLK / N

CLK

Carga
Contador

OUT

Fin de
cuenta

GATE - Flanco de bajada: Inhabilita la cuenta


GATE - Flanco de subida: Recarga el contador
MODOS DE FUNCIONAMIENTO
DE LOS CONTADORES

MODO 3 : Aestable generador de onda cuadrada


(Square wave rate generator)

M2, M1, M0 = X 1 1

Cuando la cuenta llega a N/2 o N cambia el estado de OUT.


Proporciona una señal cuadrada simétrica.
La frecuencia es CLK / N

Carga
Contador

OUT

N/2 Fin de N/2 Fin de


cuenta cuenta
MODOS DE FUNCIONAMIENTO
DE LOS CONTADORES

MODO 4 : Retardo disparado por software


(Software Triggered Strobe)

M2, M1, M0 = 1 0 0

OUT permanece a nivel alto durante toda la cuenta


Cuando finaliza, pasa a nivel bajo durante un ciclo CLK
La cuenta comienza cuando se cargan los contadores.

MODO 5 : Retardo disparado por hardware


(Hardware Triggered Strobe)

M2, M1, M0 = 1 0 1

OUT permanece a nivel alto durante toda la cuenta


Cuando finaliza, pasa a nivel bajo durante un ciclo CLK
La cuenta comienza en flanco de subida de GATE
EL TIMER 8253 / 8254
EN EL PC

En la arquitectura XT existe un 8253


En algunas arquitecturas AT existen dos 8253

Primer temporizador: direcciones 40-43h de E/S


Frecuencia de CLK: 1.19318 MHz

Modo 2 Reloj del


fs= 18.2 Hz Timer 0 sistema
N=0000 (IRQ 0 PIC 1)

Modo 3 Refresco de
fs= dep. sistema Timer 1 memoria
N= dep. sistema

Modo 3
fs= ? Timer 2 Altavoz
N= ?
EL TIMER 8253 / 8254
EN EL PC

El segundo 8253

Sólo presente en algunas arquitecturas


Suele utilizarse como “perro guardián”.

Al arrancar el sistema se carga el contador

La cuenta es reanudada periódicamente por el


programa.

Nunca debe llegar a 0

Si se produce un fallo y llega a 0 se realiza una


petición de interrupción. El sistema se recupera.