Timers a b usos y programaci n
Download
1 / 34

Timers A - B. Usos y programación . - PowerPoint PPT Presentation


  • 128 Views
  • Uploaded on

Timers A - B. Usos y programación. Paola Rojas Pablo Naveas Carlos Silva Claudio Ramírez Christian Pelissier. Introducción. ¿ Que es un Timer? Corresponde a un “contador” que está sincronizado con algún reloj (“clock”). Se encarga de cuantificar el tiempo. Usos de los Timers.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Timers A - B. Usos y programación .' - aren


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Timers a b usos y programaci n

Timers A - B. Usos y programación.

Paola Rojas

Pablo Naveas

Carlos Silva

Claudio Ramírez

Christian Pelissier


Introducci n
Introducción

  • ¿ Que es un Timer?

    • Corresponde a un “contador” que está sincronizado con algún reloj (“clock”).

    • Se encarga de cuantificar el tiempo.


Usos de los timers
Usos de los Timers

  • Aplicaciones de tiempo real.

  • Contador para ciertos eventos, dependiendo de la aplicación.

  • Algunos permiten generar “avisos” a ciertos intervalos y/o eventos externos y con esto poder realizar alguna tarea necesaria.


Caracter sticas de los timers a y b
Características de los timers A y B

  • Principales características destacadas en el C MSP430F149:

  • • Timer/contador de 16 bit (máximo).

    • • Fuente de reloj seleccionable y configurable.

    • Se puede pre-escalar el reloj (1, 2, 4 u 8)

    • • Registros configurables en captura/comparación.

    • • Salidas configurables con capacidad PWM.

    • • Registro de vector de interrupciones, para manejo de overflow y de Capt./Comp.


Diferencias entre los timers a y b

El tamaño de cuenta del Timer B es programable a 8, 10, 12 o 16 bits. El Timer A es fijo de 16 bits.

Timer B tiene 7 registros de Cap./comp. Mientras que Timer A sólo 3 registros.

Los registros TBCCRx del Timer B tienen buffers dobles y pueden ser agrupados.

Diferencias entre los Timers A y B


Diagrama de bloques timer a
Diagrama de Bloques Timer A o 16 bits. El Timer A es fijo de 16 bits.


Diagrama de bloques timer b
Diagrama de Bloques Timer B o 16 bits. El Timer A es fijo de 16 bits.


Registros de los timers
Registros de los Timers o 16 bits. El Timer A es fijo de 16 bits.

TACTL, Registro de Control del Timer_A

TBCTL, Registro de Control del Timer_B

15

15

14

14

13

13

12

12

11

11

10

10

9

9

8

8

TBLGRPx

CNTLx

TASSELx

TBSSELx

7

7

6

6

5

5

4

4

3

3

2

2

1

1

0

0

Idx

Idx

MCx

MCx

TACLR

TBCLR

TBIE

TAIE

TBIFG

TAIFG


Registros de los timers cont

TACCTLx Registro de Control de Captura/Comparación o 16 bits. El Timer A es fijo de 16 bits.

TBCCTLx Registro de Control de Captura/Comparación

15

15

14

14

13

13

12

12

11

11

10

10

9

9

8

8

CMx

CMx

CCISx

CCISx

SCS

SCS

SCCI

CLLDx

CLLDx

CAP

CAP

7

7

6

6

5

5

4

4

3

3

2

2

1

1

0

0

OUTMODx

OUTMODx

CCIE

CCIE

CCI

CCI

OUT

OUT

COV

COV

CCIFG

CCIFG

Registros de los Timers cont.


Registros de los timers cont1

Timer_B Registro del Vector de Interrupción o 16 bits. El Timer A es fijo de 16 bits.

Timer_A Registro del Vector de Interrupción

15

15

14

14

13

13

12

12

11

11

10

10

9

9

8

8

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

7

7

6

6

5

5

4

4

3

3

2

2

1

1

0

0

0

0

0

0

0

0

0

0

TBIVx

TAIVx

0

0

Registros de los Timers cont.


Otros registros
Otros Registros o 16 bits. El Timer A es fijo de 16 bits.

  • Registro de los valores de los Timers: TAR, TBR

  • Registro de Captura/Comparación: TACCRx, TBCCRx


Programaci n pasos
Programación: Pasos o 16 bits. El Timer A es fijo de 16 bits.

  • Configurar las puertas que se utilizarán (I/O o periféricos)

  • Configurar la señal de reloj a utilizar (ACLK, TACLK…)

  • Configuración del Timer (TxCTL, TxCCTLx)

    • Modo de cuenta (Up/down, Up, Continuo)

    • Habilitación de interrupciones

    • Modo de comp/capt

    • Modos de salida

    • Si corresponde, programar rutinas de servicio de interrupciones


Ejemplos de programaci n
Ejemplos de programación o 16 bits. El Timer A es fijo de 16 bits.

Inicio de conteo usando Timer A.

void InitTimer_A(void) {

P1SEL = 0x80;

P1DIR |= BIT7; //Salida Dallas habilitada

// ACLK / 8 , habilitar interrupciones.

TACTL = ID1 | ID0 | TASSEL0 | TAIE;

TACTL |= MC1; // modo continuo

TACCTL2 = OUTMOD2 | OUTMOD1 | OUTMOD0 | CCIS0;

// en este caso el Timer_A está en Reset/set

TACCTL2 &= ~CAP; // modo de comparación

TACCR0 = 0xAAAA; // config. Registros cap/comp para salida

TACCR2 = 0x5555;

}


Cont ejemplos
Cont. Ejemplos o 16 bits. El Timer A es fijo de 16 bits.

Ejemplo de captura usando el timer B

voidInitTimer_B (void) {

P4SEL |= BIT4; // se setea P4.4 como periférico (TB4)

/* Config. Timer_B*/

TBCTL = ID1 | TBSSEL0 | TBIE; // cuenta a 16 bit

/* captura en canto de bajada señal input, interrupción habilitada */

TBCCTL4 |= CM1 | CCIE;

TBCCTL4 |= CAP; // modo de captura

TBCTL |= MC1; // inicio timer en modo continuo

_EINT(); // habilitación general int’s.

}


Cont ejemplos1
Cont. Ejemplos o 16 bits. El Timer A es fijo de 16 bits.

Rutina de servicio de interrupciones

#pragma vector=TIMERB1_VECTOR

__interrupt void TCPClockHandler (void)

{

if (TBIV == 14) // check for timer overflow

{

LPM3_EXIT;

}

if (TBIV == 8) // check for input signal (P4.4 = B1)

{

TBCCTL4 &= ~COV;

LPM3_EXIT;

//capture = TBCCR4;

}

}


Restricciones del uso del timer a
Restricciones del uso del Timer A o 16 bits. El Timer A es fijo de 16 bits.


Restricciones del uso del timer b
Restricciones del uso del Timer B o 16 bits. El Timer A es fijo de 16 bits.

Botones


Muchas Gracias por su atención. o 16 bits. El Timer A es fijo de 16 bits.

¿CONSULTAS?


Selecci n de fuente de reloj y divisor
Selección de fuente de reloj y divisor. o 16 bits. El Timer A es fijo de 16 bits.

  • El reloj puede ser configurado a través del registro TACTL en los bits TASSELx. Seleccionándose una fuente interna o externa.

    • TACLK que se encuentra configurado por defecto, es decir es configurado con los bits en TASSELx en 00.

    • ACLK, que corresponde al reloj auxiliar configurable con los bits TASSELx en 01.

    • SMCLK que es el sub-sistema del reloj maestro, se configura con los bits TASSELx en 10.

    • El reloj externo, que se configura con los bits TASSELx en 11.

La fuente de reloj puede ser pasada directamente al temporizador o dividida por 2, 4 ó 8, usando los bits


Modos de operaci n
Modos de operación o 16 bits. El Timer A es fijo de 16 bits.

  • Tiene 4 modos de operación

  • Se setean utilizando los bits de MCx


Up mode o 16 bits. El Timer A es fijo de 16 bits.

  • El timer cuenta repetitivamente hasta el valor indicado por el registro de comparación TACCR0

  • Cuando el valor del timer alcanza el valor de TACCR0, se empieza la cuenta nuevamente desde cero.

  • Si el UP MODE es seleccionado cuando el valor del timer es mayor que TACCR0, el timer inmediatamente empieza la cuenta desde cero.

  • El TACCR0 CCIFG flag de interrupción es activado cuando el valor del timer alcanza el valor de TACCR0.

  • EL flag de interrupción TAIFG es activado cunado el timer cuenta desde TACCR0 a cero.


Modo continuo o 16 bits. El Timer A es fijo de 16 bits.

  • En este modo el timer cuenta repetitivamente hasta el valor de 0FFFFh y empieza nuevamente desde cero.

  • El flag de interrupciones es activado cuando el time cuenta desde 0FFFFh a 0h


Modo Up/Down o 16 bits. El Timer A es fijo de 16 bits.

  • Es utilizado cuando se necesita obtener un pulso simetrico.

  • El timer cuenta repetitivamente hasta un valor TACCR0 y luego decrementa su valor hasta cero.

  • La direcion de conteo se encuentra latcheada. Lo que permite al timer se detenido y luego encendido, contando en la misma dirección que había quedado antes de ser detenido.

  • Si el valor del bit TACLR es seteado se limpia la dirección en que se estaba contando además del valor del TAR y del TACLK divider.


Modo Up/Down o 16 bits. El Timer A es fijo de 16 bits.

  • En este modo el flag de interrupción TACCR0 CCIFG y el flag de interrupción TAIFG están activos solo una vez por periodo, separados por medio periodo del timer.

  • TACCR0 CCIFG se activa cuando el timer cuenta TACCR0-1.

  • TAIFG se activa cuando el timer cuenta cero.


Modo captura
Modo Captura o 16 bits. El Timer A es fijo de 16 bits.

  • Este modo se usa para registrar eventos temporales.

  • Este modo se selecciona cuando CAP=1 en el registro de control TACCTLx.

  • Las entradas de captura están conectadas a pines externos o señales internas que se seleccionan con los bits CCISx.


Modo captura1
Modo Captura o 16 bits. El Timer A es fijo de 16 bits.

  • La captura de la señal puede ser asincrónica con respecto del timer del reloj y causa de una condición de carrera.

  • Cuando la captura ocurre:

    • El valor del temporizador es copiado en el registro TACCRx.

    • El flag de interrupción CCIFG es seteado


Modo comparaci n
Modo Comparación o 16 bits. El Timer A es fijo de 16 bits.

  • Este modo se usa para generar señales de salida PWM o interrupciones en un intervalo especifico.

  • Este modo se selecciona cuando CAP=0 en el registro de control TACCTLx.


Modo comparaci n1
Modo Comparación o 16 bits. El Timer A es fijo de 16 bits.

  • Cuando el TAR cuenta hasta el valor almacenado en TACCRx:

    • La interrupción del flag CCIFG es seteada.

    • La señal interna EQUx = 1.

    • EQUx afecta la salida según el modo de salida.

    • La señal de entrada CCI es latcheada en SCCI.


Modo comparaci n b

Si TBR cuenta al valor de un TBCLx: o 16 bits. El Timer A es fijo de 16 bits.

Se activa el flag de interrupción CCFIG

Señal interna EQUx=1

EQUx afecta la salida, de acuerdo al modo de salida

Latch de comparación TBCLx

TBCLx mantiene el valor a comparar con el valor del Timer. (TBCLx es “buffered “ por TBCCRx)

El dato a comparar se escribe en cada TBCCRx y se transfiere automáticamente a TBCLx

Cuando se activa la comparación, TBCCRx finaliza el control de usuario, i.e., no existe acceso directo a TBCLx

Modo Comparación B


Eventos de carga

El momento de la transferencia lo selecciona el usuario con los bits de CLLDx

El nuevo dato se transfiere de TBCCRx a TBCLx

CLLDx Descripción

00 inmediatamente al escribirse en TBCCRx

01 cuando TBR cuenta a 0

10 modo up y continuo:

Cuando TBR cuenta a 0

modo up down:

Cuando TBR cuenta al valor antiguo de TBCLx o a 0

11 Cuando TBR cuenta al valor antiguo de TBCLx

Eventos de Carga


Agrupaci n de latch de comparaci n

Pueden agruparse juntos para actualizaciones simultaneas de los bits de TBCLGRPx

Condiciones para la carga grupal:

Debe ocurrir el evento de carga

Todos los registros TBCCRx del grupo deben actualizarse, incluso cuando cuando el valor nuevo es igual al antiguo

Agrupación de Latch de comparación


Agrupaci n de latch de comparaci n1
Agrupación de Latch de comparación los bits de TBCLGRPx

  • El evento de carga del grupo es definido por los bits CLLDx del menor de los latch de comparación TBCCRx del grupo, con excepción de TBCLGRP =3

  • Si CLLDx = 0 del TBCCRx que controla, los latch de comparación se actualizan automáticamente cuando su TBCCRx correspondiente es escrito, i.e., No están agrupados.


Modos de salida
Modos de Salida los bits de TBCLGRPx

  • Cada bloque de captura/comparación contiene una unidad de salida para generar distintas señales.

  • Cada señal de salida tiene ocho modos de operación. Estos modos se configuran con el registro de control TACCTLx con los bits OUTMODx.


Ejemplos unidad de salida
Ejemplos Unidad de Salida los bits de TBCLGRPx

Modo UP

Modo continuo

Modo Up/Down


ad