Alimentando un IC desde una línea GPIO

10

Tengo una aplicación de baja potencia que se alimentará de una celda de moneda Li. He alcanzado 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á inactiva, demasiado para una aplicación de celda de moneda.

Entonces 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 conectar el pin Vdd (o Vss) del ADC a uno de los pines MCIO GPIO (suponiendo que la corriente esté dentro de las especificaciones de fuente / sumidero del MCU).

Asumí que habría muchos artículos, notas de aplicaciones, etc. discutiendo esta idea, pero aún no he encontrado nada en línea. Antes de comenzar a experimentar, ¿alguien puede señalarme artículos relevantes / notas de aplicaciones en línea? ¿O es solo una mala idea? Y si es así, ¿por qué?

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

¡Gracias!

jdesbonnet
fuente
¿Cuál es el modelo de tu ADC?
Nick Alexeev

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, quizás podría salirse con la suya, pero no lo recomendaría a menos que tenga restricciones muy severas.

Ya ha notado que ha verificado que el requisito del ADC es menor que la capacidad de la unidad del pin. Eso suele ser lo que muchas personas no se molestan en comprobar. Si el consumo está dentro de los límites requeridos, entonces puede estar bien en ese aspecto. Sin embargo, asegúrese de que cualquier requisito de corriente transitoria del ADC también esté contenido dentro de la capacidad de la unidad GPIO. Como mínimo, necesitaría 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, dado que está utilizando un ADC, y en ese caso un ADC que no está integrado en un uC (que sería lo que debería hacer para un consumo de energía muy bajo), supongo que tiene algunos requisitos que no son t satisfecho 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 uC, sus armónicos y posiblemente subarmónicos. Dado que también va a conducir una corriente sustancial a través de él, no me sorprendería si también se presentan otros efectos. Incluso puede terminar viendo pequeños componentes de su SPI / I2C / qué tiene en el suministro, dependiendo de qué GPIO use y qué tan pesado sea el desacoplamiento. Si la resolución ADC y el rendimiento de ruido son importantes,

El FET del lado alto es una apuesta mucho mejor y es más seguro. También podría considerar el uso de cualquier cantidad de circuitos integrados relacionados con la energía que tengan el control Habilitar, como LDO y similares. Un LDO cercano al suministro de ADC también puede ayudar a mejorar el rendimiento. Sin embargo, tenga en cuenta que esto significa que su ADC tendrá que funcionar a un voltaje ligeramente más bajo. Esto sucederá también con un interruptor de transistor simple, 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 no es una buena idea conectar las líneas digitales de un IC sin alimentación a GPIO de un uC con alimentación. Terminará encendiendo su ADC a través de sus E / S digitales y causará un comportamiento extraño y potencialmente peligroso. Específicamente, me sorprendería que su ADC no respondiera incluso cuando estaba APAGADO. Esto es capaz de causar degradación a largo plazo y, en primer lugar, consume la ventaja del 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 los dos con la capacidad de deshabilitar (tristar) las salidas. Esto se puede hacer usando un pin EN, tal vez, o usando un búfer con otros mecanismos para deshabilitar (El SN74LVC1T45 se trista si el suministro en un lado se pone a tierra, por ejemplo). Si el esquema es útil depende del consumo del búfer en su estado APAGADO, el consumo en su estado ENCENDIDO y el ciclo de trabajo (la fracción de tiempo para la que quiere ENCENDERLO), y el consumo de ADC (900uA) que puedes ahorrar haciendo esto. Si tiene mucho cuidado, puede evitar la necesidad de los tampones al tristar las IO de uC que están conectadas al ADC antes de apagarlo y, por lo tanto, producir el mismo efecto.

Chintalagiri Shashank
fuente
Gran respuesta. Otra cosa a mencionar es que el ADC probablemente querrá un condensador de desacoplamiento en su pin de alimentación. La corriente de entrada para el condensador probablemente alterará la línea GPIO.
Rocketmagnet
5

Sí, puede hacerlo, solo asegúrese de que se cumplan todas las restricciones. He hecho esto algunas veces. Usar una salida de microcontrolador para alimentar un circuito pequeño en lugar de cambiar su alimentación puede ser una forma útil de ahorrar espacio. Usé esto en un proyecto, por ejemplo, para encender un receptor analógico de ultrasonido solo cuando era necesario.

Aparte del problema obvio de la corriente limitada disponible desde el pin de salida, debe observar el ruido del micro que ingresa al circuito conmutado 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 tener en cuenta 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 problemas con cuidado, pero después de haber hecho tu tarea y aún tiene sentido, adelante.

Olin Lathrop
fuente
5

Sí, usted puede hacer esto. Y muchos lo han hecho. Por ejemplo, Adafruit muestra que esto se está haciendo para un ds1307 RTC en un adruino, impulsado por dos gpio (como vcc y gnd) . Esto también se hace para los LCD de Nokia, que solo necesitan 1 mA para la pantalla (los leds de retroiluminación son una historia diferente, pero aún puede ser realizada por gpio).

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

Ahora, depende de cuán limpia sea la salida de gpio. Es menos probable que algunos circuitos integrados se quejen de una línea ligeramente sucia que otros. Un ADC podría 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 otros han mencionado, una gorra podría ayudar.

Es poco probable que freír el ADC, ¿así que la mejor apuesta? Conéctelo y ejecútelo en algunas pruebas de calibración. Si funciona, ve con él. Si no es así, use un transistor npn o un fet 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 después de encender el pin de alimentación antes de cambiarlos al modo en que deben estar.

Transeúnte
fuente