UART-Pins an nicht mit Strom versorgte MCU?

11

Ich verwende einen USB-UART-IC mit einer MCU, die von einer Batterie gespeist wird.

Der USB-UART-IC wird über den USB-Anschluss und nicht über den Akku mit Strom versorgt, sodass ich nicht jedes Mal eine Konsole öffnen muss, wenn der Schalter ein- und ausgeschaltet wird.

schematisch

simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab

Bearbeiten: Ich habe es nicht auf die Abbildung gezeichnet, aber der IC hat einen internen 3,3-V-Regler und jeder VDD befindet sich auf 3,3-V-Pegel, wenn der Schalter eingeschaltet ist.

Jetzt mache ich mir Sorgen, wann der USB-Anschluss angeschlossen ist und der Schalter noch ausgeschaltet ist.

Das MCU-Dokument besagt, dass die maximale Nennleistung jedes Eingangspins VDD + 0,3 beträgt, was 0,3 V betragen würde, wenn die MCU nicht mit Strom versorgt wird.

Wenn das TX / RX-Paar auf der USB-UART-Seite hoch geht, werden dann die Pins auf der MCU-Seite zerstört?

Wenn ja, was brauche ich zwischen den TX / RX-Paaren?

Inbae Jeong
quelle
@Toor Was bedeutet "tbh"?
Elliot Alderson
1
Es wird wahrscheinlich in Ordnung sein. Die Gates können sowieso bis zu ihrer maximalen Betriebsspannung tolerieren können, da sie dies tun müssen, um am oberen Ende ihres Versorgungsspannungsbereichs zu funktionieren. Der Vdd + 0,3 bezieht sich auf die ESD-Klemmdioden in der MCU, aber wenn die MCU nicht mit Strom versorgt wird, haben diese Dioden keine Schiene zum Klemmen. Wenn eine 5-V-fähige MCU mit 3 V abgeschaltet würde und Sie 5 V an eine E / A anlegen würden, würden diese Dioden versuchen, die 3,3-V-Schiene zu klemmen, aber das bedeutet nicht, dass sie ohne sie bei 5 V durchbrennen würde. Sie können Vorwiderstände verwenden, um den Strom durch diese Dioden zu begrenzen.
DKNguyen
3
@ElliotAlderson "tbh" ist ein gängiger Internet-Ismus für "um ehrlich zu sein".
Herd
7
@Toor Die Dioden erzeugen eine Stromschiene. siehe youtube.com/watch?v=2yFh7Vv0Paw .
CL.
5
Dies kann in der Tat ein Problem sein - nicht nur das theoretische Risiko einer Beschädigung, sondern es gibt auch Teile, die beim Zurücksetzen keinen sauberen Strom erzeugen, wenn sie zuvor vor dem Anlegen des tatsächlichen Stroms von E / A "sorta" betrieben wurden. Wenn Sie feststellen, dass das Stromnetz der Platine beim Ausschalten auf 0,5 V bis 0,6 V hochgezogen wird, befinden Sie sich möglicherweise in Schwierigkeiten.
Chris Stratton

Antworten:

14

Dies hängt von der MCU ab, aber in den meisten Fällen wird die MCU und möglicherweise der Rest der Karte über die MCU eingeschaltet. Die MCU wird versuchen zu laufen und seltsame Dinge zu tun. Ihr Board wird seltsamere Dinge tun. Wenn Ihr Board genügend Strom zieht, wird dieser Pin an der MCU beschädigt.

Sie müssen dafür sorgen, dass das UART-Signal bei ausgeschalteter MCU bei 0 V bleibt. Wenn der von Ihnen verwendete UART-Chip (oder UART) keinen Aktivierungsstift hat (die USB-UART-Chips, mit denen ich gearbeitet habe, können genau für den von Ihnen beschriebenen Fall konfiguriert werden), werden UND der UART mit dem ausgegeben VCC des Mikroprozessors.

TimWescott
quelle
5

Die Lösung kann so einfach wie ein NMOS zwischen dem TX-Pin des USB-UART (Drain) und dem RX-Pin der MCU (Source) sein, wobei das Gate mit dem MCU-VDD verbunden ist.

Dies bedeutet, dass der USB-UART nur bis zu 3,3 V abzüglich der Schwellenspannung des Transistors ansteuern kann. Sie müssen prüfen, ob dies noch ausreicht, um die V_IH Ihrer MCU zu erfüllen.

Ich bin skeptisch gegenüber Lösungen, die ein (indirekt) von VBUS betriebenes Logikgatter beinhalten. Solange das Logikgatter den MCU-Eingang hoch treibt, fällt der MCU-VCC möglicherweise nicht weit genug ab, um den TX-Treiber auszuschalten. Mit der NMOS-Lösung kann der TX-Pin nur auf eine niedrigere Spannung als VCC angesteuert werden, was diese Art der Rückkopplung unmöglich macht.

Übrigens sollten Sie auch die umgekehrte Richtung berücksichtigen: Wenn die MCU mit Strom versorgt wird, der USB-UART jedoch nicht, sollten Sie sicherstellen, dass Sie den USB-UART nicht versehentlich mit Strom versorgen und Ihren Strom verbrauchen Batterie schneller als erwartet. Hierfür sollte eine reine Softwarelösung ausreichen.

wrtlprnft
quelle
2

Ich habe eine völlig andere Lösung, die jedoch davon abhängt, welchen USB-Chip Sie verwenden.

Einige von ihnen haben unterschiedliche VBUS und VCCIO. In diesem Fall können Sie möglicherweise den E / A-Teil dieses Chips zusammen mit dem uC mit Strom versorgen.

glglgl
quelle
1
Dies ist eine gute Idee, aber lesen Sie das Datenblatt des USB-Transceivers sorgfältig durch. Einige ICs haben andere Fehler, wenn kein Netzteil angelegt wird. Der Abschnitt Absloute Maximum Ratings am Anfang des Datenblattes sollte dies abdecken.
Jherbold
1

Eine einfache Lösung besteht darin, einige Widerstände zwischen die E / A-Pins zu legen. Dadurch wird der Stromfluss in die Pins begrenzt, sodass der Transceiver den uC nicht mit Strom versorgen kann. Der Widerstandswert ist ein Gleichgewicht zwischen der Begrenzung der Bandbreite zwischen den Chips und der Begrenzung des Stroms.

Logikpuffer, die über USB mit Strom versorgt werden, deren Ausgänge jedoch vom uC aktiviert werden. Dies entspricht der Freigabe des Transceiverausgangs für die andere Antwort.

Gibt es einen Vorteil, wenn die uC ausgeschaltet ist, wenn sie an den Computer angeschlossen ist? Wenn nicht, können Sie den uC über die 5-V-USB-Stromversorgung mit Strom versorgen. Möglichkeiten, dies zu tun, sind:

  1. Ein SPDT-Schalter, der die USB-Stromversorgung bei ausgeschaltetem Akku auswählt. Ersetzt den SPST-Schalter in Ihrem Schaltplan.
  2. Eine Diode, Dioden, eine ideale integrierte Diodenschaltung oder MOSFETs, die vom uC gesteuert werden, um die USB-Leistung auszuwählen, sofern verfügbar. Jetzt müssen Sie überlegen, was passiert, wenn der Batterieschalter geschlossen und der USB angeschlossen ist. Ein unkontrollierter Batteriewechsel ist selten eine gute Sache.
jherbold
quelle
7
Sie könnten es glauben - aber Widerstände allein funktionieren nicht wirklich . Selbst ein großer Vorwiderstand auf der UART-Empfangsleitung reicht nicht aus (obwohl dies Schäden verhindern kann). Das Problem ist, dass bis Sie einige sehr niedrige Schwellenspannungen überschreiten, nichts wirklich Strom zieht und selbst dann nicht viel ohne Uhr. Selbst mit Vorwiderständen kann die Platinen-Stromschiene bis zu einem Punkt hochgezogen werden, an dem die Dinge gerade einen unangemessenen Zustand haben. Ab diesem Zeitpunkt ist das Zurücksetzen beim Einschalten nicht mehr zuverlässig.
Chris Stratton
Einverstanden. Vielen Dank, dass Sie meine Antwort ausführlicher behandelt haben. Ich hatte gehofft, eine schnelle Prototyplösung anbieten zu können, und hätte das sagen sollen. Es ist keine narrensichere Lösung und funktioniert nur, wenn der Anlaufstrom von uC hoch genug ist, um einen ausreichenden Spannungsabfall an den Widerständen zu erzeugen, um die Spannung bei uC niedrig genug zu halten, damit sie nicht aus dem Braun herauskommt.
Jherbold
0

Haben Sie darüber nachgedacht, ob ein paar Drei-Zustands-Puffer eine gute Lösung wären? Sie können den Aktivierungsstift an Ihren Switch binden und dann sicherstellen, dass die Polarität von tx zu rx korrekt ist, wodurch Sie effektiv den Schutz erhalten, den Sie wünschen.

Jorge D.
quelle