FACULTAD DE INGENIERIA EN SISTEMAS, ELECTRONICA E INDUSTRIALUNIVERSIDAD TÉCNICA DE AMBATO F . I . S . E E. INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 UNIVERSIDA D TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL CARRERA DE INGENIRÍA EN ELECTRONICA Y MICROCONTROLADORES Consulta I_2P Profesor: Ing. Patricio Córdova Semestre: Séptimo Electrónica Tema: Módulo CCP de los Microcontroladores Fecha de Envió: 17/12/2014 Fecha de Recepción: 22/12/2014 Integrantes: » » » » » Aldás Abigail. Gavilánez Edwin. Iza Grace Valencia Xavier Velastegui Homero 2 Objetivos I. Timer I.3 Resumen En el presente trabajo se va describir las características y el funcionamiento del Módulo CCP (Capture/Compare/PWM) de los microcontroladores (PIC18F4550 y PIC16F887).1 Título Módulo CCP de los Microcontroladores I. comparación de datos o como registro para fijar el ciclo de trabajo de una señal. modo captura y por supuesto el modo PWM. así también se va a detallar las principales características al trabajar con el modo comparación. también se va describir cada una de las formas en las cuales puede trabajar este módulo.2. CCPRx funciona determina el Duty Cycle CCPxCON: Registro de control Los módulos CCP hacen uso de los timers: . CCPRx funciona como Registro de Comparación En modo PWM. ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F . Especificar las configuraciones que se deben realizar en los microcontroladores para utilizar los módulos CCP mediante herramientas de programación. Comparación.2. PWM. 2) que puede operar como registro de captura de datos. INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. CCPRx funciona como Registro de Captura En modo compara.1 Objetivo General Investigar acerca del Módulo CCP (Capture/Compare/PWM) de los Microcontroladores I. Analizar el Módulo CCP para los PIC18F4550(gama alta) y PIC16F887(gama media) I. I.2 Objetivos Específicos Determinar las características de cada una de las partes de las cuales está compuesta el Módulo CCP.FACULTAD DE INGENIERIA EN SISTEMAS. ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 I. PIC.4 Palabras clave: Captura.5 Introducción La mayoría de microcontroladores actuales disponen de un periférico denominado Módulo de Captura Comparación y PWM o CCP Este módulo consta de un registro de 16bits CCPx (x=1. I . S . E E. [7] Registros asociados a cada módulo (lectura/escritura): [7] CCPRx (CCPRxH:CCPRxL): Registro de datos de 16 bits En modo captura. 6 Materiales y Metodología Módulo CCP . I . S .5 ns.FACULTAD DE INGENIERIA EN SISTEMAS.2 ns (TcY/16) Modo Comparación: Registro de 16 bits y resolución máxima de 83. La directiva #pragma se utiliza para fijar el pin asociado al módulo CCP2 de la siguiente manera: [7] #pragma config CCP2MX=ON //CCP2 en RC1 #pragma config CCP2MX =OFF CCP2 en RB3 I. Modo Comparación: Registro de 16 bits y resolución máxima de 200 ns. El PIC16F887 dispone de dos módulos denominados CCP1 y CCP2 asociados a los registros CCPR1 y CCPR2 pines RC2 (CCP1) y RC1(CCP2) [8] El PIC18F4550 cuenta con dos Módulo CCP y un módulo CCP mejorado con las siguientes características: [7] Módulo CCP Modo Captura: Registro de 16 bits y resolución máxima de 5. ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F .3 ns (TcY) Modo PWM: Registro de 10 bits Módulo CCP mejorado Múltiples modos de salida Polaridad seleccionable Tiempo muerto de programación Auto-Apagado y Auto-Reseteo El PIC18F4550 dispone de dos módulos denominados CCP1 y CCP2 asociados a los registros CCPR1 y CCPR2 pines RC2 (CCP1) y RC1/RB3 (CCP2). Modo PWM: Registro de 10 bits y frecuencia máxima de 20 kHz. ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 Fig. E E. Asociación de los modos CCP con los Timer El PIC16F887 cuenta con dos Módulos CCP con las siguientes características:[8] Modo Captura: Registro de 16 bits y resolución máxima de 12. INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. En el modo captura guardan el valor de un Timer1corriendo en modo 16 bits en el momento de producirse el evento.) en los pines CCP1/CCP2. 01: capturar cada subida de la línea. Al cambiar el modo de captura se debe colocar en o el bit CCPxIE y CCxIF [7] .[8] Cada uno de los módulos CCP tiene asociados varios registros (x=1 o 2): CCPxCON: con este registro definiremos el tipo de operación (Capture / Compare / PWM) del módulo. Interacción entre los dos Módulos CCP1 y CCP2 Módulo CCP1. S . TMR1/TMR3: deben estar en modo Timer o Contador síncrono. [9] Consta de dos registros de 8 bits: CCPR2H y CCPR2L. ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F . Acción especial: Generada mediante una comparación. Lanza una conversión A/D. ambos registros son de lectura/escritura. CCPRxL(Byte bajo): dos registros de 8 bits. 11: capturar cada 16º subida de línea. Modo captura En modo captura el módulo 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. Resetea Timer1. [9] Consta de dos registros de 8 bits: CCPR1H y CCPR1L. I . Resetea Timer1. Módulo CCP2. ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 Fig. Acción especial: Generada mediante una comparación. 10: capturar cada 4ª subida de línea. El valor para seleccionar modo de CAPTURA es: 0b 000001xx Los dos últimos bits configuran el tipo de evento a capturar: 00: capturar cada caída de la línea.FACULTAD DE INGENIERIA EN SISTEMAS. E E. Registro de control: CCP2CON. CCPRxH(Byte alto). INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. Registro de control: CCP1CON. Podría generarse una falsa interrupción de captura al cambiar el modo de captura. bajo Conmutado (de bajo a alto o viceversa). También podría generarse una falsa interrupción al cambiar el prescaler. E E. Se aconseja deshabilitar CCPxIE al cambiar el modo de captura. un cambio directo no resetea la cuenta de flancos. 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 síncrono. I . S . el estado lógico en el pin de salida puede ser cambiado. ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F .[9] . Se evitan estas situaciones reseteando el módulo CCP (CCPxCON ← 0) antes de llevar a cabo un cambio de modo y/o un cambio de prescaler [9] Modo Comparación El valor almacenado en el registro CCP1 se compara constantemente al valor almacenado en el registro del temporizador Timer1o Timer3.FACULTAD DE INGENIERIA EN SISTEMAS. En modo contador asíncrono puede que la captura no funcione. ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 Fig. Además. No cambiar (refleja el estado del latch de E/S). pudiendo ser alto. INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. Al igualarse los valores. el pin CCPx no se veafectado. I . se puede modificar el tiempo que permanece en alto la señal o (“duty_cicle”). INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. [6] . 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. Se puede generar una acción especial por hardware. TMR1 debe funcionar en modo temporizador o en modo contador síncrono. En modo contador asíncrono puede que la comparación no funcione. Para un periodo Tpwm fijo. E E. Diagrama de Bloques de Modo Comparación 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 interrupción Lanza una acción especial [8] Cada coincidencia da lugar a CCPxIF=1 Condiciones de funcionamiento en el modo comparación El pin CCPx debe configurarse como salida. Cuando se selecciona generar interrupción.FACULTAD DE INGENIERIA EN SISTEMAS. S . ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F . ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 Fig. CCP2: Resetea TMR1 y lanza una conversión A/D (si está activado) En ningún caso se pone a o el flag TMR1IF [8] Modo PWM El módulo en modo PWM utiliza el Timer2 para generar un tren de pulsos de amplitud y ciclo de trabajo variable señal PWM. CCP1: Resetea TMR1. E E. ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F . el pin CCPx puede generar una señal de salida PWM de 10bits de resolución. [9] Condiciones de funcionamiento en el modo PWM El periodo T se indica en el registro PR2 T =( PR2+1 )∗4∗T OSC∗PRESCALERTMR 2 El ciclo de trabajo CCPxCON. TMR2 se concatena con un reloj interno de 2 bits con frecuencia fosc para poder crear una base de tiempos de 10 bits. CCPx ← 0. S .FACULTAD DE INGENIERIA EN SISTEMAS. Cuando TMR2 (+ 2 bits) se iguala a CCPxH (+ 2 bits). Diagrama de Bloques de Modo PWM En modo PWM. Los pines CCPx deben estar configurados como salidas para funcionar en modo PWM.<5:4> D se indica en CCPRxL y en CCPRxL:CCPxCON < 5: 4> ¿ ¿ D=¿ CCPRxH es de sólo lectura en PWM. ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 Fig. INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. [7] . Existe una resolución (número de bits) máxima que se puede obtener con el funcionamiento en modo PWM. I . Establecer el ciclo de trabajo D en CCPRxL y en CCPxCON<5:4>. 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 (sólo si se utiliza un ciclo de trabajo de 8 bits) CCP_PWM_PLUS_2 (sólo si se utiliza un ciclo de trabajo de 8 bits) CCP_PWM_PLUS_3 (sólo si se utiliza un ciclo de trabajo de 8 bits) [5] SETUP_COMPARATOR(mode) Sólo los PIC de la serie 16c62x pueden usar esta función (véase el archivo de cabecera 16c620. Configurar el pin CCPx como salida. Establecer el periodo T escribiendo en el registro PR2. 3. Fijar el prescaler de TMR2 y activar el temporizador. E E. T2coN 5.FACULTAD DE INGENIERIA EN SISTEMAS. ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 log Res= ( f osc f PWM ∙ PSTMR 2 log ( 2) ) bits Pasos a seguir para definir una PWM: 1.h). INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. S . SETUP_CCP1(mode) SETUP_CCP2(mode) Estas funciones inicializa el contador CCP. Configurar el módulo CCP para funcionar en modo PWM [8] FUNCIONES CCP EN COMPILADOR CCS. donde mode puede ser: . ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F . 2. I . Para acceder a los contadores CCP se utilizan las variables CCP_1 y CCP_2. 4. Modo PWM: Registro de 10 bits Módulo CCP mejorado Múltiples modos de salida Polaridad seleccionable Tiempo muerto de programación Auto-Apagado y Auto-Reseteo Tabla 1.3 ns Modo PWM: Registro de 10 bits y (TcY) frecuencia máxima de 20 kHz. E E. C1+. C2 -.5 ns. Comparación de Módulo CCP del PIC18F4550 y PIC16F887 Módulo CCP en CCS C . 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. resolución máxima de 5. I . bits y resolución máxima de 83. S .FACULTAD DE INGENIERIA EN SISTEMAS. C2+ Ejemplo: setup_comparator (A0_A3_A1_A2).7 Resultados y Discusión El módulo CCP de los PIC18F4550 y PIC16F887 es diferente y poseen distintas características: PIC16F887 Dispone de 2 módulos CCP (CCP1 y CCP2) PIC18F4550 Cuenta con el módulo CCP (módulo CCP1 y CCP2) y el módulo CCP mejorado. Se puede usar un valor de 8 bits si no son necesarios los bits menos significativos. INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. Características del módulo CCP: Características del Módulo CCP: Modo Captura: Registro de 16 bits Modo Captura: Registro de 16 bits y y resolución máxima de 12. [5] I.2 ns Modo Comparación: Registro de (TcY/16) 16 bits y resolución máxima de 200 Modo Comparación: Registro de 16 ns. ELECTRÓNICA PERÍODO ACADÉMICO: 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-. ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F . período. ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F . ciclo de trabajo especificado y resolución. 126-128 . Los microcontroladores de gama media y alta de Microchip disponen de funcionalidades que permiten el control y la interacción del dispositivo con periféricos o variables físicas externas. considerando que es posible la existencia de múltiples módulos CCP para un dispositivo.» p.8 Conclusiones El módulo CCP está compuesto por tres funcionalidades principales que son: módulo PWM permite generar de una onda cuadrada de amplitud 5 v a una frecuencia constante y a un ciclo de trabajo determinado. [6]Microchip. Módulo captura. set_pwm_frequency (). que pueden ser utilizadas con facilidad en una correcta configuración de los módulos CCPx para cualquier dispositivo y CCP mejorado para los de la familia PIC18FXX. pwm_on () y pwm_off (). CCS C establece directamente la configuración de los timers para el desempeño de las funciones de este módulo. 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. obtiene valores externos que pueden ser guardados en un registro para realizar un proceso de control sobre la variable obtenida. Los dispositivos de gama alta generan resultados de mayor eficiencia al establecer una mayor resolución de bits. S .9 Referencias bibliográficas [5]Canovas López. En el modo de comparación se desencadenan una acción cuando los valores del temporizador y CCP_x son iguales y en el modo PWM se generará una onda cuadrada. La directiva. Módulo de comparación. pag. estas herramientas facilitan la configuración de los timers que son la base del funcionamiento de los módulos CCP. set_pwm_period (). I . parámetros que pueden ser cambiados durante un proceso de acuerdo a la necesidad del programador. Esta directiva permite el uso de las funciones incorporadas como set_pwm_duty_percent (). INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. Las opciones disponibles son diferentes para diferentes dispositivos y se enumeran en el archivo de cabecera del dispositivo. utilizando la frecuencia dicha. PIC16F882/883/884/886/887 Data Sheet.FACULTAD DE INGENIERIA EN SISTEMAS. Directivas Relevantes #use capture (opciones) Esta directiva indica al compilador una configuración específica para realizar una captura de entrada en el pin especificado. 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. puede ser utilizado para ejecutar acciones o eventos cuando una variable se encuentre dentro de un parámetro 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 configuración del módulo CCP como PWM en el pin especificado. ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 Existen opciones en CCS C que permiten configurar y utilizar el módulo CCP. Las funciones que sólo están disponibles en dispositivos con hardware PCCh Operan en 3 modos: captura. E E. 51. I. I. CCS C ha desarrollado herramientas que permiten un manejo eficiente y rápido del módulo CCP de un microcontrolador. «Manual de usuario de compilador PCW de CCS. com/2013/07/modo-de-captura-en-elmodulo-ccp.[Disponible en:] http://picfernalia.net/whendygarcia/mdulos-ccp-pic-16f887 [9]Departamento de Electrónica.FACULTAD DE INGENIERIA EN SISTEMAS.html [8]Slideshare. I .blogspot. ELECTRONICA E INDUSTRIAL UNIVERSIDAD TÉCNICA DE AMBATO F . El módulo CCP de Comparación. INDUSTRIAL I FACULTAD DE INGENIERÍA EN SISTEMAS. mayo 2014 . E E. ELECTRÓNICA PERÍODO ACADÉMICO: SEPTIEMBRE/2013 – FEBRERO/2014 [7]Modo de captura en el Módulo CCP. [Disponible en:] http://es. Módulos CCP PIC16F887. Captura y PWM PIC18F45xx [10]CCS C Compiler Manual PCB/PCM/PCH. S .slideshare. 2013.