You are on page 1of 2

Sin ttulo

El mdulo CCP (Captura/Comparacin/PWM) es un perifrico que le permite medir y


controlar diferentes eventos.
El modo de captura proporciona el acceso al estado actual de un registro que cambia
su valor constantemente. En este caso, es el registro del temporizador Timer1.
El modo de comparacin compara constantemente valores de dos registros. Uno de
ellos es el registro del temporizador Timer1. Este circuito tambin le permite al
usuario activar un evento externo despus de que haya expirado una cantidad de
tiempo predeterminada.
PWM (Pulse Width Modulation modulacin por ancho de pulsos) puede generar seales
de frecuencia y de ciclo de trabajo variados por uno o ms pines de salida.
El microcontrolador PIC16F887 dispone de dos mdulos CCP CCP1 y CCP2.
Ambos son idnticos en modo normal de funcionamiento, mientras que las
caractersticas del PWM mejorado estn disponibles slo en el modo CCP1. sta es la
razn por la que en este captulo se describe detalladamente el funcionamiento del
mdulo CCP1. Con respecto al CCP2, se presentarn slo las caractersticas que lo
distinguen del CCP1.
MDULO CCP1
Una parte central de este circuito es un registro CCPR1 de 16 bits que consiste en
registros CCPR1L y CCOR1H. Se utiliza para capturar y comparar sus valores con los
nmeros almacenados en el registro del temporizador Timer1 (TMR1H y TMR1L).
Si est habilitado por software, puede ocurrir el reinicio del temporizador Timer1
al igualarse los valores en modo de Comparacin. Adems, el mdulo CCP1 puede
generar seales PWM de frecuencia y de ciclo de trabajo variados.Los bits del
registro CCP1CON estn en control del mdulo CCP1.
CCP1 EN MODO DE CAPTURA
En este modo, el registro del temporizador Timer1 (que consiste en los TMR1H y
TMR1L) se copia al registro CCP1 (que consiste en los CCPR1H y CCPR1L) en las
siguientes situaciones:
Cada flanco ascendente (1 -> 0) en el pin RC2/CCP;
Cada flanco descendente (0 -> 1) en el pin RC2/CCP1;
Cada cuarto flanco ascendente (0 -> 1) en el pin RC2/CCP1; y
Cada decimosexto flanco descendente (0 -> 1) en el pin RC2/CCP1.
Una combinacin de cuatro bits (CCP1M3 CCP1M0) del registro de control determina
cul de estos eventos causar transmisin de dato de 16 bits. Adems, se deben
cumplir los siguientes requisitos::
El pin RC2/CCP1 debe estar configurado como entrada; y
El Timer1 debe funcionar como temporizador o contador sncrono.
El bit de bandera CCP1IF se pone a uno despus de acabar la captura. Si se pone a 1
el bit CCP1IE del registro PIE1, se producir una interrupcin.
En caso de que el mdulo CCP1 est en modo de captura, puede producirse una
interrupcin no deseada. Para evitarlo, antes de que ocurra un cambio en el
registro de control se deben poner a 0 tanto el bit que habilita la interrupcin
CCP1IE, como el bit de bandera CCP1IF.
Las interrupciones no deseadas pueden producirse al cambiar el valor del
pre-escalador. Para evitarlo, el mdulo CCP1 debe estar apagado temporalmente antes
de cambiar el valor del pre-escalador.
CCP1 EN MODO DE COMPARACIN
En este modo, el valor almacenado en el registro CCP1 se compara constantemente al
Pgina 1
Sin ttulo
valor almacenado en el registro del temporizador Timer1. Al igualarse los valores,
el estado lgico en el pin de salida puede ser cambiado, lo que depende del estado
de bits en el registro de control (CCP1M3 CCP1M0). El bit de bandera CCP1IF se
pone a uno simultneamente.
Para poner el mdulo CCP1 en este modo de funcionamiento, se deben cumplir dos
condiciones:
El pin RC2/CCP1 debe estar configurado como salida; y
El temporizador Timer1 debe estar sincronizado con el reloj interno.
CCP1 EN MODO PWM
Las seales de frecuencia y de ciclo de trabajo variados tienen una amplia gama de
aplicaciones en automatizacin. Un ejemplo tpico es un circuito de control de
potencia. Refirase a la siguiente figura. Si un cero lgico (0) indica un
interruptor abierto y un uno lgico (1) indica un interruptor cerrado, la potencia
elctrica que se transmite a los consumidores ser directamente proporcional a la
duracin del pulso. Esta relacin se le denomina Ciclo de Trabajo.
PERODO DE PWM
El perodo de pulso de salida (T) se determina por el registro PR2 del temporizador
Timer2. El perodo de PWM se puede calcular por la siguiente ecuacin:
Perodo PWM = (PR2 +1) * 4Tosc * Valor de pre-escala del Timer2
SEl ciclo de trabajo de PWM se especifica al utilizar en total 10 bits: los ocho
bits ms significativos del registro CCPR1L y los dos bits menos significativos
adicionales del registro CCP1CON (DC1B1 y DC1B0). El resultado es un nmero de 10
bits dado por la siguiente frmula:
Ancho de pulsos = (CCPR1L,DC1B1,DC1B0) * Tosc * Valor de pre-escala del Timer2
La RESOLUCIN DE PWM
Una seal PWM no es nada ms que una secuencia de pulsos que varan su ciclo de
trabajo. Para una frecuencia especfica (nmero de pulsos por segundo), hay un
nmero limitado de combinaciones de ciclos de trabajo. Este nmero representa una
resolucin medida en bits. Por ejemplo, si una resolucin es de 10 bits estarn
disponibles 1024 ciclos de trabajo discretos; si una resolucin es de 8 bits
estarn disponibles 256 ciclos de trabajo disretos etc. En este microcontrolador la
resolucin es determinada por el registro PR2. El mximo valor se obtiene al usar
el nmero FFh.guiente tabla muestra cmo generar las seales PWM de diferentes
frecuencias cuando el microcontrolador utiliza un cristal de cuarzo de 20 MHz
(Tosc=50nS).i el perodo de PWM (T) es conocido, es fcil determinar la frecuencia
de seal F, porque estos dos valores estn relacionados por la ecuacin F=1/T.
Registro CCP1CON
P1M1, P1M0 PWM Output Configuration bits (bits de configuracin del modo PWM)
El pin P1A es la entrada del mdulo de Captura/Comparacin en todos los modos,
menos en modo PWM. Los pines P1B, P1C y P1D actan como los pines de E/S del puerto
D.
DC1B1, DC1B0 PWM Duty Cycle Least Significant bits (bits menos significativos del
ciclo de trabajo de PWM) Se utilizan slo en el modo PWM y representan dos bits
menos significativos de un nmero de 10 bits. Este nmero determina el ciclo de
trabajo de la seal PWM. Los dems 8 bits se almacenan en el registro CCPR1L.
CCP1M3 CCP1M0 (bits de seleccin de modo del mdulo CCP1) determina el modo del
mdulo CCP1.

Pgina 2

You might also like