Stromversorgung eines IC über eine GPIO-Leitung


10

Ich habe eine Anwendung mit geringem Stromverbrauch, die über eine Li-Knopfzelle mit Strom versorgt wird. Ich habe mit meiner gewählten MCU einen zufriedenstellenden Schlafstrom erreicht.

Die Anwendung ADC IC ist jedoch eine andere Sache: 900µA bei Inaktivität - viel zu viel für eine Knopfzellenanwendung.

Deshalb habe ich mir überlegt, warum ich den ADC nicht von der Stromversorgung trennen sollte, wenn er nicht verwendet wird. Zwei Ideen kamen in den Sinn: ein High-Side-FET auf dem Vdd des ADC oder einfach das Verbinden des Vdd (oder Vss) -Pins des ADC mit einem der GPIO-Pins der MCU (vorausgesetzt, der Strom liegt innerhalb der Source / Sink-Spezifikation der MCU).

Ich nahm an, dass es viele Artikel, App-Notizen usw. geben würde, die diese Idee diskutieren, aber ich habe noch nichts online gefunden. Kann mich jemand vor dem Experimentieren auf relevante Artikel / App-Notizen online verweisen? Oder ist es nur eine schlechte Idee? und wenn ja warum?

(Ja, ich weiß, dass in den meisten MCUs ADCs integriert sind. Aus Gründen, die über den Rahmen der Abfrage hinausgehen, muss ich diesen externen ADC-IC wirklich verwenden.)

Vielen Dank!


Was ist das Modell Ihres ADC?
Nick Alexeev

Antworten:


8

Die Stromversorgung eines Geräts über einen GPIO-Pin ist normalerweise eine schlechte Idee. In dem Regime mit sehr geringer Leistung könnten Sie vielleicht damit durchkommen, aber ich würde es nicht empfehlen, es sei denn, Sie haben sehr strenge Einschränkungen.

Sie haben bereits festgestellt, dass Sie überprüft haben, ob die Anforderungen des ADC niedriger sind als die Laufwerksfähigkeit des Pins. Das ist es, was viele Leute normalerweise nicht überprüfen. Wenn der Verbrauch innerhalb der erforderlichen Grenzen liegt, können Sie in dieser Hinsicht in Ordnung sein. Stellen Sie jedoch sicher, dass alle Anforderungen an den Übergangsstrom vom ADC auch in der GPIO-Laufwerksfunktion enthalten sind. Sie würden zumindest eine ziemlich starke Entkopplung der ADC-Versorgung benötigen. Denken Sie daran, dass der GPIO-Ausgang keine niederohmige Versorgungsleitung ist und langsamer auf transiente Stromanforderungen reagiert.

Zweitens, da Sie einen ADC verwenden und dabei einen ADC, der nicht in einen uC eingebaut ist (was Sie für einen sehr geringen Stromverbrauch tun sollten), gehe ich davon aus, dass Sie einige Anforderungen haben, die nicht erfüllt sind. t vom internen ADC erfüllt. Der GPIO, der keine Versorgungsleitung und vor allem ein GPIO eines Mikrocontrollers ist, wird definitiv durch mindestens die Taktfrequenz des uC, seine Harmonischen und möglicherweise Subharmonik kontaminiert. Da Sie auch einen erheblichen Strom durch den Strom treiben werden, wäre ich nicht überrascht, wenn auch andere Effekte hinzukommen würden. Je nachdem, welchen GPIO Sie verwenden und wie stark die Entkopplung ist, sehen Sie möglicherweise sogar kleine Komponenten Ihres SPI / I2C / was Sie im Angebot haben. Wenn ADC-Auflösung und Rauschleistung wichtig sind,

Der High-Side-FET ist eine viel bessere Wahl und sicherer. Sie können auch eine beliebige Anzahl von leistungsbezogenen ICs verwenden, die über eine Enable-Steuerung verfügen, z. B. LDOs und dergleichen. Ein LDO in der Nähe der ADC-Versorgung kann ebenfalls zur Verbesserung der Leistung beitragen. Beachten Sie jedoch, dass Ihr ADC mit einer etwas niedrigeren Spannung betrieben werden muss. Dies wird auch mit einem einfachen Transistorschalter geschehen, und mit einem niedrigen Rdson-FET wird der Effekt zwar viel geringer sein, aber er wird existieren.

Eine Sache, die Sie beachten sollten, ist, dass das Anschließen der digitalen Leitungen eines nicht mit Strom versorgten IC an GPIOs eines mit Strom versorgten uC keine gute Idee ist. Am Ende schalten Sie Ihren ADC über seine digitalen E / A ein und verursachen seltsames und möglicherweise gefährliches Verhalten. Insbesondere wäre ich überrascht, wenn Ihr ADC auch im ausgeschalteten Zustand nicht reagiert hätte. Dies kann zu einer langfristigen Verschlechterung führen und nutzt in erster Linie den Vorteil der Energieeinsparung. Damit es sich gut ausschalten lässt, sollten Sie für jede digitale Leitung zwischen den beiden einen Pegelübersetzungspuffer verwenden, mit der Sie die Ausgänge deaktivieren (tristieren) können. Dies kann entweder über einen EN-Pin oder über einen Puffer mit anderen zu deaktivierenden Mechanismen erfolgen (Der SN74LVC1T45 tristiert, wenn beispielsweise die einseitige Versorgung auf Masse gezogen wird). Ob das Schema nützlich ist, hängt vom Verbrauch des Puffers im AUS-Zustand, vom Verbrauch im EIN-Zustand und vom Arbeitszyklus (dem Bruchteil der Zeit, für den Sie ihn einschalten möchten) und vom ADC-Verbrauch (900 uA) ab Sie können auf diese Weise speichern. Wenn Sie sehr vorsichtig sind, können Sie möglicherweise die Notwendigkeit von Puffern vermeiden, indem Sie die mit dem ADC verbundenen uC-E / A vor dem Ausschalten tristieren und dadurch ungefähr den gleichen Effekt erzielen.


Gute Antwort. Eine andere Sache zu erwähnen ist, dass der ADC wahrscheinlich einen Entkopplungskondensator an seinem Stromanschluss haben möchte. Der Einschaltstrom für den Kondensator wird wahrscheinlich die GPIO-Leitung stören.
Rocketmagnet

5

Ja, das können Sie tun. Stellen Sie einfach sicher, dass alle Einschränkungen erfüllt sind. Ich habe das ein paar Mal gemacht. Die Verwendung eines Mikrocontroller-Ausgangs zur tatsächlichen Stromversorgung eines kleinen Stromkreises anstelle einer Leistungsumschaltung kann eine nützliche Methode sein, um Platz zu sparen. Ich habe dies in einem Projekt verwendet, um beispielsweise ein analoges Front-End eines Ultraschallempfängers nur bei Bedarf einzuschalten.

Abgesehen von dem offensichtlichen Problem des begrenzten Stroms, der vom Ausgangspin verfügbar ist, müssen Sie das Rauschen des Mikros beobachten, das in den Schaltkreis gelangt, und mit den von der Schaltung gezogenen Übergangsströmen umgehen. Das Hinzufügen einer Kappe zur Masse am digitalen Ausgangspin hilft bei beiden Problemen, aber Sie müssen auch berücksichtigen, wie viel Kapazität das Mikro beim Ein- oder Ausschalten der Leitung ansteuern kann.

Dies sollten Sie nicht leichtfertig tun, und Sie müssen sorgfältig über die Probleme nachdenken, aber nachdem Sie Ihre Hausaufgaben gemacht haben und es immer noch Sinn macht, fahren Sie fort.


5

Ja, das kannst du machen. Und viele haben. Zum Beispiel zeigt Adafruit, dass dies für ein ds1307 RTC auf einem Adruino gemacht wird, das von zwei gpio (als vcc und gnd) angetrieben wird . Dies gilt auch für Nokia LCDs, die nur 1 mA für den Bildschirm benötigen (die LEDs mit Hintergrundbeleuchtung sind eine andere Geschichte, können aber immer noch von gpio ausgeführt werden).

Eine Stromquelle ist eine Stromquelle. Solange Ihre Stromaufnahme niedrig ist (oder Sie einen Spannungsabfall aufgrund der Stromaufnahme an den Anschlussstiften des mcu tolerieren können), können Sie dies tun.

Jetzt kommt es darauf an, wie sauber die GPIO-Ausgabe ist. Einige ICs beschweren sich weniger über eine leicht verschmutzte Leitung als andere. Ein ADC könnte einer von denen sein, die nicht die beste Option sind. Eine verschmutzte Quelle kann die Auflösung oder Zuverlässigkeit des ADC beeinträchtigen. Dies könnte den externen ADC schlechter machen als den internen. Wie andere bereits erwähnt haben, könnte eine Kappe helfen.

Es ist unwahrscheinlich, dass der ADC gebraten wird, also die beste Wahl? Verdrahten Sie es und führen Sie einige Kalibrierungstests durch. Wenn es funktioniert, machen Sie mit. Wenn dies nicht der Fall ist, verwenden Sie einen npn-Transistor oder einen ähnlichen Fet, um die Stromversorgung zu unterbrechen. Nur eine Sache. Stellen Sie sicher, dass Sie die Datenpins beim Ausschalten des ICs in Eingänge schalten, und warten Sie, bis Sie den Netzstift eingeschaltet haben, bevor Sie sie in den Modus schalten, in dem sie sein müssen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.