Registros y programación TA

Registros y programación TA

El control y configuración de los bloques que integran el temporizador se realiza a través de los registros que se muestran más abajo.

Registros de configuración del TA. Fuente: Texas Instruments

Son 9 registros que se estructuran en lo dos bloques que constituyen el temporizador A. 

Bloque temporizador.

Tiene asociados dos registros:

TAR que almacena el estado de la cuenta del temporizador y se puede leer en cualquier momento, o incluso modificar escribiendo en él.

TACTL que permite configurar al bloque temporizador.

La cuenta de TAR se modifica al ritmo marcado por el reloj Temporizador, el cual puede proceder de algún reloj externo conectado a algunos pines del sistema (TACLK, INCLK), o de los relojes internos ACLK y SMCLK. El reloj se puede seleccionar entre los 4 anteriores mediante los bits TASSEL del registro TACTL. Por otra parte, sea cual sea el reloj, es posible dividir su frecuencia original entre 1, /2, /4, y /8, indicándolo en los bits IDx en TACTL.

 

La llegada de la cuenta a 0 provoca la activación del flag de desbordamiento TAIFG, el cual puede dar lugar a una interrupción si los permisos correspondientes están habilitados. La puesta a 1 del bit TACLR (en TACTL) permite resetear la cuenta y las características de funcionamiento iniciales del temporizador (modo de operación, factor de división de reloj).

Por otra parte, TACTL, también permite seleccionar diferentes modos de contar, mediante los llamados Modos de Operación, establecidos por los bits MCx en el registro TACTL:

  • Modo Parada (Mcx=00). El temporizador está parado.
  • Modo UP o Ascendente (01). La cuenta crece hacia el valor cargado en el registro TACCR0 del bloque CCR0. Una vez llegado a este valor regresa a 0 y vuelve a crecer hasta llegar de nuevo a TACCR0, y así indefinidamente. Para poner en marcha el reloj es necesario que TACCR0 contenga un valor distinto de 0. Si al seleccionar este modo el TAR contiene un valor mayor que TACCR0, pasará automáticamente a 0.
  • Modo Continuo (10). En este caso el temporizador cuenta, repetidamente, desde 0 hasta su valor máximo FFFFh, volviendo a 0 y repitiendo el proceso. En este caso la cuenta comienza automáticamente al seleccionar el modo de operación.
  • Modo UP/DOWN (Ascendente/Descendente, 11). En este modo, el temporizador cuenta desde 0 hasta el valor almacenado en TACCR0, pero al llegar allí la cuenta no vuelve directamente a 0, si no que empieza a descender hasta llegar a ese valor, y desde allí, de nuevo, vuelve a ascender hacia TACCR0, y así indefinidamente.

 

Bloque Captura comparación.

Cada uno de los tres bloques de captura comparación tiene asociado dos registros TACCRx y TACCTLx. Los bloques de captura comparación actúan en colaboración con el temporizador para generar eventos y salidas en determinados intervalos de tiempo (Modo Comparación), o para capturar el valor del temporizador TAR, en un instante dado (Modo Captura). Por lo tanto, en modo comparación TACCRx almacena la cuenta que se quiere llevar a cabo y en modo captura registra el valor que tiene el TAR ante un determinado evento. El registro TACCTLx permite la configuración de este bloque de captura comparación.

La selección para el bloque en modo captura o comparación se realiza con el bit CAP del registro TACCTLx.

MODO CAPTURA

En Modo captura los diferentes bloques CCRx, copian el valor del  TAR en TACCRx en el momento en que se activa una señal por determinados pines del microcontrolador. Es posible seleccionar la señal que va a provocar la captura (bits CCISx en TACCTLx), y el flanco de dicha señal que lo hará posible (bits CMx en TACCTLx: no captura, subida, bajada, o ambas).

Las señales de captura pueden ser: CCIxA (CCISx=00); CCIxB (01); GND (10); y VCC (11). Para saber los terminales a los que están conectados dichas señales, es necesario mirar el Data Sheet. Estos terminales actúan, tras el RESET, como entradas digitales de los puertos. Para seleccionar su función de captura será necesario seleccionar dicha función en el registro PxSEL correspondiente.

Además de copiar el valor del TAR en el TACCRx correspondiente, la captura activa el flag CCIFG del TACCTLx asociado, provocando una interrupción si su bit de habilitación CCIE está activo.

MODO COMPARACIÓN

En el momento que el TAR alcanza el valor almacenado en el registro TACCRx se activa el flag CCIFG del registro TACCTLx asociado, provocando una interrupción si su bit de habilitación CCIE está activo. Además de esto, es posible generar una forma de onda por determinados pines de salida, que se modifica cuando la cuenta de TAR alcanza determinados valores.

 

 

 

Obra publicada con Licencia Creative Commons Reconocimiento 2.5