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:
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?
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.
fuente
Respuestas:
Un multivibrador monoestable reactivable como 74LV123 satisfaría bien sus requisitos:
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.
fuente
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
fuente
¿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.
fuente
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.
fuente
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.
simular este circuito : esquema creado con CircuitLab
fuente