Der Macintosh verfügt über zwei serielle RS422A-Schnittstellen. Beide sind gleichwertig, allerdings besitzt der Modemport (Port A) eine höhere Interruptpriorität: Sollten beide Schnittstellen gleichzeitig einen Interrupt anfordern, wird der Modemport vorrangig behandelt[1]. Der SCC kann beide Schnittstellen unabhängig voneinander bedienen.
Zwischen dem SCC und den Ports befinden sich Leitungstreiber, die die Konvertierung von RS422A-Signalen auf TTL-Pegel vornehmen (Abb. D.1.1). Als Sendebaustein wird ein 26LS30 verwendet mit +5 Volt und -5 Volt Stromversorgung und dem Betriebsartensignal (mode control) zur Erzeugung einer Differenzausgangsspannung. Die Ausgänge sind mit einem T-Filternetzwerk, bestehend aus zwei 20–30 Ohm Widerständen und einem 150–300 pF Kondensator[2], verbunden. Dieser RC-Filter dämpft die hochfrequenten Anteile des Signals. Zudem verhindert diese Schaltung, daß bei Ausfall einer Treiberstufe ein angeschlossenes Netzwerk blockiert wird. Die Abschlußimpedanz beträgt jeweils 39 Ohm , wodurch sich für das AppleTalk-Kabel eine Kabelimpedanz von 78 Ohm ergibt. Die Eingänge des Empfängerbausteins 26LS32 sind ebenfalls über ein RC-Filter angepaßt.
Abb. D.1.1: Sende- und Empfangsbausteine zwischen SCC und Port
Der Macintosh ist nicht mit den bei Personal Computern üblichen RS232C-Schnittstellen, sondern mit RS422A-Schnittstellen ausgerüstet, die über erdsymmetrisch ausgeführte Datenleitungen verfügen. Sowohl die Sende- als auch die Empfangsleitung besitzt einen eigenen Rückleiter (vgl. Abb. D.1.2 und D.1.3). Bei der RS422A-Schnittstelle wird nicht, wie bei der asymmetrischen RS232C-Schnittstelle, zur Gewinnung der Daten das Vorzeichen der Spannung der Sende (TD)- bzw. Empfangsleitung (RD) gegenüber einer gemeinsamen, festgelegten Masse (GND) betrachtet. Ausschlaggebend ist vielmehr das Vorzeichen der Spannung zwischen Leiter (TD+ bzw. RD+) und entsprechendem Rückleiter (TD- bzw. RD-)[3]. Die Spannungsdifferenz darf 12 Volt nicht überschreiten.
Abb. D.1.2: Die serielle Schnittstelle des Macintosh
Durch die symmetrische Auslegung sind RS422A-Schnittstellen unempfindlicher gegen Störungen und erlauben längere Übertragungswege und höhere Datenraten. Beide Schnittstellentypen sind kompatibel und können bei entsprechender Verdrahtung miteinander verbunden werden.
Pin |
Macintosh Plus |
Macintosh SE\SE30 |
Macintosh II/IIx/IIcx/IIci |
1 |
Output Handshake |
Output Handshake |
Output Handshake |
2 |
Input
Handshake/ External Clock |
Input
Handshake/ External Clock |
Input Handshake |
3 |
Transmit Data - |
Transmit Data - |
Transmit Data - |
4 |
Signal Ground |
Signal Ground |
Signal Ground |
5 |
Receive Data - |
Receive Data - |
Receive Data - |
6 |
Transmit Data + |
Transmit Data + |
Transmit Data + |
7 |
(nicht verwendet) |
General Purpose
Input (Am DCD-Pin des SCC) |
General Purpose
Input/ External Clock |
8 |
Receive Data + |
Receive Data + |
Receive Data + |
Abb. D.1.3: Belegung der seriellen Ports des Macintosh
Über den Input Handshake-Pin kann ein externer Übertragungstakt angelegt werden. Da es sich beim Schnittstellenbaustein um einen differentiellen Empfänger handelt, ist besonders darauf zu achten, daß der Takt in seinem Pegel symmetrisch zur Masse ist[4]. Die Spannung zwischen dem Taktsignal und der Masse muß zwischen einem positiven und einem negativen Wert wechseln, d.h. der Takt muß die 0-Volt-Grenze unbedingt überschreiten. Dabei genügt bereits eine Amplitude von etwa 1 Volt. Ein asymmetrischer Takt, der keinen negativen bzw. positiven Spannungsanteil besitzt, kann nicht verwendet werden. Dagegen ist die Verwendung eines Sinustaktes anstelle eines Rechtecktaktes möglich. Die Form des Taktsignals darf also durchaus von der Rechteckform abweichen[5].
Als Schnittstelle zum Übertragungsnetz dienen einige wenige Prototypen von X.21-Schnittstellen von Nixdorf. Diese Schnittstellen stehen in verschiedenen Ausführungen mit der Typenbezeichnung GSX/DSX mit einer Übertragungsleistung von 48 kbit/s und GSXI mit 64 kbit/s zur Verfügung. Eine GSX-Schnittstelle nutzt beide B-Kanäle zur Datenübertragung, während eine DSX einen Kanal für die Sprachübertragung reserviert.
Diese Schnittstellen bewirken eine Umwandlung der X.21-Signale und Steuerinformationen auf die Signalisierung des D-Kanals. Nixdorf weicht hier von der X.30-Norm der CCITT, die eine Umsetzung von X.21-Steuersignalen in ISDN-D-Kanal-Informationspakete regelt, ab. Die X.21-Norm legt die Bedeutung der Schnittstellensignale fest. Die elektrische Spezifikation der X.21-Schnittstelle wird in der X.27-Empfehlung geregelt[6].
Spannungsdifferenz
∆U |
Datenleitung |
Steuerleitung |
Taktleitung |
∆U1
> +0.3 Volt |
logisch
"0" |
ON |
ON |
∆U2
< -0.3 Volt |
logisch
"1" |
OFF |
OFF |
Abb. D.2.1: Spannungspegel und Signalbedeutung nach X.27
Die Auslegung der Signale ist so gewählt, daß eine Leitung, die kontinuierlich binäre „1“ sendet, sich im OFF- und bei „0“-Bit sich im ON-Zustand befindet. Durch die symmetrische und differentielle Auslegung der Signal- und Übertragungsleitungen werden Leitungslängen zwischen DTE und DCE von bis zu 1000 m möglich. Die Zuordnung der Spannungsdifferenzen zu Signalzuständen zeigt Abbildung D.2.1.
Abb. D.2.2: X.21-Stecker nach ISO 4903
An der Vorderseite eines GSX-Schnittstellengehäuses zeigt für jeden Kanal eine grüne und eine rote Leuchtdiode den Zustand der Schnittstelle an. Die rote Diode leuchtet, falls die Schnittstelle funktionsbetreit ist. Ist die Schnittstelle zusätzlich an ein Terminal angeschlossen[7], so leuchtet auch die grüne Diode. Der Aufbau einer Verbindung wird durch gleichzeitiges Blinken beider Dioden angezeigt. Besteht eine Verbindung, so blinkt abwechselnd die rote und die grüne Diode. Weiter befinden sich an der Vorderseite zwei 15-poliger, weibliche SUB D-Stecker (Abb. D.2.2). Die Anschüsse dieser X.21-Stecker sind wie folgt belegt[8]:
Pin |
Belegung |
Pin |
Belegung |
1 |
Abschirmung |
9 |
Transmit (B) |
2 |
Transmit (A) |
10 |
Control (B) |
3 |
Control (A) |
11 |
Receive (B) |
4 |
Receive (A) |
12 |
Indicate (B) |
5 |
Indicate (A) |
13 |
Signal Element Timing (B) |
6 |
Signal Element Timing (A) |
14 |
Byte Timing (B) |
7 |
Byte Timing (A) |
15 |
reserviert |
8 |
Ground |
|
|
Abb. D.2.3: Die Belegung eines X.21-Steckers
Die einzelnen Leitungen und Signale der X.21-Schnittstelle besitzen folgende Bedeutung[9]:
v Die Ground-Leitung (G) liefert die Betriebserde.
v Die Transmit-Leitung (T) ist eine Datenleitung, über die sowohl Daten als auch Steuersignale zum Verbindungsauf- und -abbau von der DTE zur DCE übertragen werden.
v Auf der Receive-Leitung (R) werden neben Daten auch Steuerinformation von der DCE zur DTE übertragen.
v Die Control-Leitung (C) zeigt zusammen mit der Transmit-Leitung der DCE den Zustand der DTE an. Eine DTE löst über das Control-Signal eine Verbindung aus.
v Mit der Indicate-Leitung (I) signalisiert die DCE der DTE ihre Zustände. Anhand der Indicate-Leitung wird signalisiert, ob eine Verbindung besteht oder nicht. Das Netz kann über die Indicate-Leitung eine Verbindungauslösung fordern.
v Die Taktleitung (S) (Signal Element Timing) liefert den Bittakt von der DCE. Da dieser Takt sowohl zum Senden als auch zum Empfangen verwendet werden kann, ist eine Taktleitung ausreichend.
Die X.21-Schnittstellen von Nixdorf liefern einen asymmetrischen Takt. Ein externer Takt für die Schnittstellen des Macintosh muß jedoch symmetrisch zur Masse sein, da andernfalls das Verhalten des SCC nicht definiert ist. Um GSX-Schnittstellen am Macintosh betreiben zu können, muß daher eine Anpassung des Taktes erfolgen.
Weiterhin ist bemerkenswert, daß die Taktrate der Schnittstelle wechselt. In der Ruhephase und in der Verbindungsaufbauphase ist die Taktrate 9600 Hz, während sie in der Datenübertragungsphase 64 kHz beträgt.
Besonders der asymmetrische Takt der X.21-Schnittstelle und ein fehlender Eingang für das Indicate-Signal am Macintosh Plus erschweren die Implementierung des ISDNLAP.
Bei der Übertragung von Paketen über die X.21-Schnittstelle mußte anfangs festgestellt werden, daß viele Pakete entweder überhaupt nicht oder nur fehlerhaft übertragen wurden. Nachdem Programmfehler ausgeschlossen waren, wurde als Ursache der asymmetrische Takt der X.21-Schnittstelle erkannt.
Da es sich bei den Leitungstreibern zwischen Schnittstelle und SCC um Differential-Empfänger handelt, muß jedes Handshake- oder Taktsignal „bipolar“ sein, d.h. zwischen einer positiven und einer negativen Spannung bezüglich der internen Masse wechseln. Speist man einen Takt ein, dessen einer Zustand 0 Volt (Ground) ist, so wird der Macintosh diesen als nicht determinierten Zustand interpretieren und unvorhersehbar reagieren.
Um das Problem einzugrenzen, wurden verschiedene Versuche durchgeführt. So konnte bei einem nicht erdfreien Taktgenerator mit einem Oszilloskop beobachtet werden, daß ein ursprünglich symmetrischer Takt, nachdem er an die RS422A-Schnittstelle angelegt wurde, nicht mehr symmetrisch war. Der Rechtecktakt war ohne Belastung symmetrisch zur Masse mit einer Amplitude von 5 Volt (vgl. Abb. D.3.1).
Abb. D.3.1: Symmetrischer Rechtecktakt ohne Last aus dem Taktgenerator
Durch den Einfluß des Eingangs am Macintosh wurde der Takt nach oben gezogen und das Signal stark deformiert. Es entstand eine Sägezahnspannung (Abb. D.3.2). Da sich die negativere Spannungsspitze im positiven Bereich befand, wurden keine Pakete übertragen. Sobald die Spannung so erhöht wurde, daß die untere Spitze der Taktkurve die 0 Volt-Marke unterschritt, erhielt der Empfänger Pakete.
Abb. D.3.2: Symmetrischer Rechtecktakt unter Last
Bei einem weiteren Versuch mit einem Sinustakt aus dem Taktgenerator konnte beobachtet werden, daß ein ursprünglich symmetrischer Takt unter Last um ca. 1,5 Volt nach oben verschoben wurde. Sobald wieder die Spannung so erhöht wurde, daß die untere Spitze der Sinuskurve die 0 Volt unterschreitet, erhielt der Empfänger Pakete. Bei einer negativen Spitze von ca. -2 Volt wurden nur noch gute Pakete empfangen.
Um einen Takt aus einem erdfreien Generator zu erhalten, wurde versuchsweise durch Anheben und Fallenlassen der DTR-Leitung an der V.24-Schnittstelle eines IBM-PC ein Rechtecktakt simuliert[10]. Dieser Takt wurde unter Last nur wenig (ca. 0,05 Volt) nach oben verschoben. Dadurch belieb der Takt stets symmetrisch und besaß einen Negativanteil. Es genügte bereits eine relativ geringe Spannung von ca. 0,05 Volt, um Pakete zu erhalten. Wurde die Spannungsamplitude etwas erhöht (Max +0,8V und Min -0,6V), wurden nur noch gute Pakete empfangen.
Um das Verzerren des Taktes unter Last durch elektrische Trennung der Leitungen zu verhindern und die Amplitude der Spannung zu erhöhen, wurde ein Versuch mit einem Trenntransformator mit einem Windungsverhältnis von 200 zu 100 durchgeführt. Durch eine Induktionskopplung wurden die Takt- und Erdleitungen elektrisch trennt (vgl. Abb. D.3.3).
Abb. D.3.3: Trenntransformator mit Eisenkern (100: 200 Windungen)
Dabei konnte beobachtet werden, daß der ursprüngliche Rechtecktakt zwar stark verfremdet, jedoch unter Last kaum nach oben verschoben wurde. Ab einer Spannung von +-0,2 Volt erhält der Empfänger Pakete und ab einer Spannung von +-0,5 Volt wurden nur noch unversehrte Pakete empfangen.
Bei der Verwendung eines symmetrischen Taktes aus einem erdfreien Generator treten keine Probleme auf. Der Takt aus der X.21-Schnittstelle muß also symmetrisiert werden.
Diese Versuche ergaben, daß ein passender Takt Voraussetzung für eine korrekte Übertragung ist. Nun mußte eine geeignete Methode gefunden werden, den asymmetrischen Takt aus der GSX-Schnittstelle (vgl. Abb. D.3.4) zu symmetrisieren. Dieser Takt bewegt sich zwischen 0 und +5 Volt. Durch den Anschluß eines Macintosh an die Schnittstelle wird der Takt nicht beeinflußt.
Abb. D.3.4: Der Takt aus der GSXI-Schnittstelle und der benötigte Takt
Um aus dem Takt der Schnittstelle ein zur Masse symmetrisches Taktsignal zu gewinnen, wurde eine Drossel mit hoher Windungszahl parallel zur Masse- und Taktleitung geschaltet (Abb. D.3.5). Diese Drossel besitzt eine Induktivität von 4.7 mH und bei Gleichstrom einen relativ kleinen Innenwiderstand von ca. 550W. Bei Wechselstrom ist der Widerstand höher. Dadurch wird der Gleichstromanteil des Taktes unterdrückt und man erhält am Ausgang ein Signal, das in den Flanken dem Differential des ursprünglichen Taktes entspricht. Durch die Induktion der Drossel wird beim Abfallen der Taktflanke die Spannung in den negativen Bereich gezogen.
Abb. D.3.5: Taktleitung aus der X.21-Schnittstelle GSX mit 4.7 mH Spule
Das Ergebnis ist kein exakter Rechtecktakt, erfüllt jedoch die Ansprüche, die vom Macintosh an einen externen Takt gestellt werden (vgl. Abb. D.3.6). Ab einer Spannung von ca. +-1 Volt ist eine verlustfreie Übertragung von Paketen möglich.
Abb. D.3.6: Durch die Spule modifizierter Takt
Aufgrund der geringen Baugröße kann eine Spule in der Abdeckung eines Steckers untergebracht werden und ist somit für die Anpassung des Signals prädestiniert.
Aus der Belegung der seriellen Schnittstellen des Macintosh und der Schnittstelle des X.21-Adapters ergibt sich unter Berücksichtigung der symmetrischen Auslegung der Schittstellen und des asymmetrischen Taktes der GSXI-Schnittstelle folgende Verdrahtung:
Abb. D.4.1: Anschlußbelegung eines X.21-Kabels zwischen Macintosh und GSX-Schnittstelle
[1] Apple Computer (Inside Macintosh II), S. 195 ff.
[2] Apple Computer (N&C Handbuch), Kap. 3, S. 6–7.
[3] Diese Methode heißt differentielles Verfahren.
[4] Apple Computer (Inside Macintosh III), S. 24.
[5] Siehe hierzu Anhang D.3: Elektrische Anpassung der Schnittstelle.
[6] CCITT (Data Communications Networks Interfaces), Red Book VIII.3, X.20–X.32.
[7] DTR ist auf ON.
[8] Blomeyer-Bartenstein (Datenkommunikation und lokale Computer-Netzwerke), S. 128–129.
[9] Die X.21-Norm besteht jedoch nicht nur aus der funktionalen Spezifikation, sondern auch aus den Zeitabläufen und Zustandsübergängen der Signale.
[10] Das Programm hierzu befindet sich in Anhang F.4.