Wollen Sie ein I2C-Projekt erst auf dem Desktop-PC testen, hilft ein USB-Modul weiter, das eine entsprechende Schnittstelle bereitstellt.
In diesem Teil der Reihe stellen wir ein USB-zu-I2C-Modul vor, das an einem beliebigen Rechner eine I2C-Schnittstelle bereitstellt. Als Grundlage für das Beispiel dient Ubuntu Linux; als Hardware kommt das MCP23017-Modul zum Einsatz, das Sie eventuell aus Teil 30 dieser Reihe kennen.
Es gibt im Handel viele unterschiedliche USB-zu-I2C-Adapter. So gut wie alle basieren auf dem Baustein CH341A. In diesem Artikel kommt ein All-in-one-Modul direkt aus China zum Einsatz. Neben I2C bietet es zusätzlich SPI- und UART-Funktionalität. Macht Ihnen eine Wartezeit von mehreren Wochen nichts aus, bestellen Sie das Modul für rund 8 Euro bei Aliexpress [1].
Der USB-Port-Baustein CH341A arbeitet mit 5 oder 3,3 Volt Betriebsspannung. Sie erhalten ihn in unterschiedlichen Gehäuseformen wie SOP-28, SSOP-20 und QFN28. Die Betriebsspannung wählen Sie über ein Jumper-Paar (rot) aus, was gleichzeitig auch die Ausgangsspannung des Moduls (VCC) regelt. So lassen sich Bausteine mit unterschiedlicher Betriebsspannung über das Modul mit Spannung versorgen.
Über einen weiteren Jumper (rot) heben Sie den VCC-Ausgang gegebenenfalls wieder auf 5 Volt an. Sie haben also die Möglichkeit, auf den Datenleitungen mit 3,3 Volt zu arbeiten, an VCC aber mit 5 Volt – flexibler geht es nicht.
Den Betriebsmodus des CH341A-Moduls verändern Sie über einen weiteren Jumper (grün). Das Modul unterstützt als Modi UART oder I2C/SPI. Für die Beispiele aus diesem Artikel stellen wir den Jumper auf I2C/SPI ein.
Befindet sich das Modul im UART-Modus, stellt es den passenden Hardware-Treibern alle üblichen seriellen Standards (RS232, RS485, RS422) mit unterschiedlichen Geschwindigkeiten bereit. Dabei lassen sich verschiedene Anzahlen von Daten-, Stopp- und Paritätsbits verwenden.
Der USB-Anschluss des Moduls unterstützt den Standard USB 2.0. Benötigen Sie weitere Informationen, finden Sie eine Übersicht der Funktionen auf der Webseite des Herstellers [2]. Das Datenblatt ist allerdings schwierig zu finden. Wir haben es deshalb in die Downloads zu diesem Beitrag gepackt.
Testaufbau
Zum Testen des CH341A-Moduls verwenden wir das MCP23017-Modul aus Teil 30 dieser Reihe [3]. Sie verbinden die beiden Module eins zu eins miteinander (siehe Tabelle “Direkter Kontakt”). Abbildung 1 zeigt den Versuchsaufbau. Die Schaltpläne der beiden Testplatinen sehen Sie in Abbildung 2 und Abbildung 3. Benötigen Sie mehr Informationen zum MCP23017, werfen Sie einfach einen Blick in dessen Datenblatt [4].
|
CH341A-Modul |
MCP23017-Modul |
|---|---|
|
VCC |
VCC |
|
GND |
GND |
|
SDA |
SDA |
|
SCL |
SCL |

Abbildung 1: Der Testaufbau besteht im Prinzip nur aus einer einfachen Schaltung zwischen zwei Komponenten.

Abbildung 2: Der Schaltplan der Input-Platine.

Abbildung 3: Der Schaltplan der Output-Platine.
Installation des Treibers
Bevor Sie mit der Installation des Treibers beginnen, stellen Sie sicher, dass auf Ihrem System alle nötigen Tools vorhanden sind. Mit dem Kommando aus Listing 1 starten Sie die Installation der entsprechenden Werkzeuge auf einem Debian-basierten System.






