USB-UART Adapter

USB-UART Adapter (auch USB-TTL genannt) sind im Umfeld von Mikrocontrollern allgegenwärtig. Zusammen mit dem Treiber auf dem PC simulieren sie eine herkömmliche serielle Schnittstelle (auch COM-Port oder RS-232) genannt, allerdings mit anderen Spannungspegeln. Diese Adapter gibt es in der gezeigten Form als Modul, als Kabel (im Stecker integriert) oder auch als Chip auf größeren Platinen.

USB-UART Adapter sind im Schul- und Hobbybereich noch gebräuchlich, obwohl es längst billige Mikrocontroller mit USB Schnittstelle gibt. Gründe dafür sind:

USB-UART Adapter lagern diesen Teil auf fertige Chips aus, die jeder für relativ kleines Geld erwerben kann. Nachteil ist, dass der Benutzer den zugeordneten virtuellen COM Port in der Regel selbst herausfinden und irgendwo einstellen muss (Windows: im Gerätemanager, Linux: mit dem Befehl sudo dmesg oder sudo journalctl -kn 20).

Bei der Verwendung solcher Adapter sind die Spannungspegel zu beachten. Die Abkürzung TTL steht eigentlich für 5 Volt, dennoch arbeiten einige dieser Adapter mit 3,3 Volt.

Die Chips von Silabs haben eine Besonderheit: Ohne Stromversorgung verhalten sie sich passiv, als seien sie gar nicht da. Es darf trotzdem (bis zu 5V) Spannung an den seriellen Leitungen anliegen. Bei den anderen genannten Marken ist das nicht zulässig.

Unter Linux und Mac OS funktionieren alle USB-UART Adapter ohne Treiberinstallation. Windows unterstützt nur Adapter nach CDC Standard ohne Treiberinstallation. Die HAL Firmware von ST, meine Programmierbeispiele für STM32, einige Arduino Boards und der MCP2221 fallen in diese Kategorie. Die anderen oben genannten Chips leider nicht. Windows holt sich den benötigten Treiber oft vollautomatisch aus dem Internet.

⭐ Mit einem Blue-Pill Board kann man sich einfach und billig einen dreifachen USB-UART Adapter basteln, der dank CDC Standard niemals Treiberprobleme hat.

Treiberprobleme

Da zunehmend gefälschte USB-UART Chips auf den Markt kommen, haben einige Hersteller Gegenmaßnahmen ergriffen:

Die gefälschten USB-UART Chips funktionieren unter Linux und Mac OS zumindest bis 57600 Baud meist völlig problemlos. Höhere Baudraten funktionieren nicht immer zuverlässig.

Für Windows habe ich hier ein paar alte Treiber gesammelt, welche noch mit alten und gefälschten Chips zusammen arbeiten.

Wenn Windows ungewollt einen zu neuen Treiber lädt, suche im Startmenü nach "Geräteinstallationseinstellungen" (engl: Device installation settings) und deaktiviere dort die automatische Aktualisierung. Danach hast du folgende Möglichkeiten:

1) Den neueren Treiber entfernen
Dazu geht man im Gerätemanager mit der rechten Maustaste auf den USB-UART Adapter und wählt "Gerät Deinstallieren". Im nächsten Dialog soll "Treibersoftware für dieses Gerät löschen" aktiviert sein. Anschließend den USB Stecker ziehen und wieder einstecken. Windows wird danach den verbleibenden alten Treiber laden.

2) Den alten Treiber zuweisen
Dazu geht man im Gerätemanager mit der rechten Maustaste auf den USB-UART Adapter und wählt "Treiber aktualisieren". Im nächsten Dialog soll Windows den PC nach verfügbaren Treibern durchsuchen (Aus einer Liste von Gerätetreibern auf dem Computer wählen). Dort wählst du dann den alten Treiber aus.

Startseite