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.
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.
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