Alimentar un IC desde una línea GPIO

9

Tengo una aplicación de baja potencia que se alimenta desde una celda de moneda Li. He logrado una corriente de sueño satisfactoria con mi MCU elegido.

Sin embargo, la aplicación ADC IC es una cuestión diferente: 900µA mientras está inactivo: demasiado para una aplicación de celda de moneda.

Así que pensé, ¿por qué no aislar el poder del ADC cuando no está en uso? Se me ocurrieron dos ideas: un FET de lado alto en el Vdd del ADC o simplemente conectando el pin Vdd (o Vss) del ADC a uno de los pines GPIO de la MCU (asumiendo que la corriente está dentro de las especificaciones de fuente / sumidero de la MCU).

Supuse que habría muchos artículos, notas de aplicaciones, etc. que discutían esta idea, pero aún no he encontrado nada en línea. Antes de comenzar a experimentar, ¿alguien puede indicarme en línea artículos o notas relevantes de aplicaciones? ¿O es solo una mala idea? y si es así ¿por qué?

(Ya, la mayoría de los MCU tienen ADC incorporados. Por razones que van más allá del alcance de la consulta, realmente debo usar este IC externo de ADC)

¡Gracias!

    
pregunta jdesbonnet

3 respuestas

8

La alimentación de un dispositivo a través de un pin GPIO suele ser una mala idea. En el régimen de muy baja potencia, tal vez podría salirse con la suya, pero no lo recomendaría a menos que tenga restricciones muy severas.

Ya ha notado que ha comprobado que el requisito del ADC es menor que la capacidad de la unidad del pin. Eso es típicamente lo que mucha gente no se molesta en verificar. Si el consumo está dentro de los límites requeridos, entonces puede estar bien en ese conteo. Sin embargo, asegúrese de que los requisitos de corriente transitoria del ADC también se encuentren dentro de la capacidad de la unidad GPIO. Como mínimo, necesitará un desacoplamiento razonablemente pesado en el suministro de ADC. Recuerde el hecho de que la salida GPIO no es una línea de suministro de baja impedancia y será más lenta para responder a los requisitos de corriente transitoria.

En segundo lugar, ya que estás usando un ADC, y en ese caso un ADC que no está integrado en un uC (que sería lo que deberías hacer por un consumo de energía muy bajo), supongo que tienes algunos requisitos Que no están satisfechos por el ADC interno. El GPIO, al no ser una línea de suministro, y lo que es más importante, al ser un GPIO de un microcontrolador, definitivamente estará contaminado por al menos la frecuencia de reloj de la unidad de control, sus armónicos y posiblemente los subarmónicos. Como también conducirás una gran cantidad de corriente a través de él, no me sorprendería que también se presentaran otros efectos. Incluso puede terminar viendo pequeños componentes de su SPI / I2C / lo que tiene en el suministro, dependiendo de qué GPIO use y qué tan pesado es el desacoplamiento. Si la resolución de ADC y el rendimiento del ruido son importantes, tal vez no sea una buena idea, incluso si los GPIO parecen ser capaces de impulsar el IC.

El FET del lado alto es una apuesta mucho mejor, y es más seguro. También puede considerar el uso de cualquier número de IC relacionados con la alimentación que tengan el control Habilitar, como LDO y similares. Un LDO cercano al suministro de ADC también puede ayudar a mejorar el rendimiento. Tenga en cuenta, sin embargo, que esto significa que su ADC tendrá que funcionar con un voltaje ligeramente inferior. Esto ocurrirá también con un simple interruptor de transistor, y con un FET de Rdson bajo, el efecto será, sin duda, mucho más pequeño, pero existirá.

Una cosa que debe tener en cuenta es que la conexión de las líneas digitales de un IC sin alimentación a los GPIO de una unidad de control de energía con alimentación no es una buena idea. Terminará encendiendo su ADC a través de sus IO digitales y causará un comportamiento extraño y potencialmente peligroso. Específicamente, me sorprendería si su ADC no respondiera, incluso cuando estaba APAGADO. Esto es capaz de causar una degradación a largo plazo y, en primer lugar, favorece el ahorro de energía. Para que se apague bien, debe usar un búfer de traducción de nivel para cada línea digital entre las dos con la capacidad de deshabilitar (actualizar) las salidas. Esto se puede hacer usando un pin EN, tal vez, o usando un búfer con otros mecanismos para deshabilitarlo (el SN74LVC1T45 se desplaza si el suministro de un lado se pone a tierra, por ejemplo). Si el esquema es útil depende del consumo del búfer en su estado DESACTIVADO, del consumo en su estado ENCENDIDO y del ciclo de trabajo (la fracción de tiempo por el que desea activarlo) y del consumo de ADC (900uA) que Usted puede ahorrar haciendo esto. Si tiene mucho cuidado, es posible que pueda evitar la necesidad de los búferes activando los IO de uC que están conectados al ADC antes de apagarlos y, por lo tanto, producir el mismo efecto.

    
respondido por el Chintalagiri Shashank
4

Sí, puedes hacer eso, solo asegúrate de que se cumplan todas las restricciones. He hecho esto unas cuantas veces. Usar una salida de microcontrolador para alimentar un circuito pequeño en lugar de cambiar su potencia puede ser una forma útil de ahorrar espacio. Utilicé esto en un proyecto, por ejemplo, para activar un extremo frontal analógico de un receptor de ultrasonido solo cuando sea necesario.

Aparte del problema obvio de la corriente limitada disponible desde el pin de salida, debe observar el ruido de la entrada del micro en el circuito de conmutación y lidiar con las corrientes transitorias dibujadas por el circuito. Agregar una tapa a tierra en el pin de salida digital ayuda con ambos problemas, pero también debe considerar cuánta capacitancia puede manejar el micro al encender o apagar la línea.

Esto no es algo que debas hacer a la ligera, y debes pensar en los temas con cuidado, pero después de que hayas hecho tu tarea y aún tenga sentido, sigue adelante.

    
respondido por el Olin Lathrop
4

Sí, puedes hacer esto. Y muchos tienen. Por ejemplo, Adafruit muestra que se está haciendo para un RTC ds1307 en un adruino, alimentado por dos gpio (como vcc y gnd) . Esto también se hace para las pantallas LCD de Nokia, que solo necesitan 1 mA para la pantalla (los leds de retroiluminación son una historia diferente, pero aún se pueden hacer con gpio).

Una fuente de poder es una fuente de poder. Siempre que su consumo de corriente sea bajo (o puede tolerar la caída del voltaje debido al consumo de corriente en los pines del puerto del mcu), puede hacerlo.

Ahora, depende de qué tan limpia esté la salida de gpio. Algunos circuitos integrados son menos propensos a quejarse de una línea ligeramente sucia que otros. Un ADC puede ser uno de los que no son la mejor opción. Una fuente sucia puede afectar la resolución o confiabilidad del ADC. Podría hacer que el ADC externo sea peor que el interno. Como han mencionado otros, una gorra podría ayudar.

Es poco probable que freír el ADC, ¿así que es mejor apostar? Conéctelo y ejecútelo a través de algunas pruebas de calibración. Si funciona, ve con ello. Si no lo hace, use un transistor npn o un dispositivo similar para cortar la energía. Sólo una cosa. asegúrese de cambiar los pines de datos en entradas cuando el IC esté apagado, y espere hasta que encienda el pin de alimentación antes de cambiarlos al modo en que deben estar.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas