Datenkommunikation

USB richtig implementieren

3. Juni 2011, 9:34 Uhr | Von Evan Schulz
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Ein bestehendes System mit USB nachrüsten

Bestehendes UART-Design
Bild 4: Bestehendes UART-Design
© Silicon Labs

Entwickler, die ein bestehendes System mit USB aufrüsten wollen, können sich für jede der vier Optionen entscheiden, die auch für Neudesigns zur Verfügung stehen.

Allerdings müssen sie eine USB-Lösung wählen, die in die bestehende Anwendung passt, anstatt die Anwendung an die USB-Lösung anzupassen.

Entwickler müssen daher die aktuellen Kommunikationsmöglichkeiten, den erforderlichen USB-Datendurchsatz und den zur Verfügung stehenden Platz auf der Leiterplatte für zusätzliche Bauteile berücksichtigen.

Bestehende Designs weisen etablierte Kommunikationsverfahren mit Host-Systemen auf. Das Hinzufügen einer USB-Bridge mit Festfunktion ist nur eine Option, wenn die Schnittstelle zur Kommunikation mit dem Host in einem Bridge-IC zur Verfügung steht.

In den meisten Anwendungen ist dies die UART-Schnittstelle. Hier lässt sich ein USB-zu-UART-Bridge-Chip in das Design einfügen.

Anbieter zum Thema

zu Matchmaker+
Aufrüsten eines bestehenden Designs um eine USB-zu-UART-Lösung
Bild 5: Aufrüsten eines bestehenden Designs um eine USB-zu-UART-Lösung
© Silicon Labs

Die Bilder 4 und 5 erläutern das Hinzufügen eines Bridge-ICs in ein bestehendes Design (Legacy Design). Hardwareseitig muss sich die Leiterplatte einem Redesign unterziehen, damit USB-Baustein und -Anschluss auf das vorhandene Board passen.

Aus Softwaresicht bieten die meisten Hersteller von USB-zu-UART-ICs einen VCP-Treiber mit an, sodass keine Treiberentwicklung erforderlich ist. In diesem Beispiel entspricht der maximale Datendurchsatz des Bridge-Bausteins der Baudrate der UART-Schnittstelle. Solange das Bridge-IC die von der Anwendung erforderliche Baudrate unterstützt, sollte der Datendurchsatz kein Problem sein.

Der Baustein erscheint dem USB-Host weiterhin als COM-Port, womit bestehende Host-Anwendungen ohne Änderung weiter funktionieren. Der Hauptunterschied zwischen dem bestehenden und dem aufgerüsteten Design ist das Bereitstellen einer USB-Schnittstelle zum Host und die Treiberinstallation durch den Endanwender. Wünscht der Entwickler eine Option ohne Treiber, bietet sich eine HID-USB-Bridge mit Festfunktion an.

Damit sind die gleichen Designüberlegungen erforderlich wie bei einer VCP-Bridge mit Festfunktion. Der Datendurchsatz der Bridge ist aber auf 64 KByte/s begrenzt, was dem maximalen HID-Durchsatz entspricht. Im vorherigen Upgrade-Beispiel eines bestehenden Systems kann der Entwickler auch eine HID-USB-zu-UART-Bridge verwenden - der Baustein würde dem Host-System aber nicht als COM-Port, sondern als HID angezeigt.

Als Folge würde die bestehende Host-Anwendung ohne Modifikation nicht richtig funktionieren. Obwohl bei dieser Lösung keine Treiberinstallation erforderlich ist, muss der Entwickler bestehende Host-Anwendungen modifizieren, damit sie mit der HID-OS-Programmierschnittstelle (API) anstelle der COM-Port-API kommunizieren können.

USB-Kommunikation bei einer bestehenden Anwendung über eine USB-MCU
Bild 6: USB-Kommunikation bei einer bestehenden Anwendung über eine USB-MCU
© Silicon Labs

Bei den meisten Upgrades von Legacy-Systemen eignen sich am besten USB-Bridges mit Festfunktion, da sie die einfachste Lösung darstellen und keine USB-Erfahrung voraussetzen.

Für bestehende Systeme, die einen höheren Datendurchsatz, zusätzliche Funktionen oder kundenspezifische USB-Firmware erfordern, ist eine USB-MCU die beste Wahl (Bild 6).

Viele gleichartige Designüberlegungen lassen sich hier wie auch in einem neuen Design anwen-den. Diese Option erfordert USB-Erfahrung, da Entwickler die gesamte USB-Firmware schreiben müssen. Eine Treiberentwicklung und -installation ist für VCP-USB-Systeme ebenfalls erforderlich. Die USB-MCU muss über ein Kommunikations-mittel zur bestehenden Anwendung verfügen - über GPIO-Anschlüsse oder eine periphere Schnittstelle, beispielsweise den SMBus oder SPI auf der USB-MCU.

Darüber hinaus ist die bestehende Leiterplatte aufgrund der zusätzlichen Bauelemente einem Redesign zu unterziehen. Das Aufrüsten einer bestehenden Anwendung mit einer USB-MCU ist die beste Wahl für Entwickler, die einen höheren Datendurchsatz als bei Bridge-ICs benötigen oder eine Datenkommunikationsmethode realisieren müssen, die über Bridge-Bausteine nicht verfügbar ist.

Über den Autor:

Evan Schulz ist Applications Engineer für Embedded-Mixed-Signal-Produkte bei Silicon Laboratories


  1. USB richtig implementieren
  2. Ein bestehendes System mit USB nachrüsten

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Silicon Laboratories GmbH

Weitere Artikel zu HF- und Kommunikations-ICs