Circuito de carga Supercap para respaldo RTC en STM32

Estoy solicitando un circuito confiable/simple/económico para la sección V BAT de un diseño STM32, alimentado a V DD = 3.3V, que protegerá el RTC incorporado (basado en 32768 Hz Xtall) durante unos 10 días.

Basado en C = t⋅I/ΔU, parece que un supercap 1F funcionará (estoy tomando t = 864000s, I = 1.2uA, ΔU = 1.1V, ver más abajo). Necesito un circuito de carga que

  • no fríe el supercap;
  • no fríe el STM32 ni evita que se inicie de manera confiable (en particular: no veo una especificación de lo que sucede cuando V DD = 3.3V, V BAT <2V)
  • no aumenta significativamente el consumo de energía de STM32 en V BAT ;
  • entrega el V BAT adecuado rápidamente (0,2 s), incluso después de la descarga completa, de modo que el RTC siempre esté disponible poco después del reinicio de encendido;
  • lleva el supercap a una carga casi completa lo suficientemente pronto después de que se aplica V DD (quizás 80% después de 50 s), por lo que la prueba deja una reserva decente.

Lo más simple que se me ocurre es

Esquema de CircuitLab au8j24

¿Alguna crítica? ¿Sugerencia sobre el diodo (quizás un Schottky sería mejor) u otro componente? ¿Alternativa?

Una sección muy relevante de la hoja de datos de STM32(F100) es:

Extracto de hoja de datos de STM32(F100)

¿Puede la MCU aceptar el tiempo de subida lento en VBAT?
@Lior Bilia: ¡Esa es parte de la pregunta! Ver mi no fríe el requisito STM32. Por lo que puedo decir, VBAT bajo mientras que VDD a 3.3V está dentro de las calificaciones máximas absolutas del STM32, e incluso permitirá que funcione de manera confiable, excepto por el RTC y quizás parte de la RAM; Pero podría estar equivocado.
usar un monitor de reinicio simple con un umbral de 3V, que mantendrá el STM32 en reinicio hasta que la línea VBAT supere los 3V?
@KyranF: eso resuelve el (posible) problema de que el STM32 podría no funcionar con VBAT <2V (no puedo ver dicho modo de operación especificado); pero eso funciona solo si el monitor de reinicio con un umbral de 3V consume mucho menos de 1uA en su entrada de detección, incluso cuando VDD es bajo, y no conozco ningún modelo con esta especificación.
@fgrieu es extremadamente injusto apuntar a un sorteo de 1uA, tendrá fugas y parásitos más altos que esto, lo apuesto. Consulte el STM809 o STM810 de ST Microelectronics, un controlador de reinicio con un consumo típico de 6uA.
@KyranF: Parto del supuesto de que con la limpieza básica, la fuga de corriente de la PCB FR4 está muy por debajo de 1 nA a 5 V (consulte, por ejemplo, el Apéndice B.1 aquí ). Espero que, con mucho, la fuga esté dominada por el STM32 (1uA), el supercap (20nA?), el diodo (20nA?) y cualquier otra cosa que esté explícitamente conectada.
@fgrieu aquí hay uno de ON Semi que tiene una corriente de reposo típica de 1.6uA onsemi.com/pub_link/Collateral/NCP308-D.PDF EDITAR: Encontré uno para 150nA de TI ti.com/product/tps3839a09
Ese es exactamente el circuito que uso para Vbat de STM32F407 RTC. Una resistencia de 2K2 funciona bien. Construí el primero hace aproximadamente 12 meses, ha tenido un uso regular y no he tenido ningún problema con él ni con otros desde entonces.
Así que llegué tarde a esta pregunta, pero la encontré porque planeo hacer algo similar. El STM32 RTC funciona bien incluso sin Vbat presente, en cuyo caso se ejecuta fuera de Vdd pero obviamente perderá el estado cuando se retire Vdd. Así que no creo que debas preocuparte por la secuencia de encendido; debería estar bien incluso si Vbat tardó un par de minutos en aparecer, siempre que no se haya perdido la energía antes de que se cargue C1. Creo que podría poner razonablemente R1 en serie con D1 en lugar de D1, ¡pero la pérdida de voltaje de 1.5uA * 22R bajo carga probablemente no sea relevante! Y haz de D1 un Schottky; quieres Vf bajo
Además, el tiempo de retención (vida útil de RTC sin Vdd presente) probablemente estará dominado por la corriente de fuga de autodescarga del supercondensador. Si tiene varias tapas de 2,7 V en serie, necesitará un circuito de equilibrio y, si solo son resistencias, aumentará su corriente de fuga en 10 veces.

Respuestas (4)

Encuentro el circuito propuesto en la imagen perfectamente bien.

Su preocupación de que VBAT sea más bajo que VCC se ve mitigada principalmente por su diodo en esos dos rieles. El retraso de encendido introducido por este diodo sería tan minúsculo que no vale la pena considerarlo.

Además, freír el supercap depende principalmente de un tipo en particular. Algunos de estos tienen corrientes permitidas bastante bajas. Esto se debe principalmente a su alta ESR. Durante el flujo de corriente, esto provoca el calentamiento y daña la pieza. Algunos tipos no tienen sus corrientes máximas explícitamente establecidas. En tal caso, debe confiar en el valor de ESR y en la potencia que el paquete puede manejar razonablemente (a veces también se proporciona en las hojas de datos).

Al final, ajustas tu R 1 ser un compromiso entre el tiempo de carga y la corriente de carga. 22 Ω suena bien para empezar. Tenga en cuenta que casi nunca se descargará a 0 voltios. Además, la corriente de carga en este caso cae exponencialmente, por lo que solo dibujará 100 ~ 200 metro A durante unos segundos.

Preparé un circuito muy similar a este en el pasado y creo que, en base a eso, estarás bien con algo como esto, especialmente si no es una aplicación crítica.

Un par de consideraciones: consulte su supercap específico para ver cuál es la mejor manera de cargarlo. Querrá evitar cargar demasiado rápido si tiene una ESR alta. Además, ciertos tipos de supercaps tienen más carga si los carga lentamente (estoy pensando en los supercaps eléctricos de doble capa "Gold" de Panasonic). Aunque perderá más a medida que descargue su capacitor, estas dos consideraciones podrían significar que vale la pena aumentar el valor de R1. Para obtener la máxima vida útil, tendrá que equilibrar estos factores.

Además, creo que un Schottky es una gran idea si está buscando obtener un poco más de carga de su gorra. Lo único que tendría en cuenta es que Schottky puede tener una corriente de fuga inversa horrenda a altas temperaturas, por lo que si se encuentra en un entorno que se torna caluroso, podría perder mucha batería.

no fríe el STM32 ni evita que se inicie de manera confiable (en particular: no veo una especificación de lo que sucede cuando VDD = 3.3V, VBAT <2V)

Si observa el esquema de fuente de alimentación del dispositivo de STM32F3XX, puede ver que hay un interruptor de alimentación. Supongo que es lo mismo para todas las familias ST32, pero es mejor que verifique que esté controlado por Vdd, si está presente, Vbat solo es "supervisable" con ADC pero no toma ninguna acción en lo que respecta a RTC, etc. Entonces, solo para esta pregunta, Creo que con tu circuito puedes jugar seguro

ingrese la descripción de la imagen aquí

El capítulo 3.7.6 Operación VBAT de la hoja de datos STM32G070CB/KB/RB escribe: "Se puede activar un circuito interno para cargar la batería en el pin VBAT si el voltaje VDD está dentro de un rango válido".

Por lo tanto, es posible que no necesite el diodo si activa esta función.

Si lee la hoja de datos, el F100 del que trata esta vieja pregunta no tiene esta característica, por lo que hablar de las características que tiene el G070 es inútil.