esKap31

Werbung
3. Busse zum Umfeld
Busse zum Umfeld von eingebetteten Systemen
3.1 Peripheriebusse
3.2 Feldbusse
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
1
3. Busse zum Umfeld
Kommunikation eingebetteter Systeme mit ihrem Umfeld
mittels individueller
Schnittstellen
(wie bisher betrachtet)
mittels eines Busses
reduziert Leitungsaufwand und
Kosten
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2
3. Busse zum Umfeld
Klassifizierung von Bussystemen:
• Systembusse
verbinden die internen Komponenten eines Mikrorechnersystems, sorgen für
eine möglichst schnelle Datenübertragung zwischen Prozessor, Speicher und
Ein-/Ausgabeeinheiten
• Peripheriebusse
Verbindung des Rechnersystems mit peripheren Geräte, Anschluß an den
Systembus über eine Steuereinheit
• Feldbusse (Prozessbusse)
Peripheriebusse mit gesteigerten Anforderungen bezüglich Zeitverhalten,
Robustheit, Sicherheit, ..., Anschluss an den Systembus ebenfalls über eine
Steuereinheit (z.B.: ProfiBus)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
3
3.1 Peripheriebusse
Peripheriebusse
Verbindung periphere Geräte mit dem Rechenkern eines
eingebetteten Systems, Anschluß an den Systembus des
Rechenkerns über eine Steuereinheit
Peripheriebus
Rechenkern
Speicher
Steuereinheit
Peripheriebus
PeripherieGerät 1
...
PeripherieGerät n
Beispiele: USB, SCSI, IDE, ...
Systembus
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
4
3.1 Peripheriebusse
3.1.1 USB
USB = Universal Serial Bus
Ziel: einfache Verbindung vieler peripherer Geräte über einen
seriellen Bus  Vermeidung des “Steckerdschungels”
üblicher serieller Verbindungen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
5
3.1 Peripheriebusse
USB – Architektur:
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
6
3.1 Peripheriebusse
Etwas detailliertere Darstellung:
Hub:
Verteiler, bietet Anschlüsse
für einen oder mehrere
weitere USB’s
Root-Hub:
erster Verteiler, üblicherweise
der PC
Compound Package:
Paket aus einem Hub und
einigen Devices
Device: Endgerät
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
7
3.1 Peripheriebusse
Beispiel für ein Compound Package:
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
8
3.1 Peripheriebusse
Es existieren zwei verschiedene USB Port
Typen:
Root (PC)
Upstream Port
Upstream Port:
Port an einem Endgerät
oder einem Hub zur
Verbindung mit dem
übergeordneten Hub
Hub
Downstream Ports
Downstream Port: Port an einem Hub zur
Verbindung mit einem
untergeordneten
Endgerät
oder Hub
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
Upstream Port
Device
9
3.1 Peripheriebusse
Physikalisches Übertragungsprotokoll
serielle, bitorientierte, synchrone, halbduplex-Datenübertragung
mittels 4-Draht Leitung:
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
10
3.1 Peripheriebusse
Stecker/Buchse:
Typ A
Typ B
(Downstream Port)
(Upstream Port)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
11
3.1 Peripheriebusse
Es existieren drei
Übertragungsgeschwindigkeiten:
Low Speed = 1,5 MBits/s
(USB 1.1)
Full Speed = 12 MBits/s
(USB 1.1)
High Speed = 480 MBits/s
(USB 2.0)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
12
3.1 Peripheriebusse
Physikalischen Übertragungsprotokoll:
Zwei Signalzustände J und K, die für Full Speed/High Speed
und Low Speed Übertragung invers definiert sind:
Full Speed/High Speed
J:
VD+ > VDK:
VD+ < VD-
Low Speed
J:
VD+ < VDK:
VD+ > VD-
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
13
3.1 Peripheriebusse
Zur Datencodierung wird das “Non Return To Zero Inverted”
(NRZI) Verfahren verwendet:
Gleichbleibender Signalzustand (J J oder K K )
Wechselnder Signalzustand ( J K oder K J)
= log. 1
= log. 0
Synchronisation
Zu Beginn jeder Informationsübertragung gibt es eine
Synchronisationsphase, in der ständig zwischen J und K
gewechselt wird
 Takt für die weitere Übertragung kann ermittelt und
synchronisiert werden
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
14
3.1 Peripheriebusse
Problem bei NRZI: lange 1 Folgen erzeugen ein konstantes
Signal  Taktsynchronität gefährdet
Abhilfe: Bit Stuffing
Nach 6 aufeinanderfolgenden 1-Bits wird zwangsweise ein 0-Bit
eingeführt (welches bei der Dekodierung dann ignoriert wird) =>
erzwungener Pegelwechsel
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
15
3.1 Peripheriebusse
Beispiel: Full-Speed/High Speed-Übertragung
0
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
0
16
3.1 Peripheriebusse
Beispiel: Low-Speed-Übertragung
0
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
0
17
3.1 Peripheriebusse
Unterscheidung Low-Speed/Full-Speed Devices:
Durch Pull-upWiderstand an
D- bzw D+
(sorgt für die
entsprechenden
Idle-Pegel, siehe
vorige Diagramme)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
18
3.1 Peripheriebusse
Unterscheidung High-Speed Devices:
Ein High-Speed Device firmiert zunächst als Full-Speed Device.
Unterscheidung beim Start des Datentransfers durch
unterschiedliche Sync-Sequenz:
Low-Speed/Full-Speed: K J K J K J K K
High-Speed: K J K J K J K J … K J K J K J K J K J K J K J K J K K
15 x K J
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
19
3.1 Peripheriebusse
Low-Speed, Full-Speed und High-Speed können daher auch
gemischt werden:
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
20
3.1 Peripheriebusse
Logisches Übertragungsprotokoll
Ein USB Device wird durch eine 7-Bit logische Adresse
identifiziert
Adresse 0 ist reserviert, ebenso benötigt der Root-Hub eine
Adresse => 126 Adressen stehen für weitere Devices zur
Verfügung
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
21
3.1 Peripheriebusse
Ein Device kann mehrere “Endpunkte” (= Datenquellen oder –
senken) realisieren:
Endpunkt 0:
bidirektionaler Endpunkt zur Konfiguration,
muß in jedem Device vorhanden sein
Endpunkte 1 – 15: optionale Daten-Endpunkte für Full-Speed /
High-Speed Devices
Endpunkte 1 –2:
optionale Daten-Endpunkte für Low-Speed
Devices
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
22
3.1 Peripheriebusse
Logische Sicht eines Devices:
Device, Adresse = XXXXXXX (z.B. 0011010)
Endpunkt 0: Konfiguration
Endpunkt 1: Datenquelle/senke (z.B. Modem)
Endpunkt 2: weitere optionale Datenquelle/senke
Endpunkt 3: weitere optionale Datenquelle/senke für Full Speed Devices ...
...
Endpunkt 15: weitere optionale Datenquelle/senke für Full Speed Devices
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
23
3.1 Peripheriebusse
Die Kommunkation zwischen Host und Endpunkten erfolgt über
sog. Pipes. Pipes stellen logische Verbindungen dar, für die z.B.
Bandbreiten reserviert werden können
Die Datenübertragung in Pipes erfolgt in Form von Transaktionen
Auf dem USB-Bus werden diese Transaktionen physikalisch
innerhalb von Frames (bzw. Mikroframes bei High-Speed
Übertragung) übermittelt.
Ein Frame (Mikroframe) kann mehrere Transaktionen aufnehmen
Frames (Mikroframes) bilden einen Zeitrahmen zur Synchronisation
und Bandbreitenreservierung
Dauer eines Frames :
1 msec
Dauer eines Mikroframes: 1/8 msec
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
24
3.1 Peripheriebusse
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
25
3.1 Peripheriebusse
Eine Transaktion besteht aus mehreren Paketen
Eine Transaktion am USB-Bus enthält ein Token-Paket,
Daten-Pakete und ein Handshake-Paket
Token:
dieses Paket kennzeichnet den Typ der Transaktion,
enthält Device Adresse und Endpunkt Nummer.
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
26
3.1 Peripheriebusse
Mögliche Tokens:
OUT:
Datenübertragung vom Host zum Device
IN:
Datenübertragung vom Device zum Host
SETUP:
Übertragung von Konfigurationsdaten
SOF:
Start of Frame, kennzeichnet den Beginn eines
neuen Frames. Alle Frames sind nummeriert
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
27
3.1 Peripheriebusse
Daten: diese Pakete enthalten die eigentlichen Daten einer
Transaktion
Datenpakete besitzen eine Typ, eine Länge, einen Inhalt und ein
CRC Feld
Mögliche Typen:
DATA0: alle ungeraden Datenpakete (Paket Nummer 1, 3, 5, ...)
einer Transaktion besitzen diesen Typ
DATA1: alle geraden Datenpakete (Paket Nummer 2, 4, 6, ...)
einer Transaktion besitzen diesen Typ
Beispiel:
TOKEN DATA0 DATA1 DATA0 DATA1 ...
Ein Datenpaket kann eine Länge zwischen 0 und 1kByte besitzen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
28
3.1 Peripheriebusse
Für High-Speed Übertragungen zusätzliche Daten-Tokens:
DATA2
MDATA
Sequenz für High-Speed IN-Transfers:
DATA0 DATA1 DATA2 DATA0 DATA1 DATA2 …
Sequenz für High-Speed OUT-Transfers:
DATA0 MDATA DATA1 MDATA MDATA DATA2 …
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
29
3.1 Peripheriebusse
Handshake:
dieses Paket enthält Informationen über den
Datenfluss
Mögliche Handshake Informationen:
ACK:
kennzeichnet den erfolgreichen Datentransfer
NACK:
kennzeichnet einen fehlgeschlagenen Datentransfer
STALL:
kennzeichnet einen ernsten Fehler im Device, der eine
Host-Interaktion (z.B. Neukonfiguration) erforderlich
macht, bevor die Datenübertragung fortgesetzt werden
kann
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
30
3.1 Peripheriebusse
Die folgenden Diagramme zeigen den Datenfluss einer
erfolgreichen IN und OUT Transaktion:
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
31
3.1 Peripheriebusse
Beispiel für fehlgeschlagene Transaktionen (NAK):
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
32
3.1 Peripheriebusse
Der USB ist ein Master Slave Bus mit genau einem Master,
dem Host
Alle Bus Transaktionen gehen vom Host aus
 keine Bus-Arbitrierung erforderlich
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
33
3.1 Peripheriebusse
Transfer-Typen am USB:
Control-Transfers:
kurze, nicht-periodische vom Host initiierte Transfers, meist
zur Übertragung von Kommandos oder Status-Information
Isochronous-Transfers:
periodische, kontinuierliche Kommunikation zwischen Host
und Device zur Übertragung zeitkritischer Daten
Bulk-Transfers:
nichperiodische Übertragung größerer Datenmengen, deren
Übertragung nicht zeitkritisch ist
Interrupt-Transfers:
niederfrequente Ereignisbehandlung mit beschränkter Latenz
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
34
3.1 Peripheriebusse
Um Devices die Möglichkeit zu geben, Ereignisse zu melden,
können in der Setup-Phase Devices als Interrupt-Devices mit
einer Interrupt Periode definiert werden.
Der Host garantiert dann eine Abfrage dieser Devices in der
gewünschten Periode, bleibt hierbei aber immer der Bus-Master
Die übertragenen Dateninhalte sollten hierbei klein gehalten
werden (z.B. die x/y Position einer USB Maus)
 ein Device wird niemals von sich aus am USB aktiv
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
35
3.1 Peripheriebusse
USB für eingebettete Systeme:
+ preiswert
+ definiertes Zeitverhalten
+ Energieversorgung (begrenzt) über Bus möglich
+ elektrisch und logisch robust
- mechanisch wenig robust
- kein Multimaster
- keine „echte“ Ereignisbehandlung
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
36
Herunterladen