18
OPTOIO-PCIe32
ULTRA
© 2019 by Messcomp Datentechnik GmbH
DV02
18
OPTOIO-PCIe32
ULTRA
© 2019 by Messcomp Datentechnik GmbH
EV02
18
18
wasco
®
wasco
®
5.7.1 Flankenerkennung
Um steigende Flanken an den Optokopplereingängen zu erkennen,
besitzt jeder einzelne Eingang eine Flankenerkennung mit zuschaltbarer
Interruptfunktion. Dafür wird ein 32bit Interruptregister (OPTOINIF) bereit-
gestellt, welches für jeden Eingangskanal ein Bit zur Flankenerkennung
zur Verfügung stellt. Sobald an einem Eingang eine steigende Flanke
durch die Karte erkannt wird, wird das jeweilige Bit im Register OPTOINIF
gesetzt. Ist mindestens eines der freigeschalteten Bits gesetzt, wird dies
über eine Leitung an den Interruptcontroller weitergeleitet.
Das Freischalten der Interruptfunktion erfolgt durch das Beschreiben
des 32bit Registers OPTOINFe. Dabei repräsentiert jedes einzelne Bit
einen Eingang. Wie aus der Tabelle Portadressen (Kapitel 11.1) zu ent-
nehmen ist, bedeutet eine 1 im jeweiligen Bit eine Aktivierung und eine
0 eine Deaktivierung der Interruptfunktion. Steht im Bit also z.B. eine 0,
so wird bei einer steigenden Flanke im Register OPTOINIF zwar das ent-
sprechende Bit gesetzt, jedoch wird dieses Bit bei der Interruptauslösung
nicht berücksichtigt.
Im Defaultzustand sind alle Interruptkanäle deaktiviert.
Nach dem ausgelösten Interrupt muss in der entsprechenden Interrupt-
Service-Routine durch das Einlesen des Registers OPTOINIF die Quelle
ermittelt und anschließend das Bit gelöscht werden, indem das zum
Quellenkanal gehörige Bit im Register OPTOINFr gesetzt wird. Nachdem
die Karte den Resetbefehl duchgeführt hat, wird das Bit automatisch
zurückgesetzt.
5.7.1 Edge detection
In order to detect rising edges at the optocoupler inputs, each single input
provides an edge detection with connectable interrupt function. For this
purpose, a 32-bit interrupt register (OPTOINIF) is provided which makes
available one bit per input channel for edge detection. As soon as the card
detects a rising edge, the respective bit is set in register OPTOINIF. If at
least one of the enabled bits is set, this will be passed over a line to the
interrupt controller.
The interrupt function is enabled by writing the 32bit register
OPTOINFe. Each single bit represents one input. As shown in the table
port addresses (chapter 11.1) the respective bit indicates activation of the
interrupt function with a 1 and deactivation with a 0. So, if the bit is 0, the
corresponding bit in the register OPTOINIF will be set on a rising edge,
but it will not be considered when the interrupt is triggered.
All of the interrupt channels are deactivated in default state.
After the interrupt has been triggered, the source must be determined in
the relevant interrupt service routine by reading the register OPTOINIF.
Then the bit has to be cleared by setting the source channel bit in the re-
gister OPTOINFr. After the card has executed the reset command, the bit
is reset automatically.