 |

Unerkannt störender Bus:
USB killt audio
»Zurück zur
Tech Info

Vorwort
Anfang 2000 verursachte RME einiges Aufsehen, als wir in
dieser Tech Info über ein offensichtliches Problem von USB mit Low Latency
Audio berichteten.
Nach der ersten Veröffentlichung der Tech Info wurden wir von Feedback
überflutet: andere Hersteller, Fachzeitschriften und Anwender berichteten
uns von ihren Erfahrungen. In Zeitschriften und Online-Foren hagelte es Berichte
über zahlreiche Fehler- und Kompatibilitätsprobleme bei der Verwendung
von USB. Der universelle Bus verursachte offensichtlich weit mehr Probleme
als man bis dahin zur Kenntnis genommen hatte.
Nun ist USB Bestandteil unserer modernen Computer, und die machen auch ohne
USB jeden Tag Probleme. Dies macht es ingesamt schwierig den genauen Grund
des jeweiligen Problems zu erkennen. Beispiel: Fehlerhafte USB-Treiber sind
natürlich ein Problem des jeweiligen Herstellers, und können nicht
USB generell angelastet werden. Eine sehr gute Informationsquelle zu allem
rund um USB ist die (englische) Website www.usbman.com.
Hier findet man insbesondere auch Tips & Tricks, Kompatibilitätstests,
Hintergrundinfos zu Treiber und Chipsatzproblemen, und vieles mehr.
Uns interessiert jedoch nur das Low Latency Problem, da es unsere Produkte
direkt betrifft. Die zunächst vagen Zusammenhänge verdichteten
sich bald zu ersten konkreten Analysen. Inzwischen sind die Hintergünde
so weit klar, dass wir nicht nur eine Problembeschreibung, sondern auch Abhilfen
anbieten können.

Einleitung
Nach der Beseitigung aller Kinderkrankheiten wird USB mit
Windows 98 SE und Windows 2000 auch im professionellen Audiobereich hoffähig.
Immer mehr MIDI-Interfaces besitzen eine solche Schnittstelle, einige Geräte
gar nur noch.
Dabei scheinen einige Hersteller ein offensichtliches Problem übersehen
zu haben: Nicht nur, dass sich USB nach wie vor in Tests als Performancebremse
erweist. USB kann auch zu Störungen führen, wenn gleichzeitig ein
weiterer Busmaster Audio bei niedriger Latenz ausführt. Damit wird professionelles
Arbeiten mit Low Latency und Audio-/MIDI-Sequenzern unmöglich. Diese
Tech Info gibt Hintergrundinformationen zur Entstehung des Effektes und möglichen
Abhilfen.
Setup
Die Bedingungen zum Auftreten dieses Effektes sind:
- Arbeiten bei geringer Latenz mit Audio und ASIO/EASI,
typisch unter 23 ms
- Gleichzeitig eine hohe Anzahl von MIDI-Noten bzw.
Events. MTC (MIDI Time Clock) verschlimmert den Effekt
- USB Controller vom Typ 82371AB, enthalten in Intel
BX Chipsätzen, auf Mainboards mit nur zwei USB Ports
- USB im Bulk-Transfer Modus aktiv
Wie arbeitet USB?
Sobald ein USB-Gerät am USB-Port hängt wird es
von Windows erkannt und angemeldet. Fortan findet eine Datenkommunikation
im Millisekunden-Takt statt. Das alleine führt noch zu keinen bemerkbaren
Störungen, erst ein Datentransfer über USB mit grösseren Datenmengen
kann den PCI-Bus oder Threads anderer Tasks blockieren. USB verhält
sich dabei trotz vergleichsweise geringer Datentransferrate (12 MBit/s) deutlich
weniger performant als beispielsweise eine 100 MBit PCI Netzwerkkarte.
Der Intel BX Chipsatz...
...ist die Referenz für höchste Performance und
Kompatibilität. Ausgerechnet bei Mainboards mit diesem Chipsatz traten
bei Tests mit unseren Karten im Low Latency Betrieb starke Aussetzer auf,
vom gelegentlichen Knistern bis zum prasselnden Lagerfeuer auf allen Kanälen.
Aufgrund der weiten Verbreitung damit ausgerüsteter Mainboards, und
den zu diesem Zeitpunkt unbrauchbaren VIA-Alternativen, fiel der integrierte
USB Controller als Ursache zunächst nicht auf. Es wurde jedoch schnell
klar, dass der Controller bei höherem Datenaufkommen den PCI Bus nicht
nur ein Mal pro Millisekunde anspricht, sondern auch über zwei Zugriffe
hinweg belegen kann, also mehr als 1 Millisekunde lang.
Da die Störungen nur bei hohen Datenraten auftreten scheint die naheliegendste
Lösung zu sein selbige zu begrenzen. USB kennt verschiedene Modi. Störungen
traten bei Geräten auf, welche im Fullspeed Modus (12 Mb/s) konfiguriert
waren und den Bulk-Transfer Modus nutzten. Als Lowspeed-Geräte (1,5
Mb/s) treten fast nur Mäuse und Tastaturen in Erscheinung, alles andere
wie Scanner, Webcam, oder eben auch MIDI-Interfaces, kommt als Fullspeed
daher. Zudem wird in der USB
Device Class Definition for MIDI devices explizit der Bulk-Transfer für
MIDI-Interfaces genannt. Noch schlimmer sind nur noch USB-Audio Geräte,
welche den Isochronous-Transfer Modus für noch grössere Datenmengen
nutzen.
Statt des Bulk-Transfer Modus bietet sich für MIDI-Interfaces eigentlich
der Interrupt-Transfer Modus an. Dieser unterstützt zwar nur kleinere
Datenmengen (für MIDI vollkommen ausreichend), bietet aber eine bessere
zeitliche Kontrolle des Datentransfers (der Bulk-Transfer Modus empfiehlt
sich laut Spezifikation für Daten die 'nicht zeitkritisch sind'...).
Damit treten oben genannte Störungen nicht mehr auf.
BX = Ok!
Ein weiterer Grund, warum es so lange dauerte die Störungen
dem 82371AB zuzuordnen: es gibt (inzwischen) jede Menge Mainboards mit BX-Chipsatz,
welche trotz 82371AB keine Störungen verursachen! In der letzten Zeit
konnten wir durch zahlreiche Vergleichstests nachweisen, dass Low Latency
Audio nur bei älteren Generationen von Motherboards mit BX-Chipsatz,
wie der Asus P2B Serie oder dem beliebten P3B-F, gestört wird. Genauer
gesagt bei allen BX-Boards mit nur 2 USB-Anschlüssen. Auf allen neueren
Boards befindet sich dagegen ein zusätzlicher Hub für mindestens
4 USB-Anschlüsse (wie z.B. Asus CU-BX), und bei diesen Boards ist der
Effekt nicht mehr nachweisbar.
Abhilfe
Damit
zeigt sich auch eine einfache Lösung, wie Besitzer betroffenener Boards
in den Genuss von stress-freierem USB kommen: durch den Kauf einer vergleichsweise
günstigen USB PCI Karte, deren USB-Ports statt denen auf dem Board verwendet
werden. Im Bild sehen Sie ein Standard Modell mit Lucent Chip, circa 70 DM
im Fachhandel. Eine Liste
empfehlenswerter Upgradekarten gibt es auch bei Usbman.com.
Da der Effekt nur auftritt wenn alle vier beschriebenen
Bedingungen zusammenkommen, kann er alternativ durch Erhöhung der Latenz
oder durch Verwendung unkritischer USB-Geräte beseitigt werden. Beispielsweise
verursachen das Midex-8 von Steinberg und das emagic MT4 keine Störungen.
Steinberg hat den Treiber des Midex-8 unter Beachtung der Low Latency Störungen
soweit optimiert, dass er selbst bei der Verwendung von vier Midex-8 gleichzeitig
(32 MIDI Ports I/O) keine Probleme verursacht. Das Midiman USB Midisport
2x2 dagegen stört trotz seiner nur 2 Ports, was sicher auch Rückschlüsse
auf die Effizienz der Bus-Nutzung zulässt. Leider ist dieser Performanceunterschied
im Normalfall nicht offensichtlich, da die in Windows enthaltenen Bordmittel
keine aussagekräftige Performanceanalyse von USB ermöglichen.
MIDI-Interfaces ohne USB, also mit serieller oder paralleler Schnittstelle,
sowie interne (PCI/ISA) verursachen nach unseren Tests ebenfalls keine Störungen.
Und wer ein Interface mit USB und serieller Schnittstelle besitzt (Unitor
8 etc.), sollte dem bewährten COM-Port den Vorzug geben.
Entwarnung
Nach unseren Tests arbeiten Boards mit Intels i815, VIAs
KT133 und 694 ebenfalls stressfrei im kritischen USB-Betrieb. Damit kann
in Sachen USB von unserer Seite Entwarnung gegeben werden, denn alle neueren
Rechner haben kein Problem, und ältere lassen sich entweder einfach
und preisgünstig updaten, oder durch Kauf der richtigen USB-Hardware
störfrei in Betrieb nehmen. Bitte beachten Sie aber, dass diese Aussage
nur für die Kombination RME Produkte, Low Latency Audio und USB MIDI
Interfaces gilt!
Im Netz kursieren weiterhin viele negative Berichte zu USB. Beispielsweise
können Sie hier
nachlesen, dass USB schon aus Prinzip ein deutlich schlechteres MIDI-Timing
liefert als andere Lösungen. Was aber nicht gilt wenn Timestamps verwendet
werden (AMT emagic oder LTB Steinberg). Und wenn USB von einigen zur Glaubensfrage
erklärt wird (Niemals!), so holt einen spätestens beim Gerätekauf
die Realität wieder ein: günstige MIDI Interfaces ohne USB sind
praktisch nicht mehr erhältlich.

Copyright © Matthias Carstens, 2000/2001.
Alle Angaben in diesem Tech Info sind sorgfältig geprüft, dennoch
kann eine Garantie auf Korrektheit nicht übernommen werden. Eine Haftung
von RME für unvollständige oder unkorrekte Angaben kann nicht erfolgen.
Weitergabe und Vervielfältigung dieses Dokumentes und die Verwertung
seines Inhalts sind nur mit schriftlicher Erlaubnis von RME gestattet.
|