Schalter zum Ausschalten des MSP430

Ein MSP430F1232 ist mit einem PL2303 verbunden, dh URXD0/UTXD0 sind mit dem PL2303 TX und RX verbunden. VCC und VSS stammen ebenfalls vom PL2303 (über USB). Zusätzlich sind an P1.0 und P1.1 ein Schalter mit Pull-up-Widerstand und eine LED mit Widerstand gegen Masse angeschlossen.

Die Schaltung und das Programm funktionieren wie erwartet. Die Schaltung funktioniert jedoch auch, wenn VCC nicht angeschlossen ist. Der Grund ist eine Spannung von ca. 3,2 V am UART TX. Wenn ich auch die TX-Verbindung trenne, stoppt der MSP430. Wenn der TX angeschlossen ist, funktioniert der MSP430 trotzdem wie vorgesehen und die serielle Schnittstelle funktioniert auch.

Wie würde man einen Schalter implementieren, um die Schaltung / den MSP430 vollständig auszuschalten? Meine Idee, einen Schalter zwischen der PL2303-Versorgung und dem VCC-Pin zu verwenden, ist nicht ausreichend.

Schemata sind viel, viel besser als Worte. Es gibt eine Schaltfläche in der Editor-Symbolleiste.
Ein MSP430 kann von einer Zitrone und wahrscheinlich nur einer Kartoffel ablaufen. Stecken Sie eine Antenne darauf und es läuft + erntet Energie für Sie. Diese verdammten Dinger laufen mit JEDEM verfügbaren Leck. Sie müssen also wirklich wissen, wo sich Ihre Dioden befinden. Jeder einzelne E / A-Pin an diesem Ding hat Dioden zur Masse und zur Vcc-Schiene. Wenn Sie etwas an einen I / O-Pin angeschlossen haben, das nach einem Diodenabfall die minimale Betriebsspannung liefern kann, ist dies wahrscheinlich Ihr Problem hier. (Die Vcc-Schienendiode kann in Vorwärtsrichtung vorgespannt sein.) Fixieren Sie die UART-Verbindung.
@jonk weiser Rat: Das Zulassen des TX-betriebenen Betriebs (wenn Vcc = 0) sollte nicht zugelassen werden - es kann zu einem sehr seltsamen Betrieb kommen, selbst nachdem Vcc wiederhergestellt wurde . Wie kann dieses Szenario eintreten, wenn PL2303 die einzige Stromquelle für MSP430 ist?
@glen_geek Ich bin mir Ihrer Frage nicht sicher - verstehe sie nicht vollständig. Mein Kommentar war allgemein, nicht spezifisch, da ich die angewendeten Elemente nicht nachschlagen wollte. Das Problem kenne ich schon. War dort, als der MSP430 ohne angelegte Vcc gut läuft. Es geht nur darum, die Quelle zu finden, meiner Erfahrung nach immer über einen der E / A-Pins, und sie dann zu blockieren.
Die Idee ist, den UART des PL2303 mit zwei Geräten abwechselnd auf Basis eines mechanischen Schalters zu verwenden. Dank Jonk wurde mir klar, dass das Ein- und Ausschalten des MSP430 nicht ausreicht. Anscheinend sollten die TX- und RX-Leitungen vielleicht mit einem Demultiplexer oder ähnlichem verbunden werden
Bitte posten Sie einen vollständigen Schaltplan - im Moment haben wir Schwierigkeiten zu verstehen, was Ihre Schaltung tatsächlich ist.
@p.vitzliputzli Ist Ihre PL2303 VDD_325-Spannung dieselbe wie die MSP430 Vcc-Spannungsschiene, mit dem einzigen Unterschied, dass Ihre MSP430 Vcc deaktiviert werden kann? Oder?
@jonk Das ist richtig!
@p.vitzliputzli Dann füge ich eine Art Antwort hinzu.

Antworten (2)

Das Problem ist, dass der PL2303 (und die meisten UART-Konfigurationen) mit einer hohen Ausgabe am TX-Ausgang im Leerlauf sind. Dadurch wird Ihr MSP430 mit Strom versorgt. Ja, der logisch hohe Ausgang des PL2303 TX versorgt Ihren MSP430 über einen seiner Eingangspins.

Das liegt daran, dass die Eingänge der meisten CMOS-ICs Schutzdioden haben, die mit VDD verbunden sind, wie in diesem Diagramm ( von dieser nützlichen Website ) .

CMOS-ESD-Schutz

Wenn also der PL2303 den MSP-Eingang hoch treibt und die MSP430-Stromversorgung getrennt wird, fließt diese Spannung durch die Schutzdiode und in die Stromschiene des MSP430. Sie versorgen Ihren MSP also mit dem PL2303!

Um dies zu lösen, können Sie ein paar Dinge tun:

1) Setzen Sie einen Strombegrenzungswiderstand ein, um den Strom zu begrenzen, der in den MSP-Eingang fließt. Dies ist im Allgemeinen eine miese Lösung, da immer noch eine kleine Menge Strom fließt und Ihre UART-Geschwindigkeit beeinträchtigt wird.

2) Gattern Sie den TX von PL2303 so, dass der MSP-Eingang niedrig ist, wenn Sie ihn ausschalten möchten. Hier ist ein einfaches Beispiel:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wenn also die Leistung des MSP430 niedrig wird, wird der Eingang des UND-Gatters niedrig und sein Ausgang wird niedrig. Es gibt viele Möglichkeiten, dasselbe zu tun; nur ein Beispiel.

Ich werde nicht raten und dann einen Schaltplan überprüfen, den Sie nicht bereitgestellt haben. Aber ich war schon ein paar Mal hier mit dem MSP430 und habe das eine oder andere gelernt.


Ein MSP430 kann mit nur wenigen Mikroampere betrieben werden. Dies kann über Wege erfolgen, die mit anderen MCUs unmöglich erscheinen würden. Wenn also der MSP430 mit Strom versorgt wird, sehen Sie sich Ihren Schaltplan sehr, sehr genau an, um zu sehen, ob es irgendwelche Pfade gibt, über die eine externe Stromquelle (und Spannung) den MSP430 über einen seiner E / A-Pins und Schutz versorgen kann Dioden.

Schutzdioden werden in großem Umfang in der Industrie verwendet. Tatsächlich ist es fast unmöglich, ICs ohne sie zu finden. Dafür gibt es mehrere gute Gründe:

  1. Schutzdioden sind oft nur intrinsische Dioden, die als natürlicher Bestandteil der physikalischen Architektur der IC-Verarbeitung gebildet werden. Es ist möglich, Pins herzustellen, die eine intrinsische Diode vermeiden, aber das fügt einen Verarbeitungsschritt hinzu und nimmt Platz in Anspruch und kostet Geld. Es müssen besondere Gründe vorliegen, es nicht aufzunehmen.
  2. MOSFETs auf ICs sind sehr empfindliche Geräte und können leicht durch statische Aufladung beschädigt werden. Pins ungeschützt zu lassen, bedeutet nur Ärger.

Da ist es vernünftiger anzunehmen, dass alle Endbenutzer-Ingenieure von ICs meistens nur ein Haufen brutaler Idioten sind, die mit Tausenden von Volt statischer Ladung an jeder Fingerspitze und jedem Kleidungsstück, das sie tragen, herumlaufen und ignorant alles in Reichweite oder Sichtweite zappen sind IC-Hersteller immer vorsichtiger geworden, ICs mit ungeschützten Pins auszuliefern. Es gibt immer noch einige Fälle, in denen die Schutzdioden tatsächlich das beabsichtigte Verhalten des Geräts (z. B. Elektrometer-ICs) ruinieren und sie gezwungen sind , ein oder zwei Pins ohne sie zu haben. Aber diese sind rar und sie hassen es, sie zu verkaufen, denn selbst mit großen riesigen roten Aufklebern überall auf der Schachtel funktioniert es immer noch, dass keine gute Tat ungesühnt bleibt und sie sich einer "hohen Rücklaufquote" bei den Geräten ziemlich sicher sein können.

Der MSP430 ist ein absolut fantastisches Gerät. Sie können es mit dem Regalspeicher-Leckstrom einer Knopfbatterie betreiben (was bedeutet, dass die Knopfbatterie den MSP430 für die gesamte behauptete Haltbarkeit einer unbenutzten Batterie betreibt, die in einem Lagerregal sitzt und auf den Verkauf wartet). Sie sind also verrückt Gut, wenn Sie für so etwas wie eine Uhr zwei Jahre Betriebslebensdauer wünschen.

Das bedeutet aber auch, dass sie schrecklich sind, wenn es darum geht, sie versehentlich über einen der I/O-Pins mit Strom zu versorgen.

Die Schutzdioden jedes Geräts, insbesondere aber des MSP430, können zur Stromversorgung des IC verwendet werden. In den meisten Fällen haben diese Schutzdioden Grenzen für ihren Strom (typischerweise einige Milliampere). Und die Aluminisierungsspuren haben auch ihre eigenen Grenzen. Alles in allem bedeutet dies ungefähr, dass etwas nachgibt, wenn Sie versuchen, zu viel Strom zuzuführen (die Aluminiumspur selbst wandert herum, bis sie weg ist und keine Verbindung mehr herstellt, oder die Diode verpufft und erzeugt eine offene [oder geschlossene] Verbindung.) Die meisten Geräte benötigen ohnehin mehr Strom. Und die Quelle hat wahrscheinlich viel zu viel Serienwiderstand, um den IC viel mit Strom zu versorgen.

Aber im Fall des MSP430?? Ein paar Milliampere sind wie ... Volllastbetrieb und noch mehr. Selbst bei wahnsinnig hohen Quellenimpedanzen. Nehmen wir also an, Sie wenden a an 10 k Ω Widerstand in Reihe mit dem I / O-Pin "nur um sicher zu gehen". Denken Sie, das reicht? Nö. Das sind immer noch Hunderte von Mikroampere für den MSP430 und er sitzt da und schwimmt wie ein Fisch in tiefem Wasser.


Sie denken also vielleicht über Folgendes nach:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

R 5 ist ein Pulldown, so dass beim Öffnen des Schalters (ich weiß nicht, welche Art von Ein- / Ausschaltung Sie verwenden) der MSP430 isoliert wird.

Dies setzt voraus, dass Ihr PL2303 VDD_325 höher oder gleich Ihrer MSP430-Spannung ist. Ist dies nicht der Fall, muss die Schaltung modifiziert werden. Vor allem Umgebung Q 3 .

Nette Level-Übersetzer. Wenn PL2303 und MSP430 beide auf 3,3-V-Logik liegen, werden Q1, R1, R2 nicht benötigt.
@VincePatron Ich würde zustimmen, aber als ich diesen Schaltplan erstellte, war ich mir über die Spannungspegel nicht sicher (wie Sie meinem Kommentar im letzten Absatz entnehmen können).
@jonk Ich habe ein paar potenzielle Bedenken: Der resistive Pullup ist möglicherweise zu langsam und / oder verbraucht zu viel Strom.
Gibt es einen Grund, warum der Schalter nicht auf der niedrigen Seite platziert werden könnte/sollte?
@CalebReister Ich habe einige Alternativen ausprobiert, einschließlich dieser, und obwohl sie in meiner Frage nicht erwähnt wurde, beträgt die Symbolrate 9600 Bd. Ich bin bisher auf keine Probleme gestoßen. Danke an @jonk!