zum Directory-modus

USB-Schnittstelle

Datenübertragung

Der USB ist ein Bus mit nur einem Master, d.h. alle Aktivitäten gehen vom PC aus. Daten werden in kurzen Paketen von 8 Bytes bis 256 Bytes versandt und empfangen. Der PC kann Daten von einem Gerät anfordern. Umgekehrt kann kein Gerät von sich aus Daten absenden.

Der gesamte Datenverkehr hat einen Rahmen von exakt einer Millisekunde. Innerhalb eines Rahmens können nacheinander Datenpakete für mehrere Geräte verarbeitet werden. Dabei können Lowspeed- und Fullspeed-Pakete zusammen vorkommen. Werden mehrere Geräte angesprochen, sorgt ein Bus-Verteiler (Hub) für die Verteilung. Er verhindert auch, dass Fullspeed-Signale an Lowspeed-Geräte weitergeleitet werden.

Abb.1
USB-Datenpakete
Abb.2
USB-Signale

Man unterscheidet zwischen Lowspeed- und Highspeed-Signalen. Während die Datenrate bei einer Lowspeed-Verbindung 1,5 Mbit/s beträgt, (und damit 1 Bit 666,7 ns lang ist), ist sie bei einer Highspeed-Verbindung 12 Mbit/s und damit ein Bit 83,33 ns lang. Zu beachten ist, dass diese Geschwindigkeit allein vom PC vorgegeben wird. Die angeschlossenen Geräte synchronisieren sich auf den Datenstrom. Es wird kein getrenntes Datensignal übertragen, also muss der Takt erst einmal aus dem Datensignal gewonnen werden. Dazu wird das NRZI-Verfahren (Non-Return-to-Zero) verwendet.

Die Hardware kodiert und dekodiert die Signale. Die Aufgabe des Empfängers ist es, die Daten zu empfangen und zu dekodieren. Es gibt ein besonderes Verfahren, das dafür sorgt, dass die Synchronisierung nicht verloren geht, wenn der ursprüngliche Datenstrom sechs folgende Einsen enthält. Es wird dann vom Sender automatisch eine Null eingefügt (Bit Stuffing), um einen Pegelwechsel zu erzwingen. Der Empfänger entfernt diese Null wieder aus dem Datenstrom. Jedes Datenpaket hat zum Zweck der Synchronisation einen besonderen Vorspann, das Sync-Bit (00000001b). Der Empfänger erhält wegen der NRZI-Kodierung und dem Bit-Stuffing acht wechselnde Bitzustände. Bei der darauf folgenden Übertragung muss die Synchronisierung erhalten bleiben, will man sinnvoll Daten übertragen.All diese Vorgänge laufen allein in den entsprechenden Hardware-Bausteinen ab, wobei Empfänger und Sender immer zusammen in einem Baustein realisiert. Auch PIC's, die ein USB-Interface haben, sind mittlerweile auf dem Markt. So bieten die beiden PIC-Typen PIC16C745 und PIC16C765 eine integrierte USB-Schnittstelle an.

Seite 3 von 7