Alargamiento de un pulso de 5 ns


13

Tengo un ancho de pulso de 5 ns Alto que sale de un comparador que es asíncrono. Estoy intentando contar este pulso. Mi microcontrolador actual (dsPIC33FJ) tiene un contador asíncrono a bordo, con una especificación mínima de al menos 10 ns de ancho de pulso alto.

¿Cuáles son mis opciones para alargar / alargar este pulso de 5 ns para que pueda leerlo el contador? Estoy abierto a cambiar a un microcontrolador diferente o usar un contador frontal más calificado, pero preferiría usar un circuito pasivo / simple en su lugar. es posible?

Lo que he investigado hasta ahora:

  1. He intentado atar un capacitor de .1uF entre la señal de salida y tierra con la esperanza de que la descarga lo ralentice, pero todo lo que hizo fue distorsionar fuertemente la señal. ¿Puedo usar un valor más bajo?

  2. Investigué la muestra y mantuve los IC, pero el tiempo de adquisición más corto que pude encontrar es de alrededor de 200 ns, lo que no es adecuado para mi aplicación.


Nyquist dice que necesita al menos un reloj de muestreo de 400 MHz para atrapar teóricamente un evento 5ns duración ... si no recuerdo / calculado correctamente
vicatcu

66
Nyquist no tiene nada que ver con esto. No se trata de reproducir una señal analógica de muestras de tiempo discreto aquí.
The Photon

2
¿Qué tan rápido puede repetirse el pulso y aún tendrá que contarlo como pulsos separados? Si es lo suficientemente largo, puede probar SN74LVC1G123 ( ti.com/product/sn74lvc1g123 ).
El Photon

2
Echa un vistazo a este artículo de EE Times: El estirador de pulso simple y rápido detecta eventos de nanosegundos . Hay comparadores rápidos con una función de enganche, que se pueden usar para estirar el pulso.
Nick Alexeev

Respuestas:


16

Un multivibrador monoestable reactivable como 74LV123 satisfaría bien sus requisitos:

  • Ancho de pulso mínimo 3.0 ns para operación de 3 voltios, 2.5 ns a 5 voltios.
  • Ancho de pulso de salida configurado por R / C externo, típicamente 470 microsegundos
  • Tiempo de reactivación 45 ns (3 voltios) a 40 ns (5 voltios).

Es un CI lógico estándar, muy poca complejidad, y hay dos monoestables en el paquete en caso de que necesite estirar otra fuente de pulso.

La pieza está disponible tanto en DIP como en TSSOP, por lo que las opciones de tablero y producción.

Espero que esto haya ayudado.


6

Aquí hay una simple camilla de pulso positivo con algunas condiciones:

La ganancia del transistor hará que la salida aumente rápidamente, pero luego decaerá de nuevo a tierra de acuerdo con la constante de tiempo RC, que es 47 ns en este ejemplo.

Uno de los problemas es que es posible que no pueda tolerar la caída de voltaje BE. Si la entrada PIC requiere el 80% de Vdd para un nivel alto garantizado y el procesador está funcionando desde 3.3 V, entonces OUT debe estar por encima de 2.6 V para ser interpretado como un nivel alto. Sin embargo, si IN también es una señal lógica de 3.3 V y suponiendo una caída BE de 700 mV, entonces OUT solo obtiene hasta 2.6 V en primer lugar.

Este circuito aún puede utilizarse si el umbral alto lógico mínimo PIC es más bajo o si IN es un voltaje más alto. Algunas entradas en algunas partes 33F son tolerantes a 5 V. Si puede organizar IN para que sea una señal lógica de 5 V y usar una entrada tolerante a 5 V, tendrá suficiente margen para que el tiempo sea constante para mantener la línea alta por más tiempo que el pulso.

Si se puede garantizar que OUT de alguna manera irá a 3.3 V en el pico del pulso y la entrada lógica alta garantizada del PIC es 2.6 V, entonces este circuito estirará el pulso en aproximadamente 1/2 tiempo constante, o aproximadamente 24 ns en este ejemplo


¿Por qué no usar un opamp en lugar del transistor para que la caída de voltaje BE no sea un problema?
Joel B

2
Un opamp puede no ser lo suficientemente rápido. Les disgustan especialmente las entradas escalonadas.
gbarry

3

¿Con qué frecuencia tienes pulsos? ¿Puede su contador contar los bordes ascendentes y descendentes en lugar de pulsos?

Si los pulsos no son muy frecuentes, entonces ejecute el pulso en la entrada del reloj de un T-Flip-Flop. Cada vez que recibe un pulso, la salida TFF se alternará, creando un borde. Los pulsos tienen que estar lo suficientemente separados para que la MCU tenga tiempo de registrar el borde antes de que entre el siguiente.

Si su MCU no puede funcionar tanto en los bordes ascendentes como en los descendentes, entonces podría usar dos contadores (un borde ascendente, uno descendente), o incluso aceptar que solo puede contar cada dos pulsos.


2

Una línea de retardo programable debería hacer lo que buscas. Estirará su pulso de 5 ns en cualquier lugar entre 5 ns y 500 ns. El anterior está agotado en DigiKey, pero la hoja de datos es una buena lectura para mostrarle la teoría. Aquí hay uno de Linear que está en stock y debe hacer lo que espera.


El "ancho de pulso mínimo reconocido" para esa parte lineal es típico de 5 ns, sin mínimo o máximo especificado. Realmente no usaría esto para un pulso de 5 ns ya que básicamente no hay margen de error y probablemente no funcionará sobre PVT.

La parte Semi de Dallas tiene un ancho de pulso mínimo de 5 ns (un mínimo mínimo, no típico como Linear Tech), lo que lo hace mejor que la parte Lineal pero puede o no funcionar dependiendo de lo que el OP necesite exactamente.

El DS1040 se ve bien, pero como dijo David, el pulso mínimo de 5ns me hace sentir un poco incómodo. He visto el rango de pulso de 4-7 ns. En cuanto a la frecuencia de los pulsos, podrían estar separados por una longitud tan corta como 5 ns (aunque poco probable). Me gustaría capturar tantos pulsos como sea posible para garantizar una señal / recuento más preciso. El Linear Tech que vinculó parece que tiene un mínimo de 1000 ns.
Cameron

1

Aquí hay una camilla de pulso muy simple. Puede usar la puerta lógica universal NC7SZ58P6X para implementar la puerta OR. La hoja de especificaciones muestra un retraso de propagación máximo de 4.3nS a 5v.

esquemático

simular este circuito : esquema creado con CircuitLab

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.