Contador: pulso cada 8 relojes

Tengo una señal cuadrada (fija pero puede estar entre 12MHz y hasta 48MHz) y me gustaría crear cada 8 relojes un pulso lo más breve posible, no más de 1/4 del período.

Pulso cada 8 relojes

Primero, un par de restricciones sueltas: - el voltaje es de 1,8 V, pero podría tener un nivel de cambio de hasta 5 V si fuera necesario. - Necesito el pulso cada 8 veces, pero estaría bien con cada 16 o cada 32 veces.

El objetivo clave es tener el enfoque más SIMPLE. ¡Evite cualquier respuesta que sugiera una supercomputadora de teraflops!

Del mismo modo, FPGA realmente tendría sentido, pero es como matar un mosquito con una bazouka.

Una opción consiste en usar un chip Atmel de 8 bits como AtTiny85 pero está limitado a 20 MHz, así que no estoy seguro de si realmente podría funcionar o no.

He leído esta página con gran interés: http://ued.udjat.nl/counter/ y me pregunto si podría usar una estratagema similar.

Prefiero AtTiny por el paquete pequeño, luego Atmel, luego Cypress, luego Microchip, pero escucho cualquier opción. ¿Hay alguna opción para hacer algo sin un "microprocesador"?

Respuestas (3)

Puedes resolver este problema con solo un par de partes. TI fabrica piezas lógicas en su familia lógica 74AC que funcionan correctamente hasta 1,5 V. Use un contador de 4 bits como se muestra a continuación para contar repetidamente de 8 a 15. Use la salida RCO, que es un pulso de un reloj de ancho para recargar el contador y también para controlar un circuito R/C para producir el pulso estrecho que necesita.

ingrese la descripción de la imagen aquí

Si desea producir el pulso para cada 16 ciclos de entrada, simplemente conecte la entrada D a GND en lugar de subir al riel VCC.

Si lo entiendo correctamente, entonces lo que desea podría lograrse utilizando un IC de contador simple y un par de puertas lógicas. Podría usar una estrategia similar al proyecto vinculado.

Por ejemplo, se podría usar algo como este contador binario de 200 MHz y 4 bits (o un chip similar) con un par de puertas para verificar cada estado x111 (es decir, 0111 y 1111) que ocurre cada 8 ciclos. El pulso breve se puede crear con un filtro de paso alto RC para crear el borde deseado y otra puerta para cuadrarlo.

Por supuesto, muchos micros con un periférico de captura/comparación serían adecuados para esto; creo que el PIC16F1828 probablemente sería adecuado. Hay muchas opciones más rápidas, como PIC32, Cortex-Mx, etc., pero lo que elija dependerá de cuánto se use el uC. Tiene razón, sería exagerado usar, por ejemplo, un FPGA o Cortex-M4 solo para esta tarea.

Un circuito integrado más adecuado podría ser el popular contador de décadas 4017 . Con esto, no necesitará ningún otro chip (aparte del bit de acortamiento de pulso), puede configurarlo para dividir por N (es decir, dividir por 2, 3, 4, 5, 6, 7, 8...) simplemente conectando la salida adecuada al pin de reinicio. Aquí hay algunas páginas con información:

Todo sobre circuitos
4017 Hoja de datos
Doctronics 4017 página

Un CPLD como un XC2C32 de Xilinx sería perfecto.

  • Como un FPGA pero mucho menos complicado y potente
  • Puede funcionar hasta 300MHz
  • Operación de 1.8V
  • Barato (menos de $2)