¿Hay algún reloj en tiempo real (RTC) que proporcione una resolución de tiempo en microsegundos?

He estado buscando RTC de alta precisión en Google, pero casi todos los RTC como DS12C887, DS1307 brindan una resolución de tiempo en segundos, lo cual está bien para uso general. ¿Hay algún circuito integrado RTC que pueda proporcionar una resolución más fina, como en milisegundos y microsegundos?

Una cosa más: no me gustaría usar temporizadores del microcontrolador. Se requiere un IC externo.
¿Por qué no usar temporizadores, referenciados a una fuente externa? Tenga en cuenta que puede llevar más de un microsegundo acceder a un RTC externo.
Quizás si intenta incluir por qué necesita una precisión de microsegundos en un RTC, alguien puede explicar cuál es el enfoque convencional para su problema. Esperar una precisión de microsegundos generalmente no es útil por varias razones.
La aplicación es un registrador de datos de alta velocidad.
@ pjc50 podría tomar más de UN microsegundo, pero eso no importa, la resolución es mejor tenerla en microsegundos si tiene que acceder a ella varias veces en un milésima de segundo.
entonces lo que necesita no es un RTC, necesita un período de muestreo regular impulsado por un reloj de 1 MHz y tal vez una marca de tiempo RTC al comienzo del muestreo.
¿Por qué no usa el temporizador interno del microcontrolador que le dará resolución y sincronizará la salida del registrador con RTC al comienzo del registro?
Para este nivel de sincronización, es típico usar GPS porque puede proporcionar una precisión de nanosegundos a largo plazo. Pero depende de cuál sea tu aplicación. De lo contrario, se puede utilizar un cristal externo muy preciso.
@GustavoLitovsky De acuerdo. Si tuviera que usar GPS definitivamente lo haría. Gracias

Respuestas (1)

A menudo me resulta frustrante que los dispositivos RTC externos (e incluso los internos, por razones que no puedo entender) rara vez ofrecen una resolución cercana a la de la base de tiempo entrante, pero me parece extremadamente improbable que cualquier dispositivo convencional El dispositivo RTC ofrecería una precisión de microsegundos en cualquier caso. Los chips RTC están diseñados para minimizar el consumo de energía cuando el sistema está inactivo, y un chip RTC que usa un reloj de 1 MHz seguramente usará más de 30 veces más energía que uno que use un reloj de 32 KHz.

Dependiendo de lo que esté tratando de hacer y de los patrones de vigilia/sueño de su sistema, puede ser posible usar un RTC con una resolución algo gruesa junto con un circuito temporizador/contador de mayor velocidad que se activa por un evento externo. La operación sería algo como:

  • Haga que todo espere mientras duerme hasta que ocurra el evento externo

  • Cuando ocurra el evento, inicie un reloj de no precisión de ~ 5 MHz y comience a contar

  • Registre el conteo y el tiempo RTC en el primer tic del reloj RTC después del evento

  • Registre el conteo en el segundo tic del reloj RTC después del evento

La diferencia entre los valores de conteo en los dos tics de RTC indicará la velocidad del reloj de 5 MHz de no precisión, y el valor de conteo en el primer evento indicará cuánto tiempo antes del primer tic de RTC tuvo lugar el evento.

Por ejemplo, suponga que el RTC se puede leer en unidades de 1/256 segundos. On recibe un evento cuando el reloj RTC marca 12:34:56 78/256. El reloj RTC avanza a 12:34:56 79/256 cuando el conteo marca 1000 y luego avanza a 80/256 cuando el conteo marca 20 000. Uno podría entonces imaginarse que el reloj de "5 MHz" estaba funcionando a una velocidad de 4 864 000 Hz y, por lo tanto, el evento ocurrió 1000/4 864 000 segundos antes del segundo tic del temporizador, es decir, si el reloj RTC era exactamente correcto, a las un tiempo de 12:34:56.3122944.

Tenga en cuenta que uno tendría que esperar hasta 1/128 de segundo para saber la hora exacta en que ocurrió un evento, pero una vez que hubiera visto el RTC avanzar dos veces, sabría en una fracción de microsegundo la hora del evento [y podría así determinar con mucha precisión el tiempo entre dos eventos distintos entre los cuales la CPU había estado durmiendo]. Algunos CPLD de la serie Lattice Mach tienen un oscilador de reloj de inicio rápido que funciona a 5 MHz nominales y tienen corrientes de suspensión relativamente bajas y, por lo tanto, podrían usarse para este tipo de cronometraje.