Sesión 11: - Comparador, Captura y PWM. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales.

Slides:



Advertisements
Presentaciones similares
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Advertisements

LOS PUERTOS DE E/S PUERTO A
CIRCUITOS SECUENCIALES E.U.I.T. Informática de Gijón
MICROCONTROLADORES NOCIONES BÁSICAS.
MICROPROCESADORES y MICROCONTROLADORES
Programación en C para electrónica
MICROCONTROLADORES PIC
Rommel Chang Suárez Jefferson Moreno Briones
Introducción Control digital
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Conversión A/D Muestreo de la señal analógica.
Sistemas Digitales Curso 2007/2008 Departamento de Tecnología E l e c t r ó n i c a Periféricos E/S. VIA 65C22 Sistemas Digitales 2º curso Ingeniero Técnico.
Electromedicina e Instrumentación Biomédica
Circuitos Secuenciales
Conversor A/D y Módulo Comparador
Conversor Análogo Digital
El Sistema de Memoria. Contenido Arquitectura del sistema Arquitectura del DIMM Descripción del reloj Arquitectura del chip RAM Latencia de Memoria Detección.
PICmicro GAMA MEDIA: PIC16F87X
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Semana 4 - periferico.
Microcontroladores PIC16F84A.
INTERRUPCIONES Y TEMPORIZADORES Programación en C para electrónica.
Diseño de un Controlador de Luces de un Semáforo
EXAMEN CORTO SOBRE FLIP-FLOPS
AUTOMATIZACIÓN CON PLC
INTRODUCCIÓN AL DISEÑO SECUENCIAL: CONTADORES Y REGISTROS
ARQUITECTURA DE COMPUTADORES
EXAMEN CORTO SOBRE FLIP-FLOPS
José Estay A / jea I semestre académico 2014 Computadores (TU Sistemas Computacionales) Elementos de estructura de computadores.
TIMER 1 El módulo TIMER1 así como el TIMER0 es un temporizador/contador con las siguientes características. Trabaja con 16 bits (con 2 registros de 8 bits:TMR1H.
MICROCONTROLADORES NOCIONES BÁSICAS. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Integrantes: Christian Blanco Raúl Bejarano
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
Introducción a los Sistemas Digitales Tema 1 1. ¿Qué sabrás al final del tema? n Diferencia entre analógico y digital n Cómo se usan niveles de tensión.
Convertidores analógico-digitales
Timer 3 Presentan: Fernando piñal moctezuma Tecilli tapia Tlatelpa BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA ELECTRÓNICA SISTEMAS.
MICROCONTROLADORES NOCIONES BÁSICAS COMPUTO II. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.

MICROCONTROLADORES COMPATIBLES CON 8XC51
Universidad Técnica Federico Santa María Departamento de Electrónica Seminario II1 Timers A - B. Usos y programación. Paola Rojas Pablo Naveas Carlos Silva.
“Organización y Arquitectura de Computadores” William Stallings
Comparador A Integrantes Álvaro Bravo Domingo Devotto Nelson Figueroa.
Sesión 09: TIMER como base de tiempo.
Sesión 10: Conversión Análoga a Digital
Sesión 08: Interrupciones - IRQ. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales.
Sesión 1: Presentación del curso. 2009/1 Circuitos Digitales III Universidad Santo Tomás Sistemas Digitales II Presentación  Nombre:  Sebastian Villa.
Tema 4: El microcontrolador PIC16F876
Sistemas Secuenciales Electrónica Digital
Sesión 6: Repaso LCD - Keyboard. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1Universidad Santo.
Sesión 07: Interrupciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad.
Rendimiento de la CPU y sus factores
NOCIONES BÁSICAS COMPUTO II
Contenido Los puntos 9.7 y 9.8 no se dan 9.1. Revisión del concepto de máquina secuencial. Taxonomía Temporización en los circuitos lógicos síncronos.
MULTIVIBRADORES Oscar Ignacio Botero H..
CORPOCIDES Ing. Emilio Medina Baquero
RESUMEN: Softmicro de 8 bits Xilinx
Alumno: Gerardo Mario Valdés Ortega
ESTADO Registro de ESTADO más utilizado  Es el registro más utilizado.  Ocupa la dirección 03 H tanto del Banco 0 como el Banco 1 de la Memoria de Datos.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Programando puertos en C freescale
José Alvarado – Cristian Anzola
Controladores Lógicos Programables (PLC)
Tema 1- Generalidades sobre Control Digital
Programación de microcontroladores PIC16f877a en linux
Amplificadores de Instrumentación
Malla asegurada en fase (Phase Locked Loops)
Máquinas de estado con VHDL
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Introducción a los microcontroladores Octubre 2013 Arduino Uno Convertidor A/D.
SISTEMAS ELECTRÓNICOS 3ºGIERM1 1. Introducción 2. Tipos de datos 3. Estructuras típicas de programación 4. Manejo de bits Tema 7. Programación de microcontroladores.
Transcripción de la presentación:

Sesión 11: - Comparador, Captura y PWM

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás A continuación… Modo PWM Modo Comparador Modo Captura Introducción Módulo CCP

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Repaso  Cuando se requiere de una base de tiempo para realizar una o más tareas periódicas: Reloj Sistema 1ms 100ms 250ms 1s 0.5s 5ms TIMER Generador de Bases de Tiempo Bases de tiempo configurable… CPU Procesando… CPU Procesando… Mínima intervención de la CPU

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Repaso  Temporizadores.  Medida del tiempo de eventos externos.  Generación de Señales Cuadradas. TIMER Evento o INT TIMER Evento I.C. TIMER Evento I.C. Evento t1t2t3t4 TIMER Evento O.C. TIMER Evento O.C.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CCP  Los módulos CCP permiten realizar tres funciones básicas basadas en el manejo de los temporizadores (Timer):  Captura: obtiene el valor del temporizador en un momento dado, fijado por la acción de un terminal del PlC.  Comparador: compara el valor del temporizador con el valor de un registro y provoca una acción en el PIC.  PWM: genera una señal modulada en amplitud de pulso.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Pines Módulo CCP  Conexión del módulo CCP

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CCP  Cada uno de los módulos CCP posee un registro que permite obtener información del módulos según la configuración realizada.  El registro: CCP_x  Donde la x se reemplaza por el módulo correspondiente.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CCP  Los PIC de la gama media pueden tener hasta 2 módulos CCP. Cada módulo CCP posee un registro de 16 bits que puede utilizarse de las tres siguientes formas:  Modo Captura: Registro de 16 bits para capturar el valor del temporizador al producirse un evento  Modo Comparador: Registro de 16 bits para comparar su valor con el valor del temporizador TMR1.  Modo PWM: Registro de 10 bits para el ciclo de trabajo de una señal PWM.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Manipulación Módulo A/D  Para trabajar con este módulo, se recomienda seguir los siguientes pasos: 1.Configurar el TIMERx:  Configurar frecuencia de la interrupción Seleccionar el la fuente de reloj, el Preescalador, Postescalador, … 2.Configurar el módulo CCPx  Seleccionar el modo de operación  Inicializar registros 3.Habilitar interrupciones  Activar la interrupción CCPx

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CCP  Para trabajar con las interrupciones del CCP, se la siguiente directiva: #INT_CCPx  Esta indica que la función que esté a continuación será la subrutina de atención de interrupción del módulo CCPx.  Para habilitar la interrupción se emplea: enable_interrups (INT_CCPx);

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás A continuación… Modo PWM Modo Comparador Modo Captura Introducción Módulo CCP Modo Captura

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás t TIMER Tiempo de evento: X seg. Medición de Tiempo Mínima intervención de la CPU Modo Captura  Medida de tiempos  Cuando un canal se configura con modo Captura, el TIMER capturará el valor del contador al producirse un evento externo.  Este modo trabaja con el TIMER1

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás $0012 $01E0 $20F Contador 16 Bits 16-Bit LATCH CCPRxH:CCPRxL Señal Externa Flancos de Subida PORT Logic CCPy $0012$01E0$020F Modo Captura

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Captura  ¿Para qué sirve esto?  Piense para que sirve tener el valor del TIMER en dos instantes de tiempo diferentes t1 y t2.  ¿Cuál es el periodo de la señal de entrada? CCPR CCPR

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Captura  ¿Para qué sirve esto?  El contador interno se incrementa en cada periodo del TIMER.  Dicho periodo es conocido, 1/F TIMER  Para ir de a 13500, ¿Cuánto tiempo? F TIMER = F BUS / Preescalador Periodo = 1/F TIMER

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Captura  Ahora si, el periodo de la señal es: P = (13500 – 10350) / Frec_CNT CCPR CCPR F TIMER

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Captura  Ahora, ¿es posible que se presente la siguiente situación?  Para este caso (CARGA= 60000):  P = (8000 – 37500) / Frec_CNT ???  P = (CARGA – 37500) / Frec_CNT  ¿Lo anterior es general? CCPR CCPR Se alcanza el módulo

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás (+) F2F1 TMER0= 37500TIMER0= (-) (=) PERIODO = (65535* – 37500)/Frec_TIM O.V. (65535) O.V. (65535) O.V. (65535) O.V. (65535) O.V. (65535) O.V. (65535) P = (No. OV. * CARGA+ F2 – F1) / Frec_CNT Modo Captura

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CPP en C El compilador C suministra una serie de funciones para el manejo del módulo CCP Configuración del módulo CCPx:  Configuración del módulo cpp setup_ccpx (modo);  Modo:Selecciona el modo de operación. ValorDescripción CCP_OFF Deshabilitación CPP_CAPTURE_FE Captura por flanco de bajada CPP_CAPTURE_RE Captura por flanco de subida CPP_CAPTURE_DIV_4 Captura tras 4 pulsos CPP_CPATURE_DIV_16 Captura tras 16 pulsos CPP_COMPARE_SET_ON_MATCH Salida a 1 en comparación CPP_COMPARE_CLR_ON_MATCH Salida a 0 en comparación CPP_COMPARE_INT Interrupción en comparación CPP_COMPARE_RESET_TIMER Reset TMR en comparación CPP_PWM Habilitación PWM

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Ejemplo  Medir el ancho de un pulso mediante el módulo CCP.  Configurar una señal pulsada de 500us  Configurar el Timer1 para generar una interrupción cada 1us.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás A continuación… Modo PWM Modo Comparador Modo Captura Introducción Módulo CCP Modo Comparador

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Modo Comparador  Cuando un canal se configura con Modo Comparador, el TIMER podrá generar a través de ese canal un pulso periódico con polaridad, duración y frecuencia programable.  Este modo trabaja con el TIMER1  Frecuencia: Contador = CARGA.  Comparador: Contador = REG. CANAL.  Polaridad:  Canal a ‘0’ en Comparador.  Canal a ‘1’ en Comparador. Señal A Contador = REG. CANAL. Pin a ‘0’. Contador = REG. CANAL. Pin a ‘0’. Contador = CARGA. Toogle en el Pin. Contador = CARGA. Toogle en el Pin. Señal B Contador = REG. CANAL. Pin a ‘1’. Contador = REG. CANAL. Pin a ‘1’. Contador = CARGA. Toogle en el Pin. Contador = CARGA. Toogle en el Pin.  La frecuencia la define el Módulo del TIMER.  El ancho de dureza está definido por CANAL: 0 <= CANAL <= MOD_TIMER  Si MOD = 2500, se tienen entonces 2500 valores posibles de ancho de dureza, es decir, el menor cambio en porcentaje estará dado por: 1/2500 * 100%.  De manera general: X = Porc * MOD / 100%.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás CONT. XXXX F BUS PREESCAL. SEL. PS. TIMER MOD XXXX COMP P TOF REG. CHy XXXX COMP PIN CCPx CARGA 1000 CONT. 0 … 1000 REG. CHy 650 O.V. O.C. O.V.O.C. COMP O.V.O.C. O.V.O.C. REG. CHy 250 Toggle On Pin Set/Clear O.C. Modo Comparador

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CPP en C El compilador C suministra una serie de funciones para el manejo del módulo CCP Configuración del módulo CCPx:  Configuración del módulo cpp setup_ccpx (modo);  Modo:Selecciona el modo de operación. ValorDescripción CCP_OFF Deshabilitación CPP_CAPTURE_FE Captura por flanco de bajada CPP_CAPTURE_RE Captura por flanco de subida CPP_CAPTURE_DIV_4 Captura tras 4 pulsos CPP_CPATURE_DIV_16 Captura tras 16 pulsos CPP_COMPARE_SET_ON_MATCH Salida a 1 en comparación CPP_COMPARE_CLR_ON_MATCH Salida a 0 en comparación CPP_COMPARE_INT Interrupción en comparación CPP_COMPARE_RESET_TIMER Reset TMR en comparación CPP_PWM Habilitación PWM

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás A continuación… Modo PWM Modo Comparador Modo Captura Introducción Módulo CCP Modo PWM

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás PWM (Pulse Width Modulation)  El modo PWM permite:  Obtener en los pines CCPx una señal periódica en la que se puede modificar su ciclo de trabajo (Duty Cicle).  Variar el tiempo en el cual la señal está a nivel alto (T ON ) frente al tiempo que está a nivel bajo (T OFF ).  Variar el voltaje promedio aplicado a la carga. Proporcional al T ON, controlando la velocidad de motores, luminosidad de lámparas, etc.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Velocidad % PWM Modo PWM  Variación de Velocidad PWM MOTOR DC RPM t MOTOR Cambio SISTEMA EMBEBIDO SISTEMA EMBEBIDO

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás PWM (Pulse Width Modulation)  La resolución de salida es de hasta 10 bits.  El periodo de la señal PWM se obtiene:  Configurar el TIMER2  Configurar el contenido del registro PR2 setup_timer_2 (preescaler, PR2, postscaler);  Para calcular el periodo de la señal PWM se utiliza la siguiente ecuación: PreescalerDescripción T2_DISABLEDHabilitar TIMER2 T1_DIV_BY_1Preescalador 1 T1_DIV_BY_4Preescalador 4 T1_DIV_BY_16Preescalador 16

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo CPP en C El compilador C suministra una serie de funciones para el manejo del módulo CCP Configuración del módulo CCPx:  Configuración del módulo cpp setup_ccpx (modo);  Modo:Selecciona el modo de operación. ValorDescripción CCP_OFF Deshabilitación CPP_CAPTURE_FE Captura por flanco de bajada CPP_CAPTURE_RE Captura por flanco de subida CPP_CAPTURE_DIV_4 Captura tras 4 pulsos CPP_CPATURE_DIV_16 Captura tras 16 pulsos CPP_COMPARE_SET_ON_MATCH Salida a 1 en comparación CPP_COMPARE_CLR_ON_MATCH Salida a 0 en comparación CPP_COMPARE_INT Interrupción en comparación CPP_COMPARE_RESET_TIMER Reset TMR en comparación CPP_PWM Habilitación PWM

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás PWM (Pulse Width Modulation)  Para poner en marcha el modo PWM se deben dar los siguientes pasos:  Configurar el modulo CCP en el modo CCP_PWM  Configurar el periodo PWM mediante la configuración del Timer2.  Configurar el Duty Cycle escribiendo en el registros set_pwmx_duty(Duty_cycle);

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Módulo A/D e n C  Definición ciclo de trabajo para el PWM set_pwmx_duty (valor);  Valor: dato de 8 o 16 bits que determina el ciclo de trabajo.  Este valor, junto con el valor del preescaler del TMR2, determina el valor del ciclo de trabajo.  En la configuración del TIMER2, el postscaler debe valer 1.

2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad Santo Tomás Ejemplo  Controlar la velocidad de un motor DC mediante el módulo CCP y un valor ADC.  Con el valor ADC obtenido se realizará una conversión DA utilizando el PWM.

Fin de la sesión 11