manejo de los timers con el microcontrolador motorola
TRANSCRIPT
![Page 1: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/1.jpg)
MANEJO DE LOS
TIMERS CON EL
MICROCONTROLADOR
MOTOROLA - FREESCALE
Marisol Rosas - Rubén Darío MedinaTecnólogo en Automatización Industrial
![Page 2: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/2.jpg)
TEMAS
Timer Fuentes de interrupción debidas al TIM Registro TSC Registro contador del TIM TCNTH/L Registro modulo de tiempo TMODH/L Registro de estado y control de canales del TIM Registros de canales del TIM (TCH0H/L:TCH1H/L) Función PWM Función Output Función Input
![Page 3: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/3.jpg)
El TIM es un modulo de tiempo de dos canales que recibe, compara, envía y
tiene funciones de modulación por ancho de pulso PWM.
TIMER
![Page 4: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/4.jpg)
Diagrama en bloques del Clock de referencia del TIM
![Page 5: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/5.jpg)
FUENTES DE INTERRUPCIÒN DEBIDAS AL TIM
TOF: Bandera de rebosamiento del TIM
TIM $0000Valor
MODULOTOIE
1 Lógico1 Lógico
CH1F:CH0F: Banderas de Canales
Entrada Canal X InterrupciónCHxIE
1 Lógico1 Lógico
![Page 6: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/6.jpg)
REGISTRO TSCDirección $0020
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Leer TOF 0 0
Escribir 0 TOIE TSTOP TRST PS2 PS1 PS0
* TOF: Bit indicador de rebosamiento del TIM
* TOIE: Bit habilitador de interrupción por rebosamiento del TIM
* TSTOP: Bit de parada del TIM
* TRST: Bit de Reset del TIM
![Page 7: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/7.jpg)
* PS[2:0]: Selección de bits para configuración del prescalador
PS2 PS1 PS0 PRESCALADOR DEL TIM
0 0 0 RELOJ INTERNO ÷ 1
0 0 1 RELOJ INTERNO ÷ 2
0 1 0 RELOJ INTERNO ÷ 4
0 1 1 RELOJ INTERNO ÷ 8
1 0 0 RELOJ INTERNO ÷ 16
1 0 1 RELOJ INTERNO ÷ 32
1 1 0 RELOJ INTERNO ÷ 64
1 1 1 NO DISPONIBLE
Configuración del prescalador
![Page 8: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/8.jpg)
REGISTRO CONTADOR DEL TIM TCNTH/L
REGISTRO TCNTH - Dirección $0021
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Leer Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8Escribir
REGISTRO TCNTL - Dirección $0022
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Leer Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Escribir
![Page 9: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/9.jpg)
REGISTRO MODULO DE TIEMPO TMODH/L
REGISTRO TMODH - Dirección $0023
REGISTRO TMODL - Dirección $0024
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Leer
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8Escribir
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Leer
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Escribir
![Page 10: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/10.jpg)
REGISTRO DE ESTADO Y CONTROL DE CANALES DEL TIM
REGISTRO TSCO - Dirección $0025 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Leer CH0FCH0IE MS0B MS0A ELS0B ELS0A TOV0 CH0MAX
Escribir 0
REGISTRO TSC1 - Dirección $0028
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Leer CH1F
CH01IE0
MS1A ELS1B ELS1A TOV1 CH1MAXEscribir 0
CHxF: bit bandera del canal x. CHxIE: bit de habilitación de interrupción del
canal x. MSxB: modo de selección del bit B. MSxA: modo de selección del bit A.
![Page 11: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/11.jpg)
ELSxB y ELSxA: bits de selección de flanco o nivel
MSxB MSxA ELSxB ELSxA MODO CONFIGURACION
X 0 0 0Salida
preestablecida
Pin bajo control del puerto 1 Logico como valor incial Pin bajo control del puerto 0 Logico como valor inicial
X 1 0 0
0 0 0 1
Captura de entrada
Captura con solo flacno ascendente Captura con solo flacno descendente Captura con solo flanco ascend. o descend.
0 0 1 0
0 0 1 1
0 1 0 1
Comparación de salida o PWM
Salida de Toggle en comparación Salida 0 Lógica en comparación Salida 1 Lógica en comparación
0 1 1 0
0 1 1 1
1 X 0 1Comparacion de salida con buffer o PWM con buffer
Salida de Toggle en comparación Salida 0 Lógica en comparación Salida 1 Lógica en comparación
1 X 1 0
1 X 1 1 TOVx: bit de habilitación de Toggle en rebosamiento. CHxMAX: bit de máxima duración del ciclo en el
canal x.
![Page 12: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/12.jpg)
REGISTROS DE CANALES DEL TIM (TCH0H/L:TCH1H/L)
REGISTRO TCH0H Dirección $0026
REGISTRO TCH1H Dirección $0029
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Leer
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8Escribir
REGISTRO TCH0L Dirección $0027
REGISTRO TCH1L Dirección $002A
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
LeerBit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Escribir
![Page 13: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/13.jpg)
FUNCIÒN PWM
La modulación del ancho de pulso se usa para generar una forma de onda con un periodo fijo y ciclo variable.
Se pueden presentar diferentes frecuencias y resoluciones.
Tiene diferentes tipos de aplicaciones:
Generación de señales sinusoidales. Control de velocidad de un motor DC.
![Page 14: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/14.jpg)
IMPLEMENTACIÒN “PWM” EN EL MICROCONTROLADOR
PERIODO
PWM
MODULO TIM
TCHxF/L
OPERACION DE MODULACION
Periodo y ancho de pulso de la operación PWM
TCHx
PERIODO
ANCHO DEL
PULSO
COMPARACION DE SALIDA
COMPARACION DE SALIDA
REBOSAMIENTO REBOSAMIENTO REBOSAMIENTO
COMPARACION DE SALIDA
![Page 15: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/15.jpg)
INICIALIZACIÒN DE LA FUNCIÒN PWM.
Para lograr un correcto funcionamiento de la función PWM:
1. Efectuar las siguientes tareas en el registro TSC.a. TSTOP=1b. TRST=12. En los registros (TMODH:TMODL), escribir el valor
requerido para el periodo PWM.3. En los registros (TCHxH:TCHxL), escribir el valor
requerido para el ancho del pulso.
![Page 16: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/16.jpg)
4. En el registro TSCx, efectuar las siguientes tareas:
a. Escribir 0:1 (para comparación de salida sin buffer o señales PWM) o escribir 1:0 (para comparación de salida con buffer o señales PWM) en el modo de selección de bits MSxA; ver tabla de selección de modos y flancos.
b. TOVx=1c. Escribir 1:0 (para 0 lógico la comparación de
salida) o escribir 1:1 (para lógico la comparación de salida) en el bit de selección para flanco/nivel ELSxB:ELSxA.
5. TSTOP=0 del registro TSC.
![Page 17: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/17.jpg)
El valor de los registros del canal del TIM determina el ancho del pulso de la señal PWM. Aquí se tiene una variación de 256 incrementos.
Utilizar una salida PWM con o sin buffer puede
traer ventajas.
Una operación asíncrona puede causar operaciones incorrectas por uno o dos periodos de PWM.
Bandera de interrupción de rebosamiento del TIM
![Page 18: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/18.jpg)
FUNCION “OUTPUT COMPARE” Y SUS APLICACIONES
La función de comparación de salida usa los siguientes componentes para su óptimo funcionamiento:
Modulo de tiempo de 16 bits Un comparador Un latch de 16 bits de Output Compare Un pin de salida Un pin de control lógico y una fuente de
interrupción.
Sus aplicaciones van desde cronometraje o temporización de eventos hasta niveles de tensión en cargas eléctricas.
![Page 19: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/19.jpg)
FUNCION “INPUT COMPARE” Y SUS APLICACIONES
La función Input Compare se implementa a través de un pin de entrada como modo de selección de flanco, detector lógico y lógica de interrupción.
Utiliza un contador de 16 bits. Usando Input Compare se puede medir el
ancho de un pulso de entrada .
Se emplea comúnmente para realizar una referencia de tiempo absoluto de un evento externo, medir un periodo de entrada, entre otras aplicaciones.
![Page 20: Manejo de los timers con el microcontrolador motorola](https://reader036.vdocuments.site/reader036/viewer/2022062514/558a2599d8b42a10248b4709/html5/thumbnails/20.jpg)