CP2102
CP2102 | |
---|---|
Allgemein | |
Protokoll | USB |
Typ | USB-Seriell-Wandler |
Kategorie | Other Components |
Technische Details | |
Kommunikation | USB |
Kanäle | unknown |
Betriebsspannung | 3,3V oder 5V DC |
Leistungsaufnahme | unknown |
Versorgung | USB |
Abmessungen | mehrere Varianten |
Sonstiges | |
Modulname | Diverse |
Hersteller | Silabs |
Auf gängigen Marktplätzen werden eine Vielzahl von Geräten[1] angeboten, die als USB-Seriell-Wandler einen Baustein der Fa. Silabs anbieten. Sehr weit verbreitet sind insbesondere Modelle des Typs CP2102, der teilweise auch in Community-Projekten eingesetzt wird. Im Auslieferungszustand verwenden diese lediglich die Standard-Vendor- und Product-IDs, und werden daher im USB-System alle als 'usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0' eingebunden, so dass die Unterscheidung zwischen mehrerer solcher Devices nur über den physischen Anschluß erfolgen kann.
Einbindung in FHEM
Verwendet man neben einem solchen Gerät weitere USB-Schnittstellen anderer Hersteller, kann die Zuordnung wie in Tipp der Woche mit "by-id" beschrieben erfolgen. Kommen mehrere dieser Schnittstellen zum Einsatz, sollte man entweder auf "by-path" ausweichen, oder man nutzt den auf den Chips vorhandenen EEPROM, um z.B. eine eigene Herstellerkennung und/oder eine Seriennummer zu vergeben. Damit kann dann eine eindeutige Kennung vergeben werden.
Windows
Der Hersteller Silabs bietet dazu als Teil des Treiberpakets ein Tool für Windows an[2].
Linux
Für Linux ist hier ein in Python-Tool verfügbar. Beispiel für die obigen drei Module (eines davon mit geänderter Kennung:
lsusb Bus 002 Device 005: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor Bus 002 Device 004: ID 413c:8187 Dell Computer Corp. DW375 Bluetooth Module Bus 002 Device 010: ID 413c:8184 Dell Computer Corp. F3607gw v2 Mobile Broadband Module Bus 002 Device 017: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light Bus 002 Device 015: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light Bus 002 Device 016: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light Bus 002 Device 013: ID 214b:7000 Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0461:4db1 Primax Electronics, Ltd Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ls -l /dev/serial/by-path lrwxrwxrwx 1 root root 13 Jun 9 16:33 pci-0000:00:1d.0-usb-0:1.1.2:1.0-port0 -> ../../ttyUSB2 lrwxrwxrwx 1 root root 13 Jun 9 16:33 pci-0000:00:1d.0-usb-0:1.1.3:1.0-port0 -> ../../ttyUSB0 lrwxrwxrwx 1 root root 13 Jun 9 16:33 pci-0000:00:1d.0-usb-0:1.1.4:1.0-port0 -> ../../ttyUSB1 lrwxrwxrwx 1 root root 13 Jun 8 20:03 pci-0000:00:1d.0-usb-0:1.6:1.1 -> ../../ttyACM0 lrwxrwxrwx 1 root root 13 Jun 8 20:03 pci-0000:00:1d.0-usb-0:1.6:1.3 -> ../../ttyACM1 lrwxrwxrwx 1 root root 13 Jun 8 20:03 pci-0000:00:1d.0-usb-0:1.6:1.9 -> ../../ttyACM2 ls -l /dev/serial/by-id lrwxrwxrwx 1 root root 13 Jun 8 20:03 usb-_ADell_Wireless_5540_Dell_Wireless_5540_3563970314411400-if01 -> ../../ttyACM0 lrwxrwxrwx 1 root root 13 Jun 8 20:03 usb-_ADell_Wireless_5540_Dell_Wireless_5540_3563970314411400-if03 -> ../../ttyACM1 lrwxrwxrwx 1 root root 13 Jun 8 20:03 usb-_ADell_Wireless_5540_Dell_Wireless_5540_3563970314411400-if09 -> ../../ttyACM2 lrwxrwxrwx 1 root root 13 Jun 9 16:33 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB2 lrwxrwxrwx 1 root root 13 Jun 9 16:33 usb-Silicon_Labs_Multi_TTL_RS485_0003-if00-port0 -> ../../ttyUSB0
Bekannte Probleme
3.3V werden überschritten
Es sind immer wieder Exemplare mit CP2102 im Umlauf, die nicht wie angegeben 3.3V an der Spannungsversorgung sowie den Signalpegeln liefern, sondern ca. 4.3V! Vor dem Verbinden mit Geräten wie dem HomeMatic Funkmodul für Raspberry Pi sollte daher geprüft werden, ob der interne Spannungswandler ordnungsgemäß funktioniert und wirklich nur 3.3V liefert.
Betroffen scheinen vor allem Micro-Module zu sein, wie das auf dem Bild rechts mit einer blauen Platine. Bei diesen kann man den Fehler nach dieser Anleitung beheben: Beitrag von PBudmark vom 08.07.2017.