Todos los RTC que he visto hasta ahora operan desde un cristal de 32.768 kHz, que no se puede dividir a 100Hz. ¿Hay RTC de 32.000 kHz?
Todos los RTC que he visto hasta ahora operan desde un cristal de 32.768 kHz, que no se puede dividir a 100Hz. ¿Hay RTC de 32.000 kHz?
El único RTC que conozco que funcionó con centésimas de segundo fue el obsoleto Intersil ICM7170 . La hoja de datos no está clara de cómo se lograron los 100Hz. Las frecuencias de cristal para las que fue diseñado son potencias perfectas de 2: 32.768 kHz (es decir, \ $ 2 ^ {15} \ $), \ $ 2 ^ {20} \ $ Hz, \ $ 2 ^ {21} \ $ Hz, \ $ 2 ^ {22} \ $ Hz, sin embargo, la hoja de datos dice que deriva de ellos un reloj de 4000Hz, del cual se derivan los 100Hz. 32768Hz no es un múltiplo de 4000Hz, por lo que no se puede hacer con un divisor normal. Probablemente usaron un divisor fraccional, como lo describe supercat .
De todos modos, el ICM7170 está obsoleto, por lo que necesitamos algo diferente. Si bien es posible que no haya RTC de 32 kHz, hay cristales de 32.000 kHz y con un 74HC4060 obtienes un oscilador + divisor.
Elcristalde32kHzprobablementenecesiteelmismocondensadordecargaqueuncristalde32.768kHz.Laresistenciade330k\$\Omega\$limitalapotenciadelaunidadalcristal.Estoessignificativamentemásaltoquelos2.2k\$\Omega\$recomendadosporNXP;uncristalde32kHznormalmentetieneunniveldeunidaddemenosde1\$\mu\$W.Sielosciladornoarranca,disminuyaunpocoelvalordelaresistencia.
Use:32salidaQ5(pin5)paraobtenerunrelojde1kHzquepuedealimentarasupindeinterrupcióndelmicrocontrolador.
Luego puede usar la interrupción de latido de 1kHz para obtener un temporizador de software de 10 ms.
editar
Alternativamente, se puede utilizar un microcontrolador. Sin embargo, esto será un poco más caro que el 74HC4060 y también podría consumir un poco más de energía. He usado MSP430F1101 de TI a 32kHz y 3.3V, que solo necesitaba 4 \ $ \ mu \ A $ aunque. Ejecútelo en el cristal de 32 kHz y use un temporizador para emitir la señal de 100 Hz. Incluso puede emitir diferentes frecuencias simultáneamente, por ejemplo, 1000Hz, 100Hz y 1Hz, o seleccionar la frecuencia en una salida específica configurando un par de pines de E / S. O puede seleccionar la frecuencia a través del UART.
¿Para qué quieres los 100Hz? Es fácil convertir una señal de 32768Hz en una señal de 12800Hz con +/- 31us de jitter, usando un circuito que emite 25 pulsos cada 64. Con un poco más de trabajo, se puede reducir el jitter a +/- 16us. Con un poco más de trabajo aún, uno puede reducir la fluctuación de fase a +/- 9us más la mitad de la asimetría del reloj de entrada (por lo tanto, si el reloj de entrada es 12.5us alto y 18us bajo, el jitter sería +/- alrededor de 12us). No sé de ningún dispositivo estándar de producción actual para hacer eso, pero sería fácil en un CPLD o FPGA. Todos menos el último cabrían en un 16V8; lo último probablemente podría hacerse combinando un 16V8 y un flip-flop JK externo. Por cierto, uno podría, si lo desea, con una cantidad bastante similar de circuitos, generar 16,000Hz con las mismas cantidades de jitter (salida de 125 pulsos cada 256).
Lea otras preguntas en las etiquetas rtc