Frage:
Benötige ich MAX232, wenn ich ein USB-zu-Seriell-Kabel verwende?
Siraj Muhammad
2013-08-28 21:42:40 UTC
view on stackexchange narkive permalink

Ich bin bereit, einen AVR JTAG-Debugger zu erstellen (ich habe hier gepackt: http://aquaticus.info/jtag), aber die Schaltung verwendet den COM-Port und verfügt über einen MAX232-Transceiver. Mein Laptop hat keinen COM-Anschluss, daher benötige ich ein USB-zu-Seriell-Kabel. Meine Frage ist, muss ich die MAX232-Schaltung hinzufügen, wenn ich ein USB-zu-Seriell-Kabel verwenden möchte?

Ich habe einige Suchvorgänge durchgeführt und festgestellt, dass einige Kabel mit RS232-Transceiver implementiert sind. Auf der Box meines Kabels steht, dass sie die RS232-Schnittstelle unterstützen ... ist es dasselbe? ( http://www.unitek-products.com/en/product_detail.php?id=12)

Wenn ich den MAX232 nicht hinzufügen musste, ist es das? notwendig, um die Signale zu invertieren, die zur MCU gehen? Wenn ja, warum?

Die langen Fragen entschuldigen mich, aber ich beschäftige mich zum ersten Mal mit dem RS232. Vielen Dank im Voraus.

Vier antworten:
radagast
2013-08-28 22:01:48 UTC
view on stackexchange narkive permalink

FTDI ist der bekannteste Hersteller für USB-zu-UART -Brücken. "UART" bedeutet, dass sich die Signale auf Mikrocontrollerebene befinden, d. H. 3,3 V oder 5 V. Sie können eine solche Brücke direkt an einen Mikrocontroller anschließen.
enter image description here
Wenn Sie über einen DB9-Anschluss eine Verbindung zu einem anderen Computer herstellen möchten, müssen Sie den MAX232 hinzufügen, da dieser Anschluss RS232-Spannungspegel (+) erwartet 12V und -12V).

Wenn es sich um USB-zu-RS232-Konverter handelt, handelt es sich um USB-zu-UART-Bridges mit einem integrierten MAX232-Pegelwandler. Sie enden in einem DB9-Connector, was fast immer ein Zeichen dafür ist, dass RS232-Ebenen verwendet werden.

Ok, das ist gut, aber was ist, wenn ich ein USB-zu-Seriell-Kabel verwende und es bereits einen RS232-Transceiver hat? Muss ich den MAX232 noch in der Schaltung verwenden?
@SirajMuhammad: Ja. Ich denke, es hat einen DB9-Anschluss. Dies ist der Indikator dafür, dass RS232-Pegel verwendet werden. (das ist nicht das Gesetz, wird es aber in 99,9% der Fälle sein)
Wenn Sie ein vom Verbraucher beabsichtigtes Kabel mit dem RS232-Transceiver kaufen, benötigen Sie eine passende eigene Transceiver-Schaltung. Wenn Sie jedoch ein Kabel mit einem bloßen USB-Seriell-Chip und * keinem Transceiver * kaufen, wie es von Elektronikanbietern für die Arbeit mit eingebetteten Karten (und früher für die Konfiguration bestimmter, inzwischen veralteter Mobiltelefone) verkauft wird, benötigen Sie keinen Transceiver wenn die Spannungsbereiche kompatibel sind.
Wouter van Ooijen
2013-08-28 22:11:29 UTC
view on stackexchange narkive permalink

Das asynchrone serielle Protokoll kann unterschiedliche Spannungspegel und Polaritäten verwenden.

RS232 bezieht sich auf einen bestimmten Satz von Spannungspegeln, invertierter Polarität und (heutzutage) einen DB9-Anschluss.

Ein USB-zu-Seriell-Chip (wie der FT232) gibt asynchron seriell aus bei 3V oder 5V Pegel, nicht invertiert. Ein MAX232 oder ein ähnlicher Chip wird verwendet, um dies in RS232-Pegel umzuwandeln.

Die seriellen Pins eines Mikrocontrollers verwenden asynchrone serielle Pins auf 3 V- oder 5 V-Ebene. Ein max232-Chip kann hinzugefügt werden, um die Signale auf RS232-Pegel zu bringen.

Die meisten USB-zu-Seriell-Kabel (einschließlich der von Ihnen genannten) enthalten sowohl den USB-zu-Seriell-Chip als auch den Max232-Chip mit Keine Möglichkeit, auf die Zwischenebene zuzugreifen.

Für eine erfolgreiche asynchrone serielle Verbindung zwischen PC und Mikrocontroller gibt es also zwei Möglichkeiten (FT232 kann gegen einen gleichwertigen Chip eines anderen Herstellers ausgetauscht werden):

  • PC-FT232-Mikrocontroller: Dies ist der einfache Weg, der häufig für eine Leiterplatte mit dem Mikrocontroller und dem FT232-Chip verwendet wird.

  • PC-usb_to_serial_cable-max232-Mikrocontroller: Dies scheint etwas verworren zu sein, da die Signale zuerst von 3 V oder 5 V in RS232 (innerhalb des usb_to_serial-Kabels) konvertiert und dann vom max232 auf den Pegel zurückkonvertiert werden, den der Mikrontroller verarbeiten kann. Usb_to_serial-Kabel sind jedoch so häufig und überprüfen, dass dies häufig die einfache Option ist.

(Eine dritte Option ist die Verwendung eines Mikrocontrollers, der selbst USB-fähig ist.)

Ihre Debug-Karte verfügt über einen max232- und einen DB9-Anschluss. Verwenden Sie daher ein handelsübliches usb_to_serial-Konverterkabel, wie das, mit dem Sie verbunden sind.

Vielen Dank ... aber ich denke, eines habe ich nicht verstanden. Zuerst sagten Sie, dass die meisten USB-zu-Seriell-Kabel (einschließlich des Kabels, das ich habe) sowohl den MAX232-Chip als auch den USB-zu-Seriell-Chip enthalten ... was bedeutet, dass ich keinen weiteren MAX232 in die Schaltung einfügen muss Dann sagten Sie für eine erfolgreiche asynchrone serielle PC-zu-Mikrocontroller-Verbindung, ich sollte MAX232 zur Schaltung hinzufügen! Können Sie bitte etwas erklären?
Lies erneut. Ein max232 wandelt zwischen 3V / 5V-Pegel und RS232-Pegel um. Der FT232 gibt einen 3V / 5V-Pegel aus, Ihr Mikrocontroller benötigt einen 3V / 5V-Pegel. Daher müssen Sie eine gerade Anzahl von Max232-Chips dazwischen haben.
Oh, und ich habe vergessen, im obigen Kommentar zu wiederholen: a max232 invertiert, was ein weiterer Grund ist, warum Sie eine gerade Anzahl dieser (oder ähnlicher) Chips benötigen.
Nur um sicherzugehen, dass ich auf die Idee gekommen bin ... das USB-zu-Seriell-Kabel gibt das RS232-Signal aus (das vom internen MAX232 ausgeführt wird) und benötigt externes MAX232 in der Schaltung, um es in TTL umzuwandeln, richtig? Eine andere Frage bitte, Was meinst du mit "invertieren"? ist es die Polarität? Kann ich also einfach NOT Gate verwenden, um es umzukehren?
Eine andere Frage, wenn Sie nichts dagegen haben, konvertiert der MAX232 nicht von TTL-Level zu RS232-Level und "umgekehrt"?
@SirajMuhammad: Wenn ich mich richtig erinnere, haben der MAX232 und die Äquivalente zwei Kanäle in jeder Richtung, sodass sie zwei Signale von TTL / Logik in RS232 und zwei von RS232 in TTL / Logik umwandeln können (aber überprüfen Sie das Datenblatt, um sicherzugehen!)
@Siraj: a max232 invertiert sowohl die Polarität als auch den Spannungspegel, sodass Sie einen ziemlich seltsamen Satz Wechselrichter benötigen würden, um ihn zu ersetzen.
Nach meiner Erfahrung geben die meisten USB-RS232-Konverter für Verbraucher tatsächlich invertierte 5-V-UART-Pegel anstelle der richtigen RS232-12-V-Werte an. + 12 V.Ich muss noch eine finden, die RS232-Level implementiert.
Lior Bilia
2013-08-28 21:51:15 UTC
view on stackexchange narkive permalink

Es gibt USB-zu-UART-Chips von FTDI, TI, Maxim und anderen. Überprüfen Sie eine, die die gleiche Versorgung und E / A-Spannung wie der Chip des Debuggers hat.

Scott Seidman
2013-08-28 23:22:33 UTC
view on stackexchange narkive permalink

Ich habe die Erfahrung gemacht, dass die meisten Motherboards, zumindest in den letzten 10 Jahren, mit TTL-Levels gut zurechtkommen, aber Sie müssen den UART invertieren. Ihr Kilometerstand kann variieren.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...