Stand: 2004-03
Thomas Mertin
Netzwerk- und Elektrotechnik
D-41334 Nettetal
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:
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
Vereinbarungen: Nach der Übertragung eines Bytes müssen mindestens zwei Stop-Bits eingefügt werden.
Problematisierung:
Prinzipschaltbild
Schaltung:
Impulsdiagramm:
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: |
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:
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.
Beispiel Programm:
Sender: Eingabe Port 01 lesen; Empfänger: Ausgabe Port 02 schreiben
|
Sender |
|
|
Empfänger |
|
NEXT: |
IN 01 |
Parallel Eingabe lesen |
|
MVI A,0C3 |
Sprung zur Interruptroutine einrichten |
|
OUT 50 |
Datenbyte zur Senderbaugruppe 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
- Datenblockweise
- Synchronisierung:
externer Taktzeichen über separate Leitung
Mitführen des Taktinfos durch Bitfolgen
Einstreuen von speziellen Synchronisierzeichen
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
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 |
|
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.
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.
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 ansprechbar.
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.
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.
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 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-Pegel |
|
|
|
|
|
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 |
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 |
|
D0 |
|
DSR |
SYNDET/BD |
FE |
OE |
PE |
TxEMPTY |
RxRDY |
TxRDY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
Sende-Parallelregister frei |
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
1 |
|
Zeichen im Empfangsregister bereit |
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
1 |
|
|
Beide Senderegister leer |
|
|
|
|
0 |
|
|
|
|
|
|
|
|
1 |
|
|
|
Paritätsfehler beim Empfang |
|
|
|
0 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
Überlauffehler (1 Bit zuviel) beim Empfang |
|
|
0 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
Sperrschrittfehler (Stop-Bit zuviel) beim Empfang |
|
0 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
Auftreten von SYNC-Zeichen bzw. BREAK-Zustand |
0 |
|
|
|
|
|
|
|
H-Pegel am Eingang |
1 |
|
|
|
|
|
|
|
L- Pegel am Eingang |
nach oben
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:
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. |
Merkmal:
XON = ASCII-Code DC1 (11H)
XOFF = ASCII-Code DC3 (13H)
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
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 |
Übertragungssteuerzeichen |
|
Verbindungsaufbau |
a) Durchschalten im öffentlichen Netz |
Der Verbindungsaufbau wird nicht durch ein Protokoll geregelt |
|
Dialogeröffnung |
a) Durchschalten im privaten Netz |
Rufender |
bisher nicht geregelt |
|
b) Polling |
Kontrollstation |
(EOT), ENQ |
|
c) Selecting |
Sendestation |
(EOT), ENQ |
Nachrichtenübermittlung |
|
Sendestation |
SOH, STX, ETB, ETX, (EOT) |
Beendigung des Dialogs |
a) Rückkehr zum neutralen Zustand |
Sendestation |
EOT |
|
b) Rückgabe der Kommunikationssteuerung an die Leitstation |
Sendestation |
EOT |
|
c) Verbindungsabbruch |
Sendestation |
DLE EOT |
Verbindungsabbau |
|
Der Verbindungsabbau wird nicht durch ein Protokoll geregelt |
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) |
SOH |
SOH |
0000001 |
Start of heading (Steuerkopfanfang) |
ETB |
ETB |
0010111 |
End of transmissionblock (Ende eines Übertragungsblocks) |
ETX |
ETX |
0000011 |
End of text (Ende des Textes) |
Steuerzeichen für Mitteilung des Senders an den Empfänger
Funktionsname |
CCITT |
Dualcode |
Beschreibung |
ENQ |
ENQ |
0000101 |
Enquiry (Aufforderung, Aufruf) |
RVI |
DLE < |
0010000 |
Reverse Interrupt (Unterbrechungsanforderung) |
EOT |
EOT |
0000100 |
End of transmission (Ende der Übertragung) |
Rückmeldungen
Funktionsname |
CCITT |
Dualcode |
Beschreibung |
ACK 0 |
DLE 0 |
0010000 |
Acknowledge (Positive Rückmeldung Nr. 0) |
ACK 1 |
DLE 1 |
0010000 |
Acknowledge (Positive Rückmeldung Nr. 1) |
NAK |
NAK |
0010101 |
Negative acknowledge (Negative Rückmeldung) |
Synchronisationszeichen
Funktionsname |
CCITT |
Dualcode |
Beschreibung |
SYN |
SYN |
0010110 |
Synchronisierzeichen |
PAD |
|
1111111 |
Zeitfüller |
ACK 0 ACK 1 ACK0
BCC = Binary Check Control
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 |
|
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 |
SYN-SYN-B2-ENQ-BCC |
|
|
|
Sendeaufruf für Station B Gerät 2 |
SYN-SYN-C2-ENQ-BCC |
|
|
|
Sendeaufruf für Station B Gerät 2 |
SYN-SYN-C2-ENQ-BCC |
|
|
|
Sendeaufruf für Station B Gerät 2 |
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 |
|
|
|
SYN-SYN-NAK-BCC |
Negative Empfangsbestätigung |
SYN-SYN-Daten-ETX-BCC |
|
|
|
Datenübertragung 2.Block |
|
|
|
SYN-SYN-ACx0-BCC |
Empfangsbestätigung |
SYN-SYN-ENQ-BCC |
|
|
|
Letzten Block nochmals anfordern |
|
|
|
SYN-SYN-ACK0-BCC |
Empfangsbestätigung |
SYN-SYN-EOT-BCC |
|
|
|
Ruhezustand herstellen |
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
Leitstation |
Trabantenstationen |
|
||
|
A |
B |
C |
|
A |
|
|
|
Sendeaufruf für Station |
|
EOT |
|
|
Station A will nicht senden |
B |
|
|
|
Sendeaufruf für Station B |
|
|
SOH |
|
Station B sendet Header und Text |
ACK1 |
|
|
|
Positive Bestätigung durch Leitstation |
|
|
STX |
|
Station B sendet Text |
ACK0 |
|
|
|
Positive Bestätigung |
|
|
EOT |
|
Sendung beendet |
C |
|
|
|
Sendeaufruf für Station C |
|
|
|
EOT |
Station C will nicht senden |
A |
|
|
|
Sendeaufruf für Station A |
|
EOT |
|
|
Station A will nicht senden |
Leitstation |
Trabantenstation |
|
A |
|
Empfangsaufruf für Station A |
|
NAK |
Station nicht empfangsbereit |
A |
|
Wiederholung des Empfangsaufrufes |
|
ACK0 |
Positive Bestätigung |
STX |
|
Leitstation sendet Text |
|
ACK1 |
Positive Empfangsbestätigung |
STX |
|
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