Detaillierter Einblick in die Technologie

Maximale USB-3.0-Bandbreitennutzung für See3CAMs unter Verwendung von PCIe-Erweiterungskarten

Die harte Wahrheit über USB-3.0-SuperSpeed-Kameras ist, dass man nicht immer die theoretische Leistung erhält. Tatsächlich trifft das Versprechen einer Bandbreite von 5 GBps nur in bestimmten Fällen zu. Sehen wir uns an, wie Sie mithilfe der See3CAM-Produktlinie – von e-con Systems entwickelte USB-Kameras – die maximale Bandbreite erreichen können.

Viele von uns setzen beim Begriff “USB-3.0-SuperSpeed’’-Kamera die beworbene maximale Bandbreite von 5 Giga Bit pro Sekunde als selbstverständlich voraus. Doch die Wahrheit ist, dass man nicht immer das bekommt, was man sieht. Tatsächlich gilt die theoretische Bandbreite von 5 GBps möglicherweise nur dann, wenn Daten mit dieser Rate übertragen und auf der Empfangsseite nichts weiter als verworfen werden. Was wir also tatsächlich von USB 3.0 erhalten, hängt von den unterschiedlichen Endanwendungen ab, für die es eingesetzt wird. Dieser Blog konzentriert sich auf USB-3.0-konforme USB-Video-Class-(UVC-)Geräte und insbesondere auf die See3CAM-Produktlinie von e-con.

Zu Beginn sollten wir einige gängige Missverständnisse ausräumen. Die beworbene maximale Bandbreite gilt pro USB-Host-Controller und nicht pro USB-Port. Ein PC kann in der Regel mehrere Ports und Hubs besitzen, die intern mit einem einzigen Host-Controller verbunden sind, sodass sich die Bandbreite effektiv auf diese verteilt.

Was beeinflusst also tatsächlich die theoretische Bandbreite, und was erhalten wir am Ende? Die Antwort liegt in den drei grundlegenden Komponenten, mit denen eine USB-Kamera verbunden ist.

  1. Host-Controller.
  2. Streaming-Applikation.
  3. Display-Treiber.

Da die Daten einer USB-Kamera letztlich auf dem Display dargestellt werden müssen, müssen die verwendete Streaming-Applikation und die Display-Treiber mit der Geschwindigkeit von USB 3.0 mithalten, um die maximalen Bandbreiten zu erreichen. Mit der Streaming-Applikation e-CAMView von e-con und normaler Intel-HD-Grafik liegt die maximal praktisch erreichte Bandbreite bei etwa 2 Giga Bit pro Sekunde.
Nachdem wir nun beginnen, die praktischen Bandbreitenbeschränkungen und die beitragenden Faktoren zu verstehen, wollen wir darauf eingehen, wie sich die Bandbreite in einem PC optimieren und das Maximum daraus herausholen lässt. Nachfolgend sind einige Punkte aufgeführt, die aufzeigen, wie dies optimiert werden kann:

  • Standard-USB-Host-Controller wie Intel oder Renesas.

    Nicht jeder auf dem Markt verfügbare Host-Controller ist für USB 3.0 optimiert. Es gibt einige preisgünstige Controller, die USB 3.0 unterstützen, jedoch nicht den Standards eines Intel- oder Renesas-Host-Controllers entsprechen.

  • Optimierte Streaming-Applikationen anstelle von standardmäßigen Drittanbieter-Anwendungen

    Eine gute Streaming-Applikation sollte erstklassige und aktuelle Software-Komponenten verwenden, um bessere Ergebnisse zu liefern. Anwendungen wie e-CAMView, die regelmäßig aktualisiert werden, um die besten und neuesten Windows-Applikationsschichten zu nutzen, werden die standardmäßigen Drittanbieter-Streaming-Applikationen deutlich übertreffen.

  • Gute Grafikkarte für High-End-Streaming-Applikationen.

    Obwohl standardmäßig verfügbare Grafiktreiber wie Intel-HD-Grafik für die meisten Streaming-Applikationen wie 1080P mit 60 FPS in unkomprimierten Formaten wie YUV ausreichend sind, verschafft bei anspruchsvolleren Anwendungen eine dedizierte Grafikkarte einen Vorteil.

  • Mehrere Host-Controller-Schnittstellen statt einer einzelnen.

    Dies ist der wichtigste und am stärksten beitragende Faktor für die Bandbreitenoptimierung. Wie zuvor erläutert, wird die Bandbreite von USB 3.0 auf die Ports aufgeteilt, die von einem einzelnen Host-Controller ausgehen. In den meisten PCs besitzen die integrierten USB-3.0-Ports auf dem Mainboard einen gemeinsamen Host, wodurch sich die effektive Bandbreite auf diese verteilt. Eine der besten Möglichkeiten, dem entgegenzuwirken, ist die Verwendung von Multi-Host-PCIe-Erweiterungskarten, die für jeden USB-3.0-Port einen dedizierten Host-Controller besitzen. Durch die Nutzung dieser Methode kann die gesamte USB-3.0-Bandbreite an jedem einzelnen Port der PCIe-Karte erreicht werden.

Im Folgenden sind einige Multi-Host-PCIe-Karten aufgeführt, die auf verschiedenen Mainboards getestet wurden. Wichtig ist hierbei, dass das Mainboard PCIe – Generation 2 oder höher sowie eine 4x-Geschwindigkeit oder höher unterstützen muss.

  1. Startech PEXUSB3S44V
  2. IOI Tech U3X4-PCIE4XE111

Die folgenden Mainboards wurden getestet, um vier individuelle unkomprimierte 1080P-60-FPS-UYVY-Streams (jeweils 1,9 GBps) zu streamen und mithilfe von e-CAMView auf dem Display darzustellen.

  1. Intel® Desktop Board DB85FL mit Intel-HD-Grafik.
  2. GigaByte GA-B85M-D3H mit Intel-HD-Grafik.
  3. GigaByte GA-990FXA-UD3 R5 mit NVIDIA GeForce GTX 960.

Jedes andere Mainboard, das mindestens Generation 2 und 4x-Geschwindigkeiten unterstützt, sollte ein ähnliches Verhalten zeigen. Hinweis: Die Tests wurden mit den Betriebssystemen Windows 7 und 8.1 (in e-CAMView) sowie Ubuntu 14.04 (in e-cons GUVCview) durchgeführt.

Zusammenfassend werden die oben genannten Optionen empfohlen, um die maximale Bandbreite aus USB 3.0 bei See3CAMs herauszuholen. Ebenfalls erwähnenswert ist, dass ein normales Streaming-Szenario wie ein einzelner 1080P-60-Stream in UYVY (1,9 GBps) oder andere vergleichbare Bandbreitenanforderungen keine spezielle Hardware erfordert. Ein einzelner USB-3.0-Host mit Intel-HD-Grafik ist hierfür ausreichend.

Related posts

Leave a Comment