Comprensión de los temporizadores y contadores

-4

Sé que esta es una pregunta repetida, he referido muchas publicaciones, pero no obtuve una respuesta clara. Mi entendimiento es que la mayoría del microcontrolador tendrá un temporizador de 16/32 bits, que incrementa sus tics según el oscilador y el reloj provisto (reloj principal / periférico, divisor, prescaler).

Cuando comencé a trabajar en un simple microcontrolador 8051, pensé que el temporizador y el contador de son los mismos . La razón de mi pensamiento después de la sencilla prueba de abajo que hice en 8051.

"8051 tiene un bit C / T en el registro TMOD. Si el temporizador se inicia después de un reinicio, veo que el registro TH / TL se incrementa independientemente del bit C / T (si el bit establecido en 0 o 1 es igual)".

Luego trabajé en el microcontrolador PIC, noté que el temporizador y el contador tienen un concepto diferente en este controlador. Si se configura como modo temporizador, el registro TMRnH / TMRnL (donde n es 1 o 0) se incrementó para cada ciclo de instrucción. Pero si está configurado como contador, el registro no se incrementó para cada instrucción, luego conecté un interruptor en el pin TnCkn. Cuando presioné ese interruptor, el contador se incrementó. Con esto cambié mi perspectiva de que el temporizador y el contador no son los mismos. El temporizador se incrementará por cada ciclo de instrucción (reloj / señal interna), pero el contador se incrementará por cada vez que se produzca un flanco ascendente o un flanco descendente con un reloj / señal externo .

Ahora estoy trabajando en el controlador Freescale MPC, aquí noté el término GPT (temporizador de propósito general). Hay 5 unidades de temporizador (GPT) en este controlador, cada unidad de temporizador tiene un registro llamado "Registro de contador (TCNTn)". Cuando inicié un temporizador, este registro se ha incrementado para cada ciclo de instrucción. Así que pensé que este controlador solo tiene temporizador, no un contador. Pero me perturbo con dos términos a continuación

  1. Registro de contador: si es un temporizador, por eso se llama Registro de contador en el manual de usuario de MPC.
  2. En el Manual del usuario, hay una sección llamada Temporizador / Contador en esta sección, hay un subtema llamado GPT y no hay subtema para contadores por separado. lo que significa que el temporizador y el contador son los mismos ?

Mi pregunta:

  1. ¿Realmente el temporizador y el contador son iguales?
  2. Si no es lo mismo, ¿por qué 8051 y MPC funcionan igual (actuar como temporizador y contador)?
pregunta user2732944

3 respuestas

1

Para un "contador" o un "temporizador", el hardware básico es el mismo: un contador binario, que puede tener una anchura de 8, 16 o 32 bits.

La diferencia en la funcionalidad se encuentra en detalles como la fuente del reloj para el contador y las condiciones que pueden desencadenar una interrupción.

Un contador que está cronometrado por una frecuencia fija (ya sea generado internamente o externamente) se usa generalmente para generar o medir intervalos de tiempo, por lo que lo llamamos un "temporizador". A veces, solo puede generar una interrupción cuando se desborda, y otras veces hay un registro separado que contiene un valor con el que se compara el recuento y se genera una interrupción cuando coinciden. A veces, una transición de señal en un pin externo se puede usar para iniciar y / o detener el contador, o capturar su valor en un registro y generar una interrupción, lo que permite la medición directa de los intervalos.

Un contador que está sincronizado por una señal externa que puede o no ser periódica generalmente se usa para contar esos eventos, por lo que simplemente se denomina "contador".

La mayoría de los microcontroladores tienen uno o más contadores de este tipo incorporados, y generalmente tienen registros que permiten que el firmware configure la fuente del reloj y las condiciones de interrupción, por lo que el término "contador / temporizador" se usa generalmente para describirlos . Sin embargo, debe ver los detalles en la hoja de datos de cualquier chip en particular para determinar si cumple con las necesidades de su aplicación.

    
respondido por el Dave Tweed
1
  

¿Realmente el temporizador y el contador son iguales?

si. ambos son contadores y, a veces, con diferentes fuentes de reloj, externos / internos, precalificadores diferentes, etc., pero ninguno es fundamental para las operaciones.

    
respondido por el dannyf
0

Un temporizador "cuenta" bordes / ciclos desde alguna fuente, un contador "cuenta" bordes / ciclos desde alguna fuente. Te estás preocupando demasiado por los términos que realmente no importan. Algunas personas dicen una cosa, otras dicen que otra parte mezcla los términos. Los vendedores de chips pueden usar un término, u otro o ambos, dependiendo de si es solo su convención o están tratando de atraer a personas que usan cualquiera de los dos términos.

Lo que importa es un chip por chip o por proveedor, usted lee la documentación de los periféricos en el chip, ignorando en su mayor parte cualquier otro chip que haya usado y descubra qué hace este chip en particular o no lo hace por usted, no importa si lo llaman DIO o GPIO o IO o UART, o USART. Si utilizan los términos MOSI / MISO o SIMO / SOMI o ninguno (D0, D1, D2, ...).

Lo que importa es lo que hace o no hace, no lo que se llama o el vocabulario usado.

    
respondido por el old_timer

Lea otras preguntas en las etiquetas