Schnittstellen
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 Schnittstellen
Derart 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.
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.
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übertragung
Die 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.
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
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 Übertragung
Das 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 Übertragung
Bei 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.
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 Übertragung
Man 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.
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.
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-Wandlung
Die Umkehrung des vorherigen Prinzips zeigt die folgende Abbildung, wobei auch hier kein Vertauschen des Bitstroms erfolgen darf.
Seriell/Parallel-Wandlung
Die Aufgaben der dargestellten Übergänge werden durch Schieberegister vorgenommen, die in die Schnittstellenbausteine zur seriellen Übertragung integriert sind.
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
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.
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
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.
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.
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
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
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 |
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 |
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 |
Gerätesteuerzeichen |
Device Control Characters |
Den einzelnen Steuerzeichen können verschiedene Bedeutungen zugewiesen werden. |
DC2 |
|||
DC3 |
|||
DC4 |
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 |
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.
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
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
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-Betriebsart
Grundsä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).
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.
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
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
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.
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.
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 |
Pinnummer |
Strobe |
|
|
D0 |
|
|
D1 |
|
|
D2 |
|
|
D3 |
|
|
D4 |
|
|
D5 |
|
|
D6 |
|
|
D7 |
|
|
Acknowledge |
|
|
Busy |
|
|
Paper empty |
|
|
Select |
|
|
Auto Linefeed |
|
|
Error |
|
|
Reset |
|
|
Select Input |
|
|
Ground |
|
|
Signal-Ground |
|
|
Chassis-Ground |
|
|
+5V |
|
|
Unbenutzt |
|
|
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 |
|
3BCh |
3BDh |
3Beh |
|
378h |
379h |
37Ah |
|
278h |
279h |
27Ah |
|
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 |
Reset |
Statusregister = 00h |
Status ermitteln |
Statusregister = 00h |
Der Druckerinterrupt 17h
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.
Timing einer Kommunikation im SPP-Modus
Bevor 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.
Dieser entspricht ganz dem 3-Draht-Handshake, jedoch wird das Busy-Signal nicht ausgewertet
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 LaufwerkPfadDatei.prn z. B.: print prn a:druckdatei.prn
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 |
|
|
PtrClk |
In |
Handshake Signal zur Datenübernahme |
|
|
PtrBusy |
In |
Zunächst DATA 3, dann DATA 7 |
|
|
AckDataReq |
In |
Zunächst DATA 2, dann DATA 6 |
|
|
Xflag |
In |
Zunächst DATA 1, dann DATA 5 |
|
|
/DataAvail |
In |
Zunächst DATA 0, dann DATA 4 |
|
|
HotBusy |
Out |
Ein Low-Pegel zeigt die Empfangsbereitschaft an |
|
|
1284Active |
Out |
Ein High-Pegel zeigt Übergang zum 1284-Modus an |
|
|
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-Modus
Zunä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 Schnittstelle
In 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.
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 Anderung 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 |
|
|
Data 0-7 |
Bi |
Datenbit |
|
|
PtrClk |
In |
Zeigt die Gültigkeit der Daten an |
|
|
PtrBusy |
In |
Beschäftigtmeldung der Peripherie |
|
|
Xflag |
In |
Erweiterungsflag |
|
|
/DataAvail |
In |
Zeigt, daß Daten zum Einlesen bereitstehen |
|
|
HostClk |
Out |
Bestätigt den Empfang des Datums |
|
|
HostBusy |
Out |
Zeigt, daß der Drucker bereit zum Empfang ist |
|
|
1284Active |
Out |
Ein High-Pegel zeigt den Übergang zum 1284-Modus |
|
|
GND |
|
Logische Masse |
Die Signale der parallelen Schnittstelle im Byte-Mode
Im 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 Mode
Vor 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-Modus
Die 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 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 |
|
|
Data 0-7 |
Bi |
Datenbit |
|
|
PeriphClk |
In |
Handshake in Empfangsrichtung |
|
|
PeriphAck |
In |
Handshake in Senderichtung; unterscheidet zwischen Daten und Kommandos |
|
|
/AckReverse |
In |
Acknowledge für /ReverseRequest |
|
|
XFlag |
In |
Erweiterungs-Flag |
|
|
/PeriphReq |
In |
Zeigt, daß Daten zum Einlesen bereitstehen |
|
|
HostClk |
Out |
Handshake in Senderichtung |
|
|
HostAck |
Out |
Handshake in Empfangsrichtung; unterscheidet zwischen Daten und Kommandos |
|
|
/ReverseReq |
Out |
Schaltet die Datenpins in Empfangsrichtung |
|
|
1284Active |
Out |
Ein High-Pegel zeigt Übergang zum 1284-Modus an |
|
|
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-Modus
Zu 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-Modus
Natü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 |
|
Datenregister |
000h |
Data |
R/W |
|
Datenregister |
000h |
EcpAFIFO |
R/W |
|
ECP Adress FIFO |
001h |
Dsr |
R/W |
Alle |
Statusregister |
002h |
Dcr |
R/W |
Alle |
Kontrollregister |
400h |
CFIFO |
R/W |
|
Datan FIFO |
400h |
EcpDFIFO |
R/W |
|
ECP Daten FIFO |
400h |
TFIFO |
R/W |
|
Test FIFO |
400h |
CnfgA |
R |
|
Konfigurationsregister A |
401h |
CnfgB |
R/W |
|
Konfigurationsregister B |
402h |
Ecr |
R/W |
Alle |
Erweitertes Kontrollregister |
Die Register des ECP
Wie 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 |
|
SPP |
|
Byte-Modus |
|
Fast Centronics |
|
ECP |
|
Reserviert (für EPP) |
|
Reserviert |
|
Testmodus |
|
Konfigurationsmodus |
Die Modi des ECP
Der 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.
Ein weiterer, völlig neuer Übertragungsmodus ist der EPP-Mode. Ahnlich 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 mehr Firmen zum Kreis der Nutzer. Schließlich wurden noch andere Standards implementiert und die parallele Schnittstelle aus der 1284-Norm war fertig.
Der EPP unterschied sich in seiner Übertragungsweise grundlegend vom ECP. Er unterstützt einen einfachen Handshake, der nur vom Rechner gesteuert wird. Das Endgerät kann die Datenausgabe oder das Einlesen nur bestätigen. Aus diesem Grund kommt der EPP mit weniger Signalen aus als die anderen Standards.
Sub-D |
Centr. |
EPP-Signal |
In/Out |
Signalbeschreibung |
|
|
Data 0-7 |
Bi |
Datenbit |
|
|
/int |
In |
Bestätigung, daß das Datum empfangen wurde |
|
|
/Wait |
In |
Low erlaubt Operation, High verzögert sie |
|
|
UserDef0 |
In |
Frei benutzbar |
|
|
UserDef1 |
In |
Frei benutzbar |
|
|
UserDef2 |
In |
Frei benutzbar |
|
|
/Write |
Out |
Low zeigt einen Schreibvorgang |
|
|
/DataStb |
Out |
Low-Impuls zeigt Daten operation |
|
|
/AddrStb |
Out |
Low-Impuls zeigt Adressoperation |
|
|
/Reset |
Out |
Setzt den Drucker zurück |
|
|
GND |
|
Logische Masse |
Die EPP-Signale
Bei genauer Betrachtung fällt auf, daß für diesen Port die Signale des SPP lediglich umdefiniert wurden. Bei der späteren Registerbetrachtung wird sich dieser Eindruck bestätigen. Es ist nämlich im EPP-Modus jederzeit möglich, die einzelnen Signale wie im SPP-Modus anzusteuern.
Drei Signale stechen hier besonders ins Auge, da sie für die Portoperationen keine Funktion besitzen. Die Signale UserDef0 - 2 blieben beim Entwickeln des Protokolls übrig und bekamen keine Funktion zugeteilt. Dem Anwender bleibt also freigestellt, diese Signale für eigene Zwecke zu nutzten. Doch Vorsicht, da diese Signale eben noch undefiniert sind, können sie ebenso nicht beschaltet oder mit anderen Funktionen belegt sein. Im Zweifelsfall ist also besser zunächst zu prüfen, ob die Signale auch wirklich zur Selbstdefinition geeignet sind.
Doch nun zur eigentlichen Datenübertragung, die in den nachstehenden Bilder dargestellt ist. Hier sind gleich drei Diagramme notwendig, da der EPP in vier verschiedenen Zyklen Daten übertragen kann. Es können sowohl Daten als auch Adressen übertragen werden und dies wahlweise schreibend oder lesend. Da der Rechner aber meistens das steuernde Element im Geräteverbund sein wird, kommt ein lesender Adresszugriff in der Praxis nicht vor und wird deshalb auch nicht hier nicht behandelt.
Ein schreibender Datenzugriff
Ein schreibender Datenzugriff hat große Ahnlichkeit mit dem ursprünglichen SPP-Protokoll. Der große Unterschied ist hier jedoch, daß der Handshake nicht von der Software erzeugt, sondern praktisch dem I/O-Zugriff der CPU angegliedert ist.
Sobald die CPU einen Schreibzugriff auf das EPP-Datenregister unternimmt, beginnt der Übertragungszyklus des EPP. Das /Write-Signal wird auf Low gezogen, um anzuzeigen, daß Daten ausgegeben werden. Anschließend wird das /Wait-Signal überprüft. Zeigt hier die Peripherie mit einem Low-Pegel ihre Empfangsbereitschaft an, werden die Daten ausgegeben. Anschließend wird das /Data-Stb-Signal vom Rechner auf Low gelegt wodurch das Byte gültig ist.
Hat die Peripherie das Byte empfangen, zeigt sie dies dem Rechner, indem sie das /Wait-Signal wieder auf einen High-Pegel bringt. Jetzt wird auch das /DataStb-Signal wieder deaktiviert und die Übertragung ist beendet. Zu beachten ist, daß jetzt erst der I/O-Zyklus des Befehls endet, die CPU also jetzt erst mit dem nächsten Befehl weiterarbeiten kann. Die Peripherie muß also das /Wait-Signal möglichst schnell wieder deaktivieren um den Rechner nicht allzusehr in seinen Ausführungen zu bremsen. Ist das Endgerät wieder für eine neue Übertragung bereit, zeigt es dies durch einen Low-Pegel des /Wait-Signals an. Einer Verzögerung durch das /Wait-Signal ist allerdings oft erforderlich, da viele Bausteine mit dem schnellen Timing der EPP-Schnittstelle nicht zurechtkommen.
Ein lesender Datenzugriff
Ahnlich wie ein Byte ausgegeben wird, kann es auch wieder eingelesen werden. Wird vom Prozessor ein Lesezugriff auf die entsprechende EPP-Adresse durchgeführt, führt die Schnittstelle ebenfalls eine Leseoperation durch. Da hier Daten eingelesen werden, wird der Zugriff wieder durch das /DataStrobe-Signal eingeleitet, das /Write-Signal behält dabei seinen High-Pegel und zeigt somit die Bereitschaft zum Empfang eines Bytes- Hat die Peripherie dann die gültigen Daten auf den Bus gelegt, zeigt sie dies dem Rechner durch ein aktivieren des /Wait-Signals an. Hat der Rechner die gültigen Daten dann eingelesen, beendet er den Lesezugriff durch das deaktivieren des /DataStrobe-Signals. Die Peripherie setzt ihrerseits, sobald sie für eine weitere Datenübertragung bereit ist, das /Wait-Signal wieder zurück.
Die dritte sinnvolle Zugriffsart ist die Adressausgabe, deren Timing in nachstehender Abbildung zu sehen ist.
Ein schreibender Adresszugriff
Der schreibende Adresszugriff ist absolut identisch mit dem schreibenden Datenzugriff. Der einzige Unterschied besteht darin, daß nicht das /DataStrobe-Signal den Zugriff einleitet, sondern das /AdressStrobe-Signal. Wie auch im Timingdiagramm zu sehen ist, bleibt sowohl die Bedeutung als auch das timing aller anderen Signale gleich.
Als neuer Standard der Druckerschnittstelle erfreut sich die EPP-Schnittstelle bereits der Unterstützung durch BIOS-Funktionen. Da in vielen Chipsätzen moderner Mainboards diese Schnittstelle bereits integriert ist, lag es nahe, diese Schnittstelle auch per Software optimal zu unterstützen. Da sowohl die Schnittstelle als auch die zugehörigen Funktionen noch sehr neu sind, gibt es aber noch keinen festen Standard für die Softwareunterstützung.
In den obigen Kapiteln wurden alle aktuellen Modi der parallelen Schnittstelle erläutert. Doch nicht jeder Rechner beziehungsweise jedes Peripheriegerät unterstützt auch alle diese Modi. Gerade bei der Peripherie wird oft nur ein Modus implementiert um Kosten zu sparen. Aus diesem Grund muß vor der Datenübertragung zwischen beiden Übertragungspartnern der Schnittstellenmodus ausgehandelt werden, in dem die Kommunikation stattfindet.
Aus diesem Grund wurde in der 1284-Norm ein Verhandlungsprotokoll, die sogenannte Negotiation eingefügt, die den bestmöglichen Übertragungsmodus feststellt. Bei dieser Negotiation wird eine Bitfolge an den Druckerport angelegt, die ein 1284-kompatibles Gerät erkennen und auswerten kann, die alten Geräte mit einem normalen Centronicsport aber nicht beeinflussen. Auf diese Weise kann die Schnittstelle eindeutig zugewiesen werden.
Das Prinzip der Negotiation ist recht einfach. Wenn der Rechner in einem bestimmten Modus das Endgerät ansprechen will, legt er ein, für diesen Modus festgelegtes Codewort, das sogenannte Extensibility- oder Erweiterungsbyte an. Ist der angeforderte Modus im Endgerät ausführbar, so wird das Xflag-Signal aktiviert. Wird der angeforderte Modus von der Peripherie nicht unterstützt oder ist es ein gar nicht 1284-kompatibles Endgerät, so bleibt das Signal eben inaktiv.
Mit der Verbindung von Windows 95 macht ein Schlagwort die Runde, Plug&Play, die Fähigkeit, Peripherie ohne langwierige Installation anzuschließen. Ist dies bei rechnerinterner Peripherie noch relativ einfach, so warf diese Eigenschaft bei Druckern und anderen Geräten für die parallele Schnittstelle doch immer Probleme auf. Die 1284-Norm hat aber auch dafür eine Lösung.
Während der Negotiation kann neben der Anforderung eines Übertragungsmodi auch eine Device-ID angefordert werden. Mit Hilfe dieser ID soll es dann möglich sein, das Endgerät zu identifizieren und somit den passenden Treiber automatisch auszuwählen.
Natürlich bedarf es für derlei komplexe Operationen einer bestimmten Codierung für die richtige und vorallem unverwechselbare Auswahl der richtigen Schnittstelle. In untenstehender Tabelle sind die Codes für die oben besprochenen Schnittstellenmodi zusammengefaßt.
Funktion |
Code |
|
Extensibility Link anfordern |
80h |
|
EPP-Mode anfordern |
40h |
|
ECP-Mode mit Lauflängenkodierung anfordern |
30h |
|
ECP-Mode ohne Lauflängenkodierung anfordern |
10h |
|
Reserviert für spätere Erweiterungen |
08h |
|
Device-ID anfordern |
|
|
Übertragung der ID im |
Nibble-Mode |
04h |
|
Byte-Mode |
05h |
|
ECP-Mode mit RLE |
14h |
|
ECP-Mode ohne RLE |
34h |
|
EPP-Mode |
44h |
Reserviert für spätere Erweiterungen |
02h |
|
Byte-Mode anfordern |
01h |
|
Nibble-Mode anfordern |
00h |
Negotiation Codes
Eine Sonderstellung in den Codes nimmt Code 80h ein, wenn also nur Bit 7 gesetzt ist. Dieser Code stellt eine Erweiterungsmöglichkeit dar, so daß im Prinzip unendlich viele Möglichkeiten hier eingestellt werden können. Das Setzen eines Modus wird, sofern dieser unterstützt wird, durch aktivieren des Xflag-Signals bestätigt. Eine Ausnahme bildet der Nibble-Mode. Da dieser von jedem Gerät unterstützt werden muß, wird seine Auswahl nicht bestätigt.
Der genaue zeitlich Ablauf der Negotiation ist in der folgenden Abbildung dargestellt.
Die Negotiation
Das Timing diese Vorganges ist recht einfach. Zunächst legt der Rechner das Extensibilitybyte auf die Datenleitungen. Ist es gültig wird das Signal /AutoFeed auf Low gezogen und /SelectIn auf High. Damit wird die Negotiationssequenz eingeleitet. Ist das Endgerät nun 1284fähig, so antwortet es indem es das Signal /Ack auf Low und die Signale /Error , PE und Select auf High setzt. Sollte ein nicht 1284fähiges Gerät angeschlossen sein, so passiert einfach nichts.
Nun gibt der Rechner auf das /Strobe-Signal einen Low-Pegel und die Daten werden in das Peripheriegerät übernommen. Abschließend werden die Signale /Strobe und AutoFeed vom Rechner auf High gesetzt um der Peripherie ihre 1284-Fähigkeit zu bestätigen.
Bis hierher verläuft die Negotiation immer gleich. An dieser Stelle differiert nun das Protokoll, je nachdem welches Gerät angeschlossen ist oder ob gar eine Device-ID zurückgeliefert wird. Im Teil A des Timing-Diagrammes ist der angeforderte Modus nicht verfügbar. Die Peripherie zeigt diesen Zustand durch einen Low-Pegel des Select-Signals an. Wird ein High-Pegel auf dem Select-Signal übergeben, wie im Teil B des Diagramms gezeigt, so unterstützt das Endgerät den angeforderten Übertragungsmodus.
Wurde eine Device-ID angefordert, wie im Teil C des Diagramms, so zeigt die Peripherie mit einem Low-Pegel der Signale PE und /Error, daß die geforderte ID auf dem Eingangskanal bereit zum Einlesen ist.
Abschließend setzt das Endgerät das /Ack-Signal wieder auf High und beendet so die Negotiationssequenz. Die Schnittstelle befindet sich im angeforderten Modus.
Seit einiger Zeit gibt es Programme, mit deren Hilfe man ein sogenanntes Peer-to-Peer-Netz aufbauen kann. Auf diese Weise können sich zwei Rechner ihre Ressourcen wie Plattenspeicher und Drucker teilen. Über die parallele Schnittstelle werden dabei die benötigten Daten ausgetauscht. Bekannte Vertreter dieser Programme sind etwa LapLink, KirschbaumLink und Interlink, das sogar kostenlos bei MS-DOS ab der Version 6.2 beiliegt. Sogar Windows 95 verfügt über die Option des PC-Direktverbindung über ein paralleles Kabel. Der Vorteil dieser Verbindung gegenüber einem seriellen Nullmodemkabel liegt auf der Hand. Durch die parallele Datenübertragung wird hier eine bis zu zehn mal höhere Übertragungsrate erreicht.
Da es diese parallele Datenübertragung bereits vor der Entwicklung des neuen IEE-1284-Standard gab, wird dieser auch nicht unterstützt. Übertragen wird im SPP-Modus, wobei ein Teil der Datenleitungen als Datenausgang und die Statusleitungen als Dateneingang diesen. Die Signale werden wie in der nächsten Abbildung zu erkennen ist, überkreuzt miteinander verbunden.
Verbindungskabel für die parallele Datenübertragung
Die Reihenfolge dieser vier Leitungen wurde freilich nicht einfach willkürlich gewählt, sondern so, daß sie genau der Bitfolge der Signale im Statusregister entspricht. Auf diese Weise müssen keine umständlichen Bitoperationen wie etwa im Nibble-Mode mehr durchgeführt werden, um aus zwei Nibbeln ein Byte zusammenzusetzen. Allerdings kann, da das Ack-Signal als Datenleitung genutzt wird, die Übertragung nicht Interruptgesteuert werden.
Die Signalübertragung ist recht einfach. Über vier der fünf Datenleitungen wird eine Bytehälfte, ein Nibble, übertragen., das fünfte Signal dient zur Steuerung.
Timing der parallelen Datenübertragung
Zunächst wird die unter Bytehälfte auf die Signale D0 bis D3 gelegt. Das Signal D4 hat dabei noch solange Low-Pegel, bis die Datensignale sicher ausgegeben sind, dann wird mit einer steigenden Flanke von D4 das erste Nibble zur Übergabe freigegeben. Nach einer kurzen Pause wird das High-Nibble ausgegeben. Das Signal auf D4 hat dabei immer noch High-Pegel. Um das Gegenüber zur Annahme des Datums aufzufordern wird auf D4 eine fallende Flanke erzeugt. Der Empfänger übernimmt auch die obere Bytehälfte und setzt beide Nibbles wieder zusammen. Das Byte ist übertragen.
Da keine Empfangsbestätigung stattfindet, muß die Software darauf achten, daß auch alle Bytes korrekt übertragen werden. Dazu ist es unbedingt notwendig, daß diese einfache Übertragungssequenz in ein komplettes Protokoll verpackt wird.
Eine weitere parallele Schnittstelle ist der IEC-Bus. Dieser unterscheidet sich gleich in zwei grundlegenden Merkmalen von der Centronics-Schnittstelle. Zuerst einmal ist diese Schnittstelle bidirektional, d.h. über die Datenleitungen können Daten hin und zurück fließen. Dann ist der IEC-Bus nicht nur dazu gedacht, Daten zwischen Geräten hin und her zu transportieren. An ihn können gleichzeitig bis zu 31 Geräte angeschlossen werden. Wegen dieser Möglichkeit wird dieses System auch IEC-Bus und nicht IEC-Schnittstelle genannt. Denn eine Schnittstelle dient ja nur als Übergang zwischen zwei Geräten. Ein Bus hingegen erfüllt die gleichen Aufgaben wie das namensgleiche Verkehrsmittel. Nur mit dem Unterschied, daß statt Fahrgästen Daten befördert werden.
Der IEC-Bus ist schon ein Oldtimer unter den Schnittstellen. Ursprünglich wurde er von der Firma Hewlett-Packard als eigene Schnittstelle entwickelt und HPIB (Hewlett Packard Interface Bus) getauft. Er fand jedoch so viele Anhänger, daß man ihn schließlich in GPIB (General Purpose Interface Bus) umbenannte. Als er schließlich von IEEE in den USA genormt wurde, bekam er seinen vorerst endgültigen Namen IEEE-488-Bus. Einige Jahre später wurde diese Norm von IEC in die Norm IEC 625 übernommen. Im Allgemeinem wird diese Schnittstelle heute als IEC-Bus bezeichnet.
Durch das Buskonzept entstehen viele Vorteile. Wie in der nächsten Abbildung zu erkennen ist, können viele Endgeräte an einen Controller angeschlossen werden. Dadurch spart man viele Übertragungsleitungen und Steckverbinder. Als Steckverbinder werden meist solche verwendet, auf deren Rückseite ein weiterer aufgesteckt werden kann. Dadurch muß jedes Gerät lediglich einen Steckverbinder besitzen. Alle Geräte können somit in beliebiger Reihenfolge vernetzt werden.
Jedes Gerät bekommt zur Adressierung seine eigene Nummer, unter der es angesprochen werden kann. Damit ist es dem Controller möglich, auf jedes Gerät einzeln zuzugreifen und es zu steuern.
Anordnung von IEC-Bus-Geräten
Der IEC-Bus hat schon einiges an Entwicklungsstufen durchlaufen. Doch trotzdem ist es den Normierungsgremien nicht gelungen, eine einheitliche Schnittstelle zu schaffen. Bei den internen Daten und Timings gibt es zwar eine völlige Übereinstimmung, doch der amerikanische IEEE-Bus hat einen anderen Steckverbinder als der Europäische. Für den IEEE-488-Bus, wie der offizielle Name lautet, wurde ein 24poliger Amphenolsteckverbinder gewählt, wie er in der nächsten Abbildung zu sehen ist. Darunter ist der, des IEC-625-Busses abgebildet, ein 25poliger Sub-D-Steckverbinder weiblicher Bauart. Die Belegung der Steckverbinder kann aus der Tabelle entnommen werden.
25poliger Steckverbinder für den IEC-625-Bus
24poliger Amphenolsteckverbinder für den IEEE-488-Bus
Sub-D |
Centr. |
Nibble-Signal |
In/Out |
Signalbeschreibung |
|
|
PtrClk |
In |
Handshakesignal zur Datenübernahme |
|
|
PtrBusy |
In |
Zunächst DATA 3, dann DATA 7 |
|
|
AckDataReq |
In |
Zunächst DATA 2 dann DATA 6 |
|
|
Xflag |
In |
Zunächst DATA 1 dann DATA 5 |
|
|
/DataAvail |
In |
Zunächst DATA 0 dann DATA 4 |
|
|
HostBusy |
Out |
Ein Low-Pegel zeigt die Empfangsbereitschaft an |
|
|
1284Active |
Out |
Ein High-Pegel zeigt Übergang zum 1284-Modus |
|
|
GND |
|
Logische Mass |
Pinbelegung des IEC- und IEEE-Bus-Steckverbinders
Handshake des IEC-Busses
Die acht Datenleitungen sind bidirektional. Über sie kann der Controller Befehle versenden sowie Daten senden und empfangen. Den Handshake dieser Daten, der in der vorherigen Abbildung zu sehen ist, erledigen die Signale DAV, NRFD und NDAC. Die Daten werden in TTL-Pegel und negativer Logik übertragen. Also Achtung beim Testen der Signale.
Mit dem Signal DAV zeigt der Talker, daß die am Bus anliegenden Daten gültig für die Übernahme durch die Endgeräte sind. Dieses Signal wird erst aktiviert, wenn die Daten sicher auf dem Bus anliegen und alle angeschlossenen Geräte ihre Bereitschaft signalisiert haben.
Diese Bereitschaftssignal erfährt der Talker durch einen High-Pegel des Signals NRFD. Das Low aktive Signal zeigt mit seiner Aktivität an, daß mindestens noch ein Gerät mit der Datenverarbeitung beschäftigt ist, also noch keine neuen Daten empfangen kann. (wired and)
Wurde ein Datenbyte übergeben und angenommen, so wird dies durch das Signal NDAC bestätigt. Auch hier besteht wieder eine wired and Verknüpfung.
Die dritte Gruppe von Signalen übernimmt die eigentliche Bussteuerung. Sie entscheidet darüber, ob gerade Daten oder Befehle gesendet werden. Das IFC-Signal bewirkt eine Art Reset des Systems. Dieses Signal ist High-aktiv, d.h. wird ein positiver Impuls ausgesendet, werden alle angeschlossenen Geräte zurückgesetzt und in einen definierten Zustand gebracht.
Die meisten IEC-Bus-Geräte sind sowohl für den Betrieb am IEC-Bus als auch für den manuellen Betrieb geeignet. Das Umschalten zwischen den ferngesteuerten und dem manuellen Betrieb kann mit dem Signal REN vorgenommen werden. Ist dieses High-aktive Signal aktiviert, wird die manuelle Bedienungsmöglichkeit des Gerätes abgeschaltet und das Gerät kann somit nur noch über einen IEC-Bus ferngesteuert werden.
Möchte ein Gerät, ein Talker oder ein Listener, vom Controller bedient werden, so meldet es diesen Bedienungswunsch mit einem Low-Pegel des Signals SRQ. Alle Endgeräte sind an diese Leitung parallel angeschlossen. Erfolgt ein Bedienungsruf, so muß der Controller alle Geräte abfragen, um herauszufinden, welches die Bedienungsanforderung stellte.
Das Signal ATN verwendet der Controller, um anzuzeigen, ob es sich bei dem auf dem Datenbus befindlichem Byte um eine Schnittstellennachrichten- dann hat dieses Signal einen Low-Pegel oder um eine Gerätenachricht handelt, dann liegt an dieser Leitung ein High-Pegel. Diese Funktion ist jedoch nur gültig, wenn das Signal EOI währenddessen Low führt.
Liegt auf der EOI-Leitung ein Low-Pegel an, dient das Signal ATN zur Darstellung der Nachrichten Ende und Identifizieren. Führen EOI und ATN Low, wird eine Parallelabfrage (zum Feststellen woher der Bedienungsruf kam) eingeleitet. Ist das Signal ATN High, während das EOI-Signal Low führt, kennzeichnet diese Funktion das Ende der Datenübertragung. Da diese Grundbefehle durch Aktivieren einer Signalleitung übertragen werden, nennt man sie auch Eindrahtnachrichten.
An den IEC-Bus kann man viele verschiedene Geräte anschließen, die man grob in drei Gerätegruppen einteilen kann.
Der Controller: Er kontrolliert die Vorgänge auf dem Bus. Dabei sendet er Nachrichten an jedes Gerät, um seine Funktion zu steuern, oder um ihm mitzuteilen, daß es seine Daten übermitteln kann. Er hat also die Herrschaft über den Datenbus und nur er bestimmt, wann und von wem dieser genutzt werden darf. Es sind mehrere Controller an einem Bussystem erlaubt, von denen aber immer nur einer gleichzeitig aktiv sein darf. Die Empfänger dieser Nachrichten, also die beiden anderen Gruppen sind:
Der Talker: Er kann, wie der Name schon sagt, nur sprechen, also Daten an andere Geräte senden. Wie auch beim Controller, darf immer nur ein Talker aktiv sein, obwohl mehrere im Bussystem vorhanden sein können. Würden mehrere Talker gleichzeitig ihre Daten auf den Bus geben, so käme es innerhalb kurzer Zeit zu einem "Datensalat" da sich die verschiedenen Daten miteinander vermischen würden. Typische Talker sind Meßgeräte wie z.B. Multimeter, Frequenzzähler, Oszilloskope usw.
Wo Daten abgesendet werden, müssen natürlich auch irgendwo Daten empfangen werden. Am IEC-Bus erledigt das:
Der Listener: Auch bei dieser Gerätegruppe sagt der Name alles über seine Funktion aus. Hier werden Daten empfangen. Im Gegensatz zu den anderen beiden Gruppen können hier mehrere dieser Geräte am Bus aktiv sein, da ihre Aktivität ja nur darin besteht, die logischen Pegel vom Bus zu übernehmen und den Handshake zu ergänzen.
Blockschaltbild eines IEC-Bus-Gerätes
Der erste Block der Schnittstelle ist die Leitungsfunktion. Hier werden die ankommenden Signale invertiert (wegen der negativen Logik) und gepuffert. Hier wird auch für den ordnungsgemäßen Ablauf der Handshakesignale gesorgt. Im zweiten Block, der Nachrichtendekodierung, geschieht schon die eigentliche Datenverarbeitung. Hier werden die Schnittstellennachrichten von den Gerätenachrichten getrennt und ihren Empfängern zugeführt. Die Gerätenachrichten werden gleich ihrem Empfänger, der Gerätefunktion, zugeführt. Die Gerätefunktion wird durch das eigentliche Gerät repräsentiert. Seine Funktion wird über den IEC-Bus gesteuert, doch kann dies meistens auch manuell geschehen. Die Gerätenachrichten, die der Gerätefunktion zugeführt werden, können das Gerät aber auch völlig ohne manuelle Hilfe steuern.
Die Schnittstellennachrichten werden von der Nachrichtendekodierung entschlüsselt. Diese leitet dann die erforderlichen Tätigkeiten ein, d.h. sie beeinflußt die Schnittstellenfunktion. Die Schnittstellenfunktion bildet die eigentliche IEC-Bus-Schnittstelle. Es gibt elf verschiedene Schnittstellenfunktionen, die, wie auch der Rest der Schnittstelle, in der DIN-Norm IEC 625 normiert wurden. Jede Funktion hat dadurch ihre festgelegten Aufgaben.
Diese umfangreiche Bussystem beschränkt sich natürlich nicht nur auf Eindrahtnachrichten und Hardwarefunktionen. Mit speziellen Nachrichten, die als Befehle zur Steuerung der Schnittstelle dienen, kann der Controller die Funktionen des IEC-Busses überwachen. Alle ankommenden Nachrichten können in Schnittstellen- und Gerätenachrichten unterteilt werden. Die Gerätenachrichten werden ohne Umweg über die Schnittstelle direkt zum Gerät übermittelt. Schnittstellennachrichten werden dekodiert und steuern alle internen und externen Vorgänge.
Die Schnittstellennachrichten sind Befehle, die die Schnittstelle steuern, wie z.B. Maschinenbefehle einen Rechner. Diese Befehle werden auch als externe Befehle bezeichnet, da sie von "außen", also über das Kabel kommen. Im Gegensatz dazu dienen die internen Befehle zur Kommunikation der Schnittstellenfunktion mit der Gerätefunktion. Diese Befehle werden codiert über den Bus gesendet wobei dies durch das ATN-Signal angezeigt wird.
Will man Daten übergroße Entfernungen hinweg mit großen Geschwindigkeiten übertragen, kommen keine parallelen Schnittstellen in Frage. Allein ein Kabel, das die ausreichende Qualität zur Übertragung hoher Frequenzen besäße, wäre mit der erforderlichen Adernzahl viel zu teuer und zu aufwendig in der Handhabung. Außerdem ist die Störanfälligkeit eine parallelen Schnittstelle wesentlich höher als die einer seriellen. Auch wenn die Anforderungen nicht so hoch gesetzt werden, haben sich serielle Schnittstellen durchgesetzt, deshalb ist die serielle Datenübertragung bei PCs sehr weit verbreitet. Der überwiegende Teil der Peripheriegeräte für PCs und überhaupt für Computer nutzt eine ganz besondere serielle Schnittstelle: Die RS 232, oder auf deutsch die V.24 Schnittstelle. Sie ist wahrscheinlich die universellste uns am meisten verwendete Schnittstelle, die es im Computerbereich gibt. Jeder PC hat mindestens eine davon, allermeistens sogar zwei. Unter DOS lassen sich bis zu vier solcher Schnittstellen verwenden, unter anderen Betriebssystemen, z.B. unter UNIX kann der PC sogar 10 oder 20 RS 232 Schnittstellen verwalten. Ursprünglich wurde diese Schnittstelle dazu entwickelt, um über ein Modem mit anderen Rechnern zu kommunizieren. Für diese Art der Datenübertragung ist eine serielle Kommunikation unabdingbar - muß doch über die Telefonleitung Bit für Bit geschoben werden. Über diese Schnittstelle werden also die Daten bitseriell übertragen. Dies geschieht mit einer Übertragungsgeschwindigkeit von 50 bis 19200 Bit/s, je nach Übertragungsmedium und -strecke. Die Kabellänge kann dabei bis zu hundert Meter betragen. Starke Treiber und ein gutes (geschirmtes) Kabel sind für solch große Strecken natürlich obligatorisch. Der Vorzug der RS-232-Schnittstelle liegt darin, daß nicht einfach nur Daten übertragen werden. Es kann zusätzlich eine Paritätsprüfung stattfinden, d.h. ein übertragenes Wort wird auf seine Richtigkeit überprüft. Zudem beinhaltet die RS-232-Schnittstelle zahlreiche zusätzliche Steuer- und Meldeleitungen.
Wie schon oben erwähnt, ist diese Schnittstelle eigentlich mittels Modem zur Datenfernübertragung gedacht. Aus dieser Zeit stammen auch noch die Bezeichnungen für die beiden Parameter einer Kommunikation über die RS-232-Schnittstelle. Man unterteilte die Endeinrichtungen für diese Schnittstelle in die Gruppen Datenendeinrichtung (DEE) und Datenübertragungseinrichtung (DÜE). Mit der DEE ist meist ein PC oder sonstiger Computer und mit der DÜE ein Modem gemeint. Diese Unterscheidung drückt sich in der Belegung des Schnittstellensteckers aus. Wenn ein DEE und ein DÜE über die RS-232-Schnittstelle miteinander verbunden sind, können alle Leitungen parallel laufen, es ist eine Pin-zu-Pin Verbindung möglich. Da heute nur selten ein Modem, dafür aber immer öfter sonstige Geräte an die RS-232-Schnittstelle angeschlossen werden, verliert diese Bezeichnung natürlich ihren Sinn, da die meisten Endgeräte als DEE klassifiziert sind. Bei DEE-DEE-Verbindungen, die dann auftreten, müssen verschiedene Pins über Kreuz miteinander verbunden werden. Diese Verbindung wird "Nullmodem" genannt, da sich zwei DEEs ohne Modem miteinander koppeln. Alle nachfolgenden Verbindungen beziehen sich auf eine DEE-DEE-Verbindung.
Obwohl es außer der deutschen Norm (wo der offizielle Name der Schnittstelle V24 lautet) noch die amerikanische RS-232-Norm gibt, hat man sich hier auf einen einheitlichen Steckverbinder geeinigt. Dies ist in der Vollversion ein männlicher 25poliger Sub-D-Stecker für das DEE und für das DÜE ein 25poliger Sub-D-Stecker weiblichen Formats. Für die kleine Version der RS-232-Schnittstelle ist es ein 9poliger Sub-D-Stecker, ebenfalls männlichen Formats.
Sub-D-Stecker
Die Unterscheidung von Vollversion und Light-Version der Stecker ist einfach. Der kleine Stecker beinhaltet nur die nötigsten Signale, die zur Kommunikation notwendig sind, der Große hat zusätzliche Signale zu Modemsteuerung und für sonstige Aufgaben. In der Tabelle ist die Anordnung der Signale auf dem Stecker dokumentiert. Immer auch die auf dem Stecker aufgedruckten Pinnummern anschauen, um sicherzugehen, daß keine Verwechslung passiert.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Signale der RS-232-Schnittstelle, Richtungsangaben von der DEE aus gesehen
Im ersten Block sind die, zu einer erweiterten Kommunikation benötigen Signale aufgelistet. Die im zweiten Block beschriebenen Signale können für zusätzliche Zwecke genutzt werden, jedoch werden sie weder vom Betriebssystem, noch von den meisten Datenübertragungsprogrammen unterstützt. Manche dieser Leitungen sind nicht einmal auf der Schnittstellenkarte zu finden.
Das Signal GND dient als Bezugspotential und als gemeinsamer Rückleiter für die fließenden Ströme. Daneben existiert bei dem 25poligen Stecker auch noch die Schutzerde. Diese, nach der DIN abgeschaffte, aber doch für die Kabelschirmung (falls vorhanden) sowie zur Verbindung der metallischen Gehäuseteile des Steckers verwendete Leitung darf auf keinen Fall Verbindung mit der Signalmasse haben. Bei einem 9poligen Stecker kann man bei Verwendung eines geschirmten Kabels den Schirm mit der Siganlmasse koppeln.
Die übrigen Signale werden, genau wie bei den meisten übrigen Schnittstellen in Daten-, Steuer- und Meldeleitungen unterteilt. Die beiden entscheidenden Leitungen für die Übertragung sind die beiden Datenleitungen TXD und RXD. TXD ist der Ausgang für die Sendedaten und auf RXD kommen die zu empfangenen Daten an. Mit diesen beiden Datenleitungen und der Signalmasse kann schon eine einfache Datenübertragung erfolgen. Dabei werden die beiden Massen direkt und die Datenleitungen über Kreuz miteinander verbunden. Die Kreuzverbindung ist notwendig, damit die Sendeleitung des einen an die Empfangsleitung des anderen Gerätes angeschlossen wird.
Eine einfache Kommunikation über die Datenleitungen
Bei der Kommunikation über die Datenleitungen werden nicht nur Datenbits übertragen. Um einen sicheren Transport zu gewährleisten, werden mit den Datenbits noch einige zusätzliche Steuerbits transportiert. Diese Bits bilden einen Datenblock, wie er in der nächsten Abbildung zu sehen ist.
Ein Datenpaket, wie es bei der seriellen Kommunikation übertragen wird.
Eine Übertragung eines Bytes läuft folgendermaßen ab: Im unbenutzten Zustand hat die Schnittstellenleitung immer High-Pegel. Um den Beginn der Übertragung zu signalisieren, wird der Pegel der Signalleitung für die Länge eines Bits auf Low gezogen. Dieses erste Bit im Datenblock wird als Startbit bezeichnet. Dem Startbit folgen die Datenbits. Es können, je nach Einstellung, 5 bis 8 Datenbits pro Wort übertragen werden. Als Kontrolle für eine fehlerfreie Übertragung kann ein Paritätsbit folgen. Am Ende des Pakets folgen dann noch ein oder zwei Stopbits. Diese Bits haben immer High-Pegel und sind notwendig um eine Übertragungspause vor dem nächsten Startbit zu erzwingen.
Der Controllerbaustein, der für die Steuerung der RS-232-Schnittstelle zuständig ist, kann des Senden und Empfangen von Daten gleichzeitig steuern. Beim Senden wird das zu sendende Datenwort zusammen mit Start-, Stop und Paritätsbit in ein Schieberegister geschrieben und mit dem voreingestellten Takt ausgegeben. Das Empfangen ist etwas komplizierter. Wird ein Startbit erkannt, so wartet der Empfänger eine halbe Bitlänge ab und prüft dann, ob das Signal noch Low-Pegel hat. Damit wird vermieden, daß eine kleine Spannungsstörung auf der Leitung zum Einlesen eines falschen Bits führt. Ist das Startbit gültig, so werden die Pegel der folgenden Bits jeweils in der Mitte abgetastet und in ein Schieberegister geschoben, von wo diese dann gelesen werden. Diese Methode der Abtastung hat den Vorteil, daß unsaubere Signalflanken die Qualität der Datenübertragung nicht beeinträchtigt.
Für eine sinnvolle und qualitativ gut Kommunikation werden aber außerdem noch die übrigen Steuer- und Meldeleitungen verwendet, die im ersten Block der Tabelle zu sehen sind. In der nächsten Abbildung ist die Verbindung einer Vollständigen, erweiterten Datenübertragungsverbindung zwischen zwei DEEs zu sehen.
Vollständige Kommunikation über die RS-232-Schnittstelle
Eines der etwa unwichtigeren Signale ist DCD (Data Carrier Detected - Datenträger erkannt). An diesem Signal erkennt man noch den ursprünglichen Verwendungszweck der RS-232-Schnittstelle., die Datenfernübertragung. Dieses Signal wird aktiv, wenn das angeschlossene Modem mit einem anderen Modem Verbindung aufgenommen hat. Der PC weis dann, daß eine Verbindung besteht, und Daten gesendet werden können.
Werden zwei Rechner ohne Modem gekoppelt, entfällt diese Trägersignal natürlich und das DCD-Signal wird anders erzeugt. Wenn eine Verbindung aufgebaut wird, signalisiert ein aktives DTR-Signal (Data Terminal Ready = Terminal bereit) des einen Rechners seine Sendebereitschaft. Aktiviert ein Rechner dieses Signal, dann heißt das also, daß der mit einem anderen Rechner in Verbindung treten möchte. Der Kommunikationspartner erkennt diese Bereitschaft wegen der gekreuzten Leitungen als ankommendes DSR-Signal (Data Set Ready = Betriebsbereitschaft). Wenn auch er für die Datenübertragung bereit ist, quitiert er das Signal mit seinem DTR-Signal, das bei dem ersten Rechner wiederum als DSR-Signal ankommt. So signalisieren sich beide Geräte gegenseitig den Willen zur Kommunikation. Mit dem Deaktivieren eines DTR-Signals beenden sie die Kommunikation.
Um dabei ein Modem zu simulieren, wird an jedem Rechner die DSR- mit der DCD-Leitung verbunden. Kommt dann eine Übertragungsanfrage, so wird dem Rechner vorgegaukelt, daß außerdem ein Trägersignal erkannt wird. Zu diesen Beschreibungen schaut man sich am besten das Timing einer solchen Kommunikation aus der Sicht des Senders an.
Timing der erweiterten Datenübertragung
Nachdem die Verbindung nun steht und die Daten übertragen werden, kann es natürlich vorkommen, daß ein Endgerät die ankommenden Nachrichten nicht so schnell verarbeiten kann. Jetzt muß die Übertragung für einen Augenblick gestoppt werden - sonst gehen die Daten verloren. Das dazu nötige Handshaking erledigen die Signale RTS (Request To Send = Sendeaufforderung) und CTS (Clear To Send = Sendebereitschaft), die ebenfalls gekreuzt verbunden sind. Ist ein Endgerät bereit, Daten zu empfangen, läßt er einen sendewilligen Partner dies durch ein Aktivieren seines CTS-Signals erkennen. Kommt der Empfänger nun in die Lage, daß er im Moment keine Daten mehr verarbeiten kann, so deaktiviert er seine RTS-Leitung und der Sender , der diese Deaktivierung an seiner CTS-Leitung registriert unterbricht seine Datenübertragung so lange bis das Signal wieder aktiv ist. Das Signal RI der Ring Indikator (Klingelanzeige) stammt ebenfalls aus der "Modemzeit". Dieses Signal wird normalerweise vom anrufenden Modem erzeugt, wodurch spezielle Programme mit dem Annehmen des Anrufs reagieren können. Es kann aber auch für andere Zwecke genutzt werden.
Im zweiten Block der Tabelle sind die weniger wichtigen Signale angeführt. Die beiden Spannungen TV+ und TV- (positive und negative Testspannung) entsprechen den jeweiligen Spannungspegeln für Low und High, damit am anderen Ende der Übertragungsleitung überprüft werden kann, ob noch gültige Spannungspegel ankommen. Desweiteren existiert bei der vollständigen RS-232-Schnittstelle noch ein weiterer Übertragungsweg - der Hilfskanal. In der Tabelle sind die Hilfskanalsignale mit "2" vor dem Signalnamen gekennzeichnet. Dieser Hilfskanal dient während der Hauptdatenübertragung zur Übertragung von Hilfsdaten in gleicher oder entgegengesetzter Richtung. Mit den Signalen CH und CK können entweder Sender oder Empfänger einen Wechsel der Übertragungsfrequenz beantragen. Dabei entspricht ein Low-Pegel einer festgelegten niedrigen, und ein High-Pegel einer hohen Übertragungsfrequenz. Zuletzt noch ein Signal, das fast ausschließlich zur Kommunikation via Modem dient, das Signal SQD (Signal Quality Detected = Signalqualität erkannt), das eine mangelnde Qualität der Datenübertragung anzeigt.
Die RS-232-Schnittstelle hat zwei Besonderheiten bei ihren elektrischen Werten. Zum einen erfolgt die Übertragung der Daten (auf den Leitungen RXD und TXD) mit negativer Logik, d.h. eine niedrige Spannung entspricht einem H-Pegel und eine dazu verhältnismäßige hohe Spannung stellt den L-Pegel dar. In der nächsten Abbildung sind die Spannungszuweisungen der logischen Pegel zu sehen. Die Steuersignale werden jedoch mit positiver Logik übertragen. In den verwendeten Spannungen liegt die zweite Besonderheit. Hier wird nicht wie bei den meisten anderen Schnittstellen TTL-Pegel verwendet, sondern es wurde ein neuer Spannungspegel definiert.
Diese Spannungen stellen Grenzwerte dar. Normalerweise entspricht einem High-Pegel eine Spannung von -12V und einem Low-Pegel eine Spannung von +12V.
In der heutigen Zeit gibt die Computertechnik in fast allen Arbeitsbereichen den Ton an. Auch in der Maschinen- und Fertigungstechnik hat sie mittels computergesteuerten Dreh-, Bohr- und Fräsmaschinen Einzug gefunden. Sogenannte CNC-Maschinen erledigen heute schon manche Arbeiten genauer und schneller als das Menschen können. Wegen des rapiden Preisverfalls der PCs werden diese oft zum Steuern dieser Maschinen genutzt. Einzig der Verbindung vom PC zur Maschine bereitet Schwierigkeiten. Die Schnittstelle muß leistungsfähig in der Datenübertragung sein und sie muß dem rauhen Werkstattbetrieb standhalten. Das bedeutet, daß große elektrische Störeinflüsse auf den Übertragungskanal einwirken. Weiterhin können hohe Übergangswiderstände und ähnliche Komplikationen auftreten. Trotz dieser widrigen Umstände ist hier eine Schnittstelle gefragt, die fehlerlos Daten übermittelt und dies mit einer relativ hohen Geschwindigkeit. Es gibt eine solche Schnittstelle - und zwar schon sehr lange. Es ist die TTY- oder Stromschleifenschnittstelle. Der Name Stromschleifenschnittstelle sagt schon alles über ihre Funktionsweise aus. Hier werden nicht, wie z.B. bei der RS-232-Schnitstelle, die beiden logischen Zustände High und Low verschiedenen Spannungen zugeordnet. Bei dieser Schnittstelle werden die logischen Pegel durch verschiedene Ströme dargestellt. Das Prinzip dieser Schnittstelle ist ganz einfach. In der nächsten Abbildung ist eine unidirektionale Datenverbindung dargestellt.
Abstrahierte Stromschleife
Die Verbindung zwischen Sender und Empfänger besteht aus einer Leitungsschleife. In dieser Schleife sitzt, entweder auf der Sender- oder der Empfängerseite, eine Stromquelle. Der Sender besteht aus einem Schalter. Wird ein 1-Bit gesendet, ist der Schalter geschlossen, bei einem 0-Bit geöffnet. Daraus folgt, daß ein Stromfluß einen H-Pegel überträgt, fließt kein Strom, kommt das einem Low-Pegel gleich. In der Norm wurde festgelegt, daß ein Strom kleiner 3 mA als Low definiert ist und ein Strom größer als 14 mA als High-Pegel gilt.
Der Empfänger besteht aus einem Stromfühler, der im Bild symbolisch als Amperemeter dargestellt ist. Hier werden die unterschiedlichen Ströme wieder in einen Spannungspegel umgewandelt. Die Stromquelle liefert immer einen konstanten Strom und da in der Schleife keine Abzweigung existiert, muß überall, an jeder Stelle der Schleife der gleiche Strom fließen. Deshalb fallen hier Störeinflüsse wie z.B. Leitungs- und Übergangswiderstände nicht ins Gewicht. Elektromagnetische Störungen stellen dank ausreichend großer Differenz zwischen High und Low keine allzugroße Beeinflussung dar.
Eine weitere Besonderheit dieser Schnittstelle ist die galvanische, d.h. die totale elektrische Trennung von Sender- und Empfängerschaltung. Die Leitungsschleife ist ein eigener, unabhängiger Stromkreis, dessen Aktivität von der Senderseite gesteuert und von der Empfängerseite ausgewertet wird. Die Trennung kann entweder optisch durch Optokoppler oder mechanisch über Relais realisiert werden, wodurch ein Fehler eines Stromkreises den anderen nicht zerstören kann.
Der Name TTY-Schnittstelle wurde ihr nach ihrem ersten Anwendungsgebiet gegeben. Diese Schnittstelle wurde früher für den Betrieb von Fernschreibern (TeleTYpes) und noch früher zum Morsen genutzt. Diese Schnittstelle eignete sich hervorragend zum Betrieb mit Relais, die man als "Elektronikersatz" benötigte. Außerdem bot sie in der noch etwas gröberen Schaltungstechnik die ideale Störsicherheit. Natürlich wurden die Daten dieser Schnittstelle auch in einer Norm festgehalten. In DIN 66258 kann man alle Daten über diese Schnittstelle nachlesen.
Es sind Übertragungsraten bis zu 19200 Bps bei maximalen Entfernungen von etwa 500m.
Spezielle Schnittstellenbausteine sowie genormte Steckverbinder gibt es nicht. Man kann sich daher die für seine Anwendungen am günstigsten Varianten aussuchen.
Als serielle Schnittstelle im normalen PC-Bereich ist die RS-232-Schnittstelle wohl die universellste und leistungsfähigste Lösung. Ihr Nachteil ist jedoch, daß sie nur relativ niedrige Übertragungsgeschwindigkeiten zur Verfügung stellt. In der Norm sind als Maximum 19200 Bps festgelegt, bei höheren Frequenzen kann die Übertragungsqualität nicht mehr gewährleistet werden. Auch die TTY-Schnittstelle, die zwar bessere Datenübertragungen über weitere Strecken als die RS-232-Schnittstelle ermöglicht, hat ihre Geschwindigkeitsgrenze bei dieser Übertragungsrate. Doch bei den Datenmengen, die heute z.B. in der Bildbearbeitung anfallen, reicht diese Übertragungsgeschwindigkeit einfach nicht mehr aus. Sollen Megabytes oder gar Gigabytes zwischen Geräten hin- und hertransportiert werden, wären große Übertragungszeiten die Folge. Aus diesem Grund wurde eine neue Schnittstelle konzipiert - die RS-422-Schnittstelle.
Das vorhandene Konzept der Serialisierung der RS-232 wurde übernommen. Die vorhandenen Controller können allerdings nicht mehr benutzt werden, da hier Übertragungsraten erreicht werden sollen, die einige Mbs betragen. Diese hohen Übertragungsgeschwindigkeiten können die üblichen Controller aber nicht mehr bewältigen.
Eine grundlegende Anderung tritt am Übertragungsweg auf. Dort wird nicht mehr die einzelne (abgeschirmte) Leitung verwendet, sondern eine verdrillte Doppelader, ein "Twisted Pair". Außerdem werden den beiden logischen Zuständen weder Spannungs- noch Strompegel zugeordnet, sondern sie werden Differenzspannungen zugeordnet.
Dabei wird einer Spannungsdifferenz großer als +2.0 V High und kleiner als -0.2 V Low zugeordnet.
Dieses Verfahren erhöht die Störsicherheit so sehr, daß Übertragungsgeschwindigkeiten bis zu 20 Mbs erreicht werden können. Die maximale Länge der Übertragungsstrecke erhöht sich außerdem auf 1200m. Damit dürfte die Schnittstelle wohl eine der leistungsfähigsten seriellen Schnittstellen im PC-Bereich sein.
Eine DIN-Norm zur RS-422-Schnittstelle gibt es nicht. Es sind auch keine Protokolle oder sonstige Übertragungsparameter vorgegeben. Die RS-422-Schnittstelle beschränkt sich lediglich auf die Pegel und Hardwarebeschreibung.
In der nächsten Abbildung ist eine prinzipielle Datenverbindung zu sehen.
Abstrahierte RS 422-Schnittstelle
Die Verbindung besteht aus zwei Leitungen, einer für das nicht invertierte und einer für das invertierte Signal. Die beiden Leitungen sind hier mit L+ für das nichtinvertierte und mit L- für das invertierte Signal bezeichnet. Die Spannung, die bei der RS-422-Schnittstelle genutzt wird ist +5V. Wird ein High gesendet, beträgt die Spannung auf L+etwa +5V und auf L- 0V gegen Masse. Beim Senden eines Low-Pegels sind die beiden Spannungen umgekehrt zugeordnet. Wird jetzt allerdings L- als Bezugspunkt gewählt, messe ich beim Übertragen eines High-Pegels etwa +5V, bei einem L-Pegel allerdings -5V zwischen L- und L+.
Das liegt nicht etwa daran, daß plötzlich eine negative Spannung irgendwo entstanden ist. Die negative Spannung entstand nur aus dem veränderten Bezugspunkt. Hier beziehen sich die beiden Signale eben aufeinander und nicht wie üblich auf Masse.
Die Unterscheidung einer positiven und negativen Spannungsdifferenz als logische Pegel beeinflußt die Störanfälligkeit natürlich sehr günstig. Auch wenn die ankommenden Signale durch die Leitungswiderstände sehr klein geworden sind, können immer noch sichere Pegel zugeordnet werden.
Der Verzicht auf den Massebezugspegel schaltet wertere Störquellen aus. Durch Unterschiede im Erdpotential, das in einigen Fällen mit der Signalmasse gekoppelt ist, können hohe Spannungen auftreten. Diese Spannungen verschieben den Bezugspegel was eine Fehlinterpretation der Signalspannungen zur Folge hat.
Eine genormte Steckverbindung gibt es auch bei dieser Schnittstelle nicht. Wie auch bei der TTY-Schnittstelle, ist hier ein 9poliger Sub-D-Steckverbinder weiblicher Bauart empfehlenswert.
Pin |
Funktion |
|
TXD+ |
|
Nicht belegt |
|
RXD- |
|
Nicht belegt |
|
Nicht belegt |
|
TXD- |
|
Nicht belegt |
|
RXD+ |
|
Nicht belegt |
Pinbelegung des RS-422-Steckverbinders bei Verwendung eines 9poligen Sub-D-Steckers
Um Reflexionen bei der Datenübertragung zu vermeiden ist es unbedingt notwendig, das System anzupassen.
Komplette RS 422-Schnittstelle
Neben allen Vorteilen, die serielle Schnittstellen bieten, sind diese vielen Entwicklern und Anwendern nicht geheuer. Die vielen Handshakesignale, die zu beachten sind, dazu kommen noch Softwareprotokolle und viele Dinge mehr, die dazu notwendig sind, um die nötige Übertragungssicherheit bei hohen Frequenzen zu ermöglichen. Da greift man dann doch lieber zu den parallelen Schnittstellen mit allen ihren Nachteilen zurück.
Seit einigen Jahren gibt es aber eine neue Schnittstelle. Eine serielle Schnittstelle, die gänzlich ohne Software auskommt, die bidirektional ist, und die zusätzlich hohe Übertragungsgeschwindigkeiten ermöglicht: Der INMOS-Link. Der INMOS-Link stammt aus dem Transputer-Bereich. Transputer sind einfach gesagt Hochleistungs-Mikroprozessoren, die parallel arbeiten (also mehrere Programme gleichzeitig) und schon vier interne Schnittstellen besitzen, eben diese Links. Und da diese Prozessoren von der Firma INMOS hergestellt werden, wird diese Schnittstelle INMOS-Link bezeichnet.
Die Schnittstelle arbeitet seriell und überträgt immer 8-Bit-Datenpakete. Dabei kann zwischen zwei Übertragungsraten umgeschaltet werden, 10 und 20 Mbs. Diese wird durch eine äußere Beschaltung festgelegt. Notwendig ist ein 5 MHz Takt der intern auf die benötigt Frequenz gebracht wird, wobei dieser Takt nicht genau allerdings sehr stabil sein sollte.
Bei so vielen Vorteilen muß es auch einen Nachteil geben. Dieser liegt, wie üblich bei solch hohen Frequenzen, im Übertragungsmedium, der Verbindung zwischen den Controllern. Wegen der hohen Frequenzen, die hier verwendet werden, ist keine längere Direktverbindung zwischen den Schnittstellen möglich. Ohne besondere Pufferung können nur Entfernungen von max. 0,3 m überwunden werden. Deshalb muß hier auf das Übertragungsmedium ganz besonderer Wert gelegt werden. Bei Anpassung kann man die Reichweite auf etwa 1 m verlängern, eine wirkliche Erhöhung der Reichweite ist aber nur durch Umsetzung der Signale auf RS-422-Pegel oder durch Verwendung von Lichtwellenleitern möglich.
Eine genormte Steckverbindung gibt es hier nicht. Jedoch wird in Transputersystemen sehr oft ein 10poliger Pfostenfeldstecker verwendet, wie er in der nächsten Abbildung zu sehen ist.
Pinnummer |
Funktion |
|
Eingangs-Linksignal |
|
GND |
|
GND |
|
Ausgangs-Linksignal |
|
Zusatzsignal (Error) |
|
Zusatzsignal (Analyse) |
|
Zusatzsignal (Reset) |
|
Betriebsspannung +5V |
|
Betriebsspannung +5V |
Belegung des Pfostensteckers
Die Signale Reset, Analyse und Error interessieren uns nicht weiter, weil sie nichts mit der eigentlichen Schnittstelle zu tun haben. LinkIn und LinkOut sind die beiden Datenleitungen, die mit einer Widerstandsanpassung direkt an den Schnittstellenbaustein angeschlossen sind. Außerdem liegt auf diesem Stecker noch die Versorgungsspannung, die z. B. dazu benutzt werden kann, einen Pegelwandler zu versorgen.
Das Timing der Schnittstelle ist im Vergleich zu ihrer Leistungsfähigkeit überwältigend einfach. Wie man im Timingdiagramm erkennen kann, besteht es einfach aus dem zu sendenden Byte, dem zwei High-Bits als Startbits vorangestellt wurden. Das Byte wird mit dem niederwertigsten Bit vorangeschoben. Darauf folgt ein Low-Bit als Stopsignal. Als Bestätigung, daß dieses Paket gut angekommen ist, wird vom Empfänger über die ankommende Signalader eine Bestätigung gesendet, die aus zwei Bits, zuerst einem High-Bit dann aus einem Low-Bit besteht. Wird die Schnittstelle bidirektional betrieben, so müssen diese "Acknowledges" zwischen die Datenblöcke eingeschoben werden.
Timing des INMOS-Links
Diese enormen Geschwindigkeiten erreicht man natürlich nur bei einem optimalen Übertragungskanal. Außerdem muß man darauf achten, daß das Endgerät die Daten überhaupt so schnell verarbeiten kann, wie sie angeliefert werden. Die Schnittstelle wird in positiver Logik betrieben, es liegt also im Ruhezustand keine Spannung an den Leitungen.
Der Baustein C011 der Firma INMOS ist etwas ganz besonderes und wird deshalb an dieser Stelle kurz erwähnt. Er enthält zwei verschiedene Chips in einem Gehäuse. Einen Umsetzer des seriellen Linksignals auf einen bidirektionalen Bus und einen bidirektionalen 8-Bit breiten parallelen Bus.
Der Trend bei der Datenübertragung geht seit einiger Zeit von der Leitungsgebundenen Kommunikation hin zur drahtlosen Übermittlung der Daten. Bei dieser Art der Übertragung modulieren die Informationen elektromagnetische Wellen, die dann abgestrahlt werden.
Die sogenannte Funkübertragung, also bis in den Giga-Hertz-Bereich, steckt noch in den Kinderschuhen. Weitestgehend ausgereift ist dagegen die Übertragung mit Hilfe von Lichtstrahlung. Diese Art der Datenübertragung wird seit Jahren im HiFi- und Videobereich verwendet. Licht hat den großen Vorteil, daß die so modulierten Daten keiner elektromagnetisch induzierten Störung ausgesetzt sind. Eine wesentliche Störquelle ist allerdings Fremd- und Streulicht, daß praktisch überall vorhanden ist. Um sich vor diesen Störeinflüssen zu schützen, wird der nahe Infrarotbereich (meist um 900nm) zur Übertragung genutzt. Dieser Wellenlängenbereich hat zudem den Vorteil, daß die verwendeten Dioden hier ihre maximale Leistung abgeben.
Um die Datenübertragung per infraroter Strahlung auch im PC-Bereich zu nutzen, wurde von der Infrared Date Association (kurz IrDA) ein Standard geschaffen, der aufbauend auf der RS232, eine asynchrone serielle Datenübertragung beschreibt. Dieser Standard soll über kurz oder lang in allen Geräten, vor allem in tragbaren Einrichtungen eingebaut werden. Welche Geräte zu diesem Standard kompatibel sind ist an dem abgebildeten Logo zu erkennen.
Das IrDA-Logo
Eine wichtige Voraussetzung für den IrDA-Standard ist die Störfreiheit des Systems. Von normalen Lichtquellen und dem Tageslicht unterscheidet es sich durch die Verwendung von infrarotem Licht. Zudem ist aber eine deutliche Unterscheidung von bestehenden Übertragungssystemen wie Fernbedienungen und Infrarot-LANs gefordert.
Von diesem System unterscheidet sich der IrDA zum einen durch das verwendete Protokoll und zum anderen durch die Charakteristik des Lichtstrahls. Eine Fernbedienung etwa funktioniert auf dem Prinzip der diffusen Streuung des Strahles. Das bedeutet, daß ein möglichst breit aufgefächerter Strahl irgendwo in den Raum gestrahlt wird. Durch Reflexion an den Wänden und Decke gelangen die Daten schließlich zum Ziel.
Der IrDA-Standard beruht auf einem anderen Prinzip. Er zählt nur die direkte Strahlung. Die Sender dürfen einen um lediglich 30° aufgeweiteten Strahl aussenden. Die Reichweite beträgt dabei bis zu einem Meter, optional bis zu drei Metern. Der Sender muß also direkt auf den Empfänger gerichtet werden. Diese Eigenschaft gab dem Prinzip auch seinen Namen- Point and beam oder Point and shoot. Diese Methode stellt recht hohe Anforderungen an die Sendeeinrichtung. So wurden die Daten des Lichtemitters genau spezifiziert.
Die Kennlinie des Lichtemitters
In dieser Kennlinie ist zu erkennen, daß der überwiegende Teil der Lichtenergie in einem direkten Strahl zum Empfänger untergebracht ist. Dabei wird eine Mindestenergie vorrausgesetzt.
Die Datenübertragung erfolgt im Halbduplexbetrieb, es kann immer nur eine Stelle senden. Dabei wird das asynchrone, von der RS232-Schnittstelle bekannte Protokoll durch das sogenannte RZI-Protokoll ersetzt.
Das RZI-Protokoll
Bei dem RZI (Return-to-Zero) Protokoll werden die Bits zwar auch asynchron gesendet, allerdings wird der Pegel nicht über die gesamte Bitdauer konstant gehalten, sondern es wird lediglich ein Impuls übertragen. Da bei der asynchronen Schnittstelle als Grundzustand der High-Pegel vorherrscht, wurden um die Anzahl der zu übertragenden Impulse zu begrenzen, die Daten zusätzlich invertiert. So wurde für jede gesendete 0 ein Impuls gesendet. Die Dauer der Impulse wurde zudem auf 3/16 der Bitzeit festgelegt. Die Anstiegszeit der Impulse darf maximal 0.6 µs betragen. Der Jitter der Impulse, also die Verschiebung der Impulsflanken wurde mit einer maximalen Dauer von 0.2 µs festgelegt.
Auf diese Modulationsart sind die bestehenden Übertragungsgrundbausteine natürlich nicht ausgelegt. Eine Voraussetzung des Standards war aber, daß die IrDA-Interfaces möglichst kostengünstig und problemlos in das bestehende Hardwareumfeld implementiert werden können.
Aus diesem Grund wurden von verschiedenen Firmen, unter anderem HP und Temic, fertige Systeme angeboten, die an die bestehenden Übertragungsbausteine angekoppelt werden können. Ein Blockschaltbild dieser Bausteine ist in der nächsten Abbildung zu sehen.
Eine IrDA-Erweiterung
Das Sendesignal muß zunächst durch einen Impulsformer, der aus den einzelnen Bits die entsprechenden Impulse bildet. Anschließend werden die Impulse elektrisch verstärkt und auf die Sendediode gegeben. Da die Impulse entsprechend kurz gehalten werden, kann ein entsprechend hoher Strom durch die Diode fließen. Das erhöht natürlich die Reichweite und die Übertragungssicherheit.
Die von der Empfangsdiode erzeugten Signale werden zunächst verstärkt. Die Bausteine, die dies tun haben einen dynamischen Verstärkungsfaktor, der sich dem ankommenden Signal anpaßt. So können Übersteuerungen vermieden werden und trotzdem immer genügend hohe Signalpegel für die nachfolgende Stufe garantiert werden. Die letzte Stufe hat die Aufgabe, aus den ankommenden Impulsen wieder einen asynchronen Datenstrom zu erzeugen, der an den Übertragungsbaustein gesendet wird.
Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen