Übertragungstechnik


Stand: 2004-03

Thomas Mertin
Netzwerk- und Elektrotechnik

D-41334 Nettetal

Serielle Datenübertragung

Einsatzbereiche: Modem Verbindungen, Computer Peripherie (Tastatur, Maus), Integrierte Fertigung (CIM), Telekommunikation, Feldbus (Profibus, SINEC-L2, Interbus), Installationsbussystem (EIB), Autoelektronik, Computernetzwerke

Prinzip: Datenelemente (Bits) werden nacheinander abgesandt und empfangen.

Grundprobleme:


nach oben

1. Asynchrone Datenübertragung

Formatbeschreibung

Aufbau: Start Bit
Ende: Stop Bit (1, 1 1/2 oder 2 Bit)
Prüfung: Parität (gerade Anzahl von "1")
Sender und Empfänger arbeiten mit gleicher Takt- bzw. Bitgeschwindigkeit

Schaltung

Vereinbarungen: Nach der Übertragung eines Bytes müssen mindestens zwei Stop-Bits eingefügt werden.

Problematisierung:

Prinzipschaltbild

Sender Baugruppe

Schaltung:

Impulsdiagramm:

Empfänger Baugruppe

Die Empfänger Baugruppe besteht aus den Funktionseinheiten:

Die Anfangserkennung wird mit Hilfe eines UND-Gatters, dem 4-Bit-Zähler (Z1) und einem Flip-Flop realisiert. In der "Ausgangslage, wenn keine serielle Übertragung erfolgt, ist das Flip-Flop gesetzt. Der Ausgang Q öffnet mit seinem H-Pegel die Torschaltung (UND-Gatter), und der auf der seriellen Eingangsleitung anliegenden H-Pegel (Stop-Bits) setzt den Zähler Z1 zurück auf den Zählerstand Null.

Wird vom Sender die serielle Übertragung eines Datenbytes eingeleitet, so wird der Rücksetzeingang des Zählers Z1 durch das Startbit auf L-Pegel geschaltet, und der Zähler kann im Takt der Systemfrequenz (2Mhz, T = 0,5µs) den Zählvorgang beginnen. Beim Erreichen des Zählerstandes acht, also ca. 4µs nach der H/L-Flanke des Start-Bits, wird das Flip-Flop zurückgesetzt und damit das UND-Tor geschlossen (Q = L-Pegel). Der 4-Bit-Zähler kann damit nicht mehr zurückgesetzt werden, auch wenn der Pegel der seriellen Eingangsleitung auf High geschaltet wird.
Die erste positive Flanke des Ausgangssignals QD liegt demnach etwa in der Mitte des Start-Bits. Die Ungenauigkeit, mit der die Bitmitte getroffen wird, ergibt sich daraus, daß das Start-Bit (Sender Aktivität) nicht synchron zum Takt des Empfänger Systems eintrifft. Damit werden für die Zeit bis zum Erreichen des Zählerstandes acht mindestens sieben maximal acht Taktzyklen des Empfänger Clocks benötigt (3,5...4µs).

Mit der positiven Flanke des Zähler Ausgangssignals (f = 125kHz, T = 8µs) wird der Pegel der seriellen Eingangsleitung im Abstand von 8µs in das Schieberegister eingelesen und entsprechend weitergeschoben. Die Abtastung erfolgt also zum erstenmal in der Mitte des Start-Bits und anschließend jeweils in der Mitte der nachfolgenden Bits (Daten und Stop-Bits). Nach insgesamt neun Schiebeimpulsen sind alle acht Datenbits eingelesen, das Start-Bit steht dabei nicht mehr im Schieberegister zur Verfügung, es wird quasi mit dem neunten Schiebeimpuls rechts herausgeschoben.

Schaltung:

Der 4-Bit-Zähler Z2 dient zum Mitzählen der Schiebeimpulse. Nachdem das Anfangserkennung Flip-Flop ca. 4µs nach dem Beginn des Start-Bits zurückgesetzt wurde, wird der Zähler Z2 beginnend mit dem Zählerstand Null freigegeben (R = L-Pegel). Da Z2 mit der negativen Flanke des Schiebetaktes getriggert wird, erfolgt eine Erhöhung des Zählerstandes jeweils 4µs nach dem Einlesen des seriellen Signalpegels durch das Schieberegister, also zum erstenmal mit dem Ende des Start-Bits.

Bei Erreichen des Zählerstandes acht (Datenbit D6 wurde vor 4µs eingelesen) erfolgt eine Mitteilung an die Empfänger CPU (Interruptanforderung). Die Diode V1 dient zur Entkopplung von anderen Interruptquellen, da ansonsten ein H-Pegel auf den Ausgang QD von Z2 gelangen könnte. Gleichzeitig erhält der 8-Bit Zwischenspeicher an seinem statischen Clock Eingang einen H-Pegel, die Ausgangspegel des Schieberegisters werden damit also in den Zwischenspeicher übernommen, aber noch nicht auf die Ausgänge (Datenbus des Empfängersystems) geschaltet. Die Übernahme der parallelen Datenimpulse erfolgt solange, bis das Clock Signal des Zwischenspeichers wieder auf L-Pegel geschaltet wird.

Mit erreichen des Zählerstandes neun (das letzte Datenbit D7 wurde vor 4µs eingelesen, es folgen nur noch Stop-Bits) liefern die Ausgänge QA und QD zum erstenmal beide gleichzeitig einen H-Pegel. Damit schaltet der Ausgang des nachfolgenden UND-Gatters ebenfalls von L- auf H-Pegel. Durch diese positive Flanke wird das Anfangserkennung Flip-Flop getriggert und über den 1D-Eingang auf H-Pegel am Ausgang Q gesetzt. Damit wird die Empfänger Baugruppe wieder in die Ausgangslage zurückgesetzt.


Impulsdiagramm:

  1. Das UND-Tor am seriellen Eingang wird geöffnet und damit der Zähler Z1 über die anliegenden Stop-Bits (H-Pegel) zurückgesetzt. er verharrt damit im Zählerstand Null, und es werden keine weiteren Schiebetakte für das Schieberegister erzeugt.
  2. Auch der Zähler Z2 wird sofort aus dem Zählerstand Neun auf den Zählerstand Null zurückgesetzt. Der Zählerstand Neun wird also nur kurz erreicht und anschließend sofort wieder zurückgesetzt (Nadelimpuls durch die Schaltzeiten des nachfolgenden UND-Gatters und dem Anfangserkennungs Flip-Flop).
  3. Die Interruptanforderung für die Empfangs CPU wird mit dem Zurücksetzen von Z2 wieder zurückgenommen. Die Impulsdauer der CPU Anforderung beträgt damit 8µs.
  4. Der Clock Eingang des Zwischenregisters wird schließlich ebenfalls auf L-Pegel geschaltet. Damit bleiben die zuletzt eingelesenen parallelen Daten (D0...D7) im Zwischenregister gespeichert.

Durch die Interruptanforderung wird die Empfänger CPU (bei freigegebenem Interrupt) in ihrer derzeitigen Programm Abarbeitung unterbrochen und arbeitet nun eine eingerichtete Interrupt-Routine ab. Innerhalb dieser Routine kann das Einlesen von der Empfänger Baugruppe mit Hilfe des Befehls (IN 5x) erfolgen (die Adresse ergibt sich aus der gezeichneten Belegung der Brücken JA4...JA7). Der Adreßvergleicher liefert an seinem Ausgang einen H-Pegel, dieser wird invertiert und schaltet mit Hilfe des Eingangs (Output enable) die Ausgänge des Zwischenspeichers auf den Datenbus. Die Empfangs CPU beendet schließlich den Baugruppenzugriff durch das Einlesen der parallelen Datensignale D7...D0 in den Akkumulator und die Rücknahme der Adreßsignale und des Steuersignales Anschließend kann das empfangene Datenbyte im Empfangs MC-System weiterverarbeitet werden.

Programm zur seriellen Datenübertragung

Beispiel Programm:
Sender: Eingabe Port 01 lesen; Empfänger: Ausgabe Port 02 schreiben

 

Sender

 

 

Empfänger

 

NEXT:

IN 01

Parallel Eingabe le­sen

 

MVI A,0C3

Sprung zur Interruptroutine einrichten

 

OUT 50

Datenbyte zur Sen­derbaugruppe ausgeben

 

STA 0FC9E

 

 

MVI B,0D

Zeitschleife 13-mal durchlaufen

 

LXI H,RST75

 

Z1:

DCR B

 

 

SHLD 0FC9F

 

 

JNZ Z1

 

 

MVI A,1B

Interrupt-Maske setzen

 

JMP NEXT

Nächstes Byte holen

 

SIM

RST 7.5 freigeben

 

 

 

 

EI

Interrupt Freigabe

 

 

 

 

RST 1

Zurück zum Hauptprogramm

 

 

 

RST75:

PUSH PSW

Akku und Flags retten

 

 

 

 

IN 50

Datenbyte von Empfänger Baugruppe lesen

 

 

 

 

OUT 02

Parallel ausgeben

 

 

 

 

POP PSW

Register zurück

 

 

 

 

EI

Interrupt Freigabe

 

 

 

 

RET

Zurück zum Hauptprogramm

 

nach oben

2. Synchrone Datenübertragung

- Datenblockweise

- Synchronisierung:
externer Taktzeichen über separate Leitung
Mitführen des Taktinfos durch Bitfolgen
Einstreuen von speziellen Synchronisierzeichen

nach oben

3. Serielle Datenübertragung mit programmierbaren Schnittstellen Baustein 8251

USART = Universal synchronous asynchronous receiver transmitter
UART = Universal asynchronous receiver transmitter
SIO = Serial input output
MUART = Multifunctional universal asynchronous receiver transmitter
SCC = Serial communication controller
LANC = Local area network controller

Pinbelegung

Pin

Kurzzeichen

Bezeichnung

27, 28, 1, 2, 5, 6, 7, 8

D0...D7

Datenbus (8 Bit)

21

RESET

Rücksetzen

20

CLK

Systemtakt

12

Kennzeichnung der Paralleldaten als Steuer- bzw. Statuszeichen

13

Daten oder Zustand lesen

10

Daten oder Steuerinformation schreiben

22

Betriebsbereitschaft

24

Datenendeinrichtung betriebsbereit

23

Sendeteil einschalten

19

TxD

Serielle Sendedaten

9

Sendetakt

17

Sender Freigabe

18

TxEMPTY

Senderegister leer

15

TxRDY

Sender bereit (kann Daten annehmen)

3

RxD

Serielle Empfangsdaten

25

Empfangstakt

16

SYNDET/BD

Synchronisationssignal Erkennung und BREAK Erkennung

14

RxRDY

Empfänger bereit (kann Daten liefern)

11

Baustein Auswahl

26

Vcc

Versorgungsspannung (+5V)

4

GND

Masse

 

Blockschaltbild

Die Datenanschlüsse des 8251 sind direkt mit den Datenleitungen D0...D7 des Systembusses verbunden. Sie führen über den Datenbus Puffer zum internen Datenbus des Bausteins, an den insgesamt fünf Register mit folgenden Funktionen angeschlossen sind:

Das Betriebsarten- und das Kommandoregister bestimmen gemeinsam die Funktion des seriellen Schnittstellenbausteins. Durch Programmierung, womit das Einschreiben bestimmter Steuerworte in diese Register gemeint ist, wird z.B. die synchrone oder die asynchrone Betriebsart und die Datenwortlänge der seriellen Datenübertragung festgelegt.

Das Senderegister gehört zum seriellen Datensender. Es erhält die seriell auszugebenden Daten in paralleler Form über den Datenbus Puffer und den internen Datenbus. Innerhalb des Datensenders werden das Start-Bit und die Stop-Bits in den Datenstrom eingefügt, der am Anschluß TxD (Transmitter data) in serieller Form ausgegeben wird. Außerdem erfolgt im Datensender die Parallel-Seriell-Wandlung, wozu die Sendersteuerung vom Baudratenteiler den Sendetakt (Transmitter clock) erhält.

Das Empfängerregister kann über den Anschluß RxD (Receiver data) einen seriellen Datenstrom empfangen. Innerhalb des Datensenders findet die Seriell-Parallel-Wandlung der empfangenen Daten statt, wobei alle zusätzlichen Bits (Start-, Paritäts- und Stop-Bits) aus dem empfangenen Signal entfernt werden. Vom Baudratenteiler erhält die Empfängersteuerung den Empfängertakt (Receiver clock), der in der Baugruppe "Programmierbare Serienschnittstelle" gleich dem Sendertakt ist. Da die Sender- und Empfängersteuerung des 8251 getrennte Takteingänge besitzen, kann beim Sender und Empfänger mit unterschiedlichen Baudraten gearbeitet werde, falls dies erforderlich ist.


Steuerregister und Datenregister

Aufteilung der Register in Gruppen

Vergleicht man die Register des Bausteins 8251 miteinander, so kann zwischen Steuerregistern und Datenregistern unterschieden werden. In einige der Register kann der Prozessor Daten einschreiben, andere dagegen nur lesen.

Zur Unterscheidung der Gruppen Steuer- und Datenregister dient der Bausteinanschluß :
Führt H-Pegel, sind die Steuerregister, bei L-Pegel die Datenregister ausgewählt.
Das Status- und das Empfängerregister können nur gelesen, Betriebsarten-, Kommando- und Senderregister nur beschrieben werden.
Mit Hilfe der L-aktiven Steuerleitung die mit dem Bausteinanschluß verbunden ist, schreibt der Prozessor Datenwerte in den Baustein ein.
Zur Unterscheidung, ob bei einem Schreibvorgang das Senderegister (mit den seriell auszugebenden Daten) oder das Betriebsarten- bzw. Kommandoregister (mit Steuerworten) beschrieben wird, dient der Bausteinanschluß (Control / Data), der mit der Adreßleitung A0 verbunden ist.

Funktionsbeschreibung

Das Statusregister erhält sowohl vom seriellen Datensender als auch vom seriellen Datenempfänger Informationen über den Zustand dieser Einheiten. Beispiele hierfür sind das Auftreten von Übertragungsfehlern (Parity Error oder Frame Error) oder Meldungen wie "Senderegister leer" und "Empfangsregister hat Zeichen empfangen". Der Prozessor kann das Statusregister lesen und erkennt hierdurch u.a., ob er ein neues Zeichen zur seriellen Ausgabe an die Baugruppe ausgeben kann oder ob ein seriell empfangenes Zeichen vorliegt und eingelesen werden muß.

Damit der serielle Schnittstellenbaustein Daten vom Prozessor erhalten oder an ihn abgeben kann, muß der Anschluß über die Leitung Bausteinfreigabe L-Signal erhalten. Es stammt vom Adreßvergleicher und wird nur abgegeben, wenn die Baugruppe vom Prozessor angesprochen wird, d.h. wenn die Bitkombination der Adreßleitungen A4...A7 gleich ist mit der Bitkombination, die mit den Schaltern eingestellt wurde (Baugruppennummer).

Die Auswahl der einzelnen Register beim Datenverkehr mit der CPU erfolgt mit Hilfe der Bausteinanschlüsse ,  und , auf die später noch weiter eingegangen wird.

Zur zeitlichen Steuerung der internen Vorgänge besitzt der Baustein 8251 die drei Taktanschlüsse ,  und CLK.  und bestimmen die sender- bzw. empfängerseitige Datenübertragungsrate (Baudrate). Hierzu wird der 2MHz Systemtakt einem Baudratenteiler zugeführt, der z.B. Baudraten von 1200Bd, 600Bd, 300Bd und 150Bd ermöglicht.
An CLK ist ein Taktsignal erforderlich, dessen Frequenz wesentlich höher als die höchste Ausgangsfrequenz des Baudratenteilers ist. Hierzu eignet sich der 2MHz Systemtakt, der durch ein Inverter invertiert auf den CLK-Anschluß geführt wird. Diese Invertierung soll das CLK-Signal lediglich auffrischen.
Das RESET-Signal muß invertiert werden, da der Schnittstellenbaustein einen H-aktiven Reset Eingang besitzt. Nach jedem Reset muß der Baustein neu programmiert werden.

Bei L-Signal an gelangen die vom Prozessor ausgegebenen Datenworte in das Senderregister. Liegt bei einem Schreibvorgang am Anschluß jedoch H-Pegel vor, wird entweder das Betriebsarten- oder das Kommandoregister mit einem Steuerwort beschrieben. Diesen Vorgang nennt man Initialisieren des Schnittstellenbausteins, wodurch die Betriebsart programmiert wird.

Bedingt durch die Vielzahl der Programmiermöglichkeiten besitzt der 8251 nicht nur ein, sondern zwei die Arbeitsweise bestimmende Register. Die Unterscheidung, ob das ausgegebene Steuerwort in das Betriebsartenregister oder in das Kommandoregister gelangt erfolgt nicht durch die Schaltung, sondern durch folgende Festlegung: nach einem Kaltstart des Mikrocomputers wird das erste Initialisierungsbyte stets in das Betriebsartenregister geschrieben. Das zweite und alle weiteren Steuerbytes gelangen in das Kommandoregister. Beide Register sind unter derselben Adresse an­sprechbar.

Mit Hilfe der L-aktiven Steuerleitung , die mit dem Bausteinanschluß  verbunden ist, löst der Prozessor das Lesen von Daten aus dem Schnittstellenbaustein aus. Der Signalzustand des Anschlusses  bestimmt dabei wieder, welches Register gelesen wird: Bei H-Pegel an gelangt der Inhalt des Statusregisters auf den Datenbus, bei L-Pegel der des Empfängerregisters.

Programmierung

Bevor der serielle Schnittstellenbaustein Daten aussenden oder empfangen kann, muß er initialisiert, d.h. in seiner Betriebsart programmiert werden. Hierzu gibt der Prozessor zwei Steuerbytes in festgelegter Reihenfolge aus: Das erste, Betriebsarten-Wort genannte Steuerbyte, gelangt in das Betriebsartenregister, das zweite (Kommando-Wort) in das Kommandoregister. Beide Register besitzen die gleiche Portadresse. Die erforderlichen Steuerworte können im Prozessor durch den Befehl MVI A,konst Gebildet und durch OUT Adr ausgegeben werden.

Das Betriebsarten-Wort

D7

D6

D5

D4

D3

D2

D1

D0

 

 

S2

S1

EP

PEN

L2

L1

B2

B1

 

 

 

 

 

 

 

 

0

0

Synchronbetrieb

Teilungsfaktor 1

 

 

 

 

 

 

0

1

Asynchronbetrieb

Teilungsfaktor 1

 

 

 

 

 

 

1

0

Asynchronbetrieb

Teilungsfaktor 16

 

 

 

 

 

 

1

1

Asynchronbetrieb

Teilungsfaktor 64

 

 

 

 

0

0

 

 

Zeichenlänge

5 Bit

 

 

 

 

0

1

 

 

Zeichenlänge

6 Bit

 

 

 

 

1

0

 

 

Zeichenlänge

7 Bit

 

 

 

 

1

1

 

 

Zeichenlänge

8 Bit

 

 

 

0

 

 

 

 

Parität

ohne Parität

 

 

 

1

 

 

 

 

Parität

mit Parität

 

 

0

 

 

 

 

 

Parität

ungerade Parität

 

 

1

 

 

 

 

 

Parität

gerade Parität

0

0

 

 

 

 

 

 

Asynchronbetrieb

nicht zulässig

0

1

 

 

 

 

 

 

Asynchronbetrieb

1 Stop-Bit

1

0

 

 

 

 

 

 

Asynchronbetrieb

1 1/2 Stop-Bit

1

1

 

 

 

 

 

 

Asynchronbetrieb

2 Stop-Bit

 

Bit D7 im Synchronbetrieb:
1 = einfaches Synchronisationszeichen
0 = doppeltes Synchronisationszeichen

Bit D6 im Synchronbetrieb:
1 = externe Synchronisation
0 = interne Synchronisation

D0 / D1: Baudraten- und Betriebsarten Bits (B! / B2)
Mit B1 und B2 wird die Betriebsart und das interne Teilerverhältnis des seriellen Schnittstellenbausteins festgelegt. Für den MFA-Computer kommt nur der Asynchronbetrieb mit 16- oder 64-facher interner Frequenzteilung in Frage.

D2 / D3: Längen Bits (L1 / L2)
L1 und L2 des Betriebsartenwortes bestimmen die Länge der Datenübertragung, womit die Anzahl der Datenbits innerhalb einer Übertragungsstrecke gemeint ist (nicht die Gesamtlänge). Meistens wird eine Übertragung von 7 Bit (z.B. ASCII-Zeichen) oder 8 Bit (für allgemeine Datenübertragung) gewählt. Eine 5 Bit Übertragung ist z.B. für den Baudot-Code (5-Bit-Fernschreibcode) erforderlich.

D4: Paritätsprüfung ein- und ausschalten (PEN, Parity enable)
Bei L-Signal bildet der Sender kein Paritätsbit. Außerdem prüft der Empfänger nicht die Parität empfangener Zeichen. Bei H-Signal fügt der Sender automatisch Paritätsbits in den Datenstrom ein, und der Empfänger überprüft die Parität der empfangenen Zeichen. Das Ergebnis der Paritätsprüfung steht im Statusregister.

D5: gerade Parität (EP, Even parity)
Falls das Paritätsbit mit dem Steuerbit PEN eingeschaltet wurde bzw. Eine Paritätsprüfung erfolgen soll, kann mit EP zwischen der geraden und der ungeraden Parität gewählt werden.

D6 / D7: Anzahl der Stop-Bits (S1 / S2)
Im Asynchronbetrieb wird hiermit die Anzahl der Stop-Bits festgelegt. Im Synchronbetrieb haben diese Bits eine andere Bedeutung.

Das Kommando-Wort

Das Kommandowort, mit dessen Hilfe mehrere Funktionen gesteuert werden können, gelangt nach der Programmierung des Betriebsartenregisters stets in das Kommandoregister.

D7

D6

D5

D4

D3

D2

D1

D0

 

EH

IR

RTS

ER

SBRK

RxEN-ABLE

DTR

TxEN-ABLE

 

 

 

 

 

 

 

 

0

Sender gesperrt

 

 

 

 

 

 

 

1

Sender freigegeben

 

 

 

 

 

 

0

 

Ausgang führt H-Pegel

 

 

 

 

 

 

1

 

Ausgang führt L-Pe­gel

 

 

 

 

 

0

 

 

Empfänger gesperrt

 

 

 

 

 

1

 

 

Empfänger freigegeben

 

 

 

 

0

 

 

 

Normaler Betrieb

 

 

 

 

1

 

 

 

BREAK-Signal aussenden

 

 

 

0

 

 

 

 

Fehlerbits des Statusregisters nicht beeinflussen

 

 

 

1

 

 

 

 

Fehlerbits des Statusregisters zurücksetzen

 

 

0

 

 

 

 

 

Ausgang führt H-Pegel

 

 

1

 

 

 

 

 

Ausgang führt L-Pegel

 

0

 

 

 

 

 

 

Nächstes Steuerwort wieder in das Kommandoregister schreiben

 

1

 

 

 

 

 

 

Nächstes Steuerwort gelangt in das Betriebsartenregister

x

 

 

 

 

 

 

 

Nur für Synchronbetrieb von Bedeutung

 

Das Statuswort

Während des Programmablaufs kann der Mikroprozessor jederzeit das Statuswort lesen.
Im Statuswort wird der Zustand einer Reihe von Bausteinanschlüssen hinterlegt.
Weiterhin wird das Auftreten von Fehlern bei empfangenen Datenzeichen angezeigt.

D7

D6

D5

D4

D3

D2

D1

D0

 

DSR

SYNDET/BD

FE

OE

PE

TxEMPTY

RxRDY

TxRDY

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

1

Sende-Parallelregister frei

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

1

 

Zeichen im Empfangsregis­ter bereit

 

 

 

 

 

0

 

 

 

 

 

 

 

 

1

 

 

Beide Senderegister leer

 

 

 

 

0

 

 

 

 

 

 

 

 

1

 

 

 

Paritätsfehler beim Emp­fang

 

 

 

0

 

 

 

 

 

 

 

 

1

 

 

 

 

Überlauffehler (1 Bit zu­viel) beim Empfang

 

 

0

 

 

 

 

 

 

 

 

1

 

 

 

 

 

Sperrschrittfehler (Stop-Bit zuviel) beim Empfang

 

0

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

Auftreten von SYNC-Zei­chen bzw. BREAK-Zustand

0

 

 

 

 

 

 

 

H-Pegel am Eingang

1

 

 

 

 

 

 

 

L- Pegel am Eingang

 

nach oben

4. Kommunikationsprotokolle

Die Kommunikationsprotokolle sind international vereinbarte Steuerungsverfahren, die den Austausch von Daten zwischen zwei oder mehreren Datenstationen regeln. Dabei sind u.a. folgende Punkte klärungsbedürftig:

Steuerungsverfahren

Polling (Aufruf zum Senden)

Selecting (Anweisung zum Empfang)

Eine Station ist Leitstation und fragt alle Stationen zyklisch ab, ob sie Daten mitteilen wollen.

Die Leitstation fragt an, ob sie etwas mitteilen darf.

 

XON/XOFF - Protokoll

Merkmal:

XON = ASCII-Code DC1 (11H)
XOFF = ASCII-Code DC3 (13H)

XMODEM - Protokoll

Blockaufbau beim XMODEM - Protokoll

SOH = Start of header (Anfang des Kopfes) = ASCII-Code 01H
BCC = Binary check control

Steuerung der Übertragung. Übertragungsfehler werden durch Blockwiederholung korrigiert.

Sender

Empfänger

Erläuterung

 

Wartezeit

 

 

NAK

Negative Rückmeldung veranlaßt das Aussenden des 1. Datenblocks

Block 1

 

Block 1 gesendet

 

ACK

Positive Rückmeldung, da Block 1 fehlerfrei empfangen

Block 2

 

Block 2 gesendet

 

NAK

Negative Rückmeldung, da Block 2 mit Fehlern empfangen

Block 2

 

Wiederholung des Blocks 2

 

ACK

Positive Rückmeldung, da Block 2 fehlerfrei empfangen

EOT

 

Anzeige, daß keine weiteren Blöcke mehr folgen

 

ACK

Positive Rückmeldung

 

Verwendete Steuerzeichen:
NAK = Negative acknowledge (Negative Rückmeldung) = ASCII-Code 15H
ACK = Acknowledge (Positive Rückmeldung) = ASCII-Code 06H
EOT = End of transmission (Ende der Übertragung) = ASCII-Code 04H

BSC-Protokoll (Binary Synchronious Control)

Byte orientiertes Protokoll (HDLC - High Density Link Control = Bit orientiert)

Phasen einer Kommunikation:
Phase 1: Verbindungsaufbau
Phase 2: Dialogeröffnung
Phase 3: Nachrichtenübermittlung
Phase 4: Beendigung des Dialogs
Phase 5: Verbindungsabbau

Phase

Stationsbeschreibung
primär
sekundär

Übertragungssteuerzeichen
vorwärts
rückwärts

Verbindungsaufbau

a) Durchschalten im öffentlichen Netz
b) Identifikation

Der Verbindungsaufbau wird nicht durch ein Protokoll geregelt

Dialogeröffnung

a) Durchschalten im privaten Netz

Rufender
Gerufener

bisher nicht geregelt

 

b) Polling

Kontrollstation
Trabantenstation

(EOT), ENQ
(EOT)

 

c) Selecting

Sendestation
Empfangsstation

(EOT), ENQ
ACK, NAK

Nachrichtenübermittlung

 

Sendestation
Empfangsstation

SOH, STX, ETB, ETX, (EOT)
ACK, NAK, (EOT)

Beendigung des Dialogs

a) Rückkehr zum neutralen Zustand

Sendestation
Empfangsstation

EOT
EOT

 

b) Rückgabe der Kommunikationssteuerung an die Leitstation

Sendestation
Empfangsstation

EOT
EOT

 

c) Verbindungsabbruch

Sendestation
Empfangsstation

DLE EOT
DLE EOT

Verbindungsabbau

 

Der Verbindungsabbau wird nicht durch ein Protokoll geregelt

 

Übertragungssteuerzeichen

Die Übertragungssteuerzeichen können je nach Protokollvariante im CCITT-Code Nr.5 oder im EBCDIC (extended binary coded decimal interchange code) übertragen werden.

Formatzeichen zum Aufbau von Nachrichtentexten

Funktionsname

CCITT

Dualcode

Beschreibung

STX

STX

0000010

Start of text (Textanfang)
STX zeigt den Beginn des Textbereiches innerhalb des Übertragungsblockes an.

SOH

SOH

0000001

Start of heading (Steuerkopfanfang)
SOH zeigt den Beginn eines Kopfes an, der Identifikationen, Leitwegangaben (Adressen) oder Priorität enthalten kann.

ETB

ETB

0010111

End of transmissionblock (Ende eines Übertragungsblocks)
Mit ETB wird das Ende eines Übertragungsblockes angezeigt, der Teile eines Textes enthält.

ETX

ETX

0000011

End of text (Ende des Textes)
ETX steht immer im letzten Block eines Übertragungstextes.

 

Steuerzeichen für Mitteilung des Senders an den Empfänger

Funktionsname

CCITT

Dualcode

Beschreibung

ENQ

ENQ

0000101

Enquiry (Aufforderung, Aufruf)
Dieses Zeichen dient zur Steuerung und Überwachung und hat verschiedene Aufgaben:
- Bei Aufrufbetrieb in Mehrpunktverbindungen dient es mit vorangestellter Adresse als Sende- und Empfangsruf.
- In der Datenübermittlungsphase wird mit ENQ der Zustand der Gegenstation angefordert, wenn keine oder eine falsche Rückmeldung erfolgte.

RVI

DLE <

0010000
0111100

Reverse Interrupt (Unterbrechungsanforderung)
Positive Rückmeldung für den letzten Block, und weist die Sendestation an, die Datenübertragung möglichst nach dem nächsten DU-Block, der mit ETX abschließt, zu beenden.

EOT

EOT

0000100

End of transmission (Ende der Übertragung)
Dieses Zeichen hat zwei Funktionen:
- Negative Rückmeldung auf einen Sendeaufruf, wenn die angepollte Station keine Daten zur Übertragung hat.
- Wird von der Sendestation gesendet, um die Datenübermittlung zu beenden, den Ruhezustand herzustellen und die Sendeerlaubnis zurückzugeben.

 

Rückmeldungen

Funktionsname

CCITT

Dualcode

Beschreibung

ACK 0

DLE 0

0010000
0110000

Acknowledge (Positive Rückmeldung Nr. 0)
Die Empfangsstation bestätigt hiermit:
- Die Empfangsbereitschaft für den Empfangsaufruf.
- Die Empfangsbereitschaft für eine Zustandsabfrage.
- In der Datenübermittlungsphase den korrekten Empfang eines geradzahlig numerierten Datenblocks.

ACK 1

DLE 1

0010000
0110001

Acknowledge (Positive Rückmeldung Nr. 1)
In der Datenübermittlungsphase den korrekten Empfang eines ungeradzahlig numerierten Datenblocks.

NAK

NAK

0010101

Negative acknowledge (Negative Rückmeldung)
Die Empfangsstation zeigt hiermit:
- Die nicht Empfangsbereitschaft auf einen Empfangsaufruf.
- Die nicht Empfangsbereitschaft auf eine Zustandsabfrage.
- Einen fehlerhaft (Paritätsfehler) empfangenen Übertra­gungsblock an (weitere Blöcke können empfangen werden).

 

Synchronisationszeichen

Funktionsname

CCITT

Dualcode

Beschreibung

SYN

SYN

0010110

Synchronisierzeichen
Dient zur Empfängersynchronisation und/oder als Zeitfüller.

PAD

 

1111111

Zeitfüller
Die Sendestation hängt dieses Zeichen an das Ende des Übertragungsblocks, um sicherzustellen, daß die davorliegenden Zeichen richtig empfangen werden.

 

Punkt zu Punkt Verbindung


ACK 0                                                       ACK 1                                    ACK0
BCC = Binary Check Control

Mehrpunktnetz

Fehlerfreies Ablaufbeispiel

Leitstation

Trabantenstation

 

 

A

B

C

 

SYN-SYN-A2-ENQ-BCC

 

 

 

Sendeaufruf für Station A Gerät 2

 

SYN-SYN-STX-Daten-ETB-BCC

 

 

Datenübertragung 1.Block

SYN-SYN-ACK1-BCC

 

 

 

Empfangsbestätigung für 1.Block

 

SYN-SYN-STX-Daten-ETX-BCC

 

 

Datenübertragung 2.Block

SYN-SYN-ACK0-BCC

 

 

 

Empfangsbestätigung 2.Block

 

SYN-SYN-EOT-BCC

 

 

Rückgabe der Sendeberechtigung

SYN-SYN-B2-ENQ-BCC

 

 

 

Sendeaufruf für Station B Gerät 2

 

 

SYN-SYN-EOT-BCC

 

Abweisung, keine Daten zu übertragen

SYN-SYN-A1-ENQ-BCC

 

 

 

Empfangsaufruf für Station A Gerät 1

 

SYN-SYN-ACK0-BCC

 

 

Positive Empfangsbestätigung

SYN-SYN-Daten-ETX-BCC

 

 

 

Datenübertragung 1.Block

 

SYN-SYN-ACK1-BCC

 

 

Empfangsbestätigung für 1.Block

SYN-SYN-EOT-BCC

 

 

 

Ruhezustand herstellen

SYN-SYN-C2-ENQ-BCC

 

 

 

Sendeaufruf für Station C Gerät 2

 

 

 

SYN-SYN-STX-Daten-ETX-BCC

Datenübertragung 1.Block

SYN-SYN-ACK1-BCC

 

 

 

Empfangsbestätigung für 1.Block

 

 

 

SYN-SYN-EOT-BCC

Rückgabe der Sendeberechtigung

SYN-SYN-A2-ENQ-BCC

 

 

 

Sendeaufruf für Station A Gerät 2

 

SYN-SYN-EOT-BCC

 

 

Abweisung, keine Daten zu übertragen

SYN-SYN-B1-ENQ-BCC

 

 

 

Empfangsaufruf für Station B Gerät 1

 

 

SYN-SYN-ACK0-BCC

 

positive Empfangsbestätigung

SYN-SYN-Daten-ETX-BCC

 

 

 

Datenübertragung 1.Block

 

 

SYN-SYN-ACK1-BCC

 

Empfangsbestätigung für 1.Block

SYN-SYN-EOT-BCC

 

 

 

Ruhezustand herstellen

 

Polling = geradzahliges Gerät (Bsp. Gerät 2)
Selecting = ungeradzahliges Gerät (Bsp. Gerät 1)

Ablaufbeispiel mit Übertragungsfehler

Leitstation

Trabantenstation

 

 

A

B

C

 

SYN-SYN-A2-ENQ-BCC

 

 

 

Sendeaufruf für Station A Gerät 2

 

SYN-SYN-STX-Daten-ETB-BCC

 

 

Datenübertragung 1.Block Paritätsfehler

SYN-SYN-NAK-BCC

 

 

 

Negative Rückmeldung für 1.Block

 

SYN-SYN-STX-Daten-ETB-BCC

 

 

Datenübertragung 1.Block

SYN-SYN-ACK1-BCC

 

 

 

Empfangsbestätigung 1.Block

 

SYN-SYN-xxx-Daten-ETX-BCC

 

 

Datenübertragung 2.Block STX gestört
Zeitüberwachung läuft ab, die Sendestation übertragt den Block noch mal

 

SYN-SYN-STX-Daten-ETX-BCC

 

 

Datenübertragung 2.Block

SYN-SYN-ACx0-BCC

 

 

 

Empfangsbestätigung 2.Block Paritätsfehler

 

SYN-SYN-ENQ-BCC

 

 

Letzten Block nochmals anfordern

SYN-SYN-ACK0-BCC

 

 

 

Empfangsbestätigung für 2.Block

 

SYN-SYN-EOT-BCC

 

 

Rückgabe der Sendeberechtigung

SYN-SYN-B2-ENQ-BCC

 

 

 

Sendeaufruf für Station B Gerät 2
Zeitüberwachung läuft ab, die Sendestation überträgt den Block noch mal

SYN-SYN-B2-ENQ-BCC

 

 

 

Sendeaufruf für Station B Gerät 2
Zeitüberwachung läuft ab, die Sendestation überträgt den Block noch mal

SYN-SYN-C2-ENQ-BCC

 

 

 

Sendeaufruf für Station B Gerät 2
Zeitüberwachung läuft ab, die Sendestation überträgt den Block noch mal

SYN-SYN-C2-ENQ-BCC

 

 

 

Sendeaufruf für Station B Gerät 2
Zeitüberwachung läuft ab, der Wiederholungszähler bricht die Aktion ab

SYN-SYN-EOT-BCC

 

 

 

Ruhezustand herstellen

SYN-SYN-C3-ENQ-BCC

 

 

 

Empfangsaufruf für Station C Gerät 3

 

 

 

SYN-SYN-ACK0-BCC

Empfangsbestätigung für 1.Block

SYN-SYB-Daten-ETB-BCC

 

 

 

Datenübertragung 1.Block

 

 

 

SYN-SYN-ACK1-BCC

Positive Empfangsbestätigung

SYN-SYN-Daten-ExX-BCC

 

 

 

Datenübertragung 2.Block
Paritätsfehler, ETX gestört

 

 

 

SYN-SYN-NAK-BCC

Negative Empfangsbestätigung

SYN-SYN-Daten-ETX-BCC

 

 

 

Datenübertragung 2.Block

 

 

 

SYN-SYN-ACx0-BCC

Empfangsbestätigung
Paritätsfehler, ACK gestört

SYN-SYN-ENQ-BCC

 

 

 

Letzten Block nochmals anfordern

 

 

 

SYN-SYN-ACK0-BCC

Empfangsbestätigung

SYN-SYN-EOT-BCC

 

 

 

Ruhezustand herstellen

 

Transparenzmodus

Eine typische Anwendung ist der Austausch von Rechnerprogrammen in Maschinensprache.
Die Bedeutung der Steuerzeichen im normalen Übertragungsmodus werden bei transparenter Anwendung aufgehoben.
Um bei einer Übertragung beliebiger Bit Kombinationen Steuerzeichen als solche zu kennzeichnen, wird ein DLE vorangestellt.


*= in der BCC Kalkulation enthalten

Polling (Sendeaufruf)

Leitstation

Trabantenstationen

 

 

A

B

C

 

A
ENQ

 

 

 

Sendeaufruf für Station

 

EOT

 

 

Station A will nicht senden

B
ENQ

 

 

 

Sendeaufruf für Station B

 

 

SOH
Header
STX
Text
ETB
BCC

 

Station B sendet Header und Text

ACK1

 

 

 

Positive Bestätigung durch Leitstation

 

 

STX
Text
ETX
BCC

 

Station B sendet Text

ACK0

 

 

 

Positive Bestätigung

 

 

EOT

 

Sendung beendet

C
ENQ

 

 

 

Sendeaufruf für Station C

 

 

 

EOT

Station C will nicht senden

A
ENQ

 

 

 

Sendeaufruf für Station A

 

EOT

 

 

Station A will nicht senden

 

Selecting (Empfangsaufruf)

Leitstation

Trabantenstation

 

A
ENQ

 

Empfangsaufruf für Station A

 

NAK

Station nicht empfangsbereit

A
ENQ

 

Wiederholung des Empfangsaufrufes

 

ACK0

Positive Bestätigung

STX
Text
ETB
BCC

 

Leitstation sendet Text

 

ACK1

Positive Empfangsbestätigung

STX
Text
ETX
BCC

 

Leitstation sendet weiteren Text

 

ACK0

Positive Empfangsbestätigung

EOT

 

Leitstation beendet Übertragung

 

Ein Empfangsaufruf liegt vor, wenn die Leitstation oder eine durch vorangegangenes Polling zu Sendestation gewordene Trabantenstation zum Empfang einer Nachricht auffordert (gezielt -⟩ nicht zyklisch).


  nach oben  
Seite zurück Inhalt Seite vor
  Startseite  


Nachricht an: webmaster@mertech.de