Das USB-zu-Seriell-Kabel sieht von außen sehr einfach aus. An einem Ende befindet sich ein USB-Anschluss für einen Laptop, am anderen Ende ein Anschluss für ein serielles Gerät mit RS232, RS485, RS422, TTL, DB9, RJ45 oder Klemmen. Für die meisten Anwender ist es einfach eine praktische Möglichkeit, einen COM-Port zu erhalten. Doch in Wirklichkeit ist ein USB-zu-Seriell-Adapter elektrisch gesehen mehr als nur ein Kabel.
Das Gehäuse empfängt das USB-Signal, das vom Betriebssystem erkannt und anschließend von einem USB-Seriell-Brücken-IC in UART-Daten umgewandelt wird. Diese werden dann wieder in den entsprechenden elektrischen Standard (RS232, RS485 oder TTL UART) konvertiert. Dieser gesamte Prozess wird als USB-zu-Seriell-Signalkette bezeichnet.
Das Erlernen dieser Signalkette wird uns helfen zu verstehen, warum sich zwei USB-zu-Seriell-Kabel mit ähnlichem Stecker in ihrem Verhalten bei der industriellen Automatisierung, der SPS-Programmierung, der Modbus-RTU-Kommunikation, dem Firmware-Debugging und der Wartung vor Ort unterscheiden können.
Ein USB-zu-Seriell-Kabel besteht im Durchschnitt aus verschiedenen Funktionsblöcken. Der erste Block ist die USB-Schnittstelle, die mit dem Host-Computer kommuniziert. Der nächste Block ist der USB-Seriell-Brücken-IC, beispielsweise von FTDI, Silicon Labs CP210x, WCH CH340 oder Prolific PL2303. Darauf folgt die interne UART-Engine, die serielle Datenframes generiert. Der letzte Block ist der Leitungstreiber, der UART-Signale in RS232-, RS485-, RS422- oder TTL-Ausgangssignale umwandelt.
Das heißt, ein USB-zu-Seriell-Kabel ist nicht nur ein passives Kabel, sondern ein funktionierendes elektronisches Gerät. Das Kabel muss an einem Ende die USB-Protokollkommunikation und am anderen Ende die herkömmliche serielle Kommunikation unterstützen.
Bei einem herkömmlichen USB-zu-RS232-Kabel erzeugt der Brücken-IC UART-Daten, und der RS232-Transceiver wandelt das logische Signal in positive und negative Spannungspegel um. Ein USB-zu-RS485-Kabel sendet das UART-Signal an einen differenziellen RS485-Treiber. Bei einem USB-zu-TTL-Kabel kann das UART-Signal direkt an die Ausgangspins mit den Logikpegeln 3,3 V oder 5 V angeschlossen werden.
Aus diesem Grund sind interner Chip, Treiberunterstützung, Baudratengenauigkeit, Latenzverhalten und Schutzschaltung gleichermaßen wichtig.
Um serielle Daten über ein USB-zu-Seriell-Kabel zu senden, muss der Computer das Kabel zunächst als USB-Gerät erkennen. Dieser Vorgang wird als USB-Enumeration bezeichnet.
Beim Enumerieren übermittelt der USB-zu-Seriell-Adapter seine Hersteller-ID, Produkt-ID, Geräteklasse und weitere Deskriptoren an das Betriebssystem. Mithilfe dieser Daten lädt Windows, Linux oder macOS den passenden Treiber und erstellt einen virtuellen COM-Port.
Ein Beispiel für ein FTDI-basiertes USB-zu-Seriell-Kabel könnte im Windows-Geräte-Manager als USB-Seriell-Anschluss angezeigt werden. Ein CP2102-basierter Adapter kann den Silicon-Labs-Treiber laden. Ein CH340-basiertes Kabel benötigt je nach Betriebssystemversion einen WCH-Treiber.
Dieser Schritt ist wichtig, da die meisten Probleme mit USB-zu-Seriell-Kabeln hier ihren Ursprung haben. Fehlt der Treiber, ist er veraltet oder inkompatibel, wird das serielle Gerät nicht erkannt. Ist der Brücken-IC gefälscht oder falsch programmiert, erkennt der Computer zwar das USB-Gerät, stellt aber keinen funktionsfähigen COM-Port bereit.
Für industrielle Anwender ist die Stabilität der USB-Enumeration von großer Bedeutung. Ein Techniker in einer Fabrik oder ein Außendienstmitarbeiter möchte nicht jedes Mal die Treiber diagnostizieren müssen, wenn ein USB-zu-RS232- oder USB-zu-RS485-Kabel an einen neuen Laptop angeschlossen wird.
Das Hauptelement des USB-zu-Seriell-Kabels ist der USB-Seriell-Brücken-IC. Dieser Chip wandelt USB-Daten in UART-Daten um und steuert die Interaktion des Host-Computers mit der seriellen Schnittstelle.
Zu den gängigen Bridge-IC-Familien gehören FTDI FT232, Silicon Labs CP2102 und CP2102N, WCH CH340 und Prolific PL2303. Die Eigenschaften der einzelnen Chipfamilien unterscheiden sich hinsichtlich der Treiberunterstützung, der Genauigkeit der Baudrate, des Verhaltens der Latenztimer, der Größe der FIFO-Puffer und der Langzeitstabilität.
Die meisten Chips können mit einer grundlegenden Terminalkommunikationsrate von 9600 oder 115200 Baud arbeiten. In industriellen Umgebungen sind die Unterschiede jedoch deutlich signifikanter. Das Modbus-RTU-System benötigt möglicherweise eine präzise Taktung. Firmware-Updates erfordern unter Umständen konsistente DTR- und RTS-Befehle. Ein Hochgeschwindigkeits-Datenlogger muss eine exakte Baudrate generieren und über ausreichend Pufferspeicher verfügen.
Aus diesem Grund könnten professionelle Anwender neben der sichtbaren Verbindung auch an dem Chip auf dem USB-zu-Seriell-Kabel interessiert sein.
Ein hervorragender USB-Seriell-Brückenchip kann die Stabilität der Treiber verbessern, die Rate von Kommunikationsfehlern verringern, die Verwendung nicht standardmäßiger Baudraten ermöglichen und eine bessere Kontrolle über die Signale der seriellen Schnittstelle, einschließlich RTS, CTS, DTR und DSR, bieten.
Sobald die Daten über den USB-Anschluss empfangen wurden, müssen sie in eine UART-Kommunikation umgewandelt werden. UART steht für Universal Asynchronous Receiver/Transmitter (universeller asynchroner Empfänger/Sender). UART ist die einfachste serielle Kommunikationsform, die von RS232-, RS485-, RS422- und TTL-Geräten verwendet wird.
Ein UART-Frame besteht typischerweise aus einem Startbit, Datenbits, einem optionalen Paritätsbit und einem Stoppbit. Das gängigste Format ist 8N1 mit 8 Datenbits, keiner Parität und 1 Stoppbit. In der Industrie sind jedoch auch andere Konfigurationen möglich. Insbesondere gibt es mehrere Modbus-RTU-Geräte, die gerade Parität oder zwei Stoppbits unterstützen.
Konfigurationsfehler sind ein bekanntes Problem bei der USB-zu-Seriell-Kommunikation. Die Folge sind beschädigte Daten, keine Antwort oder zeitweise unterbrochene Kommunikation, wenn Baudraten, Parität, Datenbits oder Stoppbits auf beiden Seiten nicht übereinstimmen.
Die UART-Schicht verdeutlicht die Bedeutung der Baudratengenauigkeit. UART ist asynchron, sodass die beiden Geräte keinen gemeinsamen Takt haben. Die Taktung beider Geräte muss unabhängig erfolgen. Gibt der USB-Seriell-Bridge-IC eine zu ungenaue Baudrate aus, kann das empfangende Gerät eine falsche Bitabtastung vornehmen und dadurch Rahmenfehler verursachen.
Die überwiegende Mehrheit der USB-zu-Seriell-Konverter funktioniert bei gängigen Baudraten wie 9600, 19200, 38400 und 115200 einwandfrei. Die Qualität des Brücken-ICs ist deutlich wichtiger bei der Übertragung mit benutzerdefinierten Baudraten oder bei serieller Hochgeschwindigkeitskommunikation.
Viele Anwender betrachten serielle Kommunikation fälschlicherweise als reines Protokollproblem. Dabei sollte auch die physikalische Schicht berücksichtigt werden. TTL, RS232 und RS485 sind keine gleichwertigen elektrischen Standards.
Logikpegel-UART-Signale werden typischerweise über ein USB-zu-TTL-Kabel ausgegeben, das eine Standardspannung von entweder 3,3 V oder 5 V aufweist. Mikrocontroller-Entwicklung, Embedded-Debugging, Arduino, ESP32, STM32 und Firmware-Programmierung gehören zu den gängigen Anwendungsbereichen dieses Kabels. Die Gefahr besteht in einer Spannungsdifferenz. Es besteht die Möglichkeit, dass ein 5-V-TTL-Signal das Gerät zerstört, wenn es an einen 3,3-V-Pin eines Mikrocontrollers angeschlossen wird.
Das USB-zu-RS232-Kabel verwendet einen RS232-Transceiver, der positive und negative Spannungen erzeugt. RS232 ist ein unsymmetrisches System und wird häufig für Punkt-zu-Punkt-Kommunikation eingesetzt. Es findet breite Anwendung in speicherprogrammierbaren Steuerungen (SPS), CNC-Maschinen, Medizingeräten, Kassensystemen, Messgeräten und älteren Industrieanlagen.
Das USB-zu-RS485-Kabel verfügt über einen Differenzialtreiber. Die Datenübertragung erfolgt über zwei Adern, die üblicherweise als A und B bezeichnet werden. Dank der Differenzialsignalübertragung bietet RS485 eine höhere Störfestigkeit und größere Übertragungsreichweiten als RS232 oder TTL. Daher eignen sich USB-zu-RS485-Kabel für Anwendungen wie Modbus RTU, Energiezähler, HLK-Steuerungen, Gebäudeautomation, Zutrittskontrollsysteme und industrielle Feldgeräte.
Entscheidend ist hierbei, dass das Kabel, das den USB-Anschluss mit dem seriellen Anschluss verbindet, sowohl über passende Protokolle als auch über passende elektrische Schnittstellen verfügt. Ein Gerät mit RS485-Schnittstelle kann nicht direkt an einen TTL-Ausgang angeschlossen werden, selbst wenn Baudrate und Datenformat identisch sind.
Die Richtungssteuerung ist einer der wichtigsten Aspekte bei der Entwicklung von USB-zu-RS485-Kabeln. RS485 wird typischerweise im Halbduplex-Modus implementiert, sodass ein Gerät zwar über dieselben Leitungen senden und empfangen kann, jedoch nicht gleichzeitig.
Der RS485-Treiber muss in den Sendemodus wechseln, um Daten zu senden. Nach dem Senden der Daten muss er den Bus freigeben, damit ein anderes Gerät antworten kann. Dies wird über die DE- und RE-Pins des RS485-Transceivers gesteuert.
Andere USB-zu-RS485-Adapter nutzen die RTS-Steuerung. Die betreffende Konstruktion verfügt über eine Software oder einen Treiber, der das RTS-Signal umschaltet, um zwischen Senden und Empfangen umzuschalten. Dies kann effektiv sein, die Effektivität hängt jedoch vom Timing des Betriebssystems und dem Verhalten der Anwendung ab.
Hochwertige USB-zu-RS485-Kabel ermöglichen unter Umständen eine automatische Richtungssteuerung. Der Adapter erkennt ausgehende UART-Daten und aktiviert den RS485-Treiber nur bei Bedarf. Er gibt den Bus automatisch frei, sobald das letzte Stoppbit übertragen wurde. Dies ist besonders wichtig bei der Modbus-RTU-Kommunikation, bei der die Reaktionszeit kritisch sein kann.
Bei einer schwachen Richtungssteuerung können die Symptome fehlende Antworten, Buskollisionen, willkürliche CRC-Fehler oder Kommunikationsausfälle bei höheren Baudraten sein.
Eine der wichtigsten Eigenschaften eines USB-zu-Seriell-Kabels ist die Latenzkontrolle. Die einzelnen Bytes der UART-Schnittstelle werden nicht sofort als einzelnes Ereignis über USB gesendet. Stattdessen werden sie in Puffern gespeichert und in Paketen über USB übertragen.
Dieser Brücken-IC enthält interne FIFO-Puffer. Auch der Treiber des Betriebssystems verfügt über Puffer. Die meisten USB-Seriell-Brücken-ICs besitzen einen Latenztimer, der die Zeit bestimmt, innerhalb derer gepufferte Daten an den Host weitergeleitet werden müssen. Dies ist zwar effektiver, kann aber zeitkritische Protokolle beeinträchtigen.
Bei Verwendung eines herkömmlichen RS232-Terminals sind einige Millisekunden Latenzzeit in der Regel unproblematisch. Bei Modbus RTU, industriellem Polling oder Echtzeit-Gerätesteuerung kann die Latenz jedoch erheblich sein. Die Anwendung könnte durch die Frame-Timings beeinträchtigt werden, wenn der USB-zu-Seriell-Adapter zu lange für die Übertragung der empfangenen Bytes benötigt.
Es gibt eine Erklärung dafür, warum industrielle USB-zu-Seriell-Kabel im Vergleich zu herkömmlichen, kostengünstigen Adaptern effektiver sein können. Sie verwenden in der Regel Brücken-ICs und Treibereinstellungen mit besser vorhersagbarer Latenz und verbessertem Reaktionsverhalten.
Industrielle Umgebungen sind elektrisch störungsanfällig. Motoren, Wechselrichter, Relais, lange Kabel und verschiedene Erdungspotenziale können Umstände hervorrufen, die herkömmliche USB-zu-Seriell-Adapter zerstören.
Aus diesem Grund sind galvanische Trennung, ESD-Schutz, Überspannungsschutz und Gleichtaktfilterung mögliche Merkmale von USB-zu-RS485- und USB-zu-RS232-Kabeln in Industriequalität.
Die galvanische Trennung zwischen USB- und serieller Schnittstelle gewährleistet deren Isolation. Dadurch wird verhindert, dass Erdschleifenströme Laptop, USB-Controller oder angeschlossene Geräte beschädigen. Die Isolation ist besonders wichtig in RS485-Netzwerken, wenn die Geräte weit voneinander entfernt sind oder von unterschiedlichen Stromquellen versorgt werden.
Der ESD-Schutz verhindert elektrostatische Entladungen des Adapters beim Ein- und Ausstecken sowie bei der Feldverdrahtung. Der Überspannungsschutz ist bei langen RS485-Kabeln unerlässlich, da sich dort hochenergetische Spannungsspitzen ansammeln können.
Die Schutzschaltungen sind nicht immer von außen sichtbar, haben aber einen erheblichen Einfluss auf die Langzeitstabilität. Ein günstiges USB-zu-Seriell-Kabel kann zwar am Schreibtisch verwendet werden, funktioniert aber nicht in einem Schaltschrank in einer Fabrik. Kabel dieser Art, die speziell für den industriellen Einsatz entwickelt wurden, sind auch unter extremeren elektrischen Bedingungen einsetzbar.
Obwohl zwei USB-zu-Seriell-Kabel äußerlich identisch sind, können sie intern grundlegend unterschiedlich aufgebaut sein. Eines basiert möglicherweise auf einem zuverlässigen FTDI- oder CP2102N-Brücken-IC, während ein anderes einen kostengünstigen Nachbau-Chip verwendet. Das eine kann präzise Baudraten liefern, während das andere bei höheren Geschwindigkeiten Timing-Fehler erzeugen kann. Ein USB-zu-RS485-Kabel verfügt über eine automatische Richtungssteuerung, während ein anderes auf softwarebasiertes RTS-Timing angewiesen ist.
Weitere Unterscheidungsmerkmale sind die Qualität der Treiber, die FIFO-Pufferkapazität, die Einstellung der Latenzen, der ESD-Schutz, die Abschirmung der Kabel, die Qualität der Steckverbinder und die Genauigkeit der Spannungspegel.
Dies verdeutlicht, warum ein USB-zu-Seriell-Adapter mit SPSen, Modbus-Geräten und Embedded-Systemen einwandfrei funktioniert, während ein anderer zu zufälligen Verbindungsabbrüchen oder unlesbaren Daten führt. Der Stecker ist lediglich die sichtbare Komponente. Die darin enthaltene Signalkette bestimmt die tatsächliche Leistung.
Ein USB-zu-Seriell-Kabel ist ein aktives Wandlergerät, keine passive Leitung. Intern werden die USB-Daten durch Enumeration, einen USB-Seriell-Brücken-IC, UART-Framing und einen Leitungstreiber zu TTL, RS232, RS485 oder RS422 verarbeitet.
Die interne Konstruktion beeinflusst direkt die Stabilität von Industrieautomatisierung, Modbus RTU, SPS-Programmierung und Firmware-Debugging. Die Qualität des Bridge-ICs, die Genauigkeit der Baudrate, die Latenz, die RS485-Richtungssteuerung, die Isolation und der Schutz sind Faktoren, die über die Zuverlässigkeit des Kabels in der Anwendung entscheiden.
Franck Yan
Gründer | Farsince Connectivity Solutions
Franck Yan ist der Gründer von Farsince und verfügt über mehr als 13 Jahre Erfahrung in der Kabel- und Verbindungsindustrie. Er arbeitet eng mit globalen Kunden an Lösungen für Rechenzentren, Industrieanlagen und Netzwerke zusammen.