Herunterladen Inhalt Inhalt Diese Seite drucken

Phoenix Contact IBS PCI DDK UM Anwenderhandbuch Seite 91

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

Werbung

Node 0
Node 1 (Interrupt-
Routine)
Node 1 (Routine zum
Auslesen der Nach-
richt)
6189A
Detaillierter Ablauf beim Übertragen einer Nachricht von Node 0 an
Node 1:
1. Node 0 prüft, ob das Send-Vector-Register „SVR [0] [1]" frei ist. Dazu
liest er das MPM-Handshake-Register A aus und prüft, ob das Bit
HS_A8 gleich Null ist. Ist das Bit gesetzt, ist das SVR belegt und kann
nicht verwendet werden.
2. Die Adresse (Offset) der Mailbox wird im MPM in das SVR eintragen.
3. Das Set-HS-A8-Register wird mit dem Wert 8000
löst damit einen Interrupt beim Node 1 aus).
1. Node 1 erkennt anhand des gesetzten Bits HS_Int_1 im MPM-Status-
Register, dass die Ursache des Interrupts ein Mailbox-Handshake-Pro-
tokoll-Interrupt ist.
2. Er liest das Handshake-Register A aus, um festzustellen welcher Node
den Interrupt auslöste. Anhand des dort gesetzten Bits HS_A8 erkennt
der Empfänger (Node 1), dass es sich um eine Nachricht vom Node 0
handelt. Gleichzeitig erkennt er damit auch, dass es sich um ein „Nach-
richt vorhanden"-Ereignis handelt (siehe auch Bild 2-18 „Bitbelegung
des Status-Registers 1").
3. Node 1 bestimmt die SVR-Adresse des Senders (SVR [0] [1]), liest das
Register aus und „merkt" sich dessen Inhalt , der die Adresse der Mail-
box mit der Nachricht darstellt. (Die Adresse liegt im Motorola-Format
vor.)
4. Er setzt das Bit im Handshake-Register A wieder zurück, indem er in
das Set-HS-A8-Register den Wert 0000
5. Der Empfänger (Node 1) kann nun die Mailbox auslesen, da er sich die
Adresse der Mailbox „gemerkt" hat. Sobald die Nachricht aus der Mail-
box kopiert ist, sollte er dem Sender (Node 0) mitteilen, dass die Mail-
box frei ist und wieder verwendet werden kann.
1. Node 1 stellt fest, ob das Acknowledge-Vector-Register frei ist. Dazu
liest er das Handshake-Register A aus und prüft, ob das Bit HS_A5
gleich Null ist. Ist das nicht der Fall, wartet er bis das Bit HS_A5 zurück-
gesetzt wurde bzw. er gibt eine Fehlermeldung aus. Ansonsten fährt er
fort mit Schritt 2.
2. Node 1 trägt die Adresse der Mailbox in das AVR (AVR [1] [0]) ein, aus
der die Nachricht gelesen wurde.
3. Node 1 beschreibt das Set-HS-A5-Register mit dem Wert 8000
löst damit einen Interrupt beim Node 0 aus. Damit wird dem Node 0 an-
gezeigt, dass die Mailbox wieder frei ist.
Kommunikation über das Mailbox-Interface
schreibt.
hex
beschrieben (und
hex
und
hex
4-7

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis