¿Cómo puedo habilitar un LDO usando la señal SCL de I2C?

0

¿Puedo habilitar / deshabilitar un LDO (más específicamente NCV8163AMX280TBG) usando la señal SCL de I2C? Esto me permitiría encender el regulador una vez que un maestro inicie el protocolo I2C y apagarlo una vez que el maestro deje de comunicarse a través de I2C.

Si es posible, ¿qué componentes adicionales necesito (mayúsculas y diodos probablemente)?

Cualquier ayuda es apreciada.

PS: La configuración I2C es de 1 maestro a N esclavos.

PPS: el regulador se enciende a 1.2 V y el circuito se alimentará a partir de 3.3 V

Detalles: Esta será una serie de pequeños sensores y actuadores construidos alrededor de STM8L001. Habrá un STM8L001 para cada sensor y actuador. Hay un límite en el costo y el número de cables. Actualmente tengo 2 cables para alimentación + 2 cables para comunicación. Cuando el maestro se despierta, también necesita una forma de despertar a los esclavos.

Actualmente veo las siguientes opciones para habilitar este comportamiento:

  • 1 cable adicional para impulsar el pin ENABLE en el LDO desde el maestro (el master se despierta, inicia i2c, habilita el GPIO que inicia todos los LDO en los esclavos)
  • usar MOSFET para encender / bajar todo el riel eléctrico
  • usando la señal SCL para señalar el pin ENABLE en el LDO

La opción más sexy es la última, ya que es la más barata.

El siguiente esquema es para el esclavo. Como puede ver, es un diseño minimalista utilizando STM8L001 con el pin ENABLE directamente en el riel de alimentación.

    
pregunta smiron

1 respuesta

1
  

Reutilizar el SCL para este propósito me permitiría tener este comportamiento al menor costo y amp; complejidad.

¡¿Qué ?! Debe agregar algún circuito de retardo de tiempo a cada esclavo. ¿Está diciendo que sería más barato y simple que agregar uno MOSFET en el riel eléctrico?

Además, tenga en cuenta que la mayoría de los chips especifican el voltaje máximo de E / S en relación con VCC. Sus pull-ups I2C lo alimentarán a esclavos sin motor, lo que los impulsará por encima de la clasificación máxima especificada. Lo que sucede a menudo en este caso es que los diodos de protección pasan este voltaje para alimentar los rieles que activan el chip. Pero como la corriente suele ser insuficiente, la MCU entra en este estado semi-alimentado que a veces termina dañando el chip.

La opción con un cable adicional a los pines EN de todos los LDO es una buena solución. La opción con un MOSFET para cambiar la alimentación a todos los esclavos es una solución aún mejor.

Ahora, aquí hay un par de soluciones reales .

  • El STM8L001 tiene un modo de "parada" de baja potencia desde el cual puede activarse en caso de interrupciones, incluidas las interrupciones I2C . Además, el módulo I2C puede realizar una coincidencia de dirección y solo se despierta cuando se dirige a este esclavo en particular. Por lo tanto, no tiene que despertarlos a todos, solo al que desea comunicarse. No necesita ningún componente adicional, ninguna línea adicional, y el ahorro de energía probablemente sería mayor, a pesar de no apagar los LDO.

  • Tener LDO en cada esclavo es un exceso excesivo. En las distancias, I2C funciona, la pérdida de potencia en los cables es despreciable. Por lo tanto, deshacerse de todos esos LDOs. Conecte el riel de alimentación de 3.3V con MOSFET. ¡Ponga I2C pull-ups después de MOSFET! Cuando necesite comunicarse, siempre encienda primero la alimentación. Luego inserte un retraso para permitir que los esclavos se activen y configuren su I2C. Solo entonces configura y activa el master I2C. Por lo tanto, con el costo de 1 MOSFET puede ahorrar dinero en todos los LDO, asegurarse de que no se desperdicie energía y proteger los pines de E / S del alto voltaje en estado de apagado.

  • Finalmente, puede combinar las dos soluciones anteriores para ahorrar aún más. Deshazte de los LDO y solo enciende los esclavos cuando quieras comunicarte. Haga que cada esclavo configure la dirección I2C y vaya a la suspensión inmediatamente después del encendido. Luego use la interrupción I2C para despertar a un esclavo a la vez. De esta manera, habrá consumo de energía cero entre las comunicaciones y consumo mínimo durante la comunicación , ya que solo un esclavo estará despierto a la vez.

P.S. Al final, @SamGibson tuvo toda la razón al comentar sobre el problema XY. Por alguna razón, te centraste en la "opción más sexy", ignorando las más económicas y eficientes.

    
respondido por el Maple

Lea otras preguntas en las etiquetas