24
WITIO-PCIe192
ULTRA
© 2018 by Messcomp Datentechnik GmbH
DV0101
24
WITIO-PCIe192
ULTRA
© 2018 by Messcomp Datentechnik GmbH
EV0103
24
24
wasco
®
wasco
®
Achtung:
Sollten in der Zeit noch weitere Interrupts geschehen sein (z.B. Timer),
müssen diese in ihren jeweiligen Registern ebenfalls gelöscht werden. Erst
nachdem alle aktivierten Interruptregister wieder auf 0 gesetzt wurden,
kann ein weiterer Interrupt ausgelöst werden.
Interrupt-Service-Routine
1. Um die Quelle des Interrupts zu ermitteln, muss das Flanken-
speicherregister DINIF0CN1 ausgelesen werden (Rückgabewert hier
0x00000002(hex)). Sollten noch andere Quellen wie Timer etc. möglich
sein, muss im INTCON-Register überprüft werden, ob der vom PC emp
-
fangene Interrupt von einem der DINIFyCNx-Register stammt.
2. Ist die Quelle identifiziert, muss das Quellenbit gelöscht werden.
Hierfür schreiben Sie in unserem Fall den Wert 0x00000002(hex) in
das Register DINIF0rCN1.
6.2.2 Portänderungen
Müssen die digitalen Eingänge oft abgefragt werden, um Änderungen zu
erkennen, so kann eine weitere Interruptfunktion verwendet werden, um
den PC zu entlasten. So bietet die WASCO-PCIe8296 die Möglichkeit an,
bei einer Änderung an den Eingängen einen Interrupt auszulösen.
Zur Freischaltung dieser Interruptfunktion muss zum einen das Register
DINICe auf 0x00000001 gesetzt werden. Zum anderen kann der Anwender
durch die 32bit Register DINICCyeCNx
(1)
bestimmen, welche Eingänge
bei der Erkennung berücksichtigt werden sollen. Findet eine Änderung
der Eingänge statt, so wird im Register DINICyCNx
(1)
das entsprechende
Bit gesetzt. Um nach einem Auslösen des Interrupts diesen wieder freizu-
schalten, muss das entsprechende Bit im Register DINICyrCNx
(1)
gesetzt
werden. Nach dem Reset wird das Resetbit von selbst zurückgesetzt.
1
(y = Registernummer, x = Connector-Nummer)
1
(y = Register number, x = Connector number)
Attention:
If in that time further interrupts were triggered (e.g. Timer), these must
be deleted in their respective registers, too. Only after all of the activated
interrupt registers have been reset to 0 again, another interrupt can be
triggered.
6.2.2 Port changes
If the digital inputs often need to be queried to detect changes, another
interrupt function can be used to relieve the PC. For this the WASCO-
PCIe8296 provides the possibiltiy to trigger an interrupt in the event of a
change at the inputs.
To enable this interrupt function on one hand the register DINICe has to be
set to 0x00000001. On the other hand, the user can determine via the 32-bit
register DINICCyeCNx
(1)
, which one of the inputs should be considered for
the detection. In the event of a change at the inputs, the corresponding bit
is set in register DINICyCNx
(1)
. To re-enable the interrupt after having been
triggered, the corresponding bit in register DINICyrCNx
(1)
has to be set.
After the reset, the reset bit will be reset automatically.
1. To determine the interrupt source, the edge memory register
DINIF0CN1 has to be read out (return value here 0x00000002(hex)). If
other sources are available, such as timer etc., please check in INTCON
register whether or not the interrupt received from the PC is derived from
the DINIFyCNx register.
2. Once the source is identified, the source bit must be deleted.
For this purpose, in our case write 0x00000002(hex) to the register
DINIF0rCN1.
Interrupt Service Routine