11 votos

Formas adecuadas para desconectar ICs durante la baja energía de los estados para evitar parásitos/retorne el suministro de

Estoy trabajando en un modo de baja energía de la batería basada en AVR-basado proyecto que integra un par de diferentes dispositivos, incluyendo un neopixel tira y un Adafruit pixie. Cuando el dispositivo general está en reposo, me gustaría que consumen menos de 0,1 mA para maximizar la batería de LiPo de la vida.

Tengo todo esto de trabajo (medido 0.035 mA), pero no estoy seguro de que me necesariamente lo hizo en la forma "correcta" y el I plan para la construcción de un producto basado en este modo gustaría hacerlo bien.

enter image description here (No se muestra: un flyback de diodo para la retransmisión)

El principal motivo de preocupación que tengo es el "parasitaria" la alimentación de los dispositivos cuando VCC se desconecta a través de la corriente que fluye a partir de datos de pins. Por ejemplo, el Pixie (que se comunica a través de la serie), no tiene modo de apagado e incluso "apagado" drena sobre un miliamperios. Así que coloqué un pequeño relé para desconectar su VCC, y descubrió que el serial pin era en realidad sigue alimentando el pixie. Sugerencias de otros lugares sugerido que la cantidad de fichas que tiene un diodo de derivación de sus pines de entrada de VCC como la protección de la alimentación. Para solucionar esto, he tenido que suspender la serie de la biblioteca y en realidad digitalWrite( PIN, BAJA ) durante el sueño.

Lo mismo con el WS2812b de la franja de desconectar VCC todavía permite que el dispositivo se alimenta desde el pin de datos. Y en otros diseños cuando he desconectado de tierra (GND) con un N-MOSFET de Canal, he visto a la inversa - un nuevo flujo de corriente a través de la línea de datos a la tierra! (Esto tiene que ser resuelto con un diodo por un post en PJRC.) El WS2812b realmente tomar alrededor de un miliamperios cada uno, incluso cuando se apagan,

Así que la pregunta: ¿hay una forma "limpia" para desconectar VCC y GND de las partes de un proyecto durante el sueño cuando hay pines de datos en la mezcla. ¿Cuál es la mejor práctica?

Algunas ideas:

  1. La fuerza de VCC a GND (no sabe cómo? Hbridge?). (Si hago esto, ¿qué sucede con los pines de datos que son de alta?)
  2. Colocar un buffer tri-estado entre todos los pines de datos y estos dispositivos, y durante el sueño de poner el buffer tri-estado en un estado de alta impedancia, desconecte VCC o GND sólo con P o N mosfet
  3. Desconecte la TIERRA solamente con N mosfet, y colocar diodos en todos los pines de datos
  4. ¿Hay algún tipo de poder pestillo que se desconecta tanto VCC y GND y los pone en un "alta impedancia" (como en un buffer tri-estado por el poder?) De esa manera actual no tiene forma de flujo de "fuera" de las líneas de datos.

Puede que alguien me ilumine para los más limpios, más repetible forma de manejar este tipo de "desconexión de carga" problema? (No hace falta decir, he pasado horas buscando en google este problema con un poco de suerte, a pesar de que encontré esta nota técnica de conmutación de carga, pero no la dirección de alimentación y de energía parásita)

5voto

Peter Smith Puntos 2292

Cuando hago esto, yo normalmente uso CMOS interruptores analógicos en la parte afectada de las líneas de datos.

Algo así como el ADG812 tiene 4 canales de SPST interruptores que son fácilmente adecuado para bastante rápido lógica, y proporcionar una muy alta impedancia entre el interruptor de nodos cuando en el estado de apagado.

ADG812 off leakage

Lo bueno de esto es que la técnica funciona para ambos unidireccional y bidireccional de las líneas de datos.

Estas piezas también se ejecutan en una brillante sonrisa:

ADG812 power requirements

La secuencia habitual para la alimentación de abajo:

  1. Desactivar la ruta de datos de interruptores de

  2. Apagado de dominio.

El poder es el opuesto, por supuesto.

[Actualización]

Estos son, de hecho, conocido por otros nombres, tales como puertas y transmisión de las puertas.

Estos son significativamente diferentes de un verdadero buffer tri-estado (como se puede ver en el diagrame en el enlace de arriba), pero para el común de la lógica, el efecto es mejor (esto es, intrínsecamente, un dispositivo bidireccional), pero con una menor potencia.

3voto

Chenghua Yang Puntos 51

Si las señales de datos están conectados al microcontrolador, usted puede simplemente hacer de ellos de alta impedancia mediante la configuración de los pines como entradas. (Si el otro chip utiliza muy poca energía, usted puede tratar su Vcc como una señal de datos.)

De lo contrario, puede utilizar interruptores analógicos (74x66 lógica de fichas) para desconectar. Para unidireccional de señales, 74x125 iba a trabajar, también.

1voto

JW. Puntos 145

Creo que no hay una talla única para todos estrategia por desgracia. Interruptor de alimentación para los subsistemas como ya has hecho. En el software, los clavos de baja de baja potencia de los estados, a menos que ello podría causar una alta potencia de la condición de estado estacionario. En ese caso, la unidad de la alta pin. Nunca dejar entradas de flotación. Secuencia de poder según sea necesario para establecer segura condiciones iniciales.

1voto

stuck Puntos 111

Un desagradable problema que puede provocar que los microcontroladores de hacer cosas muy extrañas.
La solución es el uso de pull-down de e/S serie como \$ I^2C \$. Esto requiere que las resistencias pull-up en SCK, SDA líneas. Las resistencias pull-up están ligados a la conmutación de la línea Vcc. Asegúrese de que la conmutación de la línea Vcc cae muy bien a cero voltios cuando está apagado (no dejes que se float).

Usted no tiene esa opción - usted está obligado a usar serial asincrónica de I/O. Algunos microcontroladores permiten un enfoque similar como I2C para resolver el problema. Si usted puede programar la salida serial pin de pull-down-sólo en lugar de la más común de pull-up-para-1, pull-down-para-0, entonces usted puede agregar una resistencia pull-up a la conmutación de-Vcc para establecer una lógica de alta.
Esta solución no es como el ruido robusto como su enfoque actual, pero debe resolver el problema de alimentar a sus módulos de e/S de la AVR. No es realmente una "limpia" de la solución, pero es mucho más seguro para el microcontrolador(s) en su IO módulos.

schematic

simular este circuito – Esquema creado mediante CircuitLab

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X