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.
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?
quelle
Antworten:
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.
quelle
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.
quelle
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.
quelle
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:
quelle
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.
quelle