Datenaustausch, Funktion

Control-Byte im Prozessdatenaustausch

Das Control-Byte wird von der Klemme zur Steuerung übertragen. Es kann im Registermodus (REG = 1) oder im Prozessdatenaustausch (REG = 0) genutzt werden (siehe Anmerkung im Anhang). Zur Abwicklung der Datenübertragen (Handshake) wird das Control- und Status-Byte im Prozessdatenaustausch benutzt.

MSB

REG=0

OL2

OL1

OL0

0

IR

RA

TR

Status-Byte im Prozessdaten-Modus

Das Status-Byte wird von der Klemme zur Steuerung übertragen. Es enthält die für den Handshake erforderlichen Daten.

MSB

REG=0

IL2

IL1

IL0

BUF_F

IA

RR

TA

TR/TA: TRANSMIT-REQUEST/TRANSMIT ACCEPTED Bits

Der Handshake für das Senden der Daten wird über dieses Bit durchgeführt. Eine Zustandsänderung von TR bewirkt, dass die über OL0-OL2 festgesetzte Anzahl von Daten (maximal 5 Bytes) in das Sende-FIFO geladen wird. Die Klemme signalisiert über TA die Ausführung dieses Befehls.

Beispiel

Output
Control-Byte

Input
Status-Byte

Kommentar

00000000

0XXXX0X0

Start Datenübertragung

00100001
Datenbytes: In D0 und D1,
Registerdaten

0XXXX0X0

Steuerung fordert von der Klemme 2 Daten zu senden

00100001
Datenbytes: In D0 und D1

0XXXX0X1

Klemme hat 2 Daten in Sende FIFO geladen, Befehl ist ausgeführt

01010000
Datenbytes: In D0 bis D4

0XXXX0X1
Datenbytes: DC

Steuerung fordert von der Klemme 5 Daten (D0-D4) zu senden

01010000
Datenbytes: In D0 und D1, Registerdaten

0XXXX0X0

Klemme hat 5 Daten in Sende FIFO geladen, Befehl ist ausgeführt

RA/RR: REICEIVE-ACCEPTED/RECEIVE-REQUEST

Über eine Zustandsänderung von RR teilt die Klemme der Steuerung mit, dass sich die in IL0-IL1 angezeigte Anzahl von Daten in D0-D4 befinden. Die Übernahme der Daten wird im Control-Byte mit RA quittiert, erst daraufhin werden neue Daten von der Klemme zur Steuerung übertragen.

Beispiel:

Output
Control-Byte

Input
Status-Byte

Kommentar

00000000

0XXXX00X

Start Datenübertragung

0XXX000X

0011X01X

Klemme fordert von der Steuerung 3 Daten von D0-D2 zu übernehmen

...

...

...

0XXX001X

0011X01X

Steuerung hat Daten übernommen

0XXX001X

0101X00X

Klemme fordert von der Steuerung 5 Daten von D0-D4 zu übernehmen

...

...

0XXX000X

0101X00X

Steuerung hat Daten übernommen

IR/IA: INIT-REQUEST/INIT-ACCEPTED

Ist IR high, so führt die Klemme eine Initialisierung durch. Die Sende und Empfangsfunktion werden gesperrt, die FIFO Zeiger werden zurückgesetzt und die Schnittstelle wird mit den Werten der zuständigen Register (R32-R35, R18) initialisiert. Die Ausführung der Initialisierung wird von der Klemme mit IA quittiert.

Beispiel:

Output
Control-Byte

Input
Status-Byte

Kommentar

0XXXXXXX

0XXXXXXX

Start Datenübertragung

00000100

0XXXXXXX

Initialisierung wird von Steuerung gefordert

00000100

00000100

Klemme hat Initialisierung vollzogen

00000000

00000100

Steuerung fordert Datenaustausch

00000000

00000000

Klemme ist bereit

BUF_F: BUFFER-FULL_Flag

Der Empfangs-FIFO ist voll. Daten die jetzt empfangen werden, gehen verloren.

Fehlerbehandlung

Tritt ein Parity, Framing oder Overun Error auf, so geht das betreffende Datum für die Übertragung verloren, es wird nicht in das Empfangs-FIFO der Klemme geladen.
Ist der Puffer voll, so werden die ankommenden Daten ignoriert.

Im Fehlerfall werden die entsprechenden Diagnosebits in R6 gesetzt