UNEXPO — V.R. “Luis Caballero Mejías”.
El módulo CCP (Captura/Comparación/PWM) es un periférico que le permite medir y controlar diferentes eventos.
- El modo de comparación compara constantemente los valores de dos registros. Uno de ellos es el registro del temporizador Timer1. Este circuito también le permite al usuario activar un evento externo después de que haya expirado una cantidad de tiempo predeterminada.
- PWM (modulación por ancho de pulsos) puede generar señales de frecuencia y de ciclo de trabajo variados por uno o más pines de salida.
- El microcontrolador PIC16F887 dispone de dos módulos CCP – CCP1 y CCP2, ambos son idénticos en modo normal de funcionamiento.
- Una parte central es el registro CCPR1 de 16 bits que consiste en los registros CCPR1L y CCPR1H. Se utiliza para capturar y comparar sus valores con los números almacenados en el registro del temporizador Timer1 (TMR1H y TMR1L).
- El módulo CCP1 puede generar señales PWM de frecuencia y de ciclo de trabajo variados.
P1M [1:0]: PWM bits de configuracion de salida
If CCP1M[3:2] = 00, 01, 10:
xx = P1A asignado como entrada para Captura/Comparación; P1B, P1C, P1D asignados a sus respectivos puertos
If CCP1M[3:2] = 11:
00 = Salida Unica; modulado por P1A; P1B, P1C, P1D asignados a sus puertos respectivos
01 = salida en directo Puente completo; modualdo por P1D; P1A activo; P1B, P1C inactivos
10 = salida medio puente; modulado por P1A, P1B con control de banda muerta; P1C, P1D asignados a sus respectivos puertos
11 = salida puente completo inversa; modulado por P1B; P1C activo; P1A, P1D inactivos
DC1B[1:0]: PWM bits menos significativos del ciclo de trabajo
modo Captura:
sin usar.
modo Comparación:
sin usar.
modo PWM:
Estos bits son los menos significativos del ciclo de trabajo del PWM. Los 8 bits mas significativos se encuentran en el registro CCPR1L.
CCP1M[3:0]: bits para selecionar el modo del ECCP
0000 = CAPTURA/COMPARACIÓN/PWM apagados (reinicia modulo ECCP)
0001 = sin usar (reservado)
0010 = modo COMPARACIÓN, activa salida cuando hay coinidencia (el bit CCP1IF se activa)
0011 = sin usar (reservado)
0100 = modo Captura, cada flanco de bajada
0101 = modo Captura, cada flanco de subida
0110 = modo Captura, cada 4to flanco de subida
0111 = modo Captura, cada 16avo flanco de subida
1000 = modo Comparación, activa salida cuando hay coincidencia (el bit CCP1IF se activa)
1001 = modo Comparación, limpia la salida cuando hay coincidencia (el bit CCP1IF se activa)
1010 = modo Comparación, genera interrupción de software cuando hay coincidencia (el bit CCP1IF se activa, el pin CCP1 no se ve afectado)
1011 = modo Comparación, activa evento especial (el bit CCP1IF se activa; CCP1 reinicia TMR1 o TMR2
1100 = modo PWM; P1A, P1C activos-alta; P1B, P1D activos-alta
1101 = modo PWM; P1A, P1C activos-alta; P1B, P1D activos-baja
1110 = modo PWM; P1A, P1C activos-baja; P1B, P1D activos-alta
1111 = modo PWM; P1A, P1C activos-baja; P1B, P1D activos-baja
En este modo, el valor almacenado en el registro CCP1 se compara constantemente al valor almacenado en el registro del temporizador Timer1. Al igualarse los valores, el estado lógico en el pin de salida puede ser cambiado, lo que depende del estado de bitsen el registro de control (CCP1M3 - CCP1M0). El bit de bandera CCP1IF se pone a uno simultáneamente.
Para poner el módulo CCP1 en este modo de funcionamiento, se deben cumplir dos condiciones:
- El pin RC2/CCP1 debe estar configurado como salida.
- El temporizador Timer1 debe estar sincronizado con el relojinterno.
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
- Cada decimosexto flanco descendente (0 -> 1) en el pin RC2/CCP1.
- Una combinación de cuatro bits (CCP1M3 - CCP1M0) del registro de control determina cuál de estos eventos causará transmisión de dato de 16 bits. Además, se deben cumplir los siguientes requisitos:
El pin RC2/CCP1 debe estar configurado como entrada; y
El Timer1 debe funcionar como temporizador o contador síncrono.
El CCP1 tambien trabaja en modo
Con exclusión de los nombres diferentes de los registros y delos bits, este módulo es una muy buena copia del módulo CCP1 puesto en modo normal. La única diferencia significativa entre ellos es el funcionamiento en modo de comparación del módulo CCP2; La diferencia se refiere a la señal de reinicio del temporizador T1. Concretamente, si el convertidor A/D está habilitado, al igualarse los valores de los registros TMR1 y CCPR2, la señal de reinicio del temporizador T1 iniciará automáticamente la conversión A/D. Similar al módulo anterior, este circuito también está bajo el control de los bits del registro de control. Estavez es el registro CCP2CON.
DC2B1, DC2B0- PWM Duty Cycle Least Significant bits (bits menos significativos del ciclo de trabajo de PWM) - Se utilizan sólo en modo PWM y representan dos bits menos significativos de un númerode 10 bits. Este número determina el ciclo de trabajo de la señal PWM. Los demás 8 bits se almacenan en el registro CCPR2L.
CCP2M3 - CCP2M2- CCP2M1 - CCP2M0- CCP2 Mode Select bits (bits de selección de modo del módulo CCP2) determina el modo del módulo CCP2 según la siguiente tabla.
ModoCamptura.asm
ModoCaptura(proteus)
ModoCaptura.hex
ModoComparacion.asm
ModoComparacion.hex
ModoComparacion(proteus)
CARACTERÍSTICAS
- El modo de captura permite el acceso al estado actual de un registro que cambia su valor constantemente.- El modo de comparación compara constantemente los valores de dos registros. Uno de ellos es el registro del temporizador Timer1. Este circuito también le permite al usuario activar un evento externo después de que haya expirado una cantidad de tiempo predeterminada.
- PWM (modulación por ancho de pulsos) puede generar señales de frecuencia y de ciclo de trabajo variados por uno o más pines de salida.
- El microcontrolador PIC16F887 dispone de dos módulos CCP – CCP1 y CCP2, ambos son idénticos en modo normal de funcionamiento.
- Una parte central es el registro CCPR1 de 16 bits que consiste en los registros CCPR1L y CCPR1H. Se utiliza para capturar y comparar sus valores con los números almacenados en el registro del temporizador Timer1 (TMR1H y TMR1L).
- El módulo CCP1 puede generar señales PWM de frecuencia y de ciclo de trabajo variados.
MÓDULO CCP1
Una parte central de esta parte es un registro CCPR1 de 16 bits que consiste en registros CCPR1L y CCOR1H. Se utiliza para capturar y comparar sus valores con los números almacenados en el registro del temporizador Timer1 (TMR1H y TMR1L).REGISTRO CCP1CON (REGISTRO DE CONTROL CCP1)
P1M [1:0]: PWM bits de configuracion de salida
If CCP1M[3:2] = 00, 01, 10:
xx = P1A asignado como entrada para Captura/Comparación; P1B, P1C, P1D asignados a sus respectivos puertos
If CCP1M[3:2] = 11:
00 = Salida Unica; modulado por P1A; P1B, P1C, P1D asignados a sus puertos respectivos
01 = salida en directo Puente completo; modualdo por P1D; P1A activo; P1B, P1C inactivos
10 = salida medio puente; modulado por P1A, P1B con control de banda muerta; P1C, P1D asignados a sus respectivos puertos
11 = salida puente completo inversa; modulado por P1B; P1C activo; P1A, P1D inactivos
DC1B[1:0]: PWM bits menos significativos del ciclo de trabajo
modo Captura:
sin usar.
modo Comparación:
sin usar.
modo PWM:
Estos bits son los menos significativos del ciclo de trabajo del PWM. Los 8 bits mas significativos se encuentran en el registro CCPR1L.
CCP1M[3:0]: bits para selecionar el modo del ECCP
0000 = CAPTURA/COMPARACIÓN/PWM apagados (reinicia modulo ECCP)
0001 = sin usar (reservado)
0010 = modo COMPARACIÓN, activa salida cuando hay coinidencia (el bit CCP1IF se activa)
0011 = sin usar (reservado)
0100 = modo Captura, cada flanco de bajada
0101 = modo Captura, cada flanco de subida
0110 = modo Captura, cada 4to flanco de subida
0111 = modo Captura, cada 16avo flanco de subida
1000 = modo Comparación, activa salida cuando hay coincidencia (el bit CCP1IF se activa)
1001 = modo Comparación, limpia la salida cuando hay coincidencia (el bit CCP1IF se activa)
1010 = modo Comparación, genera interrupción de software cuando hay coincidencia (el bit CCP1IF se activa, el pin CCP1 no se ve afectado)
1011 = modo Comparación, activa evento especial (el bit CCP1IF se activa; CCP1 reinicia TMR1 o TMR2
1100 = modo PWM; P1A, P1C activos-alta; P1B, P1D activos-alta
1101 = modo PWM; P1A, P1C activos-alta; P1B, P1D activos-baja
1110 = modo PWM; P1A, P1C activos-baja; P1B, P1D activos-alta
1111 = modo PWM; P1A, P1C activos-baja; P1B, P1D activos-baja
CCP1 EN MODO DE COMPARACIÓN
En este modo, el valor almacenado en el registro CCP1 se compara constantemente al valor almacenado en el registro del temporizador Timer1. Al igualarse los valores, el estado lógico en el pin de salida puede ser cambiado, lo que depende del estado de bitsen el registro de control (CCP1M3 - CCP1M0). El bit de bandera CCP1IF se pone a uno simultáneamente.
Para poner el módulo CCP1 en este modo de funcionamiento, se deben cumplir dos condiciones:
- El pin RC2/CCP1 debe estar configurado como salida.
- El temporizador Timer1 debe estar sincronizado con el relojinterno.
MÓDULO 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
- Cada decimosexto flanco descendente (0 -> 1) en el pin RC2/CCP1.
- Una combinación de cuatro bits (CCP1M3 - CCP1M0) del registro de control determina cuál de estos eventos causará transmisión de dato de 16 bits. Además, se deben cumplir los siguientes requisitos:
El pin RC2/CCP1 debe estar configurado como entrada; y
El Timer1 debe funcionar como temporizador o contador síncrono.
El CCP1 tambien trabaja en modo
PWM
el cual será explicado en otra sección de este blogMÓDULO CCP2
Con exclusión de los nombres diferentes de los registros y delos bits, este módulo es una muy buena copia del módulo CCP1 puesto en modo normal. La única diferencia significativa entre ellos es el funcionamiento en modo de comparación del módulo CCP2; La diferencia se refiere a la señal de reinicio del temporizador T1. Concretamente, si el convertidor A/D está habilitado, al igualarse los valores de los registros TMR1 y CCPR2, la señal de reinicio del temporizador T1 iniciará automáticamente la conversión A/D. Similar al módulo anterior, este circuito también está bajo el control de los bits del registro de control. Estavez es el registro CCP2CON.
DC2B1, DC2B0- PWM Duty Cycle Least Significant bits (bits menos significativos del ciclo de trabajo de PWM) - Se utilizan sólo en modo PWM y representan dos bits menos significativos de un númerode 10 bits. Este número determina el ciclo de trabajo de la señal PWM. Los demás 8 bits se almacenan en el registro CCPR2L.
CCP2M3 - CCP2M2- CCP2M1 - CCP2M0- CCP2 Mode Select bits (bits de selección de modo del módulo CCP2) determina el modo del módulo CCP2 según la siguiente tabla.
EJEMPLOS PARA DESCARGAR:
ModoCamptura.asm
ModoCaptura(proteus)
ModoCaptura.hex
ModoComparacion.asm
ModoComparacion.hex
ModoComparacion(proteus)
No hay comentarios:
Publicar un comentario