Herunterladen Inhalt Inhalt Diese Seite drucken

Phoenix Contact IBS PCI DDK UM Anwenderhandbuch Seite 93

Device driver development kit zu anschaltbaugruppen für pc-systeme mit pci-bus
Inhaltsverzeichnis

Werbung

6189A
1. „Nachricht vorhanden":
Node 1 setzt das Bit HS_A1 (Bedeutung: Nachricht vorhanden; Source
= Node 1; Destination = Node 0). Damit wird angezeigt, dass eine
Nachricht von Node 1 an Node 0 vorhanden ist. Die Adresse der Nach-
richt ist von Node 1 zuvor in das zugehörige Send-Vector-Register
(SVR[1][0]) eingetragen worden.
2. „Nachricht vorhanden erkannt":
Node 0 setzt das Bit HS_A1 zurück. Er hat erkannt, dass eine Nach-
richt vorhanden ist und hat die Adresse der Mailbox aus dem Send-
Vector Register (SVR[1][0]) gelesen. Das SVR kann danach vom Node
1 wieder verwendet werden.
Das Zurücksetzen von Bit HS_A1 bedeutet nicht, dass die Mailbox frei
ist.
3. „Mailbox frei":
Node 0 setzt das Bit HS_A12 (Bedeutung: Mailbox frei; Source = Node
0; Destination = Node 1). Damit signalisiert Node 0 dem Node 1, dass
er die Nachricht aus der Mailbox ausgelesen hat und die Mailbox nun
frei ist. Die Adresse der Mailbox steht im Acknowledge-Vector-Register
(AVR[0][1]).
4. „Mailbox frei erkannt":
Node 1 setzt das Bit HS_A12 wieder zurück. Er zeigt damit Node 0 an,
dass die Mailbox frei ist. Gleichzeitig erkennt Node 0 damit, dass er das
Acknowledge-Vector-Register (AVR[0][1]) wieder verwenden kann.
Das Setzen der Handshake-Bits erfolgt, wie bereits oben erläutert, durch
Beschreiben der entsprechenden Set-HS-Ax/Bx-Register mit einem Da-
tum, dessen höchstwertiges Bit gesetzt (Bit = 1) ist. Umgekehrt erfolgt das
Zurücksetzen der Handshake-Bits durch Beschreiben der Set-HS-Ax/Bx-
Register mit einem Datum, dessen höchstwertiges Bit zurückgesetzt (Bit
=0) ist. Welche Handshake-Bits gesetzt bzw. zurückgesetzt sind, läßt sich
durch Auslesen der Handshake-Register A und B bestimmen.
Das Setzen eines Handshake-Bits führt beim Ziel-Node zu einem Interrupt.
Es bietet sich daher an, die Freigabe der Mailboxen in einer Interrupt-Rou-
tine durchzuführen. Ebenso kann das Auslesen der Send-Vector-Register
innerhalb der Interrupt-Routine erfolgen.
Kommunikation über das Mailbox-Interface
4-9

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis