Wie kann ich wissen, ob ein zufälliges "bekanntes nicht TTL" RS232-Gerät mit einem alten zufälligen USB-RS232-Konverter funktioniert?

Ich suche schon seit einiger Zeit nach RS232-Konvertern und versuche, mich mit der Funktionsweise von RS232 (oder zumindest wie es soll) und der Art und Weise, wie RS232-USB-Konverter (meistens anscheinend nicht) zurechtzufinden arbeiten. Der Versuch, den Stand der Dinge zu verstehen, hat mich nicht wenig verwirrt, also frage ich hier, um zu versuchen, etwas von meiner Verwirrung zu sortieren :P

Wikipedia sagt zunächst Folgendes über RS-232 (Hervorhebung von mir):

Der RS-232-Standard definiert die Spannungspegel, die logischen Eins- und logischen Nullpegeln für die Datenübertragung und die Steuersignalleitungen entsprechen. Gültige Signale liegen entweder im Bereich von +3 bis +15 Volt oder im Bereich von -3 bis -15 Volt in Bezug auf Masse/gemeinsamen Pin; Folglich ist der Bereich zwischen -3 und +3 Volt kein gültiger RS-232-Pegel . ...

Der Standard spezifiziert eine maximale Leerlaufspannung von 25 Volt: Signalpegel von ±5 V, ±10 V, ±12 V und ±15 V sind alle üblicherweise zu sehen, abhängig von den Spannungen, die der Leitungstreiberschaltung zur Verfügung stehen. Einige RS-232-Treiberchips haben eingebaute Schaltungen, um die erforderlichen Spannungen aus einer 3- oder 5-Volt-Versorgung zu erzeugen. RS-232-Treiber und -Empfänger müssen in der Lage sein, einem unbestimmten Kurzschluss zur Erde oder zu einem beliebigen Spannungspegel von bis zu ±25 Volt standzuhalten.

Etwas später sagt WP auch:

Andere serielle Signalisierungsstandards funktionieren möglicherweise nicht mit standardkonformen RS-232-Ports. Beispielsweise bringt die Verwendung der TTL-Pegel von nahe +5 und 0 V den Markierungspegel in den undefinierten Bereich des Standards. Solche Wasserwaagen werden manchmal mit NMEA 0183-kompatiblen GPS-Empfängern und Echoloten verwendet.

All das macht Sinn. Aber dann betrete ich das Kaninchenloch...

Wenn ich nach einem USB-RS232-Konvertermodul suche (als Alternative zu dem 40-Dollar-Zeug da draußen, das nur reiner Gewinn ist), das tatsächlich dieser Spezifikation entspricht, finde ich stattdessen ein Internet voller Konverter, die ihre Betriebsspannung entweder mit 3,3 V oder 5 V angeben . Ich kann nirgendwo explizit 10-V-, 12-V- oder 15-V-Geräte finden . Das ist ein wenig besorgniserregend, denn ich habe den Eindruck, dass, wenn der Konverter nur 3,3 V oder 5 V vertragen kann, ein "echtes" (?!) RS232-Gerät mit 10 V oder 12 V Signalisierungs-/Ausgangsspannung eine ziemlich hohe Chance hat Der Konverter verbrennt spontan auf schlechte Weise (zusätzlich dazu, dass er nicht auf die 3,3 V / 5 V-Eingänge des Konverters reagiert, die außerhalb der Spezifikation liegen). Daher meine erste FrageWie kann ich ohne ein Oszilloskop feststellen/finden/herausfinden/identifizieren/usw., welche Konverter/Geräte funktionieren und welche nicht?

Der andere beunruhigende Trend, den ich festgestellt habe, ist, dass ZT213/MAXx23x-Spannungspegelwandler scheinbar nur TX und RX pegelverschieben und alle zusätzlichen (aber in bestimmten Situationen sehr wichtigen) RS232-Signale aus dem Fenster werfen. Meine zweite Frage ist , was mache ich, wenn ich ein "echtes" (?!) RS232-Gerät mit Signalpegeln von ≥ 10 V habe, das (zum Beispiel) eine DTR-Leitung benötigt - und alles, was ich habe, ist ein 5-V-USB-RS232-Konverter ? Welchen Level-Shifter kann/muss ich dann verwenden?!

Schließlich wird dies wahrscheinlich nicht in WPs Artikel über RS-232 behandelt, weil es so außerhalb der Spezifikation liegt, aber meine dritte Frage lautet: Ich habe festgestellt, dass viele der Konverter da draußen als UARTs bezeichnet werden. Ich verstehe nicht, ob diese Referenz in Bezug auf den Konverter-Chipsatz selbst verwendet wird oder ob die Implikation darin besteht, dass es sich um einen USB-zu-UART-Konverter handelt, bei dem der UART das Zielgerät ist. Was hat es damit auf sich?

UART ist Universal Asynchronous Receiver/Transmitter, auch bekannt als serielles Gerät. RS232 ist ein Verdrahtungs- und Signalisierungs-/Elektrostandard. Stellen Sie sich rs232 als die physische/Mac-Schicht des Stapels vor, während uart die TCP/IP-Schicht ist.
Und suchen Sie nach einem echten Ftdi-USB-zu-RS232-Kabel. FTDI stellt vollständige RS232-USB-zu-Seriell-Adapter her, einschließlich Handshaking-Pins. USB zu ttl ist normalerweise nur tx/rx 5v oder ähnliches
Silicon Labs hat auch ein paar Vollumwandlungschips.
Ich habe den Eindruck, dass es tatsächlich ein besseres Preis-Leistungs-Verhältnis wäre, einen billigen TTL-Adapter mit einem separaten Pegelumsetzer zu kombinieren, wenn man bedenkt, dass vorgefertigte Einsteigergeräte mindestens 13 US-Dollar kosten und solche mit LED ( die Art, die ich möchte) sind $30-$40 (!).
Der Standard-MAX232/3232 hat zwei Sender und zwei Empfänger, sodass Sie zusätzlich zu TXD und RXD zwei weitere Signale haben können. Wenn Sie mehr benötigen, können Sie einen weiteren MAX232 hinzufügen. Es gibt auch andere Kombinationen, aber sie werden selten verwendet und sind in der Regel teuer (siehe para.maximintegrated.com/results.mvp?fam=rs232 ).
Meiner Erfahrung nach haben einige der USB-zu-TTL-Adapter "RS-232" in ihrem Namen, einfach weil der von ihnen verwendete Chip für die Verwendung in einem vollständigen USB-zu-RS-232-Adapter vorgesehen ist, und so weiter Chip wird in seinem Datenblatt als USB-zu-RS-232-Adapter beschrieben. In einem solchen Adapter würde die Umwandlung des Logikpegels in Hochspannung außerhalb des Chips erfolgen. Diese billigen USB-zu-TTL-Adapter verwenden jedoch diesen Chip, lassen das zusätzliche Schaltungsbit weg und leihen sich trotzdem den RS-232-Namen aus, möglicherweise aufgrund eines Missverständnisses darüber, warum es kein echtes RS-232 ist, wenn Sie die zusätzlichen Teile weglassen.

Antworten (2)

Es gibt einige Kabel, die direkt von USB zu RS-232 konvertieren, alle diese sollten dies sagen und alle sollten (angemessen) mit der RS-232-Spezifikation kompatibel sein.

Es gibt jedoch auch viele Kabel, die von USB zu asynchronen seriellen TTL-Daten übersetzen, und diese werden entweder mit 3,3 V oder 5,0 V bewertet. Ein solches Kabel benötigt einen separaten TTL-zu-RS-232-Konverter wie den alten MAX232-Chip.

Hier beginnt die Verwirrung – viele Leute nennen jede Form von asynchronen seriellen Daten „RS-232“, obwohl dieser Begriff eigentlich nur für den elektrischen Schnittstellenstandard gilt. Sie müssen genau darauf achten, was der Verkäufer über seine Kabel sagt.

Ein Hinweis ist, dass, wenn das Kabel einen D-Sub-Anschluss (DE-9 oder DB-25) hat, es wahrscheinlich wirklich RS-232 ist. Wenn es einen rechteckigen Header-Anschluss hat, ist es wahrscheinlich TTL. YMMV.

Der Begriff UART bezieht sich auf das Hardwaregerät, das asynchrone serielle Daten generiert und empfängt. Technisch gesehen enthält das USB-zu-TTL-Kabel einen Chip, der zwei Schnittstellen umfasst: eine USB-Geräteschnittstelle und einen UART. Zwischen diesen beiden Schnittstellen leitet der Chip Daten in beide Richtungen weiter.

"Wenn es einen rechteckigen Header-Anschluss hat, ist es wahrscheinlich TTL", leider ist dies einfach nicht wahr, manchmal sind Header vollständig RS-232, manchmal sind sie 5-V-traditionelles CMOS, manchmal sind sie 5-V-TTL-kompatibles CMOS, manchmal sind sie 3,3 V mit 5V toleranten Eingängen. Manchmal sind sie 3,3 V ohne 5 V tolerante Eingänge. Ich habe sogar Header mit 1,8-V-UART-Anschlüssen gesehen. Sie müssen wirklich sowohl die Pinbelegung als auch die Spannungspegel überprüfen, bevor Sie etwas an eine Stiftleiste anschließen.
@PeterGreen: Deshalb habe ich "YMMV" gesagt (Ihre Laufleistung kann variieren). Und nur um das klarzustellen, ich habe über den Anschluss am USB-UART-Adapter gesprochen, nicht über einen Header, der sich möglicherweise auf dem Zielsystem befindet.

Das ist pauschal schwer zu sagen. Während der RS232-Standard ziemlich liberal ist, sind einige RS232-Geräte sehr streng. Dies war ein Problem bei älteren Laptops mit eingebauten RS232-Anschlüssen, die aus Energiespargründen nur bis zu ±7 V oder ±10 V gehen würden, während das RS232-Gerät sich weigerte, die Geräte zu lesen, und volle ±12 V oder ±15 V erwartete . Dies ist das gleiche Problem, das einige USB-RS232-Adapter haben.

USB zu TTL ist ziemlich offensichtlich. TTL ist 5 V oder 3,3 V (oder andere, einige Geräte haben eine beliebige Referenzspannung und können auf 1,8 V-Pegel heruntergehen, den neuesten Pegelstandard für Geräte mit extrem geringem Stromverbrauch). Während die meisten nur die RX- und TX-Leitungen ausbrechen, können die gängigsten ICs den vollen Port ausführen. FTDI, Prolific, Silicon Labs verfügen alle über vollständige RS232-Pegel- und Port-ICs. Einige Versionen sind nur TTL und einige Kabel verwenden solche mit RS232-Treibern wie dem MAX232. Und dann gibt es No-Name-Ics und die Imitate und Fälschungen. Es gibt also viele Variationen.

Der einzige wirkliche Weg, dies zu wissen, ist:

  1. Durch Bewertungen oder Fragen anderer Personen in einer Community, die für ein Produkt bürgen können.
  2. Kaufen Sie Module oder Kabel, bei denen Sie die ICs und das Platinenlayout oder den Schaltplan sehen können.
  3. Kaufen und zerlegen und dann mit einem Multimeter die Pegel überprüfen.

Ein Oszilloskop wird nicht benötigt, Sie müssen nur wissen, wie hoch oder niedrig die Pins gehen.