Kein Folientitel - PowerPoint PPT Presentation

About This Presentation
Title:

Kein Folientitel

Description:

Title: Kein Folientitel Author: Matze Last modified by: Gernoth Created Date: 3/1/2003 3:35:52 PM Document presentation format: Bildschirmpr sentation – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 20
Provided by: Matz53
Category:
Tags: bulk | cmos | folientitel | kein

less

Transcript and Presenter's Notes

Title: Kein Folientitel


1
1. Einleitung 2. Elektrik des USB 3. Datenfluß
des USB 4. Protokolle des USB
2
1. Einleitung 1.1 Entwicklungshintergründe Der
Universal Serial Bus wurde im Zeitraum 1994/95
von einem Konsortium mehrerer Hard-
Softwarefirmen entwickelt. Beteiligt waren unter
anderem - INTEL - Microsoft - IBM -
Compaq - DEC...... Folgende Ziele wurden bei
der Entwicklung berücksichtigt - einfach zu
handhabende Peripherie-Erweiterungen -
preisgünstige Lösung für Übertragungsraten bis 12
Mb/s - Protokollflexibilität (isochroner
Datentransfer asynchroner Nachrichtenfluß -
Unterstützung verschiedenster PC-Konfigurationen
- Bereitstellung eines Standard-Interface zur
weiten Produktverbreitung Folgende
existierende Technologien fanden Anklang bzw.
wurden erweitert - ADB (Apple Desktop
Bus) - Access Bus - IEEE P1394
Hochgeschwindigkeitsbus - CHI (Concentration
Highway Interface) - GeoPort
3
1.2 Versionen des USB
  • Eigenschaften USB 1.1.
  • LowSpeed Modus mit 1,5 MBit/s für z.B. Maus und
    Tastatur
  • FullSpeed Modus mit 12 MBit/s für Geräte mit
    mittleren Übertragungsratent
  • Geräte können bei laufendem Betrieb angeschlossen
    werden und werden automatisch erkannt.
  • Durch USB-Hubs können bis zu 127 Geräte
    angeschlossen werden,
  • Energiemanagement unterstützt Suspend und Resume
  • Protokolle zur Fehlererkennung und
    Fehlerbehandlung
  • synchrone und asynchrone Übertragungsarten
  • Eigenschaften USB 2.0
  • HighSpeed Modus mit 480 MBit/s für große
    Datenmengen
  • Architektur und Programmiermodell von USB 2.0
    entsprechen dem von USB 1.1

4
1.3 USB-Architektur
Der USB ist ein bitserieller Bus mit einem
hierarchischen Verbidungsschema. Es sind
insgesamt 127 Geräte möglich, die in insgesamt 7
Schichten angeordnet sein können. Die maximale
Kabellänge ist auf 5 m bei Highspeed-Geräten und
3 m bei Lowspeed-Geräten begrenzt. Kabel für
Highspeed-Geräte können deshalb länger sein, da
sie eine Schirmung besitzen. Host In jedem
USB-System gibt es nur einen Host. Das
USB-Interface zum Host-Computer-System wir als
Host-Controller bezeichnet. Ein sogenannter
Root-Hub ist bereits integriert, dieser bietet
Anschlußmöglichkeiten für ein oder mehrere
Endgeräte. Folgende USB - Geräte werden
unterschieden - Hubs Verteiler für
zusätzliche Anschlußmöglichkeiten. Der
Upstream-Port verbindet einen Hub mit einem
anderen Hub oder direkt mit dem Host. Die
Downstream-Ports ermöglichen den Anschluß eines
beliebigen USB-Geräts.
5
Die Downstream Ports eines Hubs können sich unter
anderem in folgenden Zuständen befinden
disabled Der Port leitet keiner Richtung
irgendwelche Signale weiter. Ein Port wird dann
disabled, wenn das Gerät entfernt worden ist,
wenn der Host den Hub dazu aufgefordert hat oder
falls eine Fehlersituation an diesem Port
registriert worden ist. enabled In diesem
Zustand ist der Port bereit, Daten weiter zu
leiten. Ein Port betritt diesen Zustand nach der
Initialisierung. suspended Es werden keine
Signale in Downstream-Richtung weitergereicht.
Ein Port wechselt in diesen Zustand, wenn der
Request SetPortFeature(PORT_SUSPEND)
eintrifft. Der USB unterscheidet zwischen
Upstream und Downstream Connectivity Upstream
Connectivity ist der Datenfluß hin zum USB-Host.
Downstream Connectivity ist der Datenfluß hin zum
USB-Gerät. Merkmal der Downstream Connectivity
ist Alle Geräte empfangen die Datenpakete vom
Host (Broadcast).
6
- Endgeräte Bei Endgeräten handelt es sich um
seperate Peripheriegeräte die über ein
Anschlußkabel in einen Port des Hubs gesteckt
werden. Physikalische Struktur des USB
7
2. Elektrik des USB Der USB überträgt die
elektrischen Signale und die Betriebsspsannung
über ein 4adriges Kabel mit 90 Ohm Impedanz. Die
Signalüber- tragung erfolgt differential über 2
dieser Adern, dabei müssen für den Empfänger
mindestens 200mV Eingabespannung
bereitgestellt werden.
Vbus GND versorgen die USB-Geräte mit
Betriebsspannung D D- übertragen die
Signale Kabelbelegung des USB
Nr Farbe Name Beschreibung 1 rot VCC 5V
Spannungsversorgung 2 weiss D- negative
Datenleitung 3 grün D positive Datenleitung
4 schwarz GND Masse
8
Beim USB unterscheidet man zwischen den Steckern
vom Typ A und den Steckern vom Typ B.
Für den Downstream (Host zum Gerät) wird wird das
USB-Kabel über die Stecker-Buchse-Kombination Typ
A angeschlossen.Für den Upstream, also die
Richtung zum Host hin, wird das USB-Kabel über
die Stecker-Buchse-Kombination Typ B
angeschlossen.
9
Signal Pegel D- D Bemerkung J Differentiell 0
H L (D-) - (D) gt 200mV K Differentiell 1
L H (D) - (D-) gt 200mV Lowspeed-Signale
Signal Pegel D- D Bemerkung J Differentiell
1 L H (D) - (D-) gt 200mV K Differentiell
0 H L (D-) - (D) gt 200mV Fullspeed-Signale

CMOS - Bus - Treiber Geschwindigkeit von 12Mb/s
10
3.0 Datenfluss des USB 3.1 Signalcodierung Zur
Signalübertragung bei USB wird die NRZI-Codierung
verwendet 0 - Wechsel des Signals 1 -
Beibehalten des Signals somit wird bei der
Übertragung eines Strings aus lauter 0 ein
ständiger Level-Wechsel bewirkt, ein String aus
lauter 1 bewirkt ein Halten des Signallevels.
11
3.2 Schichtenmodell Ähnlich dem OSI-Modell
läßt sich auch für USB ein Schichtenmodell
aufstellen !
Beim Schichtenmodell spricht man von logischem
Datenfluß, d. h. jede Ebene kann nur mit der
korrespondierenden Ebene auf der Gegenseite
kommunizieren.
12
3.3 Transferarten Die logische Verbindung
zwischen Endpunkt im Device und Software im Host
wird als Pipe bezeichnet. Der USB unterscheidet
zwei Arten von Pipes - Stream-Mode
(Datenfluß) Bulk-Transfer Isochroner
Transfer Interrupt-Transfer - Message-Mode
(Nachrichten) Control-Transfer Angelegt werden
Pipes nach der Konfiguration des Systems. Die
Control-Pipe 0 wird nach dem Einschalten des
Systems als Standardkommunikationspfad für den
Austausch von Konfigurations-,Status- und
Steuerinformationen verwendet.
13
- Im sogenannten Bus-Anschluß-Verfahren meldet
der Hub, an dem eine neue Einheit angeschlossen
wird, dieses Ereignis im Rahmen einer
Statusabfrage an den Host. - Dieser fragt
daraufhin weitere Details zur Konfiguration des
neuen Gerätes ab. - Anschließend wird der Port an
dem die neue Einheit angeschlossen ist enabled -
Der Host ordnet nun der neuen Einheit eine
Adresse zu. Nun ist der Datenaustausch möglich.
Für die Kommunikation ist die Client-Software der
obersten Schicht zuständig. Sie wird in der Regel
mit dem Betriebssystem oder mit der neuen
Einheit als Treiber geliefert. Folgende
Transferarten sind im USB-Standard
definiert. Control-Transfer dient der
Konfiguration zur Übertragung von Befehlen und
Status Interrupt-Transfer dient zur
gelegentlichen Übermittlung von kleinen
Datenmengen (z.B. Ändern der Mausposition) Isochr
on-Transfer dient der Übertragung von Massendaten
mit garantierter Übertragungsrate und Latenzzeit
in einer Richtung (z.B. Audiodaten) Bulk-Transfer
dient der Übertragung größerer Datenmengen (z.B.
Drucker)
Die gesamte Kommunikation zwischen Host und Gerät
folgt dem Frage-Antwort-Schema
14
4. USB-Protokoll 4.1 Bitebene Die
Datenübertragung beim USB findet blockweise
bitseriell statt, dabei wird zuerst immer das
niederwertigste Bit übertragen. Bei mehreren
Oktetten beginnt die Übertragung mit dem
niederwertigsten Bit der niederwertigsten
Oktette. Eine Ausnahme hierzu bildet das
CRC-Feld, hier wird als erstes das höchstwertige
Bit übertragen 4.2 Pakettypen
PID Typ Bitmuster Bemerkung OUT Token
0001 Datenübertragung vom Host zum Gerät IN
Token 1001 Datenübertragung vom Gerät zum
Host SOF Token 0101 Start of
FrameFramenummer SETUP Token 1101
Übertragung von Geräteadresse DATA0 Data
0011 gerades Datenpaket DATA1 Data 1011
ungerades Datenpaket ACK Handshake 0010
Datenpaket wurde akzeptiert NAK Handshake
1010 Datenübertragung fehlerhaft/nicht möglich
STALL Handshake 1110 Endpoint ist nicht
bereit PRE Special 1100 Signalisiert Low
Speed Transfer Pakettypen
15
4.3 Paketformat Der USB-Datenverkehr wird durch
den Host mittels Token-Pacets initiert. - Jedes
Paket beginnt mit einem 8-Bit-Sync-Feld bestehend
aus 7 Nullen und einer 1. - Daran schließt sich
das PID-Feld (Packet Identifier) an. Es ist immer
8 Bit lang, auch wenn die definierten PIDs nur 4
Bit lang sind. Die ersten 4 Bit bestehen aus
der PID, diese wird in den zweiten 4 Bit noch
einmal negiert gesendet. Ist die PID fehlerhaft
oder unvollständig wird der Rest des Paketes
ignoriert.
PID Binärwert Bitmuster im Paket SETUP 1101
1011 0100 IN 1001 1001 0110 OUT 0001 1000
0111 PID-Feld-Beispiele
Abgeschlossen werden alle Pakete mit einem
CRC-Feld, dass eine Prüfsumme enthält und dem
EOP-Feld (End of Paket)
16
4.3.1 Start-Of-Frame-Paket Die Bandbreite des
USB wird in 1ms Teilabschnitte eingeteilt, damit
bei einem Bustakt von 12MHz in einem Frame 12000
Bit übertragen werden können. Da alle Geräte
diese Zeiteinteilung erkennen müssen, sendet der
Host jede Millisekunde ein SOF-Paket. Dieses
Paket besitzt die Höchste Priorität und besitzt
eine 11-Bit breite Nummer die von 0x000 bis 0x7FF
hochzählt.
17
4.3.2 Token-Paket Das Token-Paket spricht die
angeschlossenen Geräte an. Außerdem wird
mitgeteilt ob gelesen (Übertragung zum Host)
oder geschrieben (Übertragung vom Host) werden
soll. Das Token-Paket enthält zusätzlich zu
den bereits kennengelernten Feldern ein
7-Bit-Adressfeld mit ihm lassen sich 127
Geräte ansprechen (Adresse 0 ist verboten, da sie
die Standardadresse darstellt), sowie ein
4-Bit-Endpoint-Feld, dass erlaubt das pro
device bis zu 16 Endpunkte angesprochen werden.
18
4.3.3 Daten-Paket Die Datenpakete bilden die
eigentliche Nutzlast (zu übertragende
Informationen) DATA0 und DATA1 Pakete werden
immer abwechselnd gesendet, um welches Paket es
sich handelt wird in der PID festgelegt. Das
Datenfeld beim USB kann zwischen 0 1023 Byte
groß sein. Das CRC-Feld beim Daten-Paket hat eine
Größe von 16Bit.
4.3.4 Handshake-Paket Handshake Pakete werden
zur Meldung des Status verwendet und bestehen
ausschließlich aus einem PID-Feld. Es ist das
einzige Paketformat, dass kein CRC-Feld besitzt.
19
4.4 Fehlerbehandlung Alle Transferarten außer
Isochron-Transfer unterstützen ein
Fehlerbehandlungsprotokoll. Man unterscheidet
drei Arten von Fehlern Paketfehler (z.B.
PID-Fehler, CRC-Fehler....) ...bei diesen
Fehlern wird die Funktion das Paket ignorieren
und kein Hanshake-Paket senden. Der Host erkennt
einen Time-Out-Fehler und sendet
erneut. Time-out-fehler Der Empfänger muss
innerhalb einer definierten Zeit den Empfang der
Daten bestätigen, ist dies nicht der Fall, gilt
die Übertragung als fehlerhaft. Der Host sendet
erneut. EOP-Fehler Durch einen Fehler im
Datenstrom könnt der Empfänger ein vermeintliches
EOP erkennen. Dieser Fehler wird jedoch durch
die CRC-Checks erkannt. Der Empfänger verhält
sich passiv und schickt kein Handshake-Paket.
Dadurch weiß der Host, dass er erneut senden muß.
Write a Comment
User Comments (0)
About PowerShow.com