Upload
adelbert-abegg
View
106
Download
3
Embed Size (px)
Citation preview
Technische Informatik I (SS 2006) 1
Teil 6: Schnittstellen und Busse
6a: Einführung
Technische Informatik I (SS 2006) 2
Bsp: Tastatur
Tastatur (MF-II) besitzt µ-Controller
Erzeugung von Scancodes(welche Taste wurdeangeschlagen ?)
1 code = mehr als ein Byte
Und: Empfang von Befehlen
dies ist einBussystem
Pinbelegung
Pin Nummer Beschreibung
1 CLK
2 Data
3 Reset (meist nicht belegt)
4 GND
5 + 5 Volt
Befehl
Beschreibung
EDh Ein- bzw. Ausschalten der LED´s einer MF-II Tastatur
EEh Rückgabe des Bytes EEh
F0h Identifikation des aktuellen Scancode-Satzes
F2h Tastatur wird identifiziert
F3h Einstellung für Wiederholung und Verzögerung der Tastatur
F4h Aktivierung der Tastatur
F5h Deaktivierung der Tastatur
F6h Aktivierung der Tastatur und Einstellung der Standartwerte
FEhNochmaliges Senden des letzten Zeichens an den Tastaturcontroller
FFh Tastatur-Reset
Technische Informatik I (SS 2006) 3
Definitionen von „Schnittstelle“
(siehe Duden) Vorrichtung zum Zweck des Informationsaustauschs
mit anderen Informationsverarbeitenden Systemen. Vereinbarungen, sogenannte Protokolle, über die Art und Weise,
wie Informationen ausgetauscht werden. Die Hardware-Schnittstelle wird beschrieben durch die Eigenschaft
der Übertragungsstrecke (Kabel, Stecker usw.) und durch die Art und Bedeutung der auf den Leitungen übertragenen Signale.
mechanische Eigenschaften: Steckerart, Steckerbelegung,Kabelart, max. Kabellänge
elektrische Eigenschaften: z.B. Signalpegel
funktionelle Eigenschaften: Protokoll
Technische Informatik I (SS 2006) 4
Definitionen
Bussystem: Mehrere Teilnehmer sind über eine Schnittstelle angeschlossen
Serieller BusoderParalleler Bus
Adressleitungen zum Adressieren des Teilnehmers (und ggfs. Unter-Adresse im Teilnehmer)
Schnittstelle
Bus
Netzwerke
Technische Informatik I (SS 2006) 5
Steckkarten
Als Backplane Keine aktiven Elemente Stromversorgung +
Terminierungen
Als Motherboard Bussystem
wird von hier kontrolliert Starke Integration
Technische Informatik I (SS 2006) 6
VME-Bus
Beispiel für einen PC mit VME-Bus
Technische Informatik I (SS 2006) 7
VME Bus
Ziel: Datenübertragung zwischen Karten (+ Prozessoren auf den Karten)
Bsp: Adressierung einesProzessors auf Einschub-Karte
„Bridge“-Chip, hier:SCV64 von Tundra
Technische Informatik I (SS 2006) 8
VME-Bus: Geschichte
VME = VERSAmodule Eurocard VERSAbus wurde 1979 von Motorola für 68000 entwickelt 1980 mit der robusten Europakarte verheiratet
(standardisierte Karten, Racks und Einschübe): MOStek, Phillips et al.
Orginalstandard mit 96-poligem DIN-Stecker, 3U Höhe und 16 Bit-Bus
Später: 6U mit 2 DIN-Steckern (J1 und J2) J1: 16 Daten-, 24 Adressbits
(wie 68000 Systembus) J2: weitere 16 Daten- und 8 Adressbits
(32/32Bit-Bus) Benutzerdefinierte Leitungen frei ! Erweiterungen: VME64, 64-bit
Technische Informatik I (SS 2006) 9
Master/Slave-Fähigkeiten
Master: Ist fähig, von sich aus Transfer zu initiieren. Bsp.: Prozessor
Slave: Muss warten, bis er von Master angesprochen wird. Bsp: EA-Geräte (mit Interrupt)
Adressleitungen müssen von Master getrieben werden können, bei Slave reicht Lesemöglichkeit.
System mit mehreren Mastern. Bsp: EA-Geräte sollen Master sein, um Daten ohne Prozessorzugriff zu transportieren (Netzwerk). DMA=Direct Memory Access
Wer darf Bus benutzen?
Technische Informatik I (SS 2006) 10
Arbitrierung
Bus
Gerät 1 Gerät 3Gerät 2
Arbiter
RE
Q1
AC
K1
RE
Q2
AC
K2
RE
Q3
AC
K3
Arbitrierung = Entscheidung, wer wird Master auf dem Bus ?
Technische Informatik I (SS 2006) 11
Arbitrierung #1: sternförmig
sternförmig 2 Möglichkeiten: Zentral: Ein Gerät ist Arbiter
Bsp: PCI
Dezentral: Alle Geräte sind gleichermassen Arbiter Teilnehmer wissen, wer Bus benutzt Funktionsbeispiel:
T2 hat Bus (REQ2=1). T1 will Bus (setzt REQ1=1). T1 darf erst senden,
wenn REQ2 von T2 =0 gesetzt wurde.
Technische Informatik I (SS 2006) 12
Arbitrierung #2: als Kette („Daisy Chain“)
REQ, BUSY sind Sammelleitungen (open collector) Teilnehmer ziehen REQ auf 0 bei Sendewunsch GRANT wird von T0 gesetzt Jeder Teilnehmer gibt GRANT weiter,
wenn kein Sendewunsch besteht Wenn Sendewunsch besteht,
wird GRANT geblockt, und BUSY gesetzt Vorteil: Beliebig erweiterbar Nachteil: Langsam,
und Steckplätze müssen alle belegt sein (oder aktive Stecker)
Technische Informatik I (SS 2006) 13
Bus-Treiber
Bus „treiben“ =Gate bzw. Transistormuß Bus mit Strom versorgen(~400uA)
Kurzschluß möglich ! Lösung #1:
Arbiter + Tristateausgang(LOW, HIGH, FLOAT)
Lösung #2:„Open Collector“ + Pull-Up-Widerstand
Busleitung nur=1, wenn alle Eingänge=0
Technische Informatik I (SS 2006) 14
Details VME-Bus
Slot 0 ist Arbiter Arbitrierung als Kette: Daisy-Chain Module haben Basisadressen (+Adressraum) Master legt Adressen (und Daten) an. Modul mit angesprochenen Adressraum
antwortet mit data transfer acknowledge (DTACK) oder Bus error (BERR)
„Adress modifier“ (AM0-5) Leitungen für diverse Protokolle (z.B. A24 oder A32)
„Data strobe“ (DS0-1) - Leitungen für Datenbreite Macht VME flexibel
Technische Informatik I (SS 2006) 15
(Chained-)Block-Transfer (CBLT)
VME-Bus Protokoll Master legt spezielle Adressleitung an. AM=0x0, A64 BLT-Transfer. Erstes Modul in einer Chain legt Daten auf allen 64 Bit an. Mit jedem DS kommt weiteres 64-Bit-Wort Master weiss nicht, wieviele Worte kommen. Wenn letztes Wort in Modul ausgelesen ist, gibt das Modul Token weiter Letztes Modul beendet Transfer mit BERR
Master
Karte 1
CBLT-Adr.
Daten
Token Karte 2Daten
Token
Schnelle Datenauslese aus
IO-Modulen
Technische Informatik I (SS 2006) 16
Teil 6: Schnittstellen und Busse
6b: Systembusse
Technische Informatik I (SS 2006) 17
Bussysteme im PC
Technische Informatik I (SS 2006) 18
Technische Informatik I (SS 2006) 19
Technische Informatik I (SS 2006) 20
Technische Informatik I (SS 2006) 21
Technische Informatik I (SS 2006) 22
Historie PC-Bussysteme
Bus Jahr Datenbreite Geschwindigkeit
Max. Datendurchsatz(theoretisch)
PC und XT 1980-82 8 bitsynchron mit CPU:
4.77 - 6 MHz4-6 MBps
ISA (AT)Einfacher Bus
1984 16 bit synchron8-10 MHz
8 MBps
MCA. Innovativer,intelligenter Bus von IBM
1987 32 bit asynchron10.33 MHz
40 MBps
EISA.Bus für Server
1988 32 bit synchronmax. 8 MHz
32 MBps
VL. Schneller Bus,in 486ern eingesetzt
1993 32 bit Synchron33-50 MHz
100-160MBps
PCI. Intelligenter,moderner schneller Bus
1993 32 bit Asynchron33 MHz
132 MBps
Technische Informatik I (SS 2006) 23
ISA-Bus
XT-Bus von IBM Verlängerung der Intel 8086-Anschlüsse 8 Daten- und 20 Adressleitungen; 4,77 MHz, 2 MByte/s Interrupt- und DMA-Kontroller (8 Interrupts, 4 DMA-Kanäle) 1984: Erweiterung auf 16 Daten- und 24 Adressbit des Intel 80286 zum
AT-Bus 1991 als ISA-Bus von IEEE genormt (IEEE P(reliminary)996) zusätzliche Interrupt- und DMA-Leitungen (jeweils zwei Kontroller) steckerkompatibel
zu XT-Bus (62+36 Pins) bis 80386 noch als Systembus,
heute als langsamer I/O-Bus 16 Bit Datenbus,
24 Bit Adressbus, 8 MHz
Technische Informatik I (SS 2006) 24
Bussysteme, mittlererweile nicht mehr benutzt Micro Channel Architecture (MCA)
1987 von IBM als ISA-Nachfolger für PS/2-Rechner entwickelt moderner 32-Bit-Bus; restriktive Lizenzpolitik 32 Daten- und 32 Adressleitungen nicht kompatibel mit ISA (keine ISA-Steckplätze)
EISA (Extended-ISA-Bus) 1989 als Antwort von 9 PC-Herstellern
(Intel, HP, u.a.; Vorsitz: Compac) auf die Lizenzpolitik für den IBM MCA 32-Bit-ISA-Erweiterung hoher Hardwareaufwand, teuer aber stecker-kompatibel mit ISA
VESA Local Bus zunächst verschiedene, inkompatible 16-Bit Local-Bus-Implementierungen
mit auf Motherboard integrierten Graphikkarten (später auch Steckkarten) Versuch der Normierung durch
VESA = Video Electronics Standard Association. Wunsch: schneller, billiger 32-Bit-Bus (Konkurrent zu EISA) keine Entkopplung von CPU und VL-Bus, um Kosten zu sparen max. 3 Geräte am Bus 116-poliger Stecker, identisch zu MCA
Technische Informatik I (SS 2006) 25
PCI-Bus (Peripheral Component Interconnect)
Intel-Konkurrent zu VESA Local-Bus
streng entkoppelt vom CPU-Systembus
auch in anderen Systemenz.B. Mac/PowerPC
Version 1.0: 32-Bit Version 2.0: 64-Bit
32/64 Daten- und Adressleitungen
wenige Signale (48-Pin-/94-Pin-Stecker)
max. 10 Geräte (incl. CPU-Bridge) mit je max. 10 pF/Leitung
max. 3 Steckplätze Bus-Hierarchie:
z.B. PCI SCSI
Technische Informatik I (SS 2006) 26
„Plug+Play“
Konfiguration und Speicherbereich einer Karte wird während des Boot-Vorgangs ausgelesen
Speicherbereiche werden der Karte mitgeteilt Zudem: Product+Vendor-ID
ISA
PCI
AGP
Technische Informatik I (SS 2006) 27
PCI-Bus: Interrupts
4 Interrupts Leitungen A-D möglich Von einfachen Karten
nur A verwendet
Technische Informatik I (SS 2006) 28
AGP (Accelerated Graphics Port)
1997 vorgestellt „Spezieller“ PCI-Slot (PCI 2.1 mit 66MHz) DIME=„Direct Memory Execution“
Technische Informatik I (SS 2006) 29
PCI-Express
u.a. für Graphikkarten auch 3GIO genannt kein BUS,
sondern Punkt-zu-Punkt-Netzwerk Kommunikation durch
bidirektionale "Lanes" 1,2,4,8,16 Lanes,
meist 20 pro Mainboard (außer Server)meist 1x16 (AGP-Ersatz) und 4x1
Technische Informatik I (SS 2006) 30
Zusammenfassung
Systembusse am Anfang Weiterführung der Prozessorleitungen (Daten, Adressen, Steuerleitungen) siehe Von-Neumann oder Harvard-Architektur
Beispiele: ISA, PCI, heute Bushierarchie PCI: Selbstkonfigurierender Bus,
32/64 Bit, Daten und Adressen gemultiplext Weniger Leitungen, billigere Karten
Nachfolger: PCI-Express, serieller Bus (benötigt Switch), eher "Netzwerk" als Prozessorbus
Technische Informatik I (SS 2006) 31
Teil 6: Schnittstellen und Busse
6c: Serielle Busse
Technische Informatik I (SS 2006) 32
Serielle Busse: Begriffe (1)
Serielle Übertragung: nur eine Datenleitung,
d.h. Bits werden hintereinander geschickt Umwandlung bits byte
durch z.B. Schieberegister
Simplex-Modus: nur eine Richtung Duplex-Modus: 2 getrennte Kanäle Half-Duplex-Modus:
Ein Kanal zum Senden/Empfangen, abwechsend Braucht weitere Steuersignale, bzw. -zeichen
(z.B. Token)
Technische Informatik I (SS 2006) 33
Serielle Busse: Begriffe (2)
Handshake Empfänger kann Senden anhalten Hardware-Handshake durch weitere Leitungen
(Bsp.: V.24, DSP-Linkports) Software-Handshake durch spezielle Zeichen
(Bsp.: XOFF/XON)
„Single-Ended“ Übertragung: Nur Spannungspegel auf einer Leitung
„Differentielle“ Übertragung: 2 Leitungen pro Signal
Technische Informatik I (SS 2006) 34
Differentielle Übertragung
nutzt 2 Leitungen für 1 Signal reduziert Störanfälligkeit
Technische Informatik I (SS 2006) 35
I²C-Bus
Inter-IC or I2C-bus Entwickelt in den 80ern von Philips
Um Bausteine in einem Fernseher zu verbinden
Wird mittlerweile von >50 Herstellern in >1000 Applikationen genutzt(z.B. Auslese von Temperatursensoren)
Quasi-Standard im Bereich "embedded Systems" Einfacher serieller Bus
mit nur 2 bidirektionalen Leitungen SDA: Serial DAta SCL: Serial CLock
Technische Informatik I (SS 2006) 36
I²C-Bus Temperatursensor
Technische Informatik I (SS 2006) 37
I²C-Bus
7 Geräte adressierbar Master startet mit START-Bedingung
StartStart Bedingung: Master Chip setzt zuerst die SDA (data) line low, and dann the SCL (clock) line low.
StopSTOP Bedingung: Master Chip setzt zuerst SCL und dann SDA line high.
Technische Informatik I (SS 2006) 38
I²C-Bus
Schreiben: Master legt Adresse an setzt Richtungsbit
(masterslave oder slavemaster) Gerät antwortet mit ACK-Signal (nach jedem Byte)
AdresseGeräte-
Sub-Adresse
R/W
Daten
Start
0 1 0 0 x x x 0ACK
x x x x x x x xStop
Technische Informatik I (SS 2006) 39
I²C-Bus Features
Multi-Master Kollisionserkennung Open Collector 100 kBit/s (normal) 400 kBit/s (fast) 10-Bit-Adressen
Technische Informatik I (SS 2006) 40
Genormte serielle Schnittstellen
Seriell: V.24/V.28 - RS 232C Ursprünglich:
für Modem-Übertragung Heute: Kopplung von
Mikrocomputern untereinander V.24 normiert
Definition der Leitungen V.24 normiert die elektrischen Eigenschaften
RS-232 beschreibt funktionelle und elektrische Eigenschaften
9-poliger oder 25-poliger Stecker 3 Leitungen würden ausreichen –
Rest für Komfort und Betriebssicherheit
Technische Informatik I (SS 2006) 41
RS-232
Punkt-zu-Punkt-Verbindung (auch V.24) Mindestleitungen:
TXD für Transmit RXD für Receive Ground (Masse) als Bezugspunkt
0/1 ist +/-12 V
25 polig Sub-D
9 polig Sub-D
Bezeichnung Signalbeschreibung
1 - Shield Schirmleitung vom Kabel
2 3 Transmit (TxD) Sende-Daten vom PC zu Modem
3 2 Receive (RxD) Empfangs-Daten von Modem zu PC
4 7 Request To Send (RTS) PC zeigt an, daß er senden möchte
5 8 Clear To Send (CTS) Modem zeigt an, daß PC senden darf
6 6 Data Set Ready (DSR) Modem signalisiert, daß es bereit ist
7 5 Signal Ground GND Null-Bezugspunkt
8 1 Data Carrier Detect (DCD) Daten können empfangen werden
20 4 Data Terminal Ready (DTR) PC ist betriebsbereit
22 9 Ring Indicator (RI) Klingelzeichen
Technische Informatik I (SS 2006) 42
RS-232 in der Praxis
Software-Handshake
XON/XOFF-Protokoll Datenanforderung
der Empfangsstation durch XON-Code (ASCII 17): Empfangsbereitschaft
Datenübertragung wird gestoppt durch XOFF-Code (ASCII 19)
Unterbrechung bis zum nächsten XON-Zeichen
3 Leitungen notwendig (TxD, RxD, SG)
Nullmodem-Kabel(Tx und Rx sind gekreuzt)
Technische Informatik I (SS 2006) 43
UART
Baustein: UART: Universal Asynchronous
Receiver-Transmitter keine Clock gesendet
(Rx und Tx haben eigene Clock) benötigt Start und Stop-Bits
USART: Universal Synchronous and Asynchronous Receiver-Transmitter benötigt Clock Leitung
Technische Informatik I (SS 2006) 44
Modem
MOdulator-DEModulator Modulieren eines
Trägersignals (z.B. Telefonleitung), um digitale Daten (z.B. eines UARTs) zu enkodieren
mit Protokoll-Definitionz.B. AT-Kommandos („Attention“)
Einfacher Zugriff über TTY (Terminal TeleType)
Motorola Modem28.8kbit/s
Technische Informatik I (SS 2006) 45
TTY-Schnittstelle
Auf seriellen Schnittstellenkarten findet man häufig vier zusätzliche Leitungen
+20 mA out, -20 mA out, +20 mA in, -20 mA in, die als TTY- bzw. 20mA-Stromschleifenschnittstelle
bezeichnet werden. ursprünglich zur Ansteuerung mechanischer Fernschreiber
(TeleTYpe). max. 4800 bits/s
Technische Informatik I (SS 2006) 46
RS-422 & RS-485
Differentielle Übertragungssignale Zuordnung Differenzspannung zu logischem Zustand ist wie folgt
definiert: A - B < -0,3V = MARK = OFF = Logisch 1 A - B > +0,3V = SPACE = ON = Logisch 0
RS-422: Unidirektional mit bis 10 Empfängern Übertragungs-Geschwindigkeit >200kBit/s
bzw. Signallaufzeit >halbe Bitzeit Terminierung in der Größenordnung der Kabelimpedanz
(Twisted Pair 100-200).
RS-485: Bidirektionaler Bus mit bis 32 Teilnehmern PullUp/Down-Widerstände zwingend,
um Pegel für nicht-Sendezeit zu halten Terminierung am Bus-Ende
Technische Informatik I (SS 2006) 47
RS-422 vs. RS-485
Unidirektional, ein Empfänger
Bidirektional, mehrere Empfänger
Achtung bei langen Kabeln: PotentialdifferenzSender-Empfänger
Technische Informatik I (SS 2006) 48
Parallel: Centronics
Druckerschnittstelle der Druckerfirma Centronics
Quasistandard (d.h. keine IEEE Norm!)
36-poliger AMP-Stecker der Firma Amphenol
alle Signale sind TTL-kompatibel (max. Leitungslänge: 2 ... 5 m)
IBM-PC verwendet aber 25-poligen Cannon-Stecker wie bei RS-232
1994 Drucker-Parallelschnittstelle IEEE 1284-Normbis zu 2 MByte/s halbduplex in beide RichtungenCentronics-Leitungen mit geänderten Bezeichnungen und Funktionen
Technische Informatik I (SS 2006) 49
USB (Universal Serial Bus)
1995 Ansatz: eine neue Schnittstelle soll alle anderen Schnittstellen/IO-Bussysteme ersetzen
SternförmigerAufbau mitmehreren Ebenen max. 7 Ebenen
(d.h. max. 7 Hubs) und 127 Funktionen
Differentielles Kabel 0.0-0.3 V = LOW
2.8-3.6 V = HIGH
Technische Informatik I (SS 2006) 50
USB Stecker eindeutig
für Up/Down-Seite(damit nicht aus Versehen +5V an GND verbunden)
Stifte für Stromversorgung länger (wichtig für „Hot Plug“)
Stromversorgung bis 500mA Übertragungmodus:
zumeist isochrondefinierte Datenrate(d.h. Übertragungsdauer vorhersagbar)
aber kein Handshake(d.h. einfaches Übertragungsprotokoll, aber Datenverlust ist möglich, Parity Check notwendig)
andere Übertragungsmodi:control (für Status-Meldungen),bulk (für hohe Datenmengen), interrupt (für feste Latenz)
Power pairPower pair
Differential Signal pairDifferential Signal pair
Technische Informatik I (SS 2006) 51
USB-Protokoll
Host (= Master) leitet alle Transaktionen ein durch Generierung eines Tokens
1. Adresstoken mit gewähltem Endgerät und Richtung
2. Datenpaket
Technische Informatik I (SS 2006) 52
USB-Bandbreite / Plug & Play
USB 1.0 / 1.1 12 Mb/s Full Speed (FS) Bitrate 1.5 Mb/s Low Speed (LS) Bitrate
z. B. für Tastatur, Maus
USB 2.0 (Mai 2000) Zusätzlich: 480 Mb/s High Speed (HS) für USB-Festplatten, Brenner, Video
“Enumeration” nach Einstecken wird Geräteadresse ermittelt Autokonfiguration (Plug & Play)
Technische Informatik I (SS 2006) 53
Zusammenfassung
Serielle Busse: hauptsächlich für Peripheriegeräte verwendet
„Alte“ serielle Schnittstelle (COM-Port): für Modem entwickelt (V.24-Norm), RS-232 für elektrische Eigenschaften
Weitere Industrienorm (für Embedded Systems) I²C
Neue Entwicklung: USB Hot-Plug Steuerung mit Token
Technische Informatik I (SS 2006) 54
Zusammenfasung: Bus-Systeme in einem PC