Datenübertragung

Gruppe: dj, 22.05.03

Aufgabenstellung

Zwei Rechner sollen miteinander "vernetzt" werden, sodass die beiden Rechner miteinander kommunizieren können.

Systemanalyse

Zur Übertragung der Daten sollen entsprechend vorbereitete Fischertechnik-Interfaces eingesetzt werden. Zur einfachen Verwendung wurde eine Klasse TNetzHw (Unit uNetzHw.pas) vorbereitet, die im Wesentlichen die Aufrufe in TftInterface (in der Unit uftInterface.pas) vereinfacht. Es gilt: NetzHw verwendet ein ftInterface.
  • Create erzeugt ein Exemplar der Klasse TNetzHw, lädt die benötigten Treiber für das Fischertechnik-Interface und öffnet dieses.
  • SetSendeLeitung() erwartet einen Parameter vom Typ TAnAus = ( Aus, An ) und schaltet die SendeLeitung in diesen Zustand. An dieser Stelle muss bemerkt werden, dass die Fischertechnik-Interfaces nach 300ms Inaktivität ihren Zustand zurücksetzen. Darauf muss geachtet werden. Vgl. Refresh.
  • GetEmpfangsLeitung : TAnAus liefert den Zustand der Empfangsleitung.
  • Refresh dient zur Erhaltung des Zustandes des Fischertechnik-Interfaces.
  • Free Schließt das Fischertechnik-Interface, entlädt die Treiber und räumt auf.
Übersicht über die an einer "normalen" PC-Vernetzung beteiligten Dinge im Vergleich zu unserem Aufbau:

Die Verwendung des Ergebnisses aus Teilaufgabe 1 hat uns klar gemacht, dass wir bei der Übertragung von Daten folgende Punkte beachten müssen:
  1. Die Daten (Buchstaben, Zahlen, ...) müssen irgendwie codiert werden. Dies könnte z.B. mittels Morse-Codes geschehen, wobei dann noch festzulegen bleibt, ob Leitung "An" dem Morse-Zeichen "." oder dem Zeichen "-" entsprechen soll. Links zum Thema Morse-Codierung:
  2. Wir brauchen einen Anfangsbegrenzer, der den Empfänger erkennen läßt, wann eine Übertragung beginnen soll.
  3. Aus ähnlichen Überlegungen heraus kann der Endebegrenzer zur Kennzeichnung des Endes der Übertragung begründet werden.
  4. Um Fehler während der Übertragung feststellen zu können, wird ein zusätzliches Paritätsbit berechnet und übertragen.
  5. Jeder Leitungszustand (An, Aus) soll für eine feste Zeitdauer (z.B. 100ms) gehalten werden.

Teilziele

  1. Verwendung der Netzwerkhardware
    a) An einem Rechner soll die Sendeleitung ihren Zustand (z.B. durch Drücken eines Buttons) ändern,
    b) und der andere Rechner soll dies bemerken (und irgendwie anzeigen).
  2. Automatisches Übertragen einer Bitfolge
    a) Ein Sender-Programm soll eine Folge von Bits vom Benutzer entgegennehmen und gemäß der Absprachen versenden,
    b) ein Empfänger soll die Bitfolge entgegennehmen und anzeigen.
  3. Codierung von Zahlen und Zeichen in Bitfolgen