Recuentos cíclicos de salida desde un D Flip Flop, ¿cómo se llama este efecto?

0

Mientras trabajaba en un divisor / contador de frecuencia (en este caso, un sustractor de frecuencia) usando flip-flops, descubrí un efecto extraño en un flip-flop D cuando salí del reloj a una frecuencia constante, pero varié la frecuencia de la entrada D.

En este simulador de LTSpice, el CLK está en una frecuencia constante de 2.88MHz, y la frecuencia D pasa de un rango de 0.1MHz a 7MHz

.

DespuésdeexportarlasalidadeQyprocesarlosdatosenPython,contélacantidaddeflancosascendentesquetuvieronlugar,conrespectoalafrecuenciadelaentradaD.

Larelaciónseparecealasiguiente.EjeXeslafrecuenciadeDenMHz,EjeYeselnúmerodeflancosascendentesdesdeQenunaventanade5ms

Loprimeroquesedebetenerencuentaesquelosconteosmínimosseproducenenmúltiplosde2.88MHz(Elreloj),peroloquemesorprendióalveresquelaformasemantuvoigualtantoenlaregióndondeFreq(D)fuemenorqueFreq(CLK),asícomomayor.Aúnmássorprendenteeselhechodequeenunasimulaciónmásdetallada,losresultadossonefectivamentelineales

Me propuse crear un restador de frecuencia que supongo que está en ciertas regiones, pero en general no sabría cómo se llama a esto, o por qué produce esta salida. Apreciaría cualquier especulación o lectura adicional sobre los usos de los flip-flops de esta manera.

    
pregunta Al Longley

1 respuesta

2

El efecto es básicamente Aliasing.

Su reloj crea un sistema de muestreo digital, siempre que la señal de datos sea menos de la mitad del reloj, su señal de datos determinará el número de bordes en una ventana lo suficientemente grande como para contarlos, cuando la señal de datos sea mayor que la mitad de la frecuencia del reloj comienzan a interferir en un patrón que, cuando se toma con suficientes muestras, una forma de onda triangular en la forma en que grafica los datos.

Esto no es para nada extraño, y completamente predecible.

Cuando el reloj y los datos tienen exactamente la misma frecuencia, los datos siempre tendrán el mismo estado en el flanco ascendente del reloj, por lo que no aparecerán transiciones en la salida. Cuando la frecuencia de datos es la mitad de la frecuencia de reloj, todas las transiciones en los datos aparecerán en la salida, porque el reloj puede "muestrear con precisión" los datos.

Luego, a medida que desciende, hacia 0, obtiene cada vez menos, no debido a la interferencia, sino porque la señal de datos solo disminuye en frecuencia. Todavía llega bien a la salida, porque el reloj puede "muestrear fácilmente" los datos.

La razón por la que se repite el patrón, es porque es un sistema puramente digital, por lo que en cada transición de reloj se muestrean los datos, y lo que se ve en la entrada se establece en la salida. Si las transiciones de los datos son exactamente dos veces por una transición de reloj (el doble de la frecuencia), el punto de muestra seguirá viendo el mismo nivel de datos en el flanco ascendente del reloj, por lo que, nuevamente, no hay transiciones de salida. Pero en exactamente tres transiciones de datos por reloj, los datos volverán a alternar exactamente entre cada flanco ascendente del reloj, dando nuevamente un máximo.

Etc etc. etc.

Por lo tanto, aliasing.

    
respondido por el Asmyldof

Lea otras preguntas en las etiquetas