Schnittstellen
Schnittstellen
Einführung
Beim Betrieb eines Computersystems werden neben dem Computer als Zentraleinheit die verschiedenartigsten zusätzlichen (peripheren) Geräte, Drucker, Terminals, Harddisk, Meßgeräte usw., eingesetzt. Jeder Benutzer eines Computersystems wird spätestens beim Anschluß eines weiteren Gerätes (im allgemeinen Drucker oder Modem) mit dem Begriff „Schnittstelle“ konfrontiert. Mit einer Schnittstelle ist also eine Verbindung vom Computer zu einem anderen Gerät hergestellt, über welche eine Übertragung abläuft.
Der Computerbesitzter kennt auch die wesentliche Funktion einer Schnittstelle, die Kommunikation zwischen Computer und beispielsweise einem Drucker. Die Steuerung bzw.
die Kommunikation mit anderen Geräten über eine Schnittstelle (engl. Interface, wörtl. Übersetzt „Zwischengesicht“) übernimmt im Allgemeinen der Computer, der dazu seinerseits bestimmte Voraussetzungen benötigt.
Schnittstellen bestehen allgemein aus Hardwarebindegliedern zwischen einzelnen Geräten. Neben dem Hardwareaufbau ist außerdem die Steuerung der Übertragung von Nachrichten zwischen den Geräten notwendig, die durch die Software geregelt wird. Nur in Verbindung mit einem Hardwareaufbau und einer entsprechenden Software lassen sich Schnittstellen betreiben.
Diesen Zusammenhang zwischen Hard- und Software, durch den eine Schnittstelle vollständig definiert ist, zeigt die folgende Abbildung. Die Ausdrücke Schnittstelle und Interface werden häufig im Sprachgebrauch als synonyme Ausdrücke verwendet.
Struktur von SchnittstellenDerart definierte Schnittstellen erlauben eine Kommunikation zwischen zwei Geräten, wobei auch die Mikrocomputer im Regelfall mehrere Schnittstellen enthalten und damit zum Datenaustausch mit anderen Systemen geeignet sind.
Da es bekanntlich die unterschiedlichsten Computertypen und Peripherien gibt, beinhalten genormte Schnittstellen auch die Fähigkeit, diese Geräte zu verbinden. Die in der Abbildung dargestellten Komponenten, Hard- und Software, sind bei allen Übergängen von einem Computer zu einem anderem Gerät zu unterscheiden. Der Hardwareaufbau umfaßt alle hier als physikalische Elemente definierten Eigenschaften, wie Schaltungsaufbau, elektrische Eigenschaften usw.
Die Software umfaßt die Ansteuerung der Ausgangsbausteine und gehört in den Bereich der Betriebssoftware eines Computers.
Da alle Informationen durch Daten übermittelt werden, ist es zunächst notwendig, einige Grundlagen der Datenübertragung kennenzulernen.
Mit Daten wird die Gesamtheit aller Informationen bezeichnet, die mit dem Computer erfaßt und bearbeitet werden können.
Grundlagen der Datenübertragung
Nach der allgemeinen Einführung in Schnittstellen werden in diesem Kapitel die grundlegenden Eigenschaften und Merkmale der parallelen und seriellen Datenübertragung besprochen. Darüber hinaus werden einige Themen im Zusammenhang mit Schnittstellen und Datenkommunikation betrachtet.
Die parallele Datenübertragung
Diese Übertragungsart ist im wesentlichen dadurch gekennzeichnet, daß die einzelnen Bits eines Datenwortes gleichzeitig (=parallel), mit Hilfe einer Taktleitung, übertragen werden können.
Dieser Modus wird daher auch als bitparallele Datenübertragung bezeichnet und läßt sich folgendermaßen darstellen:
Parallele DatenübertragungDie Abbildung zeigt die parallele Übertragung eines Datenwortes. Das Prinzip der parallelen Datenübertragung ist vorallem durch den Druckeranschluß mit Hilfe einer Centronics-Schnittstelle weit verbreitet. Als weiteres Beispiel kann die Datenübertragung eines Floppy bzw. Harddisk-Controllers genannt werden. Sie ermöglicht im Vergleich zur seriellen Übertragung eine höhere Übertragungsgeschwindigkeit.
Die serielle Übertragung
Im Unterschied zur vorherigen Übertragungsart werden in diesem Modus die zu übertragenden Daten hintereinander (=seriell) übertragen.
Die nächste Abbildung zeigt diese Abfolge einer bitseriellen Übertragung (auch als Bitstrom bezeichnet), die mit dem gleichen Datenwort wie im vorherigen Beispiel dargestellt ist, und bei der das niederwertigste Bit (LSB) zuerst übertragen wird.
Serielle Übertragung
Synchrone Übertragung
Ein grundsätzliches Problem einer seriellen Übertragung ist die Bestimmung des Zeitpunktes, zu dem die zu übertragenen Daten von einem Empfänger übernommen werden können. Es handelt sich hierbei um eine Synchronisierung, um die zeitliche Abstimmung (auch als Gleichlaufverfahren bezeichnet) zwischen Sender und Empfänger. Die folgende Abbildung benutzt noch einmal das vorherige Beispiel, in dem zur Synchronisation ein Zeittakt mitgeführt wird. Diese Übertragungsart wird synchrone Übertragung genannt.
Taktung der seriellen ÜbertragungDas Kennzeichen einer synchronen Übertragung ist, daß Sende- und Empfangstaktoszillatoren genau aufeinander synchronisiert werden.
Wahlweise kann dies durch eine zusätzliche Taktleitung oder durch Synchronisationszeichen am Anfang der Übertragung realisiert werden.
Abtastzeitpunkte der seriellen Übertragung.Es werden jeweils mehrere Datenwörter zu einem Datenblock zusammengefaßt und innerhalb eines bestimmten Zeittaktes übertragen. Der Beginn und das Ende der Übertragung werden durch Einfügen von sogenannten Steuerzeichen gekennzeichnet, wie es der nächsten Abbildung dargestellt ist.
Synchrones Datenformat der seriellen ÜbertragungBei der synchronen Übertragung wird also der Gleichlauf zwischen Sender und Empfänger nur einmal zu Beginn der Übertragung eines Datenblockes hergestellt. Im obigen Beispiel sind am Anfang und Ende eines solchen Datenblockes verschiedene Steuerzeichen eingefügt, die das Format dieser Übertragung kennzeichnen.
Durch das Benutzen verschiedener Steuerzeichen lassen sich Datenformate unterscheiden.
Im hier angeführten Beispiel erkennt der Empfänger den Beginn der Übertragung durch das Zeichen SYN (=Synchronus), wobei auch mehrere SYN-Zeichen dem zu übertragenden Datenblock vorangestellt werden können. Das Ende der Übertragung wird durch ein Ende-Zeichen (ETB=End of Transmission) markiert.
Asynchrone Übertragung
Bei einer asynchronen Übertragung wird keine zusätzliche Taktleitung benötigt. Die Datenübernahme wird selbständig von Empfangsoszillator bestimmt, welcher vor Beginn jeder Übertragung auf den Sendeoszillator mit Hilfe von Steuerzeichen eingestellt werden muß. Der wesentliche Unterschied zur synchronen Übertragung ist, daß keine wirkliche Synchronisation, sondern nur ein ungefährer Gleichlauf zwischen Sende- und Empfangstakt in der Größenordnung von ±3% stattfindet.
.
Daher kann bei der asynchronen Übertragung nur für die Dauer eines Zeichens synchronisiert werden, wobei aber auch hier wieder das erste Bit des zu übertragenden Zeichens erkannt werden muß. Hierzu wird am Beginn der Übertragung ein Startbit und jeweils am Ende die Stopbits (1, 1.5, 2) eingefügt. Die Möglichkeit einer Übertragungskontrolle kann durch das einzufügende Paritätsbit erreicht werden. Insgesamt erhält man folgendes Format einer asynchronen Übertragung:
Asynchrones Datenformat der seriellen ÜbertragungMan bezeichnet diese asynchrone Übertragung deshalb als eine Start/Stop-Prozedur, da die Synchronisierung nur für einen kurzen Zeitraum gültig ist.
Wichtig ist bei der Benutzung des asynchrones Formates das Abstimmen der Übertragungsparameter (Anzahl der Daten- und Stopbits, Paritätsprüfung und Baudrate), die sowohl bei Sender als auch Empfänger für eine korrekte Übertragung übereinstimmen müssen.
Für die asynchrone Übertragung wird im Gegensatz zur Synchronen keine zusätzliche Taktsteuerung benötigt.
Zeichenweise Informationssicherung (Paritätsprüfung)
Eines der am einfachsten zu realisierenden Sicherungsverfahren ist die Methode einer Paritätsprüfung. Zur Informationssicherung der zeichenweisen Übertragung wird einem Datenwort ein weiteres Bit, das sogenannte Paritätsbit, angehängt, und je nach Vereinbarung wird eine Überprüfung auf gerade oder ungerade Parität vorgenommen. Die beiden Möglichkeiten sollen die nächsten Beispiele verdeutlichen.
Asynchrones Format (gerade Parität)Die Abbildung zeigt das asynchrone Format mit einer geraden Paritätsprüfung (even parity).
Ist die Anzahl der HIGH-Bit gerade, so ist das Paritätsbit 0.
Ein Beispiel des asynchrones Formates mit ungerader Paritätsprüfung zeigt die folgende Abbildung:
Asynchrones Format (ungerade Parität)Die Auswertung des Datenwortes für eine ungerade Paritätsprüfung erfolgt analog zur geraden Paritätsprüfung. Ist die Anzahl der HIGH-Bits ungerade, so ist das Paritätsbit 0.
Eine Paritätssicherung läßt ab er keine Fehlererkennung bei einem möglichen Wechsel einer gleichen Anzahl an Bits zu. Das Paritätsbit bleibt in diesem Fall gültig und der aufgetretene Fehler ist somit nicht erkennbar.
Wandlung der seriellen und parallelen Übertragung
In der Praxis ist es oft notwendig, einen Übergang von einer seriellen bzw.
parallelen Übertragungsart herzustellen, um verschiedene Datenstationen oder Datenendgeräte zu verbinden, die nur in einem Modus kommunizieren können. In einem Computersystem werden die Daten parallel verarbeitet, so daß bei der Anwendung einer seriellen Übertragung grundsätzlich eine Wandlung vorgenommen werden muß. Das Prinzip einer solchen Wandlung zeigen die nächsten beiden Abbildungen.
Parallel/Seriell-WandlungDie Umkehrung des vorherigen Prinzips zeigt die folgende Abbildung, wobei auch hier kein Vertauschen des Bitstroms erfolgen darf.
Seriell/Parallel-WandlungDie Aufgaben der dargestellten Übergänge werden durch Schieberegister vorgenommen, die in die Schnittstellenbausteine zur seriellen Übertragung integriert sind.
Übertragungsparameter der seriellen und parallelen Übertragung
Neben den allgemeinen Unterschieden der parallelen und seriellen Übertragung sind noch weitere Parametergrößen wichtig, von denen zunächst die Übertragungsgeschwindgkeit behandelt wird.
Die Übertragungsgeschwindigkeit läßt sich allgemein als die Zeit angeben, in der binäre Kenngrößen übertragen werden und deren Einheit in Bit pro Sekunde [bit/s] ist.
Die Übertragungsgeschwindigkeit (Vd) läßt sich mit folgender Formel berechnen:
m Anzahl der Übertragungskanäle
Ts Schrittdauer im Kanal in Sekunden
ni Anzahl der diskreten Zustände im Kanal
Schrittgeschwindigkeit (Baudrate)
Eine wichtige Größe für die Betrachtung der Übertragungsgeschwindigkeit ist die Angabe der Schrittdauer (Impulsdauer) für einen Kanal. Es handelt sich hierbei um die Schrittgeschwindigkeit, die die Anzahl der Bit pro Sekunde angibt, die übertragen werden. Die nächste Abbildung zeigt für binäre Signale die Darstellung von Schrittwerten (Ts).
Die Schrittgeschwindigkeit ist der Kehrwert des Schrittwertes und gibt die Zahl der pro Sekunde übertragenen Signalschritte an. Die Einheit der Schrittgeschwindigkeit wird auch als Baudrate bezeichnet (Baud ist die Abkürzung für den französischen Telegrapheningenieur Baudot).
Für die serielle Übertragung können, mit der Annahme, daß nur zwei Logikzustände verwendet werden, die Übertragungsgeschwindigkeit und die Baudrate folgendermaßen berechnet werden:
Unter den Bedingungen, wie sie bei der V.24-Schnittstelle gegeben sind, sind Übertragungsgeschwindigkeit und Baudrate identisch.
Zeichengeschwindigkeit
Die Geschwindigkeit einer Übertragung wird auch in Zeichen pro Sekunde angegeben und als Zeichengeschwindigkeit (Vz) bezeichnet. Um die Zeichengeschwindigkeit berechnen zu können, ist natürlich notwendig das Zeichenformat (Anzahl der Bits pro Zeichen) zu kennen.
Parametergrößen der parallelen/seriellen Übertragung
Handshakeverfahren
Im Zusammenhang mit Schnittstellen wird oft der Begriff Handshake benutzt. Dieser Begriff drückt aus, daß zwei Schnittstellen sozusagen „Hand in Hand“ arbeiten wobei bestimmt Prozeduren zur Kontrolle der Kommunikation benutzt werden.
Solche Prozeduren sind beispielsweise dazu notwendig, daß unterschiedlich schnell arbeitende Geräte geordnet kommunizieren können. Grundsätzlich lassen sich bei Schnittstellen folgende zwei Verfahren unterscheiden.
Softwarehandshake
Bei einem Softwarehandshake wird durch entsprechende Programmierung eine Kontrolle der Datenübertragung erreicht. In der Datenkommunikation sind verschiedene Protokolle von Bedeutung. Im Zusammenhang mit der V.24 Schnittstelle ist vor allem das XON/XOFF-Verfahren von Bedeutung, dessen Schema die folgende Abbildung zeigt.
Ablauf des XON/XOFF-Protokolls Als Beispiel kann die Datenübertragung zwischen einem Computer und einem Drucker betrachtet werden. Das Ausgabegerät empfängt die Daten beispielsweise mit 9600 bit/s gibt sie allerdings langsamer aus. Nach einer bestimmten Übertragungsdauer ist der interne Puffer natürlich voll und der Drucker sendet ein XOFF-Zeichen, damit die Datenübertragung unterbrochen wird. Ist der Drucker wieder zum Empfang bereit, signalisiert er dies durch das Zeichen XON.
Die Zeichen XON (Transmitter ON) und XOFF (Transmitter OFF) werden häufig durch die ASCII-Zeichen DC1 und DC3 repräsentiert.
Hardwarehandshake
Im Unterschied zur Übertragungssteuerung durch ein Programm und der Benutzung durch Steuerzeichen eines Codes dienen hier bestimmte Signalleitungen einer Schnittstelle.
Die Datenübertragung wird durch spezielle Steuerleitungen einer Schnittstelle geregelt, deren Zustände durch ein Impulsdiagramm dargestellt werden können.
Als Beispiel dient hier der Signalflußplan einer Centronics-Schnittstelle um den prinzipiellen Ablauf eines solchen Hardwarehandshakes zu verdeutlichen.
Hardwarehandshake
Steuerzeichen des ASCII-Codes
Der ASCII-Code ist ein 7-Bit-Code, mit dem 27 = 128 Zeichen dargestellt werden können. Eine Erweiterung dieses Codes ist zum Beispiel der IBM-Zeichensatz, mit dem sich 28 = 256 Zeichen darstellen lassen. Im Zusammenhang mit der Datenübertragung sollen hier einige Steuerzeichen betrachtet werden, die sich in folgende Gruppen einteilen lassen.
Übertragungssteuerzeichen
Formatsteuerzeichen
Gerätesteuerzeichen
Informationstrennzeichen
Codeerweiterungen
Sonstige Steuerzeichen
Übertragungssteuerzeichen
Diese Zeichen werden dazu benötigt, den Übertragungsablauf zwischen zwei oder mehreren Datenstationen zu steuern.
SOH
Kopfanfang
Start of Heading
Beginn einer Zeichenfolge
STX
Textanfang
Start of Text
Ende einer Zeichenfolge, die mit SOH oder STX begonnen hat, und Textstart für den Empfänger
ETX
Textende
End of Text
Ende einer Zeichenfolge, die mit SOH oder STX begonnen hat
EOT
Übertragungsende
End of Transmission
Ende einer Übertragung und Rücksetzen von Sender und Empfänger
ENQ
Stationsaufforderung
Enquiry
Anforderungsaufruf einer entfernten Station
ACK
Rückmeldung
Acknowledge
Empfänger zeigt einen fehlerfreien Empfang eines Datenblocks und signalisiert weitere Empfangsbereitschaft
DLE
Datenübertragungsmodus
Data Link Escape
Einleitung eines transparenten Übertragungsmodus
NAK
Negative Rückmeldung
Negative Acknowledge
Verneinende Antwort des Empfängers und Aufforderung zur wiederholten Übertragung eines fehlerhaften Blocks
SYN
Synchronisierung
Synchronus Idle
Dient zur Synchronisierung zwischen Sender und Empfänger
ETB
Ende der Übertragung
End of Transmission
Ende eines Übertragungsblockes und Hinweis, daß ein weiterer Block folgt
Formatsteuerzeichen
In diese Gruppe fallen Formatierungszeichen zur Steuerung der Ausgaben auf entsprechenden Ausgabegeräten, wie Zeilenschaltung, Vorschub, Tabulator usw.
BS
Rückschritt
Backspace
Rückbewegung der Schreibrichtung
HT
Horizontal-Tabulator
(Horizontal Tabulator)
Ansteuerung des nächsten horizontalen Tabulators
LF
Zeilenvorschub
Line Feed
Vorschub um eine Zeile
VT
Vertikal-Tabulator
Vertical Tabulator
Ansteuern des nächsten vertikalen Tabstops
FF
Vorschub
Form Feed
Seitenvorschub
CR
Wagenrücklauf
Carriage Return
Ansteuerung des Zeilenanfangs
Gerätesteuerzeichen
Mit diesen Steuerzeichen können Zusatzgeräte ein- und ausgeschaltet werden. Diesen Codes können auch andere Bedeutungen zugeordnet werden; sie wurden im Zusammenhang mit dem XON/XOFF-Protokoll erwähnt.
DC1
DC2
DC3
DC4
Gerätesteuerzeichen
Device Control Characters
Den einzelnen Steuerzeichen können verschiedene Bedeutungen zugewiesen werden.
Codeerweiterungen
In diese Gruppe fallen Zeichen, die den Zeichenvorrat erweitern können. Insbesondere dient der ESC-Code zur Ansteuerung vieler Geräte, wie z.
B. Drucker, Terminal usw.. Aus einer Vielzahl von Kombinationsmöglichkeiten soll hier der ANSI-Code genannt sein, der häufig für Bildschirmsteuerungen eingesetzt wird. Die Benutzung des ESC-Codes muß in den jeweiligen Handbüchern nachgelesen werden.
SO
Dauerumschaltung
Shift Out
Erweiterung der Datencodes
SI
Rückschaltung
Shift In
Rücksetzen aus der Erweiterung in den normalen Code
ESC
Umschalten
Escape
Erweiterung der Steuerzeichen
Betriebsarten der Datenübertragung
Bei einer Datenübertragung zwischen zwei Geräten können mehrere Betriebsarten unterschieden werden, die die Richtung eines Datentransports beschreiben.
Zur Vereinfachung und besseren Vorstellung der jeweiligen Übertragungsrichtung ist es üblich, die beteiligten Geräte als Sender und Empfänger zu bezeichnen. Die möglichen Betriebsarten (auch als Verkehrsarten bezeichnet) zeigen die nächsten Abschnitte auf. In der Datenfernverarbeitung werden zur Kennzeichnung dieser Betriebsarten auch häufig deren Abkürzungen benutzt, die hier hinter den Bezeichnungen stehen.
Betriebsarten zwischen Datenstationen
Simplex-Betrieb (sx)
Ein Simplex-Betrieb (one way) ist – wie der Name schon sagt – sie einfachste Form eines Datenaustausches zwischen zwei Datenstationen. In diesem Modus erfolgt der Datenaustausch nur in einer Richtung. Dabei befindet sich eine Datenstation ausschließlich im Sendebetrieb und die Gegenstelle im Empfangsbetrieb.
Da Kennzeichen dieser Betriebsart liegt also darin, das kein Wechselseitiger Datenaustausch erfolgt.
Simplex-Betriebsart
Halb-Duplex-Betrieb (hdx)
In einem Halb-Duplex-Verkehr (two way alternate) können beide Geräte (hier Sender und Empfänger) Daten austauschen. Es handelt sich hierbei um einen sogenannten „Wechselverkehr“, in dem die beteiligten Stationen abwechselnd entweder Sender oder Empfänger sind.
Halb-Duplex-Betriebsart
Voll-Duplex-Betrieb (vdx)
Dies ist eine Erweiterung des Halb-Duplex-Verkehrs. In dieser Betriebsart können beide Stationen gleichzeitig kommunizieren (two way), wobei hierbei weitere Datenleitungen zum Austausch benötigt werden (diese Betriebsart wird auch als Gegenbetrieb bezeichnet).
Voll-Duplex-BetriebsartGrundsätzlich könne bei den vorgestellten Betriebsarten ein (Haupt-) Datenkanal und ein zusätzlicher (Hilfs-) Datenkanal benutzt werden, so daß eine Erweiterung dieser grundlegenden Betriebsarten möglich ist.
Ein typisches Beispiel ist die Benutzung zweier Kanäle, die zum Beispiel durch Frequenzteilung bereitgestellt werden und unterschiedliche Übertragungsgeschwindigkeiten ermöglichen (siehe V.21-Schnittstelle).
Verbindungen zwischen Datenstationen
Die genannten Betriebsarten können entweder bei einem Datenaustausch zwischen zwei Geräten oder in der Kommunikation zwischen verschiedenen Teilnehmern vorkommen. Als eine wichtige Komponente einer Datenfernverarbeitung ist hierbei die Datenstation zu betrachten, deren Aufbau die folgende Abbildung zeigt. Datenstation nach DIN 44032
Als wichtige Komponenten sind die Datenendeinrichtung (DEE) und Datenübertragungseinrichtung (DÜE, Modem) zu nennen. Als weitere Komponente ist eine Schnittstelle eingetragen, die im Regelfall ein Bestandteil eines Computers ist.
Bei der Verbindung von Datenstationen oder DEE-Geräten werden die folgenden Konfigurationen unterschieden.
Einpunktverbindungen
Man unterscheidet in der Datenübertragung bzw. –fernverarbeitung allgemein zwischen Einpunktverbindungen (= Punkt zu Punkt) oder Mehrpunktverbindungen. Die nächsten Abbildungen sollen die jeweiligen Möglichkeiten dieser Verbindung im Zusammenhang mit den vorher besprochenen Betriebsarten aufzeigen.
Einpunktverbindungen
Mehrpunktverbindungen
Bei dieser Verbindungsart können mehrere Teilnehmer kommunizieren, deren Anschlüsse auf die verschiedensten Arten realisiert werden können. Das Prinzip einer solchen Konfiguration zeigt die nächste Abbildung.
Mehrpunktverbindungen
Kabelkunde
Um miteinander kommunizieren zu können, braucht man mehr als nur Schnittstellen. Man benötigt ein Übertragungsmedium: das Kabel. Die Übertragungssicherheit, also die Sicherheit, daß alle Daten so ankommen, wie sie abgeschickt wurden, hängt, vor allem bei weiten Übertragungsstrecken und hohen Übertragungsgeschwindigkeiten, stark vom verwendeten Kabel ab. Man unterscheidet in der Datentechnik zwischen verschiedenen Kabelarten, die in fünf Gruppen aufgeteilt werden.
In der mobilen Übertragungstechnik werden hauptsächlich flexible Leitungen (Litzen) verwendet. Diese haben den Vorteil, daß sie sehr beweglich und somit leichter zu handhaben sind.
Starre Leitungen, die prinzipiell die gleichen elektrischen Werte aufweisen, werden meist nur zur festen Verlegung verwendet.
Lichtleiter- oder Glasfaserkabel sind enorm leistungsfähig und gewinnen in der modernen Datenübertragung immer mehr an Bedeutung. Durch diese Leitungen werden keine elektrischen, sondern Lichtimpulse übertragen. Deshalb ist diese Kabel unempfindlich gegen alle elektrischen Störimpulse, von denen es in der Umgebung elektrischer Geräte nur so wimmelt. Bei den Lichtleitern unterscheidet man zwischen Mehrmoden- und Einmodenfasern. Die Unterscheidung erfolgt nach Art der Lichtübertragung.
Bei der Einmodenfaser existiert nur ein Lichtstrahl, der achsenparallel geführt wird. Deshalb haben alle Lichtwellen die gleiche Laufzeit (da gleicher Weg), und das Signal erscheint am Ausgang fast unverändert. Anders ist dies bei der Mehrmodenfaser. Hier teilt sich das Licht in mehrere Strahlen auf, die durch mehrmalige Reflexion am Rand des Lichtleiters durch diesen bewegt werden. Dadurch haben die Lichtwellen einen Laufzeitunterschied (da verschieden lange Wege), und das Signal erscheint etwas verbreitert am Kabelausgang. Diese Eigenschaften begrenzen die Bandbreite dieser Lichtleiter bei Mehrmodenfasern auf etwa 10-100 MHz und bei Einmodenfasern auf 5-50 GHz.
Da Licht, genau wie elektrischer Strom, eine Energieform darstellt, kann auch das Licht nicht verlustfrei übertragen werden – die Leistung bzw. die Intensität des Lichtes nimmt mit zunehmender Länge des Lichtleiters ab. Deshalb müssen hier bei der Übertragung über größere Strecken zusätzliche Verstärker eingebaut werden. Bei echten Glasfasern, die aber leider noch sehr teuer sind, liegen die Abstände für solche Verstärker bei 2-3 km. Bei viel billigeren, aber auch viel schlechteren Kunststoffleitern können sie nur etwa 20m ohne zusätzliche Pufferung überbrücken.
Bei den Kabeln mit metallischem Leiter entstehen zwei Probleme ganz besonderer Art.
Zum einen bildet sich um jeden stromdurchflossenen Leiter ein Magnetfeld, wodurch sich die einzelnen Leitungen durch die magnetische Kopplung beeinflussen, was eher ungünstig ist, wenn man getrennte Signale übertragen will. Da diese Eigenschaft erst bei hohen Frequenzen zum Tragen kommt, müssen auch erst bei diesen geeignete Gegenmaßnahmen ergriffen werden.
Kabeln für die unteren Frequenzbereiche, die für solche Gegenmaßnahmen nicht gerüstet sind, sind z.B. ein normales Rundkabel und ein Flachbandkabel.
Beim Rundkabel werden mehrere Leitungen parallel geführt und durch einen Kunststoffmantel zusammengehalten.
Diese Kabel wird oft für Steuer- und Regelzwecke verwendet. Aber auch für serielle Schnittstellen mit niedrigen Übertragungsraten ist es geeignet. Beim Flachbandkabel werden mehrere einzelne Kabeln nebeneinandergelegt und durch Kunststoffstege miteinander verbunden. Diese Kabel hat dieselben elektrischen Eigenschaften wie das Rundkabel, hat aber den Vorteil, daß es sich hervorragend für die direkte Montage von anpressbaren Steckern eignet.
Für höhere Frequenzen eigenen sich nur noch ganz besondere Kabeln. Zu denen gehören auch die sogenannten Twisted Pair Kabeln.
Bei Twisted Pair Kabeln (verdrilltes Leitungspaar) sind wie der Name schon sagt die Adern nicht mehr parallel geführt, sondern es sind jeweils zwei miteinander verdrillt.. Das Signal wird in eine hinlaufende und eine rücklaufende Komponente aufgeteilt, und die beiden Komponenten werden auf ein Adernpaar gelegt. Da der Stromfluß dieser Komponenten exakt entgegengerichtet ist, ist auch ihr Magnetfeld entgegengerichtet und die beiden Komponenten heben einander auf. Vorzugsweise wird dieses Kabel bei solchen Schnittstellen eingesetzt, bei denen schon Signale mit solchen getrennten Komponenten vorhanden sind.
Eine ebenfalls sehr elegante Lösung ist die Schirmung jeder Signalader durch einen leitenden Mantel, welcher auf 0-Potential gelegt wird.
Das abgestrahlte Magnetfeld sowie jedes Fremdmagnetfeld wird durch diese Schirmung abgefangen wodurch es der wirksamste aber auch zugleich der teuerste Schutz gegen Störungen ist. Solche Kabeln werden dort verwendet, wo es auf eine sehr gute Übertragungsqualität bei sehr hohen Signalfrequenzen ankommt, wie z. B. bei der Monitorschnittstelle.
Ein Kabel ist kein wertloses Medium, dessen elektrische Eigenschaften vernachlässigt werden können. Ein Kabel ist ein passiver Vierpol mit konstanten Kennwerten.
Wie man in der Ersatzschaltung erkennen kann stellt jedes Kabel einen Tiefpaß dar. Es gibt kein Kabel, das eine Ausnahme macht. Es gibt nur Kabeln die etwas besser als andere sind und deshalb sollte man immer auf die Kennwerte eines Kabels achten um möglichst geringe Signalverfälschungen zu erreichen.
Parallele Schnittstellen
Die Centrionics-Schnittstelle
Allgemeiner Überblick und Verwendungszweck
Die Centronics-Schnittstelle, oft auch parallele Druckerschnittstelle genannt, gehört wohl zu den bekanntesten parallelen Schnittstellen überhaupt. Sie ist heute fast in jedem PC vorhanden, wird aber auch in vielen anderen Computern, wie z. B.
im Amiga, Atari ST usw. eingesetzt. Dort wird sie meistens etwas modifiziert um besser mit der restlichen Hardware zusammenzuarbeiten. Diese Veränderungen müssen aber nicht störend oder schlechter sein. Oft bringen sie weitere nützliche Eigenschaften mit sich.
Die Centronics-Schnittstelle wurde vor einigen Jahren vom Druckerhersteller Centronics eingeführt und von anderen Herstellern übernommen.
Jahrelang existierte diese Schnittstelle ohne jemals genormt zu werden. Erst in den letzten Jahren wurde die Druckerschnittstelle komplett überarbeitet und in der Norm IEEE 1284 festgelegt.
Diese neue Druckerschnittstelle sollte mehrere Voraussetzungen erfüllen. Zunächst sollte sie voll kompatibel zu den bestehenden Druckerschnittstellen, sprich der „normalen“ und der PS/2-Druckerschnittstelle sein. Außerdem sollten zwei Vorschläge für eine komplett neue Schnittstelle einfließen. Schließlich wurde festgelegt, daß diese neue Schnittstelle, die landläufig nun als EPP bezeichnet wird, in vier Modi funktioniert.
Die Übertragung der Daten erfolgt immer bitparallel und byteseriell. Die maximale Entfernung zwischen PC und anzuschließendem Peripheriegerät ist begrenzt, da Leitungskapazitäten zu Kopplungen zwischen den Leitungen und Leitungsinduktivitäten zu Signalverformungen führen. Sie beträgt 8 m. Bei Leitungslängen über 3 m sollte man die Signalleitungen mit den jeweils im Stecker gegenüberliegenden Masseleitungen verdrillen (Twisted Pair Verdrahtung) oder ein Flachbandkabel verwenden, bei dem zwischen jeder Datenleitung eine Masseleitung verläuft. Die Übertragungsgeschwindigkeit ist hardwareabhängig. Sie kann theoretisch 1 MByte/s betragen, jedoch dürfte sich das nur bei einer maximalen Leitungslänge von 1 m realisieren lassen.
Ursprünglich war diese Schnittstelle für den Anschluß eines Druckers vorgesehen und wird in den meisten Fällen auch dafür verwendet. Es gibt aber noch ein größeres Anwendungsfeld für die parallele Druckerschnittstelle. Programme der gehobeneren Klasse nutzen die Centronics-Schnittstelle oft auch für einen Hardware-Kopierschutz, ein sogenanntes Dongel. Ein solches Dongel ist ein Modul, das einfach zwischen die Schnittstelle und das Druckerkabel gesteckt wird. Beim Programmstart überprüft das Programm, ob sein Dongel vorhanden ist und nur wenn das der Fall ist, wird dieses auch ausgeführt. Dies sind die beiden größten Anwendungsfelder der Centronics-Schnittstelle.
Mechanische und elektrische Daten
Bei den Steckverbindern der parallelen Schnittstelle unterscheidet man zwischen drei Typen. Die Centronics-Norm sieht einen 36-poligen Stecker (Amphenol-Serie 57) vor, der jedoch bei den meisten PCs durch einen 25-poligen Sub D Stecker ersetzt ist. Den Centronicsstecker gibt es in zwei verschiedenen Ausführungen. In der zur Zeit noch gebräuchlicheren großen Version haben die einzelnen Kontakte einen Abstand von 0,085 Zoll (ca. 2,2 mm). Befestigt wird der Stecker mittels zweier Drahtbügel, die von der Buchse aus den Stecker festhalten.
Die zweite Version ist etwas kleiner, hier haben die Kontakte nur 0,05 Zoll Abstand (ca.1,27 mm) voneinander. Auch die Besfestigungsmethode differiert etwas zu dem großen Vorbild. Hier hält sich der Stecker mit Hilfe zweier Blechbügel an seiner Seite an der Buchse fest. Die Pinbelegung der 36 Kontakte ist jedoch bei beiden Centronicssteckern gleich.
Signal-Bezeichnung
Pinnummer
25 pol.
Sub D
Pinnummer
36 pol. Centr.
Strobe
1
1
D0
2
2
D1
3
3
D2
4
4
D3
5
5
D4
6
6
D5
7
7
D6
8
8
D7
9
9
Acknowledge
10
10
Busy
11
11
Paper empty
12
12
Select
13
13
Auto Linefeed
14
14
Error
15
32
Reset
16
31
Select Input
17
36
Ground
18-25
19-30, 33
Signal-Ground
16
Chassis-Ground
17
+5V
18
Unbenutzt
34, 35
Zur Bedeutung der einzelnen Signale:
Strobe
Mit einem Low-Pegel an diesem Pin teilt der PC dem Drucker mit, daß ein Byte auf den Datenleitungen zur Übertragung bereitsteht
D0 bis D7
Datenleitungen
Busy
Einen High-Pegel sendet der Drucker, während er Daten übernimmt oder ausdruckt, wenn der Druckerpuffer voll ist oder der Drucker Off-Line ist
Paper Empty
Ein High-Pegel zeigt an, daß das Papier zu Ende ist
Select
Ein High-Pegel zeigt an, daß der Drucker aktiv (on line) ist
Auto Linefeed
(auch Autofeed) Durch einen Low-Pegel an diesem Pin veranlaßt der PC den Drucker, an jedem Zeilenende automatisch auch einen Zeilenvorschub auszuführen
Error
Durch ein Low an diesem Pin meldet der Drucker, daß ein Fehler vorliegt, daß das Papier zu Ende oder der Drucker Off-Line ist
Reset
Durch ein Low an diesem Pin läßt sich der Drucker in einen definierten Anfangszustand bringen (initialisieren)
Select Input
Durch ein Low wird der Drucker vom PC angesprochen
Anhand der Beschreibung der Wirkung der einzelnen Signale kann man erkennen, daß sich die Schnittstellensignale in drei Gruppen einteilen lassen: die Signale, die vom PC ausgehen und den Drucker steuern, bilden die Steuersignale, diejenigen, die Rückmeldungen vom Drucker an den PC liefern, bilden die Statussignale und diejenigen, die die einzelnen Bits des jeweils zu druckenden Zeichens übertragen, bilden die Datensignale.
Um die Schnittstelle für Schaltungen der Meß-, Steuer- und Regeltechnik einzusetzen, muß man sich die Zuordnung der Pins zu den Registern und die Adressen, mit denen sie softwaremäßig ansprechbar sind, ansehen.
Die Schnittstellenleitungen der Parallelschnittstelle sind drei verschiedenen 8-Bit-Registern zugeordnet:
Datenregister
Steuerregister (Basis +01h)
Statusregister (Basis +02h)
Schnittstelle
Datenregister
Statusregister
Steuerregister
1
3BCh
3BDh
3Beh
2
378h
379h
37Ah
3
278h
279h
27Ah
4
2BCh
2BDh
2BEh
Registeradressen der Parallelschnittstelle
Wie die Abbildung zeigt führen die acht Datenleitungen zum Datenregister, die vier Steuerleitungen zum Steuerregister und die fünf Statusleitungen zum Statusregister. Beim Steuerregister ist noch ein weiteres für die Schnittstelle verwendetes Bit zu erkennen, das jedoch keine Verbindung zum Stecker hat.
Diese Bit kann zur Auslösung eines Interrupts in Verbindung mit der ACK-Leitung verwendet werden.
Basis +00h
Modus
Out
Bit 0..7
Nicht invertiert
Data 0..7
Basis +01h
Modus
In
Bit 3
Invertiert
/Error
Bit 4
Nicht invertiert
Select
Bit 5
Nicht invertiert
PE
Bit 6
Invertiert
/Acknowledge
Bit 7
Invertiert
Busy
Basis +02h
Modus
Out
Bit 0
Nicht invertiert
/Strobe
Bit 1
Nicht invertiert
/AutoFedd
Bit 2
Invertiert
/Init
Bit 3
Nicht invertiert
/SelectIn
Bit 4
Nicht invertiert
Interrupt enable
Die SPP-Register der parallelen Schnittstelle
Ein /-Strich bei einem Signal bedeutet, daß dieses Low-Aktiv ist.
Das ist aber nicht zu verwechseln mit invertierten Registern. Diese erzeugen einen Low-Pegel am Signalausgang wenn das entsprechende Bit gesetzt wird.
Jedes BIOS enthält für den einfachen Druckbetrieb einige Funktionen, die über den Druckerinterrupt 17h ansprechbar sind. Diese Routinen stammen noch aus den Geburtsjahren des PCs und sind daher nur für den Betrieb im SPP-Modus ausgelegt. Diese Interruptroutinen erledigen alle Standardaufgaben zu Datenausgabe, wie im Kapitel SPP-Modus besprochen.
Funktion
Register bei Aufruf
Ausgabe eines Bytes
Steuerregister = auszugebendes Byte
Statusregister = 00h
Datenregister = Portnummer
Reset
Statusregister = 00h
Datenregister = Portnummer
Status ermitteln
Statusregister = 00h
Datenregister = Portnummer
Der Druckerinterrupt 17h
Die parallele Schnittstelle im SPP Modus
Im SPP-Mode ist der Druckerport das, was er auch bisher war, ein 8-Bit-Port, der lediglich einen 8 Bit breiten Port für die Datenausgabe hat.
Die Datenübertragung wird von den Signalen der Steuerleitungen dirigiert. Dies geschieht durch den sogenannten Handshake. Neben Signalen, die der Rechner über die Steuersignale an das Peripheriegerät sendet, empfängt er gleichzeitig dessen Statusmeldungen über die Melde- oder Controlleitungen.
3-Draht-Handshake
Timing einer Kommunikation im SPP-ModusBevor ein Datenbyte an den Drucker gesendet werden kann, muß zunächst geprüft werden, ob dieser bereit ist, diese Daten zu empfangen. Die Busy-Leitung wird also geprüft und erst wenn sie inaktiv ist, kann eine Kommunikation stattfinden.
Dann gibt der Prozessor ein Byte auf den Datenleitungen aus.
Um dem Endgerät mitzuteilen, daß diese Daten gültig sind, wird das /Strobe-Signal aktiviert. Das Endgerät kann also die Daten mit der negativen Flanke von /Strobe übernehmen. /Strobe muß mindestens 1µs dauern darf aber 50µ nicht überschreiten. Die Daten müssen 1µs vor und nach dem /Strobe-Signal gültig sein.
Das Busy-Signal signalisiert dem PC, daß der Drucker beschäftigt ist und daher keine neuen Daten empfangen kann. Eine mögliche Ursache wäre ein Speicherüberlauf wenn der Drucker die ankommenden Daten nicht so schnell verarbeiten kann, wie sie gesendet werden.
Nachdem das Endgerät wieder bereit ist, wird dem Computer der erfolgreiche Erhalt der Daten durch ein /ACK bestätigt. Seine Signaldauer sollte zwischen 5 und 10 µs liegen. Allerdings ist darauf zu achten, daß frühestens 7 µs vor Ende des Busy-Signals ein /ACK erfolgt und dieses spätestens nach 7 µs nach dem Ende des Busy-Signals wieder deaktiviert wird. Ist also darauf zu achten, daß erst ein /ACK erfolgt, wenn das Endgerät wieder vollständig bereit ist.
2-Draht-Handshake
Dieser entspricht ganz dem 3-Draht-Handshake, jedoch wird das Busy-Signal nicht ausgewertet
Ausgabe einer „Druckdatei“ an den Drucker
Einige Programme, wie zum Beispiel MS Word haben im Druckermenü eine Option implementiert, die nur von den wenigsten genutzt wird: Ausgabe in Datei umleiten. Doch gerade diese Option kann den Blutdruck niedrig halten und Nerven schonen.
Bei aktivieren dieser Funktion wird eine Datei erstellt, die nur ASCII Zeichen enthält. Der noch aus den Anfängen des PCs stammende und in DOS implementierte Befehl print erlaubt es, genau solche Dateien im ASCII-Format direkt an den Drucker zu schicken. Der große Vorteil besteht darin, daß der Ausdruck nun endlich so stattfindet, wie man ihn sich auf einem fremden Computer erwartet, jedoch nur auf dem Eigenen zustande kommt. Der Grund sind unterschiedliche Seiteneinstellungen. Es ist aber darauf zu achten, daß man Word mit dem Drucker ausdrucken läßt, der dann tatsächlich verwendet wird. Notfalls muß man sich diesen Drucker eben dazuinstallieren.
Bei der Größe der erzeugten „*.prn“ Datei sollte man nicht erschrecken und sich ins Bewußtsein rufen, daß Word eine ausgezeichnete Datenkompression enthält, wodurch „*.doc“ Dokumente so schön klein bleiben.
Der Befehl lautet: print Gerät Laufwerk\Pfad\Datei.prn z. B.
: print prn a:\druckdatei.prn
Die parallele Schnittstelle im Nibble-Modus
In manchen Fällen ist es unabdingbar, auch wieder Daten in den Rechner einzulesen. Wenn dazu der Standard-Druckerport genutzt werden soll, steht man hier natürlich vor dem Problem der unidirektionalen Datenleitungen. Um dennoch den Datenfluß vom Endgerät zu Rechner zu ermöglichen, wurde der sogenannte „Nibble-Mode“ definiert. In diesem Modus werden vier der fünf Statusleitungen dazu mißbraucht, jeweils ein halbes Datenbyte in den Rechner zu transportieren. Die Signale des parallelen Ports wurden dazu, wie in unten angeführter Tabelle, neu definiert.
Sub-D
Centr.
Nibble-Signal
In/Out
Signalbeschreibung
10
10
PtrClk
In
Handshake Signal zur Datenübernahme
11
11
PtrBusy
In
Zunächst DATA 3, dann DATA 7
12
12
AckDataReq
In
Zunächst DATA 2, dann DATA 6
13
13
Xflag
In
Zunächst DATA 1, dann DATA 5
15
32
/DataAvail
In
Zunächst DATA 0, dann DATA 4
14
14
HotBusy
Out
Ein Low-Pegel zeigt die Empfangsbereitschaft an
17
36
1284Active
Out
Ein High-Pegel zeigt Übergang zum 1284-Modus an
18-25
15-30
GND
Logische Masse
Sogar die Signalnamen wurden hier gegenüber dem SPP-Modus geändert. Die Bezeichnungen scheinen hier unangebracht zu sein, sie wurden jedoch aus dem Byte-Mode übernommen, der im nächsten Kapitel besprochen wird.
Die Datenleitungen sowie die übrigen Status- und Controllsignale spielen in diesem Modus keine Rolle und wurden deshalb in der Tabelle nicht mehr angeführt.
Das Prinzip dieser Datenübertragung ist sehr einfach. Jedes Byte, das zu Rechner übertragen werden soll, wird in zwei Hälften geteilt.
Dann wird zunächst die niederwertige Hälfte, und anschließend die höherwertige Hälfte zum Rechner übertragen. Dann kann das nächste Byte folgen.
Natürlich wird auch hier ein Handshake verwendet, um den korrekten Ablauf der Übertragung zu gewährleisten. Wie dieser vonstatten geht, ist am besten aus der nächsten Abbildung zu erkennen.
Das Timing der parallelen Schnittstelle im Nibble-ModusZunächst einmal muß das sendende Gerät, also der Drucker, warten, bis der Rechner zum Empfang bereit ist. Dieser signalisiert seine Bereitschaft durch einen Low-Pegel des HostBusy-Signals.
Ist dieser Zustand eingetreten, kann die Übertragung beginnen. Dazu wird das niederwertige Nibble des Datenbytes auf den entsprechenden Leitungen angelegt. Mit der negativen Flanke des PtrClk-Signals sind die Daten gültig und der Rechner kann das Nibble übernehmen, wobei er das HostBusy-Signal setzt. Nach Abschließen des Einlesens des niederwertigen Nibbles wird der Vorgang für das höherwertige Nibble wiederholt.
Basis +00h
Modus
Out
Bit 0..
7
Nicht invertiert
Data 0..7
Basis + 01h
Modus
Signal
Bit 3
Invertiert
/DataAvail
Bit 4
Nicht invertiert
Xflag
Bit 5
Nicht invertiert
AckDataReq
Bit 6
Invertiert
PtrClk
Bit 7
Invertiert
PtrBusy
Basis + 02h
Modus
Signal
Bit 1
Nicht invertiert
HostBusy
Bit 3
Nicht invertiert
1284 Active
Bit 4
Nicht invertiert
Interrupt enable
Die Nibble-Register der parallelen SchnittstelleIn diesem Modus ist es schon ein wenig schwieriger, die Datenübertragung programmtechnisch umzusetzen. Vor allem die unregelmäßige Anordnung der Datenbits bereitet Probleme beim erneuten Zusammensetzen der Nibbles. Diese beim ersten Anblick unsinnige Belegung der Eingangssignale wird dann verständlich, wenn man daran denkt, daß nur über die PtrClk Leitung ein Interrupt ausgelöst werden kann. Im Interesse einer möglichst schnellen Datenübertragung wurde daher das Signal zum Steuern der Übertragung verwendet.
Die Rekonstruktion der Daten erfordert eben eine intelligente Auswertung.
Es gibt auf dem Markt einige Programme, die einen ähnlichen Modus zur Datenübertragung zwischen zwei Rechnern in einem sogenannten Peer-to Peer-Netz nutzen. Dieser Modus ist dem Nibble-Mode zwar ähnlich, er entspricht jedoch weder in der Signalbelegung, noch in der Art der Übertragung dieser Norm.
Der Nibble-Modus ist nur eine behelfsmäßige Erweiterung für den SPP. Er läßt nur niedrige Datenraten zu und fordert trotzdem einen immens hohen Rechenaufwand. Aus diesem Grunde gibt es eine weitere kleine Abart des SPP-Modus, den Byte-Modus.
Die parallele Schnittstelle im Byte-Modus
Der Byte-Modus wurde von IBM in der Serie PS/2 eingeführt und befindet sich heute in etwa 20% aller Druckerschnittstellen. Dieser Modus ist, wie auch der Nibble-Modus, nur eine Erweiterung des bereits bestehenden Standard Parallel Ports. Hier wurde lediglich durch eine kleine Änderung der Hardware das Zurücklesen der Daten vereinfacht. Das Prinzip des Druckerports, also ein 8 Bit breiter Datenbus wird dabei beibehalten. Beim Einlesen der Daten im Byte-Modus wird ein ähnlicher Handshake verwendet, wie ihn der SPP-Modus zur Ausgabe benutzt.
Durch die Umkehr der Datenrichtung bekommen auch die Status- und Controlleitungen eine neue Bedeutung, da ja nur die Datenleitungen ihre Richtung ändern.
Die Bedeutung der Signale im Byte-Modus können aus unterer Tabelle entnommen werden.
Sub-D
Centr.
Byte-Signal
In/Out
Signalbeschreibung
2-9
2-9
Data 0-7
Bi
Datenbit
10
10
PtrClk
In
Zeigt die Gültigkeit der Daten an
11
11
PtrBusy
In
Beschäftigtmeldung der Peripherie
13
13
Xflag
In
Erweiterungsflag
15
32
/DataAvail
In
Zeigt, daß Daten zum Einlesen bereitstehen
1
1
HostClk
Out
Bestätigt den Empfang des Datums
14
14
HostBusy
Out
Zeigt, daß der Drucker bereit zum Empfang ist
17
36
1284Active
Out
Ein High-Pegel zeigt den Übergang zum 1284-Modus
18-25
15-30
GND
Logische Masse
Die Signale der parallelen Schnittstelle im Byte-ModeIm Byte-Modus werden, wie schon erwähnt, Daten byteweise über die parallele Schnittstelle in den Rechner eingelesen. Dazu müssen die Datenleitungen natürlich als Eingänge geschaltet werden, damit es zu keinen Kollisionen kommt. Da ganze Bytes zurückgesendet werden, sind hier keine Melde- oder Steuerleitungen mehr vorhanden. Alle Informationen, die etwa den Status des Endgerätes betreffen, werden als Code verschlüsselt zum Rechner gesendet.
Lediglich des PtrBusy-Signal zeigt dem Rechner, daß die Peripherie noch nicht bereit ist, wieder im SPP-Modus Daten zu empfangen. Alle anderen Signalleitungen werden allein zum Handshake benötigt.
Timing eines Übertragungszyklus im Byte ModeVor Beginn einer Übertragung muß natürlich sichergestellt sein, daß der Empfänger, in diesem Fall also der Rechner, die Daten überhaupt auswerten kann. Der Rechner muß also durch einen Low-Pegel des Signals HostBusy anzeigen, daß er nicht beschäftigt ist. Wichtig ist, daß der Host, bevor er seine Empfangsbereitschaft anzeigt, die Datenleitungen als Eingang schaltet. Ist dies geschehen, kann das Peripheriegerät ein Byte auf die Datenleitungen legen.
Wenn das Byte dann nach einigen µs gültig ist, bestätigt das Endgerät diese Gültigkeit durch einen Low-Pegel des PtrClk-Signals.
Sobald der Rechner dann das Byte gelesen hat, bestätigt er dies, indem er das HostBusy-Signal wieder auf High setzt. Gleichzeitig zeigt er damit an, daß dieses gerade empfangene Byte zur Zeit verarbeitet wird und somit kein weiterer Empfang möglich ist. Das Endgerät erkennt die positive Flanke von HostBusy und setzt PtrClk wieder auf High. Nach dem Beenden der Übertragung legt der Rechner mit negativen Flanke von HostClk wieder neue Daten an, die bei der positiven Flanke gültig werden.
Da der Byte-Modus kein eigener Hardwarestandard, sondern lediglich eine SPP-Erweiterung ist, nutzt er natürlich die gleichen Register wie der SPP-Modus um mit den Schnittstellensignalen zu kommunizieren.
Diese Register sind in untenstehender Tabelle angeführt.
Basis +00h
Modus
Out
Bit 0..7
Nicht invertiert
Data 0..7
Basis +01h
Modus
In
Bit 3
Invertiert
/DataAvail
Bit 4
Nicht invertiert
Xflag
Bit 5
Nicht invertiert
AckDataReq
Bit 6
Invertiert
PtrClk
Bit 7
Invertiert
PtrBusy
Basis +02h
Modus
Out
Bit 0
Nicht invertiert
HostClk
Bit 1
Nicht invertiert
HostBusy
Bit 3
Nicht invertiert
1284 Active
Bit 4
Nicht invertiert
Interrupt enable
Bit 5
Nicht invertiert
Data direction
Die Register im Byte-ModusDie Register werden, wie auch bei den vorherigen Modi, entsprechend des auszugebenden Signals gesetzt oder gelöscht.
Ein Bit im Controll-Register ist jedoch hinzugekommen, da Data-direction-Bit. Mit seiner Hilfe kann die Richtung der Datenleitungen bestimmt werden. Ist es gelöscht, befindet sich der Port im SPP-Modus, es können Daten ausgegeben werden. Um Daten im Byte-Modus einlesen zu können, muß zunächst das Data-direction-Bit gesetzt werden. Anschließend sind die acht Datenleitungen als Eingang geschaltet und die Daten können von außen angelegt werden.
Die parallele Schnittstelle im ECP-Modus
Die bisher beschriebenen Modi waren nichts wirklich neues.
Den SPP-Modus nutzt jeder Drucker seit vor etwa 15 Jahren PCs die Märkte zu erobern begonnen haben. Die beiden Möglichkeiten, Daten wieder in den Rechner einzulesen, stellen bei genauerer Betrachtung nur eine Behelfsmöglichkeit dar, die Druckerschnittstelle für mehr zu nutzen, als nur für das Drucken.
Ohne Frage sind alle bisher besprochenen Möglichkeiten in einer Zeit der Megabytes zu langsam, um die vorhandenen Datenmengen zu der entsprechenden Peripherie zu schaffen. Aus der Zusammenarbeit zweier Firmen, Microsoft und Hewlett Packard, entstand der Enhanced Capability Port, kurz ECP. Gedacht ist dieser erweiterte Schnittstellenstandard für die schnelle, bidirektionale Kommunikation mit Druckern und Scannern.
Die Übertragung ist bei dem ECP in sogenannte Zyklen aufgeteilt.
Dabei unterscheidet man zwei verschiedene Grundzyklen, jeweils bei der Übertragung vom Rechner zum Endgerät, und umgekehrt.
Data-Zyklen
Kommando-Zyklen
Die Kommando-Zyklen unterscheiden sich dabei wiederum in die Kommandos Lauflängenzähler und Kanaladresse.
Eine der Besonderheiten dieser Schnittstelle ist die Möglichkeit, die zu übertragenden Daten zu komprimieren. Diese Komprimierung geschieht nach der RLE-Methode, der sogenannten Lauflängenkodierung. Dabei wird, wenn etwa ein Zeichen mehrmals hintereinander übertragen wird, das Zeichen nur einmal übertragen und anschließend folgt die Anzahl der so zu sendenden Zeichen.
Die Datenreduzierung ist hier deutlich zu erkennen.
In der Praxis können hiermit Komprimierungsraten von bis zu 64:1 erreicht werden. Sinnvoll ist diese Methode zur Datenreduzierung vor allem für Drucker und Scanner, die ja oft lange Punktfolgen gleicher Farbe (also Bytes gleichen Wertes) übertragen. Ein weiterer Vorteil von RLE ist die verlustfreie Komprimierung, die Werte können also exakt wiederhergestellt werden, wenn sowohl Rechner als auch Peripherie diese Option unterstützen, ansonsten würde wohl eine gehörige Verwirrung bei der Datenübertragung entstehen.
Eine weitere Neuerung des ECP ist die Einführung von Kommunikationskanälen. Über eine Schnittstelle können so mehrere logische Endgeräte angesprochen werden. Diese Kanäle dürfen allerdings nicht mit einem Bus verwechselt werden.
Der ECP ist nur für eine Punkt zu Punkt Verbindung, etwa von einem Rechner zum Endgerät, vorgesehen. Hiermit wird vielmehr die Möglichkeit angesprochen, wenn also etwa in einem Multifunktionsgerät, wie ein Drucker mit Modem und Scanner (also ein FAX) an diesen Port angeschlossen wird. In diesem Fall kann jedes Gerät über einen eigenen logischen Kanal, getrennt angesprochen werden. Auf diese Weise ist es dann, um auf obiges Beispiel zurückzukehren, weiterhin möglich, wenn der Drucker beschäftigt ist, über das Modem eine Datenfernübertragung abzuwickeln.
Da all diese Funktionen nicht mit den Standardsignalen eine SPP-Schnittstelle durchführbar sind, wurde für die ECP-Schnittstelle eine komplette Neudefinition der parallelen Schnittstelle durchgeführt.
Sub-D
Centr.
Byte-Signal
In/Out
Signalbeschreibung
2-9
2-9
Data 0-7
Bi
Datenbit
10
10
PeriphClk
In
Handshake in Empfangsrichtung
11
11
PeriphAck
In
Handshake in Senderichtung; unterscheidet zwischen Daten und Kommandos
12
12
/AckReverse
In
Acknowledge für /ReverseRequest
13
13
XFlag
In
Erweiterungs-Flag
15
32
/PeriphReq
In
Zeigt, daß Daten zum Einlesen bereitstehen
1
1
HostClk
Out
Handshake in Senderichtung
14
14
HostAck
Out
Handshake in Empfangsrichtung; unterscheidet zwischen Daten und Kommandos
16
31
/ReverseReq
Out
Schaltet die Datenpins in Empfangsrichtung
17
36
1284Active
Out
Ein High-Pegel zeigt Übergang zum 1284-Modus an
18-25
15-30
GND
Logische Masse
Die Signale einer ECP-Schnittstelle
Wie auch die Signale, so hat auch ein Datentransfer im ECP-Mode nichts mehr mit der Standard-Centronics zu tun. Die hier beschriebenen Signale unterstützen einen voll-bidirektionalen Transfer, ohne daß dazu von der CPU jegliche Handshakemaßnahmen vollzogen werden müssen. Dies bringt natürlich eine erhebliche Entlastung für den Programmierer und die Rechnerhardware.
Alle Kommandos und Daten werden gleichsam über die Datenleitungen hin und her geschoben. Status- und Steuerleitungen gibt es nicht mehr. Lediglich zwei Signale stehen nicht in direktem Zusammenhang mit der Kommunikation.
Das Xflag und das 1284Active-Signal. Diese beiden Signale werden nur bei der Initialisierung der parallelen Schnittstelle nötig. Doch dazu später.
Grundsätzlich unterscheidet man eine Datenübertragung nach der Richtung des Datenflusses, also, ob die Daten vom Rechner zur Peripherie oder umgekehrt bewegt werden. In den Tabellen und in dem folgenden Text wird die Übertragung vom Rechner aus betrachtet. Wenn also Daten zum Endgerät übertragen werden bezeichnen wir dies als senden.
Weiterhin kann beim ECP unterschieden werden, ob Daten oder Kommandos übertragen werden. Die Unterscheidung ist jedoch recht minimal. In der nächsten Abbildung ist eine Übertragung in Senderichtung zu sehen. Dabei wird zunächst ein Daten- und anschließend ein Kommandozyklus ausgeführt.
Daten- und Kommandozyklus im ECP-ModusZu Beginn der Übertragung werden zunächst die Daten auf die Datenleitungen gelegt. Da die Datensignale normalerweise als Ausgang beschaltet sind, müssen dafür keine weiteren Vorkehrungen getroffen werden.
Gleichzeitig zeigt ein High-Pegel des HostAck-Siganls, daß ein Datenbyte übertragen werden soll.
Sind die Daten gültig, wird dies dem Endgerät mit einem Low-Pegel des HostClk-Signals gezeigt. Das Peripheriegerät übernimmt nun die Daten und bestätigt den Erhalt mit einem PeriphAck. Nachdem das Peripheriegerät die Daten verarbeitet hat, löscht dieses wieder das PeriphAck-Signal und ein neues Byte kann übertragen werden.
Im nächsten Übertragungszyklus wird nun ein Kommando übertragen. Dazu nimmt mit dem Anlegen des Kommandobytes an den Datenleitungen, das HostAck-Signal einen Low-Pegel an.
Der anschließende Handshake verläuft dann absolut gleich der oben beschriebenen Übertragung eines Datenbytes.
Der Zustand des höchstwertigen Bits entscheidet über die Art des Kommandos. Ist es gesetzt, so sind die unteren 7 Bits als Kanaladresse zu werten. Auf diese Weise könne bis zu 128 logische Kanäle angesprochen werden. Ein gelöschtes Bit 7 identifiziert das Kommando als einen Lauflängenzähler. Das bedeutet, daß das folgende Byte in den Datenstrom eingefügt wird und die Anzahl des zuvor übertragenen Zeichens angibt.
Die ECP-Schnittstelle ist bidirektional, so können auch Daten und Kommandos von der Peripherie zum Rechner übertragen werden. Im Prinzip verläuft diese Übertragung, also das Empfangen von Daten, ähnlich dem Senden von Daten, nur eben in die andere Richtung.
In unterer Abbildung ist der Empfang eines Datenbytes und eines Kommandos grafisch dargestellt.
Daten zum Rechner im ECP-ModusNatürlich können die Daten nicht einfach so zum Rechner gesendet werden. Der Rechner muß den Empfang gewissermaßen anfordern, um die erforderlichen Voraussetzungen schaffen zu können. Die Peripherie hat keine Möglichkeit, von sich aus Daten an den Rechner zu übertragen.
Will der Rechner Daten empfangen, so muß er zunächst seine internen Register darauf vorbereiten. Anschließend signalisiert er seine Empfangsbereitschaft, indem er das /ReversReq-Signal auf Low setzt. Sobald dann auch die Peripherie zum Übertragen der Daten bereit ist, meldet sie ihrerseits ihre Bereitschaft durch einen Low-Pegel des Signals /AckReverse. Nun kann die eigentliche Übertragung beginnen. Die Peripherie legt die Daten an den entsprechenden Leitungen an und zeigt über das PeriphAck-Signal den Datentyp, also Datenbyte oder Kommando an. .
...
Das geänderte Protokoll, die bidirektionale Übertragung und der sichere Handshake sind sicherlich große Vorteile des ECP-Modus gegenüber den älteren Modi. Der wahre Vorteil dieser Schnittstelle zeigt sich jedoch bei deren Programmierung. Mußte etwa beim SPP der Handshake noch manuell, das heißt durch Setzten und Löschen der einzelnen Registerbits erfolgen, so entfällt beim ECP dieser Aufwand.
Hier wird einfach das zu übertragende Byte in ein Register geschrieben, und schon ist es übertragen. Auf diese Weise lassen sich große Datenmengen mit wenigen Befehlen in kürzester Zeit übertragen.
Selbst wenn bei der eigentlichen Übertragung die Bytes eher langsam gesendet oder empfangen werden, können sie doch ohne Verzögerung vom Programm ausgegeben werden. Der ECP ist nämlich ein sogenanntes lose gekoppeltes System. Das bedeutet, daß die Datenausgabe und die Übertragung, beziehungsweise der Empfang und die Datenauswertung nicht unmittelbar zusammenhängen. CPU und Schnittstelle sind nämlich auf Sende- und Empfangsseite durch je einen FIFO-Puffer voneinander getrennt.
Ein FIFO-Puffer ist mit einer langen Röhre zu vergleichen. Wenn auf der einen Seite, in unserem Fall Bytes, hineingegeben werden, können sie auf der anderen Seite bei Bedarf wieder entnommen werden. Wichtig dabei ist, daß sie in der gleichen Reihenfolge den Puffer verlassen, in der sie hineingegeben wurden.
Auf Grund dieser Puffer ist es auch nicht möglich zu sagen, wie viele Bytes eigentlich schon übertragen wurden. Doch bei der geplanten Anwendung, also Scanner und Drucker, bei denen es ja prinzipiell nur auf den Datenstrom und nicht auf ein spezielles Timing ankommt, reicht diese Weise der Übertragung völlig aus.
Weiterhin unterstützt der ECP-Mode als einziger Modus der 1284-Standards die Möglichkeit, die Daten per DMA in den Sende-FIFO zu übertragen, beziehungsweise die Daten im Empfangsmodus per DMA aus dem Empfangs-FIFO zu lesen.
Während eines DMA-Transfers werden die Daten vom Speicher in ein Register transferiert. Diesen Transfer führt allerdings nicht die CPU durch, vielmehr wird der DMA-Controller, eine Art Coprozessor, damit beauftragt. Somit wird die CPU entlastet, und da CPU und DMA-Controller parallel arbeiten, eine Menge Zeit gespart.
Angesprochen und gesteuert werden kann der ECP über verschiedene Register, die über die Standard-Port-Adresse, also 278h und 378h, angeordnet sind. Eine Liste der Register ist in nachstehender Tabelle angeführt. Die Offsetadresse ist zu der jeweiligen Basisadresse hinzuzurechnen.
Offset
Name
Read/Write
Modus
Funktion
000h
Data
R/W
0
Datenregister
000h
Data
R/W
1
Datenregister
000h
EcpAFIFO
R/W
3
ECP Adress FIFO
001h
Dsr
R/W
Alle
Statusregister
002h
Dcr
R/W
Alle
Kontrollregister
400h
CFIFO
R/W
2
Datan FIFO
400h
EcpDFIFO
R/W
3
ECP Daten FIFO
400h
TFIFO
R/W
6
Test FIFO
400h
CnfgA
R
7
Konfigurationsregister A
401h
CnfgB
R/W
7
Konfigurationsregister B
402h
Ecr
R/W
Alle
Erweitertes Kontrollregister
Die Register des ECPWie der Tabelle zu entnehmen ist, wird nicht in allen Modi jedes Register benötigt, beziehungsweise sind in verschiedenen Modi Register doppelt belegt. Folgende Modi werden von der ECP-Schnittstelle unterstützt.
Nummer
Modus
0
SPP
1
Byte-Modus
2
Fast Centronics
3
ECP
4
Reserviert (für EPP)
5
Reserviert
6
Testmodus
7
Konfigurationsmodus
Die Modi des ECPDer Modus 4 ist offiziell nicht belegt und reserviert für zukünftige Erweiterungen. Manche Chip-Hersteller belegen diesen Modus mit der Konkurrenzschnittstelle EPP, was wahrscheinlich nicht im Sinne des Erfinders ist, wohl aber im Sinne einer sinnvollen Benutzung. Etwas seltsam sind auch die Portadressen mancher Register, die einen Offset von über 400h zu der Basisadresse besitzen. Mit dieser etwas ungewöhnlichen Adressierung soll die unzureichende Adressdekodierung des PC-I/O-Bereichs ausgeglichen werden.
Der PC kann zwar 65536, also 0FFFh verschiedene I/O-Adressen ansprechen, auf den älteren Erweiterungskarten wurden jedoch bisher nur zehn Bit, also 1024 Adressen dekodiert. Um nun einen größeren I/O-Adressraum zu nutzen, aber trotzdem alte Peripherie ohne Kollisionen weiter nutzen zu können, hat man sich folgenden Trick einfallen lassen.
Man nutzt nur die bisher belegten Adressen, also die drei Register über der Basisadresse. Diese nutzt man aber in verschiedenen Speicherseiten, die durch die bisher ungenutzten oberen 6 Bit adressiert werden. Diese Adressen liegen dann also auf Offset +0h, Offset +400h, Offset +800h und so fort.
Dies ist nur eine Grundbeschreibung der Register und deren Funktionsweise.
Deren ausführliche Erläuterung würde ein eigenes Buch füllen. Diejenigen die noch tiefer in die ECP-Materie einsteigen möchten, kann die Spezifikation von Microsoft, dem Entwickler des ECP empfohlen werden. Sie trägt den Namen „The IEEE 1284 Extended Capability Port Protocol and ISA Interface Standard“ und kann bei Microsoft Press bezogen werden.
Die parallele Schnittstelle im EPP-Modus
Ein weiterer, völlig neuer Übertragungsmodus ist der EPP-Mode. Ähnlich wie der ECP bietet auch er eine hardwaregesteuerte, bidirektionale Übertragung über die parallele Schnittstelle. Anders als der ECP ist er jedoch als eine Art Multifunktionsschnittstelle gedacht, an die neben dem typischen Endgerät, dem Drucker, auch Peripherie wie CD-ROMs, Streamer, Ethernet-Adapter und ähnliche Peripherie angeschlossen werden kann.
Für diese Zwecke werden Übertragungsraten von bis zu 2 MB/s erreicht.
Der EPP, der Enhanced Parallel Port, wurde zunächst von einem kleinem Kreis, nämlich Intel, Xircom und Zenith entwickelt. Das Protokoll sollte zu der Standard-Centronicsschnittstelle kompatibel sein und trotzdem hohe Datendurchsatzrate erreichen. Mit der Entwicklung dieses Ports wurde dann praktisch der Grundstein für die IEEE-1284-Norm gelegt. Denn nachdem der Port erstmals eingesetzt wurde, scharten sich immer
Anmerkungen: |
| impressum | datenschutz
© Copyright Artikelpedia.com