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.
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 ) .
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:
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:
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 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:
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
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 .
Transistor
jonk
glen_geek
jonk
p.vitzliputzli
DreiPhasenEel
jonk
p.vitzliputzli
jonk