Consideraciones teóricas
Para que un sistema de digitalización detecte algo con una resolución temporal de \ $ \ Delta t \ $, debe tener una frecuencia de muestreo de al menos \ $ \ frac2 {\ Delta t} \ $. Eso es un corolario del teorema de muestreo de Nyquist.
En su caso, esto significa que cualquiera que sea el pin que pueda causar una interrupción que indique de alguna manera la hora en que ocurrió el borde de la señal, necesitará un reloj de muestreo (o, más precisamente, relacionado con su aplicación: un contador que se puede fijar) La señal externa) se ejecuta al menos a 666,67 MHz.
consideraciones prácticas
Nada menos que eso hará, a menos que pueda construir un sistema externo que de alguna manera convierta el evento en algo más lento que luego se pueda observar para calcular el tiempo que pasó.
Entonces, lo que propondría es en realidad el enfoque recomendado en los comentarios, es decir, usar un contador de alta velocidad, por ejemplo. dentro de un FPGA para capturar el tiempo y leerlo cuando esté listo con su MCU.
O, usas el impulso y la electrónica analógica muy rápida, por ejemplo. patada de por ejemplo una caída de voltaje exponencial que puede observar y extrapolar periódicamente a partir de la tasa de caída observada en el momento en que se inició. De esa manera, en realidad estaría cambiando la resolución ADC (pin de interrupción: "1 bit ADC", si así lo desea) para la resolución de tiempos. Aún necesitarías un ADC bastante bueno y una velocidad de CPU que lo acompañe.
Al final, su problema es difícil, ya que detectar los pulsos de precisión de nanosegundos es un problema difícil , incluso desde un punto de vista de diseño de PCB (la calidad de su pulso es una función del ancho de banda de señal que puede transportar en la traza de su PCB, y para una señal con 1 / (1ns) = 1 GHz de frecuencia fundamental, esto ya no es trivial).
Probablemente necesitará un FPGA muy rápido, o el convertidor analógico de tiempo a función mencionado anteriormente, un ADC moderadamente rápido y un FPGA moderadamente rápido para tratar los datos de ADC.
tachar eso.
Acabo de leer sobre conversores de tiempo a digital. Maxim (por ejemplo, MAX35102) y TI ofrecen tales (otras compañías también).
En cuanto a esto, hay diferentes enfoques, pero el TI TDC7200, por ejemplo, utiliza un oscilador en anillo interno (que se ejecuta a velocidades bastante altas, lo que le proporciona alta resolución) para ejecutar un contador.
El oscilador en anillo está disciplinado contra un reloj externo, por lo que deberá asegurarse de que la calidad de ese reloj satisfaga sus necesidades de precisión.