Si desea medir la frecuencia, necesita una frecuencia de referencia con la que pueda compararla.
La forma habitual de hacer esto es configurar dos cadenas de contador, una de las cuales está sincronizada por su frecuencia de referencia F ref , y la otra cronometrada por su frecuencia desconocida F unk (el condicionamiento de la señal de entrada es un ejercicio que queda para el alumno). Dejas que los dos contadores se ejecuten durante la misma cantidad de tiempo T y luego lees sus valores.
$$ Count_ {ref} = F_ {ref} \ cdot T $$
$$ Count_ {unk} = F_ {unk} \ cdot T $$
Combina las dos ecuaciones al dividirlas y resuelve para F unk :
$$ F_ {unk} = \ frac {Count_ {unk}} {Count_ {ref}} F_ {ref} $$
Ese es el concepto general, pero en la práctica, el proceso a menudo se simplifica utilizando el propio contador de referencia para determinar el período de tiempo T, lo que hace que Count ref sea una constante conocida, y F ref también se elige para que sea un número de "buena ronda". Esto convierte la multiplicación y división en operaciones triviales, y la frecuencia se puede leer más o menos directamente desde el recuento unk . Por ejemplo, si F ref / Count ref = 1 Hz, entonces Count unk = F unk directamente.
Hay muchas sutilezas asociadas con la optimización del rendimiento de este proceso en las que no voy a entrar aquí, pero hay un truco que se usa a menudo cuando se quieren medir frecuencias relativamente bajas (como RPM) con alta resolución sin requerir una mucho tiempo T. En lugar de hacer que T dependa de F ref , haciendo que Count ref sea constante, haces que T dependa de F unk , haciendo que Count < sub> unk una constante. Además, haga que F ref sea lo más alto que pueda. Ahora necesitas hacer una operación de división para obtener la respuesta, pero puedes obtenerla en una fracción de segundo con muchos dígitos de precisión.