Está en la página 1de 23

Computadores Digitales

Módulo Temporizador
Módulo Temporizador

 El módulo temporizador es un temporizador de


propósito general:
 Genera Interrupciones Periódicas
 Retardos
 Medir períodos de señales externas
 Generar Pulsos
Módulo Temporizador

 Cada unidad comprende:


 Temporizador de 16 bits
 Contador de 16 bits y un comparador de 16 bits
 Hasta 8 canales

La frecuencia del reloj del temporizador (ftimer)
se calcula utilizando la siguiente fórmula:

XTAL XTAL
f tim er = = ( 1 +PS )
2∗Pre −escalar 2
Módulo Temporizador

 Se puede calcular fácilmente la rata de


interrupción de TOF utilizando la siguiente
fórmula:

XTAL
f TOF = ( 1+PS )
2 ∗( TCNT+1 )
Output Compare


Cuando un canal está operando en éste modo
 Un evento de comparación es generado cada vez
que el valor de TCNT sea igual al valor del registro
del canal Tcx
 El evento inicializa la bandera de interrupción del
canal (CxF)
 Opcional cambia el estado del pin de salida
asociado con el canal.

Ponerlo en 1

Ponerlo en 0

Conmutar
Output Compare


Un uso típico del modo de comparación es:
 Generación de formas de onda
 Generación de interrupciones periódicas

El intervalo de comparación fácilmente puede ser
calculado:
ValordeComparación
T compare=
f timer
En donde Tcompare es el período de la mitad del
ciclo de la señal de salida
Output Compare


Ejemplo: Generar una forma de onda cuadrada
con frecuencia de 7.8Hz.
 T7.8Hz=0.1282
T 7.8 Hz TC
=
2 XTAL
( 1+PS )
2

Asumiendo PS=6

TC=2003.125 se hace redondeo a 2003
Output Compare
Input Capture

 El modo de captura se diseñó para permitir


mediciones precisas de período de señales
externas.
 Esta señal es aplicada al pin de entrada del
canal y dispara un evento de captura en el
flanco ascendente, flanco descendente o en
ambos flancos de la señal de entrada.
Input Capture

 En cada evento de captura, el valor actual


de TCNT es capturado en el registro del canal
TCx y la bandera de interrupción del canal
(CxF) se pone en 1. Esta bandera puede
generar una petición de interrupción si la
interrupción del canal está habilitada
(CxI=1:TIE).
Input Capture


Una vez que el reloj del timer es conocido, la
siguiente fórmula puede ser utilizada para calcular
el período o frecuencia de la señal de entrada:

valorcapturado
T CAPTURE =
f timer

En donde: Tcapture es el período de la señal de entrada


Input Capture

El siguiente ejemplo muestra cómo configurar el


canal para capturar el tiempo del ancho de una
señal de entrada.
Input Capture
Input Capture
Pulse Accumulator

El Acumulador de Pulso (PACNT) es un contador de 16


bits el cual puede operar en dos modos:

Contador de Evento

Cuenta flancos de polaridad seleccionada sobre el pin de
entrada del Acumulador de Pulso, PAI

Acumulación por Disparo de Tiempo

Contando pulsos desde un reloj dividido por 64. El bit
PAMOD selecciona el modo de operación.
El ancho mínimo del pulso en el pin de entrada PAI es
mayor que dos veces el bus clock.
Pulse Accumulator
Modo Contador de Eventos

Borrando el bit PAMOD configura el PACNT para


operación de contador de eventos. Un flanco
activo sobre el pin IOC7 incrementa el contador
del Acumulador de Pulso. El bit PEDGE
selecciona flanco ascendente o flanco
descendente para incrementar la cuenta.
Modo Contador de Eventos

El registro del contador del Acumulador de Pulso


refleja el número de flancos de entrada activa sobre
el pin de entrada PACNT desde el último reset.

El bit PAOVF se pone en 1 cuando el acumulador


se vuelca desde 0xFFFF a 0x0000. El bit de
habilitación de interrupción de desbordamiento del
acumulador de pulso, PAOVI, habilita la bandera
PAOVF para generar peticiones de interrupción.
Modo Acumulación por Disparo de
Tiempo
Ajustando el bit PAMOD configura la operación
acumulación por disparo de tiempo. Un nivel activo
sobre el pin de entrada PACNT habilita el reloj dividido-
por-64 manejar el acumulador de pulso. El bit PEDGE
selecciona niveles bajos o niveles altos para habilitar el
reloj dividido-por-64.

El borde de salida del nivel activo en el pin IOC7


inicializa el PAIF. El bit PAI habilita la bandera PAIF
para generar peticiones de interrupción.
Modo Acumulación por Disparo de
Tiempo
El registro del contador del Acumulador de
Pulso refleja el número de pulsos desde el reloj
dividido-por-64 desde el último reset.
Registros de Configuración

Habilitación del sistema


acumulador
Modo de pulso de
del acumulador
pulso
Control de borde
Selección del Clock – Bit 1
Habilitación
Selección de – Bit 0
del Clock
Interrupción
Habilitación de
de la Interrupción
Desbordamiento
de Entrada

Bandera de Desbordamiento

Bandera de Borde de Entrada


Ejemplo

Asuma que un pulso de reloj es alimentado por


el pin PT7 del Acumulador de Pulsos y un
buzzer es conectado al pin PT0. Escriba un
programa para sonar el buzzer después de n
pulsos