¿Es posible un divisor de reloj 4/3?

3

He visto diseños para divisores de reloj digital, que pueden dividir una frecuencia de reloj entre 1.5, 2.5, etc.

¿Pero es posible crear una lógica digital que divide un reloj por 4/3?

Por ejemplo, si tengo un reloj de 64MHz, ¿puedo generar un reloj de 48MHz a partir de él?

Para mi aplicación particular, no necesito un ciclo de trabajo del 50%.

    
pregunta Rocketmagnet

4 respuestas

7

Los contadores digitales pueden dividir una frecuencia de reloj por cualquier entero. La lógica digital no puede multiplicar directamente las frecuencias por valores enteros.

Sin embargo, puede usar un contador digital en el bucle de realimentación alrededor de un PLL (bucle de fase bloqueada). El efecto general es multiplicar la frecuencia de reloj por el valor de división del contador.

Dichos PLL son comunes en los microcontroladores de extremo superior. Eche un vistazo a la cadena de reloj de cualquier serie dsPIC33EP, por ejemplo. Hay varios divisores y un bloque PLL que multiplica la frecuencia de reloj. Entre el PLL y los divisores, puede alcanzar una gran variedad de frecuencias de reloj desde un solo cristal.

En su caso, solo necesita dividir por 4 y multiplicar por 3. Esto se puede lograr mediante un divisor y un PLL. En general, usted quiere que los divisores se dividan por un número par, así que haga que el resultado sea más cuadrado. Es posible que desee multiplicar por 6 (lo que requiere una división por 6 internamente), luego dividir por 8. Dividir por una potencia de 2 es particularmente fácil.

    
respondido por el Olin Lathrop
7

Puede tomar su 64 MHz y su filtro (con un filtro de paso de banda LC) para recuperar el tercer armónico (192 MHz). También debería poder utilizar un filtro de cerámica con algunas técnicas de reducción de Q. Se llama un tripulador de frecuencia.

Eltercerarmónicoseráaproximadamenteel42%delaamplituddelaondacuadradaoriginal.Luegousasunamplificadorpararestaurarelterceramplificadorarmónicohacianiveleslógicosdecentesyluegousasunadivisiónpor4.

O,dividapor4paraobtener16MHz,luegouseuntripuladordefrecuenciaparaobtener48MHz.Esteesprobablementeelenfoquemásseguroporqueloscomponentessonmásfácilesdeconstruir.

SiemprepuedesusarunPLLcomoeste:-

Fin será de 64 MHz y Fout será de 192 MHz si N = 3. Todo lo que necesita hacer es agregar una división por 4 para obtener 48 MHz o, comience dividiendo los 64MHz por 4 para obtener 16 y aliméntelos en Fin con N = 3 y la salida es de 48 MHz.

El problema a veces con los PLL es la fluctuación de fase y el filtro de bucle debe diseñarse con cuidado y necesita un VCO (oscilador controlado por voltaje) que no fluctúe demasiado.

    
respondido por el Andy aka
1

En el complemento de otras respuestas, aquí hay algunas técnicas que aún no se han mencionado. Estamos tratando de lograr una división por 4/3 = 1.33333, que también es una multiplicación por 3/4 = 0.75.

  • Divisor fraccional

Este circuito cambia entre dos relaciones de división de enteros. Esto generalmente se implementa dentro de un IC. Obtienes un contador y un comparador digital como en cualquier divisor, pero el comparador cambia automáticamente entre dos valores.

Por cada 4 ciclos de entrada, desea 3 ciclos de salida. Por lo tanto, establece la relación de división en 1 para 2 ciclos de contador (que genera 2 ciclos) y establece la relación de división en 2 para 1 ciclo de contador, que consume 2 ciclos de entrada y genera un ciclo.

Inconveniente: el reloj de salida no tiene un tiempo de ciclo constante, por lo que la facilidad de uso de este circuito depende mucho de la aplicación.

Deje T = 1 / 64MHz = 15.6 ns

Este circuito emitirá dos ciclos 15.6ns seguidos de un ciclo 31.2ns. Si el circuito en sentido descendente funciona a 48MHz pero no puede ser overclockeado a 64MHz, entonces se ahogará en los ciclos de 15.6 ns.

Este tipo de divisor se usa más usualmente para relaciones más altas como la división por 31.5 o similar, en cuyo caso, si algunos ciclos son 31 o 32 relojes originales, la longitud no es tan diferente, por lo que no tiene tiempo. problemas. Pero no puedes enviar ese reloj a un ADC / DAC ... o cualquier otro tipo de cosas en las que el ruido de fase / fluctuación de fase ...

  • PLL

Multiplica por 3 usando un PLL, luego divide por 4 usando el divisor de salida.

Esto le dará un buen reloj de ciclo de trabajo del 50%. Esto puede limpiar el jitter o agregar más jitter dependiendo del ruido, el ancho de banda y otras especificaciones de PLL / VCO.

  • Otras soluciones mencionadas anteriormente

Piense en lo que requiere el circuito que usa este reloj.

¿Temporización de la forma de onda de salida? ... (¿Necesita un ciclo de trabajo del 50%? ¿Necesita que los ciclos tengan la misma duración o pueden tolerar diferentes tiempos de ciclo? ...)

¿Necesita cambiar la relación de frecuencia / división sobre la marcha o no?

¿Requisitos de ruido de fase?

Por ejemplo,

  • El tercer filtro armónico de Andy está sintonizado a una sola frecuencia por los valores de los componentes, por lo que no es flexible. Pero proporcionará una forma de onda limpia, con un poco de subarmónicos según la selectividad del filtro.

  • El doblador de frecuencia de Bimpelrekkie depende de los tiempos de propagación de la puerta, por lo que el ciclo de trabajo de la forma de onda de salida y la uniformidad de la duración del ciclo serán deficientes. Si las compuertas utilizadas son demasiado rápidas, el tiempo del ciclo de salida puede ser demasiado corto para los circuitos descendentes. Pero es simple, barato y funcionará en una amplia gama de frecuencias de entrada.

  • El divisor fraccional es menos problemático, pero aún así, algunos ciclos de salida serán más largos que otros.

  • El PLL es la navaja suiza, además, por lo general, puedes reprogramarlo sobre la marcha, pero por supuesto ... ¡debes tener un PLL! Agrega costos y complejidad, a menos que su micro tenga uno por ahí.

respondido por el peufeu
0

Muchas señales de reloj tienen un ciclo de trabajo de aproximadamente el 50%, pero muchos dispositivos solo están interesados en bordes ascendentes o solo en bordes descendentes. Un circuito para dividir una señal por 2.5x generalmente responderá a todos los bordes del reloj, pero luego producirá una salida que es, por ejemplo. Alto para 2 bordes de reloj y bajo para tres de ellos. Si la onda de entrada es simétrica, la onda de salida será periódica pero no simétrica. Si la onda de entrada no es simétrica, la onda de salida será "borrosa". Por ejemplo, una onda de referencia simétrica alimentada en el circuito dividido por 2.5 mencionado anteriormente produciría:

-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- original
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL -- edges
--___--___--___--___--___--___--___--___--___--___--___--___ -- output

Si se vuelve a dividir ese reloj 2.5x por 2.5x, se obtendría:

--___--___--___--___--___--___--___--___--___--___--___  -- original
L_L__L_L__L_L__L_L__L_L__L_L__L_L__L_L__L_L__L_L__L_L__  -- edges
-----_______-----________-----_______-----________-----  -- output

Cada pulso alto es consistentemente cinco pulsos de la onda original, pero los pulsos bajos alternan entre ser siete y ocho pulsos medios de la onda original. Como resultado, el tiempo entre los flancos ascendentes consecutivos (y también el tiempo entre los flancos descendentes consecutivos) alterna entre 12 y 13 medias pulsaciones.

Dividir una señal simétrica por medio del múltiplo en los casos en que la salida No es necesario que la simetría sea la única situación en la que la división fraccionada puede generar una salida limpia sin tener que usar un PLL u otro medio para generar una señal que sea más rápida que la original.

    
respondido por el supercat

Lea otras preguntas en las etiquetas