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 klassische serielle Schnittstelle (auch COM-Port oder RS-232) genannt. Diese Adapter gibt es in der gezeigten Form als Modul, als Kabel (im Stecker integriert) oder auch als Chip auf größeren Platinen.
Bei der Verwendung solcher Adapter muss man die Spannungspegel beachten. Die Abkürzung TTL steht eigentlich für 5 Volt, dennoch arbeiten einige dieser Adapter mit 3,3 Volt.
- CH340 und CH341 von WCH unterstützen je nach Beschaltung 3,3 oder 5 Volt
- FT232 von FTDI unterstützen je nach Beschaltung 3,3 oder 5 Volt
- PL2303 von Prolific arbeiten nur mit 3,3 Volt Pegeln
- CP2102 von Silabs geben 3,3 Volt aus, vertragen an ihren Eingängen jedoch auch 5 Volt
- CP2104 von Silabs geben je nach Beschaltung 3,3 oder 5 Volt aus. In beiden Fällen vertragen die Eingänge 5 Volt
- MCP2221 von Microchip unterstützen je nach Beschaltung 3,3 oder 5 Volt
- Der selbst gebaute 3-Fach USB-UART Adapter mit STM32F103 (z.B. auf Blue Pill Board) gibt 3,3 Volt aus, verträgt an den Eingängen von USART1 und 3 jedoch auch 5 Volt
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 aber leider nicht. Wenn ein Treiber nötig ist, holt Windows sich diesen oft vollautomatisch aus dem Internet.
Da zunehmend gefälschte USB-UART Chips auf den Markt kommen, haben einige Hersteller Gegenmaßnahmen ergriffen:
- Der Treiber von FTDI verweigert Fälschungen. Zeitweise hatte er sie durch Umprogrammieren sogar unbrauchbar gemacht.
- Der Treiber von Prolific verweigert nicht nur Fälschungen, sondern auch alte Originale.
- Der Treiber von WCH verweigert Fälschungen.
Für Windows habe ich hier ein paar alte Treiber gesammelt, welche noch mit gefälschten Chips zusammen arbeiten.
- Prolific PL2303 v3.3.2.105
- Prolific PL2303 v3.4.25.218
- WCH CH340 und 341 v3.5.2019.1
Wenn Windows ungewollt einen zu neuen Treiber lädt, hat man zwei 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.
Dies muss man nach jedem Windows Upgrade wiederholen, sowie nach jedem Umstecken an einen anderen USB Anschluss.