¿Cómo detectar una onda cuadrada usando el puerto GPIO de PIC12f675?

1

En realidad estoy generando una onda cuadrada utilizando PIC12f675 desde un puerto GPIO, pero quiero detectar esa onda cuadrada utilizando otro pin en el puerto GPIO, ¿cómo podemos hacer eso? He tenido éxito utilizando TMR0 para usar como contador. Mi aplicación es desarrollar un controlador de nivel de agua para generar una onda cuadrada para evitar la corrosión de los sensores.

    
pregunta MrAlpha_SU

1 respuesta

1

Para detectar la forma de onda, debe utilizar la copia de realimentación de la onda cuadrada para permitir que un canal de temporizador cuente. El canal del temporizador tendría que configurarse para cronometrar en alguna frecuencia interna que esté correctamente seleccionada para proporcionar un número razonable de conteos por onda cuadrada, pero no tantos que el contador se desborda. La mayoría de los canales de temporizador de MCU tienen un escalador previo seleccionable que se puede usar para hacer que el reloj llegue al rango correcto.

Hay varios estilos de mecanismos de temporizador que se pueden usar según el tipo de MCU en uso.

Un estilo usa la onda cuadrada de entrada como una puerta habilitada para el temporizador para que pueda contar mientras la puerta está abierta. Cuando la compuerta se cierra, el software verifica si el número de conteos en el contador coincide con el ancho de pulso de compuerta esperado. Este esquema se utiliza generalmente para capturar el recuento de un semiciclo de la onda cuadrada de entrada.

El otro estilo tiene el temporizador libre todo el tiempo. Luego se usa el borde de la señal de onda cuadrada (a menudo denominada captura de entrada) para bloquear el conteo actual del temporizador de funcionamiento libre en un registro de espera. El software guarda el valor del registro de captura justo después del tiempo de captura. El software entonces se prepara para el próximo evento de captura. Esto puede consistir en permitir que la captura de entrada funcione en el borde opuesto de la señal de onda cuadrada de entrada. Después de la siguiente captura, el software resta los dos valores de captura para deducir cuántas marcas de tiempo ocurrieron entre los bordes de entrada. Si el borde de entrada se alterna cada vez, entonces usted está midiendo alternativamente el período alto de la forma de onda de entrada y luego el período bajo. Si se utiliza el mismo borde en cada captura, está midiendo el período de la onda cuadrada.

    
respondido por el Michael Karas

Lea otras preguntas en las etiquetas