Mit 4 Baud über den Balkon
Man stelle sich vor: Der Nachbar morst mit einer Taschenlampe und Ihr Computer empfängt die Zeichen. Auf dem Bildschirm zeigt er Ihnen an, was Ihr Nachbar will. Nicht möglich? In Sindelfingen schon. Zwei Computer senden und empfangen Lichtzeichen. Datenfernübertragung von Balkon zu Balkon.
Die Nachbarn haben sich inzwischen daran gewöhnt. Immer wenn es dunkel wird, blinken auf zwei Balkons Morsezeichen auf. Dann wissen die Anwohner, daß die beiden 19jährigen Freunde Mark Schneider und Dietmar Schwuchow wieder mit ihren Computern spielen.
Die Computer-Karriere der beiden begann vor zwei Jahren: Wie viele andere auch studierten sie Handbücher, tippten Listings ab, schrieben schließlich eigene Spiele und »Nutzprogramme«. Im Frühjahr brach bei beiden der Spieltrieb durch. »Wir waren es leid, immer getrennt mit unseren Computern zu arbeiten. So kamen wir auf die Idee, sie als Kommunikationsmittel einzusetzen. Ein Kabel oder ein Akustikkoppler war uns jedoch zu langweilig«, erklärten Dietmar und Mark, die beide gerade ihr Abitur erfolgreich hinter sich gebracht haben.
Die Freunde wohnen so nah beieinander, daß sie sich vom Balkon aus zuwinken können. Daher erschien es ihnen am einfachsten, Lichtimpulse für die Datenübertragung zu nutzen. Schnell einigten sich die Elektronik-Fans über diesen Weg. »Klar wußten wir von ersten Moment an, daß wir damit keine professionelle Datenfernübertragung machen können. Was uns reizt, ist vielmehr das Basteln und Spielen. Unter diesem Vorzeichen sehen wir auch unser selbstgebautes Lichttelefon«. Für Mark und Dietmar zählt das Außergewöhnliche ihrer Sende- und Empfangseinrichtung mehr als ein tatsächlicher Nutzen.
Vier Monate brauchten sie, um die Idee in die Tat umzusetzen. Jetzt spielen sie zusammen »Schiffchen versenken« — jeder an seinem Computer. Der übernimmt mittlerweile »artig« die Ver- und Entschlüsselung der Daten sowie das »Morsen« bei der Übertragung. Vier Bit huschen in jeder Sekunde von Balkon zu Balkon und übermitteln die Züge an den jeweils anderen Computer.
Zunächst machten sich die Computer-Freaks über die Hardware her. Die beiden Computer, ein C 64 und ein Sinclair ZX Spectrum, mußten durch entsprechende Elektronik mit je einer Lampe als Sender und einem Fotowiderstand als Empfänger verbunden werden.
Ins Innenteben des Computers wurde nicht eingegriffen
Da Mark und Dietmar nicht unbedingt in das Innenleben der Computer eingreifen wollten, nutzten sie die vorhandenen Anschlüsse. Der Tonausgang dient zum Ansteuern der Lampe: beim C 64 ist dies der Audio-Ausgang und beim ZX Spectrum der Recorderanschluß. Den Signalempfang übernimmt der jeweilige Joystick-Port.
Es war von vornherein vorgesehen, nur bei Dunkelheit zu übertragen. Trotzdem — die erste Schaltung erwies sich bei den Testläufen als zu unempfindlich. Mit einer verbesserten Elektronik war dieses Problem schnell gelöst.
Nachdem sich die beiden Freunde auf einen gemeinsamen Code geeinigt hatten, kam der große Moment: der erste richtige Übertragungsversuch. Jedem Bustaben wurde ein Fünf-Bit-Code zugeordnet. Es handelte sich um eine serielle Übermittlung, wobei die Lampe bei gesetztem Bit kurz aufblinkte. Das Senden begann mit einem Synchronisationssignal, um damit den empfangenden Computer auf den Übertragungstakt einzustellen. Da Basic für diese Zwecke nicht präzise genug arbeitet, kamen Mark und Dietmar auf die Idee, den internen Zeitzähler zu nutzen. Es funktionierte, die Daten wurden im Sekundenrhythmus übertragen — jede Sekunde ein Bit.
Ganz zufrieden waren die Elektronik-Tüfftler noch nicht. Bei mehr als 20 Zeichen gab es noch Ungenauigkeiten in der Übertragung. Außerdem war ein Baud (Bit pro Sekunde) doch ein bißchen zu langsam. Fazit: Die Software wurde umgeschrieben, so daß die Geschwindigkeit jetzt vier Baud beträgt. Auch bei größeren Datenmengen fällt nur selten ein gesendetes Bit über den Balkon — die Information kommt zuverlässig beim anderen an.
Derzeit arbeiten Mark und Dietmar an der nächsten Verbesserung ihrer Datenfernübertragung. Die Auswertung von zwischengespeicherten Daten ist momentan erst möglich, nachdem alle Bits im Computer angekommen sind. Geplant ist ein Maschinenprogramm, das die empfangenen Zeichen sofort decodiert und ausdruckt. Die Lust am Basteln hält weiter an. Das nächste Projekt — ein Plotter aus Fischer-Technik-Bauteilen — steht kurz vor der Vollendung. Aber auch den »Ernst des Lebens« will sich — zumindest Mark — mit Computern versüßen. Bereits am Gymnasium hat er Lehrer »gespielt«. Jetzt versucht er, sein Computer-Wissen in der Volkshochschule »loszuwerden«.
(M. Schneider/D. Schwuchow/kg)Ablauf der Datenübertragung
Die Datenübermittlung beginnt wie es sich gehört: Der Sender »klingelt« zunächst beim Empfänger. Dazu setzt er ein Blinksignal von ½ Hz, das bedeutet 2 Sekunden Licht an, 2 Sekunden aus und so weiter. Der Empfänger muß seine Bereitschaft signalisieren. Kennzeichen: einmal 4 Sekunden lang aufblinken. Wird dieses sogenannte Bereitschaftssignal erkannt, schaltet der vorher blinkende Computer auf Texteingabe um und beginnt zu senden. Der »angeklingelte« Computer stellt nach dem Abschicken des Bereitschaftssignals sofort auf Empfang um. Damit ist die Richtung der Informationsübermittlung festgelegt. Sie wechselt jetzt regelmäßig ohne vorheriges »Klingeln«.
Jeder Sendevorgang beginnt mit einem Synchronisationssignal — einem Aufblinken von 3 Sekunden Dauer. Eine Sekunde später folgen die Kontrollbytes: Zweimal fünf Bit im Viertelsekundenrhythmus. Damit wird dem empfangenden Computer mitgeteilt, wieviele Zeichen die Nachricht beinhaltet und wie oft demnach die Empfangsschleife durchlaufen werden muß, bevor er decodieren darf. Das Synchronisationssignal dauert drei Sekunden, dann folgt eine Sekunde lang Sendepause. Erst jetzt wird die eigentliche Nachricht geschickt, ebenfalls im Viertelsekundentakt.
Die Übertragungsrichtung wechselt am Ende der Mitteilung automatisch und der vorherige Empfänger startet seinen Sendevorgang mit dem Synchronisationssignal.
Wie kann der Empfänger dem Sender mitteilen, daß er nur »Schrott« mitbekommt, wenn die Übertragung immer nur auf eine Richtung festgelegt ist? Dafür gibt es eine Maschinen-Code-Routine.
Falls der Empfänger während der Übertragung einen Fehler feststellt, so drückt er einfach eine Error-Taste, beim C 64 ist dies die obere linke Pfeiltaste. Damit schaltet er seinen Computer auf »Texteingabe«, was bedeutet, er kann jetzt senden und dem anderen mitteilen, daß etwas falsch angekommen ist. Das Synchronisationssignal dauert dann — zur Unterscheidung von normaler, fehlerfreier Übermittlung — allerdings 10 Sekunden. Obwohl der andere Computer in dem Moment noch eifrig weitersendet (er hat ja keine Ahnung, daß etwas nicht richtig rüberkommt) erkennt er ein Dauersignal von mehr als 5 Sekunden. Nach der Warnung schaltet er auf Empfang, um die Fehlermeldung des anderen aufzunehmen.
Hardwarebeschreibung
Computer und ein Teil der Elektronik sind im Zimmer untergebracht — der Rest des sogenannten Lichttelefons steckt in einem Sende- und Empfangskästchen auf dem Balkon. Bild 3 zeigt, was drinnen und was draußen steht.
Mark und Dietmar müssen bei der Datenübertragung eine Strecke von etwa 200 m überwinden. Das erfordert ein relativ intensives Lichtsignal, damit die Information überhaupt beim anderen ankommt. Eine 12V/10W-Lampe erbringt die notwendige Leistung.
Als Spannungsquelle für die Lampe dient ein ausrangierter (Rennbahn-)Trafo. Die 12V des Trafos sind außerdem mit einem Spannungsregler des Typs 7805 verbunden, der für eine konstante 5V-Spannung der zusätzlichen Hardware sorgt (Bild 1).
Die Sende- und Empfangskästchen sind mit Schirmklemmen am Balkongeländer befestigt. Nimmt man den Regenschutz — aus Pappe und aufgeklebter Aluminiumfolie — ab, so wird ein quaderförmige Holzgehäuse von 7 x 7 x 12 cm frei. In die Vorderwand wurde ein Loch für die Linse gesägt, die wiederum fest in einem Papprohr sitzt. Das Sendeelement (Lampe) und Empfangsteil, der lichtempfindliche Widerstand (LDR), müssen im Brennpunkt der Linse sein. Da diese fest eingebaut ist, wird eine genaue Einstellung nur durch Verschieben der Platine erreicht, auf die die Bauteile gelötet sind (Bild 6).
Die Kästchen auf dem Balkon sind über ein vierpoliges abgeschirmtes Kabel mit der Elektronik im Zimmer verbunden. Das Ende des Kabels bildet ein DIN-Stecker, mit der in Bild 2 dargestellten Stiftbelegung.
Das Senden funktioniert nach einem einfachen Prinzip: Beim Morsen wird für logisch »1« am Audioausgang des Computers ein Tonsignal abgegeben, das durch die Schaltung (Bild 4) verstärkt und digitalisiert wird. Als Folge davon schließt das Relais und die Lampe im Sendekästchen leuchtet auf.
Beim Empfangen (Bild 5) vergleicht der Operationsverstärker (OP3) die Signale von beiden Spannungsteilern, die durch den lichtempfindlichen Widerstand (LDR) mit dem 100 KOhm-Widerstand und dem Regler 47 KOhm gebildet werden. Dieser Verstärker ist auch für die hohe Empfindlichkeit verantwortlich. Die nachfolgende Schaltung ist für langsame Helligkeitsschwankungen unempfindlich. Lediglich bei Lichteinfall setzt sie ein Flipflop und nimmt es bei Dunkelheit zurück. Dieses Flipflop steuert das Relais für den Joystick-Eingang an. Darüber hinaus bietet es eine doppelte Kontrolle beim Empfang: sowohl auf dem Balkon beim Einstellen der Kästchen über die LED als auch im Zimmer durch den BEEP.
Code | Tafel 1 | Tafel 2 |
11111 | Space | 0 |
00001 | A | 1 |
00010 | B | 2 |
00011 | C | 3 |
00100 | D | 4 |
00101 | E | 5 |
00110 | F | 6 |
00111 | G | 7 |
01000 | H | 8 |
01001 | I | 9 |
01010 | J | ( |
01011 | K | ) |
01100 | L | . |
01101 | M | & |
01110 | N | + |
01111 | O | — |
10000 | P | * |
10001 | Q | / |
10010 | R | . |
10011 | S | , |
10100 | T | : |
10101 | U | ; |
10110 | V | > |
10111 | W | < |
11000 | X | = |
11001 | Y | ? |
11010 | Z | ! |
11011 | Tafel 2 | — |
11100 | — | — |
11101 | — | — |
11110 | — | — |
Zeilen 6-31 | Allgemeine Vorbereitungen Einlesen der MC-Daten, Setzen der Tonregister |
40-42 | Speicherstelle 828 wird auf ihren Inhalt abgefragt. Daraufhin wird entsprechend zu »Empfang« oder »Senden« verzweigt. Diese Konstruktion entstand aus dem Wunsch, alle gesetzten Variablen durch »RUN« zu löschen und nicht einzeln. |
100-115 | Hauptmenü |
300-340 | Zunächst werden hier die beiden Kontrollbyte, die dem Empfänger die Länge der Nachricht angeben, empfangen. Dies ist nötig, da das eigentliche Empfangsprogramm die empfangenen Bits nur zwischenspeichert und somit kein Endsignal erkennen kann. |
400-483 | Decodierung der beim Empfang ab Speicherstelle 38000 zwischengespeicherten Bits sowie Textausgabe |
500-650 | Empfangsschleife |
10000-10140 | Texteingabe und anschließende Codierung Zwischenspeicherung der Bits vor der Sendung |
10200-10300 | Bildung der Kontrollbyte |
12000-12330 | Senden der Kontrollbyte |
12400-12650 | Sendeschleife |
14000-14034 | Empfangsbereitschaft melden |
20000-20120 | »Klingeln« |
21000-21010 | MC-Daten |