Sunteți pe pagina 1din 11

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

UNIVERSIDA
D TCNICA
DE AMBATO

FACULTAD DE
INGENIERA EN
SISTEMAS,
ELECTRNICA E
INDUSTRIAL
CARRERA DE INGENIRA EN
ELECTRONICA Y

MICROCONTROLADORES
Consulta I_2P

Profesor: Ing. Patricio Crdova


Semestre: Sptimo Electrnica
Tema: Mdulo CCP de los Microcontroladores
Fecha de Envi: 17/12/2014
Fecha de Recepcin: 22/12/2014
Integrantes:

Alds Abigail.
Gavilnez Edwin.
Iza Grace
Valencia Xavier
Velastegui Homero

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

I.1 Ttulo
Mdulo CCP de los Microcontroladores
I.2 Objetivos
I.2.1

Objetivo General

Investigar acerca del Mdulo CCP (Capture/Compare/PWM) de los Microcontroladores


I.2.2

Objetivos Especficos

Determinar las caractersticas de cada una de las partes de las cuales est compuesta el
Mdulo CCP.
Especificar las configuraciones que se deben realizar en los microcontroladores para
utilizar los mdulos CCP mediante herramientas de programacin.
Analizar el Mdulo CCP para los PIC18F4550(gama alta) y PIC16F887(gama media)
I.3 Resumen
En el presente trabajo se va describir las caractersticas y el funcionamiento del Mdulo
CCP (Capture/Compare/PWM) de los microcontroladores (PIC18F4550 y PIC16F887),
tambin se va describir cada una de las formas en las cuales puede trabajar este mdulo, as
tambin se va a detallar las principales caractersticas al trabajar con el modo comparacin,
modo captura y por supuesto el modo PWM.

I.4 Palabras clave: Captura, Comparacin, PWM, PIC, Timer


I.5 Introduccin
La mayora de microcontroladores actuales disponen de un perifrico denominado
Mdulo de Captura Comparacin y PWM o CCP
Este mdulo consta de un registro de 16bits CCPx (x=1, 2) que puede operar como
registro de captura de datos, comparacin de datos o como registro para fijar el ciclo de
trabajo de una seal. [7]
Registros asociados a cada mdulo (lectura/escritura): [7]
CCPRx (CCPRxH:CCPRxL): Registro de datos de 16 bits

En modo captura, CCPRx funciona como Registro de Captura


En modo compara, CCPRx funciona como Registro de Comparacin
En modo PWM, CCPRx funciona determina el Duty Cycle

CCPxCON: Registro de control


Los mdulos CCP hacen uso de los timers:

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

Fig. Asociacin de los modos CCP con los Timer


El PIC16F887 cuenta con dos Mdulos CCP con las siguientes caractersticas:[8]

Modo Captura: Registro de 16 bits y resolucin mxima de 12.5 ns.


Modo Comparacin: Registro de 16 bits y resolucin mxima de 200 ns.
Modo PWM: Registro de 10 bits y frecuencia mxima de 20 kHz.

El PIC16F887 dispone de dos mdulos denominados CCP1 y CCP2 asociados a los


registros CCPR1 y CCPR2 pines RC2 (CCP1) y RC1(CCP2) [8]
El PIC18F4550 cuenta con dos Mdulo CCP y un mdulo CCP mejorado con las
siguientes caractersticas: [7]
Mdulo CCP
Modo Captura: Registro de 16 bits y resolucin mxima de 5.2 ns (TcY/16)
Modo Comparacin: Registro de 16 bits y resolucin mxima de 83.3 ns (TcY)
Modo PWM: Registro de 10 bits
Mdulo CCP mejorado

Mltiples modos de salida


Polaridad seleccionable
Tiempo muerto de programacin
Auto-Apagado y Auto-Reseteo

El PIC18F4550 dispone de dos mdulos denominados CCP1 y CCP2 asociados a los


registros CCPR1 y CCPR2 pines RC2 (CCP1) y RC1/RB3 (CCP2).
La directiva #pragma se utiliza para fijar el pin asociado al mdulo CCP2 de la
siguiente manera: [7]
#pragma config CCP2MX=ON //CCP2 en RC1
#pragma config CCP2MX =OFF CCP2 en RB3
I.6 Materiales y Metodologa
Mdulo CCP

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

Fig. Interaccin entre los dos Mdulos CCP1 y CCP2

Mdulo CCP1. [9]

Consta de dos registros de 8 bits: CCPR1H y CCPR1L.


Registro de control: CCP1CON.
Accin especial:
Generada mediante una comparacin. Resetea Timer1.

Mdulo CCP2. [9]

Consta de dos registros de 8 bits: CCPR2H y CCPR2L.


Registro de control: CCP2CON.
Accin especial: Generada mediante una comparacin. Resetea Timer1; Lanza
una conversin A/D.

Modo captura
En modo captura el mdulo es capaz de almacenar el valor del TIMER1 o TIMER3
cuando se produce un evento flanco de subida bajada cada (4 o 16 flancos de subida bajada
etc.) en los pines CCP1/CCP2.[8]
Cada uno de los mdulos CCP tiene asociados varios registros (x=1 o 2):
CCPxCON: con este registro definiremos el tipo de operacin (Capture / Compare /
PWM) del mdulo. El valor para seleccionar modo de CAPTURA es:
0b 000001xx
Los dos ltimos bits configuran el tipo de evento a capturar:

00: capturar cada cada de la lnea.


01: capturar cada subida de la lnea.
10: capturar cada 4 subida de lnea.
11: capturar cada 16 subida de lnea.

CCPRxH(Byte alto), CCPRxL(Byte bajo): dos registros de 8 bits. En el modo captura


guardan el valor de un Timer1corriendo en modo 16 bits en el momento de producirse el
evento, ambos registros son de lectura/escritura.
TMR1/TMR3: deben estar en modo Timer o Contador sncrono.
Al cambiar el modo de captura se debe colocar en o el bit CCPxIE y CCxIF [7]

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

Fig. Diagrama de Bloques de Modo Captura


Condiciones de funcionamiento en el Modo Captura
El pin CCPx debe configurarse como entrada.
TMR1/TMR3 debe funcionar en modo temporizador o en modo contador sncrono. En
modo contador asncrono puede que la captura no funcione.
Podra generarse una falsa interrupcin de captura al cambiar el modo de captura. Se
aconseja deshabilitar CCPxIE al cambiar el modo de captura.
Tambin podra generarse una falsa interrupcin al cambiar el prescaler. Adems, un
cambio directo no resetea la cuenta de flancos. Se evitan estas situaciones reseteando el
mdulo CCP (CCPxCON 0) antes de llevar a cabo un cambio de modo y/o un cambio
de prescaler [9]

Modo Comparacin
El valor almacenado en el registro CCP1 se compara
constantemente al valor almacenado en el registro del
temporizador Timer1o Timer3. Al igualarse los valores, el estado
lgico en el pin de salida puede ser cambiado, pudiendo ser
alto, bajo Conmutado (de bajo a alto o viceversa), No cambiar
(refleja el estado del latch de E/S).[9]

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

Fig. Diagrama de Bloques de Modo Comparacin


Cuando CCPRx coincide con TMR1 (en sus 16 bits)

El pin RCy/CCPx se pone a 1


El pin RCy/CCPx se pone a 0
Se genera una interrupcin
Lanza una accin especial [8]

Cada coincidencia da lugar a CCPxIF=1


Condiciones de funcionamiento en el modo comparacin
El pin CCPx debe configurarse como salida.
TMR1 debe funcionar en modo temporizador o en
modo contador sncrono. En modo contador asncrono
puede que la comparacin no funcione.
Cuando se selecciona generar interrupcin, el pin CCPx
no se veafectado.
Se puede generar una accin especial por hardware.
CCP1: Resetea TMR1.
CCP2: Resetea TMR1 y lanza una conversin A/D
(si est activado)
En ningn caso se pone a o el flag TMR1IF [8]
Modo PWM
El mdulo en modo PWM utiliza el Timer2 para generar un tren
de pulsos de amplitud y ciclo de trabajo variable seal PWM.
Para una frecuencia determinada Fpwm (1-10Khz) obtenemos
un periodo Tpwm Fijando el ciclo de trabajo duty_cicle podemos
variar la potencia entregada en el pin de salida asociado RC2
RC1 RB3. Para un periodo Tpwm fijo, se puede modificar el
tiempo que permanece en alto la seal o (duty_cicle). [6]

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

Fig. Diagrama de Bloques de Modo PWM


En modo PWM, el pin CCPx puede generar una seal de salida
PWM de 10bits de resolucin. Los pines CCPx deben estar
configurados como salidas para funcionar en modo PWM. TMR2
se concatena con un reloj interno de 2 bits con frecuencia fosc
para poder crear una base de tiempos de 10 bits. [9]
Condiciones de funcionamiento en el modo PWM
El periodo T se indica en el registro PR2
T =( PR2+1 )4T OSCPRESCALERTMR 2
El ciclo de trabajo
CCPxCON,<5:4>

se

indica

en

CCPRxL

en

CCPRxL:CCPxCON < 5: 4>

D=
CCPRxH es de slo lectura en PWM.
Cuando TMR2 (+ 2 bits) se iguala a CCPxH (+ 2 bits), CCPx
0.
Existe una resolucin (nmero de bits) mxima que se puede
obtener con el funcionamiento en modo PWM. [7]

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

log
Res=

f osc
f PWM PSTMR 2
log ( 2)

bits

Pasos a seguir para definir una PWM:


1. Establecer el periodo T escribiendo en el registro PR2.
2. Establecer el ciclo de trabajo D en CCPRxL y en
CCPxCON<5:4>.
3. Configurar el pin CCPx como salida.
4. Fijar el prescaler de TMR2 y activar el temporizador.
T2coN
5. Configurar el mdulo CCP para funcionar en modo PWM
[8]
FUNCIONES CCP EN COMPILADOR CCS.
SETUP_CCP1(mode)
SETUP_CCP2(mode)
Estas funciones inicializa el contador CCP. Para acceder a los
contadores CCP se utilizan las variables CCP_1 y CCP_2. Los
valores para mode son:
CCP_OFF
CCP_CAPTURE_FE
CCP_CAPTURE_RE
CCP_CAPTURE_DIV_4
CCP_CAPTURE_DIV_16
CCP_COMPARE_SET_ON_MATCH
CCP_COMPARE_CLR_ON_MATCH
CCP_COMPARE_INT
CCP_COMPARE_RESET_TIMER
CCP_PWM
CCP_PWM_PLUS_1 (slo si se utiliza un ciclo de trabajo de
8 bits)
CCP_PWM_PLUS_2 (slo si se utiliza un ciclo de trabajo de
8 bits)
CCP_PWM_PLUS_3 (slo si se utiliza un ciclo de trabajo de
8 bits) [5]
SETUP_COMPARATOR(mode)
Slo los PIC de la serie 16c62x pueden usar esta funcin (vase
el archivo de cabecera 16c620.h), donde mode puede ser:

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

A0_A3_A1_A2
A0_A2_A1_A2
NC_NC_A1_A2
NC_NC_NC_NC
A0_VR_A2_VR
A3_VR_A2_VR
A0_A2_A1_A2_OUT_ON_A3_A4
A3_A2_A1_A2
Cada uno de los cuatro tems separado por '_' son C1-, C1+, C2
-, C2+
Ejemplo:
setup_comparator
(A0_A3_A1_A2);
comparadores independientes

//inicializa

dos

SET_PWM1_DUTY(value)
SET_PWM2_DUTY(value) [10]
Estas funciones escriben los 10 bits de value al dispositivo PWM
para establecer el ciclo de trabajo. Se puede usar un valor de 8
bits si no son necesarios los bits menos significativos. [5]
I.7 Resultados y Discusin
El mdulo CCP de los PIC18F4550 y PIC16F887 es diferente y poseen distintas
caractersticas:
PIC16F887
Dispone de 2 mdulos CCP (CCP1 y
CCP2)

PIC18F4550
Cuenta con el mdulo CCP (mdulo
CCP1 y CCP2) y el mdulo CCP
mejorado.
Caractersticas del mdulo CCP:
Caractersticas del Mdulo CCP:
Modo Captura: Registro de 16 bits Modo Captura: Registro de 16 bits y
y resolucin mxima de 12.5 ns.
resolucin mxima
de 5.2 ns
Modo Comparacin: Registro de (TcY/16)
16 bits y resolucin mxima de 200 Modo Comparacin: Registro de 16
ns.
bits y resolucin mxima de 83.3 ns
Modo PWM: Registro de 10 bits y (TcY)
frecuencia mxima de 20 kHz.
Modo PWM: Registro de 10 bits
Mdulo CCP mejorado
Mltiples modos de salida
Polaridad seleccionable
Tiempo muerto de programacin
Auto-Apagado y Auto-Reseteo
Tabla 1. Comparacin de Mdulo CCP del PIC18F4550 y PIC16F887
Mdulo CCP en CCS C

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

Existen opciones en CCS C que permiten configurar y utilizar el mdulo CCP,


considerando que es posible la existencia de mltiples mdulos CCP para un
dispositivo. Las funciones que slo estn disponibles en dispositivos con hardware
PCCh Operan en 3 modos: captura, comparador y PWM. La fuente en el modo captura /
comparar puede ser el timer1 o Temporizador 3 y en PWM puede ser el timer2 o timer4.
Las opciones disponibles son diferentes para diferentes dispositivos y se enumeran en el
archivo de cabecera del dispositivo. En el modo de captura el valor del temporizador se
copia en el registro CCP_X cuando se produce el evento del pin de entrada. En el modo
de comparacin se desencadenan una accin cuando los valores del temporizador y
CCP_x son iguales y en el modo PWM se generar una onda cuadrada.
Directivas Relevantes
#use capture (opciones)
Esta directiva indica al compilador una configuracin especfica para realizar una
captura de entrada en el pin especificado. Esta directiva permite el uso de las funciones
incorporadas como get_capture_time () y get_capture_event () [Para profundizar en el
tema se puede consultar al manual de CCS C]
#use pwm (opciones)
Esta directiva indica al compilador una configuracin del mdulo CCP como PWM en
el pin especificado, utilizando la frecuencia dicha, perodo, ciclo de trabajo especificado
y resolucin. La directiva. Esta directiva permite el uso de las funciones incorporadas
como set_pwm_duty_percent (), set_pwm_frequency (), set_pwm_period (), pwm_on ()
y pwm_off ().
I.8 Conclusiones
El mdulo CCP est compuesto por tres funcionalidades principales que son: mdulo
PWM permite generar de una onda cuadrada de amplitud 5 v a una frecuencia constante
y a un ciclo de trabajo determinado, parmetros que pueden ser cambiados durante un
proceso de acuerdo a la necesidad del programador. Mdulo captura, obtiene valores
externos que pueden ser guardados en un registro para realizar un proceso de control
sobre la variable obtenida. Mdulo de comparacin, puede ser utilizado para ejecutar
acciones o eventos cuando una variable se encuentre dentro de un parmetro
especificado.
CCS C ha desarrollado herramientas que permiten un manejo eficiente y rpido del
mdulo CCP de un microcontrolador, estas herramientas facilitan la configuracin de
los timers que son la base del funcionamiento de los mdulos CCP. CCS C establece
directamente la configuracin de los timers para el desempeo de las funciones de este
mdulo.
Los microcontroladores de gama media y alta de Microchip disponen de
funcionalidades que permiten el control y la interaccin del dispositivo con perifricos
o variables fsicas externas, que pueden ser utilizadas con facilidad en una correcta
configuracin de los mdulos CCPx para cualquier dispositivo y CCP mejorado para
los de la familia PIC18FXX. Los dispositivos de gama alta generan resultados de mayor
eficiencia al establecer una mayor resolucin de bits.
I.9 Referencias bibliogrficas

[5]Canovas Lpez, Manual de usuario de compilador PCW de CCS,


p. 51.
[6]Microchip, PIC16F882/883/884/886/887 Data Sheet, pag. 126-128

FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIAL

UNIVERSIDAD TCNICA DE AMBATO

F . I . S . E E. INDUSTRIAL
I
FACULTAD DE INGENIERA EN SISTEMAS, ELECTRNICA
PERODO ACADMICO: SEPTIEMBRE/2013 FEBRERO/2014

[7]Modo de captura en el Mdulo CCP, 2013,[Disponible en:]


http://picfernalia.blogspot.com/2013/07/modo-de-captura-en-elmodulo-ccp.html
[8]Slideshare,
Mdulos
CCP
PIC16F887,
[Disponible
en:]
http://es.slideshare.net/whendygarcia/mdulos-ccp-pic-16f887
[9]Departamento de Electrnica, El mdulo CCP de Comparacin,
Captura y PWM PIC18F45xx
[10]CCS C Compiler Manual PCB/PCM/PCH, mayo 2014

S-ar putea să vă placă și