¿La frecuencia multiplica una señal digital utilizando circuitos digitales puros (es decir, sin PLL)?

5

¿Es posible multiplicar la frecuencia de una señal digital utilizando solo componentes digitales y, al mismo tiempo, preservar el ciclo de trabajo?

Finalmente pude encontrar el circuito a continuación: duplica la frecuencia al explotar los retrasos de propagación de los componentes, pero sacrifica el ciclo de trabajo.

Mepreguntabasiexisteunamejorsolución(queconserveelciclodetrabajo),peronoencontréninguna.SéqueestosepuedehacerusandoPLL,peroestoybuscandounasoluciónqueusesolocomponentesdigitales.

Graciasportuayuda

EDIT:

Losiento,nomencionéestoantes,perolaseñaldeentradaeslamásrápidadelsistema.Porlotanto,elmuestreonoseríaposible.

EDIT2:

Unpocoenlahistoriadetrásdeestapregunta:duranteelúltimoañodemicarreradeingeniería(en2009),tuvimosesteconcursodediseñodecircuitosennuestrauniversidadyformépartedelequipoqueloorganizó.Queríamoshacerqueeleventofueramásanimadoy,despuésdeunintercambiodeideas,senosocurrióestaideaextrañadequeun"multiplicador de frecuencia que usa solo puertas lógicas discretas" es uno de los desafíos. Sabíamos que la lógica booleana pura nunca podría lograr algo como esto, pero entonces, las puertas lógicas del mundo real tenían retrasos en la propagación; así que conectamos rápidamente el circuito de arriba con compuertas 74xx y vimos que funcionaba. Así que se lo dimos a los participantes, con una oferta de bonificación para cualquier equipo que preservó el ciclo de trabajo de la ola de entrada. A pesar de que a muchos de ellos se les ocurrió el circuito anterior, nadie pudo hacer la parte de bonificación. Hasta ahora no he tenido éxito en hacerlo yo mismo; Google tampoco fue tan útil.

Así que me preguntaba si alguien en EE podría ayudarme en caso de que ya tuviera alguna experiencia en esto. Incluso una respuesta que diga "esto nunca se puede hacer" es bienvenida, aunque tengo la corazonada de que hay una solución por ahí ...

    
pregunta nav

2 respuestas

5

Incluso un PLL no conservará la forma de onda (incluido el ciclo de trabajo) de su entrada de referencia, a menos que agregue un segundo circuito para hacerlo específicamente. Por ejemplo, el PLL podría conducir un disparo único cuyo ancho de pulso está controlado por un bucle de retroalimentación que compara el ciclo de trabajo de salida con el ciclo de trabajo de entrada.

La mejor manera de hacer esto de manera totalmente digital es tener un circuito que mida la frecuencia y el ciclo de trabajo de la señal de entrada (si esos son los dos únicos parámetros que le interesan), y tener otro circuito que sintetice una nueva señal con el mismo ciclo de trabajo y la frecuencia deseada basada en esos valores medidos. (Yo mismo he hecho algo como esto al crear FPGA que necesitan duplicar / reducir a la mitad la velocidad de fotogramas de las señales de video).

En la mayoría de los casos, la señal de salida será una aproximación de la señal que realmente desea, y tendrá que decidir qué tan buena debe ser esa aproximación.

    
respondido por el Dave Tweed
1

Alimente un reloj rápido a dos contadores binarios. Reinicie un contador en los bordes + de la señal de entrada. Restablecer el otro en los - bordes. A medida que uno se reinicia, almacene la salida del otro en un pestillo. De esta manera usted mide los períodos alto y bajo de la entrada, en proporción al ciclo de trabajo, a la precisión permitida por el reloj rápido, y se actualizará rápidamente si la señal de entrada cambia la tasa o el ciclo de trabajo. (En el lado negativo, puede ser demasiado sensible a la vibración aleatoria, el ruido).

Use un reloj aún más rápido para conducir dos contadores más, correspondientes a los dos contadores de la entrada. A medida que cada uno llegue a cero, active un flip flop según el cual se puso a cero. Restablezca ese contador a los valores retenidos de su contador de entrada correspondiente.

La salida Q del flip-flop es la salida deseada.

    
respondido por el DarenW

Lea otras preguntas en las etiquetas