Anbieter zum Thema
Da die minimale Zeit zwischen Transfers ein Frame oder mehr beträgt, müsste jede Transaktion innerhalb dieses Zeitrahmens für eine unterschiedliche Endpunktadresse sein. In Wirklichkeit ist ein Host nicht in der Lage, 19 Full-Speed-Interrupt-Transaktionen in einem einzigen Frame zu verarbeiten. Die maximale Anzahl von Interrupt-Transaktionen in der Praxis fällt somit geringer aus. Periodische Transfers können zusammen nicht mehr als 90% der verfügbaren Bandbreite einnehmen.
Bulk-Transfers
Der Bulk-Transfer-Modus eignet sich für Drucker und Speichereinrichtungen, bei denen große Datenmengen übertragen werden. Hier ist die Datenintegrität wichtiger als das Timing. Dieser Modus hat somit keine bestimmte Bandbreite und überträgt Daten, sobald Bandbreite zur Verfügung steht.
Bulk-Transfers benötigen daher nicht viel Zeit, wenn der Bus frei ist; umso mehr jedoch, wenn nur eine geringe Bandbreite zur Verfügung steht. Schlägt ein Transfer durch einen Fehler auf dem Bus fehl, lassen sich die Daten erneut senden, um Datenintegrität wieder herzustellen. Der Bulk-Transfer garantiert Datenübermittlung aber garantiert keine Latenz.

Ein Bulk-Transfer unterstützt die maximale Daten-Payload-Größe. Die USB-Spezifikation definiert die maximal mögliche Bulk-Daten-Payload-Größe mit nur 8, 16, 32 oder 64 Byte Full-Speed-Endpunkt. Wie beim Interrupt-Modus kann der Bulk-Transfer maximal 19 64-Byte-Transfers unterstützen. Bild 3 zeigt, dass Bulk-Transfers nicht im ersten Frame stattfinden, das von periodischen Interrupt- und isochronen Transfers genutzt wird.
Isochroner Transfer
Isochrone Transfers eignen sich für Anwendungen, die Daten kontinuierlich zu bestimmten Zeiten streamen und bei denen die Datenintegrität keine hohe Priorität aufweist. Für diese Applikationen garantiert USB eine Bandbreite mit begrenzter Latenz und eine konstante Datenrate durch isochrone Transfers. Es besteht jedoch keine zweite Möglichkeit, die Daten bei einem Busfehler erneut zu senden. Isochrone Stream-Pipes gehen immer in eine Richtung. Entweder fließen Daten vom Device zum Host oder umgekehrt. Benötigt die Applikation jedoch einen Datenfluss in beide Richtungen, können zwei isochrone Pipes zum Einsatz kommen, wobei eine Pipe Daten in jede Richtung überträgt.
(ID:266061)