Curso sobre Microcontroladores Familia HC9S08 de Freescale

Documentos relacionados
Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Timer Interface Module

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

MICROCONTROLADORES PIC

Universidad Nacional Autónoma de México

Curso sobre Microcontroladores Familia HC9S08 de Freescale

PIC16F882/883/884/886/ Funcionamiento de Timer1 6 EL MODULO TMR1 CON PUERTA DE CONTROL Selección de Fuente de reloj

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Microchip Tips & Tricks...

Buceando en el HC908...

ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI ATE-UNIOVI

Las interrupciones en lenguaje C...

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Guía de programación PWM. Características de una señal de control con Modulación de Ancho de Pulso.

TIMER INTERFACE MODULE (TIM)

Bus de datos Bus de direcciones Pocos bits, los suficientes para direccionar registros internos (ej: A0 y A1)

Universidad Nacional Autónoma de México

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

LABORATORIO DE ELECTRÓNICA DE POTENCIA PRÁCTICA N 3

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Tema. Módulo Captura Comparación Modulación n de Achura de Pulsos. C. F. G.S. D.P.E. Módulo de Proyectos 1

Instrucciones de alta velocidad y el tiempo de SCAN. Facultad de Ciencias

Buceando en el HC908...

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Diferencia de fase Pulso + dirección Arriba/Abajo Incremental IN6 CIO Fase A CAV 1 Entrada contaje Entrada incremental Entrada contaje CAV 1

Curso sobre Microcontroladores Familia HC9S08 de Freescale

MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255

Lanzamiento de nueva versión KIT PLUGIN_AW... Ahora aprender C es más fácil!

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

Microchip Tips & Tricks...

Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica INFORMÁTICA ELECTRÓNICA

NT0106. Notas Técnicas de Uso y Aplicación 2.6 CAPTURA DE ENTRADA INPUT CAPTURE CAPTURA DE EVENTOS EXTERNOS MEDICIÓN DEL PERÍODO. 2.6.

ITT-327-T Microprocesadores

Diseño Basado en Microcontroladores. Programa Detallado

Lanzamiento de nueva versión KIT PLUGIN_AW... Ahora aprender C es más fácil!

MICROCONTROLADOR PIC DE MICROCHIP

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Laboratorio 4. Objetivos

CURSO BÁSICO MICROCONTROLADORES PIC

Buceando en el HC908...

Módulo de la Interfaz de Comunicación Serie

CONTADORES. Son sistemas secuenciales con una entrada de pulsos que representan en su salida la cantidad de pulsos dados.

Microchip Tips & Tricks...

ITSP. Timer 0 del AVR. En la siguiente sección veremos como configurar y utilizar los registros del Timer/Contador 0, así como sus modos de operación.

Figura 1. Diagrama de bloques del Timer_A

Contadores y timers. Contadores y timers. Contadores y timers

El TIMER 1. (c) Domingo Llorente

Microprocesadores, Tema 6:

Buceando en el HC908...

Generación de PWM para la familia HC08JL

PIC16F88. Características

FORO TRABAJO COLABORATIVO DE LA UNIDAD No. 1. Este trabajo se compone de una sola entrega de documento final. Debe ser entregado en PDF.

INTERRUPCIONES Y ENTRADA/SALIDA DE PULSOS EN EL CPM2A/CPM2C

RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC 16F87X. Figura # 1

Mapas de Memoria y E/S

Curso sobre Microcontroladores Familia HC9S08 de Freescale

MÓDULO Nº7 REGISTROS Y CONTADORES

TARJETA DE ENTRADAS Y CONTADORES RÁPIDOS (MTC-3052)

Módulo de 16 entradas digitales modbus:

Diseño de una Aplicación en 10 Minutos!!...

Lógica Digital. Circuitos Secuenciales. Francisco García Eijó. Organización del Computador I Departamento de Computación - FCEyN UBA

Reset e interrupciones

Buceando en el HC908...

ARQUITECTURA DEL PIC16F84A

RESETS & INTERRUPCIONES

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Microchip Tips & Tricks...

SISTEMAS EMPOTRADOS TRABAJO FINAL DE GRADO. Daniel Gómez García

5-15 Instrucciones de temporizador y contador

PIC 18F45XX EL TIMER 0

Curso sobre Controladores Lógicos Programables (PLC).

MÓDULO COMPARADOR Y REFERENCIA DE TENSIÓN PARA LA COMPARACIÓN

Cuántos contadores de alta velocidad (HSC), soporta el PLC SIMATIC S7-1200? SIMATIC S FAQ Abril Service & Support. Answers for industry.

Microcontrolador PIC16F84: Arquitectura

Las Interrupciones en el S7-200

Sistemas Didácticos en el aprendizaje con MCU s.

CAPITULO 3 MANEJO DE LOS TEMPORIZADORES Y CONTADORES

17 Con el chorro de agua pequeño, la cubeta se llena en 10 minutos

PIC 18F45XX. El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation)

Elección de un microcontrolador

La familia PIC18 USB posee 4 timers: Timer0, Timer1, Timer2 y Timer3, cada uno de los cuales tiene sus características únicas.

Robótica Inteligente Programación. Marco Antonio López Trinidad Luis Enrique Sucar Succar Departamento de Computación

GUÍA RÁPIDA CJ1W-CT021

ENTRADAS DE CONTADOR DE ALTA VELOCIDAD

(SPI) Módulo Serial Sincrónico

Introducción Flip-Flops Ejercicios Resumen. Lógica Digital. Circuitos Secuenciales - Parte I. Francisco García Eijó

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Diseño con Microcontroladores

Práctica 2. El Circuito Integrado NE555 como oscilador astable y como detector de pulsos fallidos. 7 El Circuito Integrado NE555: Introducción Teórica

Funciones de interrupción del CPM1/CPM1A Sección 1-5

infoplc.net CONEXIÓN DE ENCODER INCREMENTAL / REVERSIBLE A CPM1A

LECCIÓN Nº 06 DISEÑO DE CONTADORES SINCRONOS

INSTITUTO TECNOLOGICO DEL MAR, Mazatlán

MICROPROCESADORES. Ejercicio de evaluación continua: E/S del MC68000

Transcripción:

Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Responsable Area Educación ELKO / ARROW www.elkonet.com e-mail: ddilella@elkonet.com Capítulo 4. Entrega Nº 8 Timer / PWM TPM. Función Output Compare. La función Output Compare (OC) del módulo TPM de la familia HC9S08 es idéntica a la implementada en el módulo TIM08 de la familia HC908. Solo hay que tener en cuenta la configuración del bit CPWMS = 0 para que se realice la cuenta ascendente en el contador de 16 bits.

Bloques utilizados en el TPM durante la función Output Compare (OC). Al igual que en el módulo TIM08 de los HC908, la función OC funciona de la siguiente forma: Se configura el canal elegido para realizar la función OC y se coloca el bit CPWMS = 0, luego se cargan los registros TPMxMODH / TPMxMODL con el valor del período de la señal a generar y los registros del canal elegido TPMCnVH / TPMCnVL con el valor del ciclo activo de la señal. Además se configura la salida del canal para que imponga un estado lógico durante la generación de la señal y se habilita la interrupción del canal. Una vez que se inicia la cuenta en el contador free running, cuando este alcanza el valor contenido en los registros del canal TPMCnVH / TPMCnVL se genera una interrupción si esta ha sido habilitada (CHnIE) y además se pone a 1 el bit CHnF indicando que se ha cumplido con el ciclo activo de la señal.

Se sugiere al lector, consultar el curso de microcontroladores HC908 contenido en el EDUKIT08 para profundizar en la función OC y en el manual de referencia de la familia HC9S08. Función PWM (Edge Aligned / Center Aligned). La función PWM del módulo TPM en la familia HC9S08, es algo distinta a lo que dispone el módulo TIM08 del HC908. En este último módulo, se dispone de la función PWM Unbuffered (no buffereado) y de la función PWM Buffered, ambas alineadas en el flanco de comienzo (Edge Aligned). Mientras que en el módulo TPM se dispone de PWM Buffered alineado en el flanco de comienzo (Edge Aligned) o alineado en el centro del período (Center Aligned). Es bueno Recordar que en la generación de PWM Unbuffered, el cambio de ciclo de servicio (Duty Cycle) de la señal generada se realiza durante el intervalo de tiempo que comprende la finalización del ciclo activo y la culminación del período de la señal. Este tiempo, que en la mayoría de las circunstancias es suficiente como para escribir los registros de control del canal para cambiar el ancho del pulso, en algunos casos extremos NO es suficiente e imposibilita la escritura de estos registros, generando ausencias de pulsos activos o pulsos espurios de la señal PWM. Esta característica del PWM Unbuffered, puede eliminarse utilizando generación de PWM Buffered, pero en el TIM08 involucra la perdida de 2 canales del Timer ya que trabajan en forma concatenada como se explica en detalles en el curso de HC908.

Esto no sucede con el módulo TPM de los HC9S08, ya que cada canal puede generar PWM Buffered en forma independiente uno de otro. Ello constituye una ventaja importante con respecto al TIM08, sin pagar el precio de perder un canal extra en la generación de PWM Buffered. Función PWM Edge Aligned. La función PWM Edge Aligned (alineada en el flanco de comienzo) utiliza el contador de Free Running de 16 bits en modo ascendente (Up Count) con el bit CPWMS = 0. Se debe tener en cuenta que se pueden utilizar otros canales del mismo módulo TPM con funciones como Input Capture (ICAP) o Output Compare (OC), junto con la función PWM Edge aligned si el bit CPWMS = 0 en dicho módulo. Se puede obtener ciclos de servicio (Duty Cycle) de la señal de salida desde 0% al 100% cuando se cargan los registros del canal con valores de $0000 y valores mayores al período de la señal (registros de módulo) respectivamente.

El valor de comparación de salida (Output Compare) en el registro del canal del TPM determina el ancho del pulso (Duty Cycle) de la señal de PWM. El tiempo transcurrido entre el overflow (vuelta a cero del contador) del módulo y la comparación de salida (Output Compare) es el ancho del pulso. Si se observan los registros afectados por la función PWM Edge Aligned veremos que la configuración de los registros de módulo (TPMxMODH / TPMxMODL) determinan el período de la señal de PWM. Los registros del timer del canal determinan el ciclo de servicio (duty cycle) de la misma y los bits ELSnB / ELSnA en el registro de estado y control (TPMCnSC) determinan la polaridad de la señal.

Ahora, una vez que se ha configurado el módulo TPM para la función PWM Edge Aligned, Que sucede luego?... Cuando el valor en el contador de 16 Bits iguala al contenido en los registros del canal, la transición de la señal de salida programada (en el ejemplo aquí presentado corresponde a un estado de 0 lógico cuando se produce el Output Compare), es forzada en el pin de la señal de salida. Si las interrupciones están habilitadas, una interrupción ocurrirá cada vez que suceda lo anteriormente comentado, y el usuario deberá limpiar el Flag del canal (CHnF) dentro de la rutina de servicio de la interrupción primero leyendo este Flag y luego escribiendo un 0 en el. El habilitar las interrupciones permite al usuario cambiar el ciclo de servicio dentro de la rutina de servicio de la interrupción. Cuando el valor en el contador de 16 Bits iguala al valor contenido en los registros de módulo se fuerza un overflow del contador y este se resetea ($0000) además de forzar una señal de salida alta ( 1 ).

Función PWM Center Aligned. La única función del módulo TPM que requiere que el Bit CPWMS = 1 es la de PWM Center Aligned (alineada en el centro del período). Este tipo de PWM utiliza el modo de contador ascendente / descendente (Up / Down) el cual se incrementa hasta alcanzar el valor en el registro del canal antes de decrementar hasta el 0, donde el 0 es el centro del período. Para configurar el ciclo de servicio al 0%, el valor del registro del canal debe ser igual a un valor negativo o cero. Para configurar el ciclo de servicio al 100%, el valor del registro del canal debe ser mayor al contenido en el registro de módulo. Echemos un vistazo a los registros del TPM que son afectados por la configuración del PWM Center Aligned. El período de la señal de PWM es igual a 2 veces lo configurado en los registros del módulo, efectivamente si se le dan a estos registros un rango utilizable desde $0001 a $7FFE. El valor cero ($0000) es un caso especial que no debe usarse en el modo de PWM Center Aligned y $7FFF solo puede ser usado si un Duty Cycle de 100% no es necesario. El ciclo de servicio o Duty Cycle (ancho del pulso) es igual al doble de los valores programados en los registros del canal. La polaridad de la señal de salida se determina por la configuración de los Bits de control ELSnB y ELSnA en el registro de estado y control del módulo. En este ejemplo se han configurado dichos bits en 10 el cual provocará que la salida se fuerce a cero 0 cuando se produzca la comparación mientras el contador está contando en forma ascendente y se pondrá en 1 en la comparación cuando el contador está contando en forma descendente. Tener en cuenta que se deberán habilitar las interrupciones cuando se trabaje con el modo PWM Center Aligned.

Después de configurar el módulo TPM para la función PWM Center Aligned, y cuando el valor en el contador de 16 Bits iguala al contenido de los registros del canal, si el contador estaba contando en forma ascendente, la transición de la señal de salida programada (en este ejemplo, un cero 0 cuando la comparación se hace en la etapa ascendente del contador) es forzada en el pin de la señal de salida. Si el contador estaba contando en forma descendente, ocurrirá la transición opuesta en la señal de salida. Cuando el valor del contador de 16 Bits iguale al de los registros del módulo, se forzará un overflow (reset del contador a $0000) y si las interrupciones han sido habilitadas, el usuario podrá cambiar el ciclo de servicio (Duty Cycle) en la rutina de servicio de la interrupción y este cambió estará sincronizado con el próximo overflow del contador. Es bueno recordar que el usuario debe limpiar el Flag de interrupción en la rutina de servicio de la forma que se explicó para la función PWM Edge Aligned.

Continuará... Nota de Redacción: El lector puede descargar este capítulo y capítulos anteriores del curso desde la sección Artículos (Curso_HC9S08) en el sitio web de EduDevices (www.edudevices.com.ar )