23
WITIO-PCIe192
ULTRA
© 2018 by Messcomp Datentechnik GmbH
DV0101
23
WITIO-PCIe192
ULTRA
© 2018 by Messcomp Datentechnik GmbH
EV0103
23
23
wasco
®
wasco
®
After the interrupt has been triggered, the source must be determined in
the relevant interrupt service routine by reading the register DINIFyCNx
(1)
.
Then the bit has to be cleared by setting the source channel bit in the re-
gister DINIFyrCNx
(1)
. After the card has executed the reset command, the
bit is reset automatically.
Anwendungsbeispiel:
Gewünscht wird eine Flankenerkennung mit Interruptauslösung am Kanal
PA1 des Connectors CN1. Im folgenden Beispiel werden die einzelnen
Schritte aufgezählt, wie die Konfiguration durchgeführt werden muss und
was in der Interrupt-Service-Routine zur erneuten Freigabe des Interrupts
unternommen werden muss.
Bitte beachten Sie, dass in diesem Beispiel nicht die Interruptkonfiguration
des Treibers aufgelistet ist. Eine Beschreibung hierzu liegt dem Treiber
bei.
Neben diesem Beispiel sind zudem auf unserer Homepage Beispiel-
programme zum Download bereitgestellt.
Konfiguration:
Nach dem ausgelösten Interrupt muss in der entsprechenden Interrupt-
Service-Routine durch das Einlesen der Register DINIFyCNx
(1)
die Quelle
ermittelt und anschließend das Bit gelöscht werden, indem das zum
Quellenkanal gehörige Bit im entsprechenden Register DINIFyrCNx
(1)
gesetzt wird. Nachdem die Karte den Resetbefehl duchgeführt hat, wird
das Bit automatisch zurückgesetzt.
1. Freischaltung der Interruptfunktion der Karte (siehe Kapitel
Interruptcontroller)
2. Freischalten des gewünschten Interrupts
Bevor der Flankenerkennungsinterrupt freigeschaltet wird, muss über
-
prüft werden, ob das Flankenspeicherregister DINIF0CN1 vollständig
zurückgesetzt ist, da sonst eventuell sofort nach der Freigabe des
Interrupts ein Interrupt ausgelöst wird. Sind nicht alle Bits im Register
DINIF0CN1 zurückgesetzt, schreiben Sie den Wert 0xffffffff(hex) in das
Register DINIF0rCN1.
Aus der Tabelle ist zu entnehmen, dass zur Freischaltung des
Flankenerkennungsinterruptes am Kanal PA1 Bit1 im Register
DINIF0eCN1 gesetzt werden muss. Mit Hilfe des PCIe-Schreibbefehls
wird also der Wert 0x00000002(hex) bzw. 2(dec) in dieses Register
geschrieben.
1
(y = Registernummer, x = Connector-Nummer)
1
(y = Register number, x = Connector number)
Application example:
You want an edge detection with interrupt triggering on the channel PA1of
the connector CN1. The following example lists each step of how to per-
form the configuration and what needs to be done in the interrupt service
routine to re-enable the interrupt.
Please note that in this example the interrupt configuration of the driver is
not indicated. For the discription of this please refer to the driver.
Additional, more program examples are made available for download on
our homepage.
Configuration:
1. Activation of the card‘s interrupt function (see chapter Interrupt
Controller)
2. Enable the required interrupt
Before enabling an edge detection interrupt, please check whether or not
the edge memory register DINIF0CN1 is reset completely. Otherwise, an
interrupt might be triggered immediately after enabling the interrupt. If not
all of the bits are reset in register DINIF0CN1, value 0 is writtenxffffffff(hex)
into the register DINIF0rCN1.
See the table how to set bit 1 in register DINIF0eCN1 to activate an
edge detection interrupt on channel PA1. This way, with the help of the
PCIe write command, the value 0x00000002(hex) resp. 2(dec) is written
to this register.