30
OPTOIO-PCIe16
ULTRA
© 2017 by Messcomp Datentechnik GmbH
DV01
30
OPTOIO-PCIe16
ULTRA
© 2017 by Messcomp Datentechnik GmbH
EV04
30
30
wasco
®
wasco
®
7. Counter
7.1 Basic function
1. For using a counter start by selecting a source. For this purpose every
counter has its own 32-bit register (COUNTMUXxx).
2. Next, the counter has to be preloaded via the register COUNTLDxxx.
In general, the value 0 is written to the register.
3. Finally, the counter is activated by setting the first bit in the register
COUNTexx. From this point, the counter starts to count every rising edge.
In the event of an overflow the bit corresponding to the counter is set in the
register COUNTIR. To detect another overflow, this bit has to be cleared
by setting the bit allocated to the counter in the register COUNTIRr.
4. To determine the counter value read out the register COUNTxx.
The board WASCO-PCIe8117 provides a total of 16 32-bit event counters
(rising edges). Every single counter can be freely assigned to one digital
input. Furthermore, each counter can trigger an interrupt in the event of
an overflow.
7.2 Interrupt function
Every overflow of a counter sets the bit allocated to the counter in the re
-
gister COUNTIR. When the interrupt line has been enabled by setting the
relevant bit in the register COUNTIRe, then the overflow will be passed on
to the interrupt controller. In order to be able to reset the overflow bit, the
bit assigned to the counter has to be set in the register COUNTIRr. After
an internal reset of an overflow bit, the bit set in the register COUNTIRr
will be reset automatically.
7. Zähler
7.1 Grundfunktion
1. Um einen Zähler zu verwenden, muss zu Beginn die Quelle aus-
gewählt werden. Hierfür hat jeder Zähler sein eigenes 32Bit Register
(COUNTMUXxx).
2. Als nächstes muss der Counter über das Register COUNTLDxxx
vorgeladen werden. In der Regel wird hier der Wert 0 in das Register
geschrieben.
3. Zuletzt wird durch das Setzen des ersten Bits im Register COUNTexx
der Zähler aktiviert. Ab nun beginnt der Zähler jede steigende Flanke zu
zählen. Im Falle eines Überlaufs wird im Register COUNTIR das dem Zähler
entsprechende Bit gesetzt. Um einen weiteren Überlauf zu erkennen, muss
dieses Bit durch das Setzen des dem Zähler zugeteilten Bits im Register
COUNTIRr gelöscht werden.
4. Der Zählerstand lässt sich durch das Auslesen des Registers COUNTxx
ermitteln.
Die WASCO-PCIe8117 stellt insgesamt 16 32-Bit-Ereigniszähler (steigende
Flanken) zur Verfügung. Dabei kann jeder einzelne Zähler einem digitalen
Eingang frei zugeordnet werden. Des weiteren besteht bei jedem Zähler
die Möglichkeit, einen Interrupt bei Überlauf auszulösen.
7.2 Interruptfunktion
Bei jedem Überlauf eines Zählers wird im Register COUNTIR das dem
Zähler zugeordnete Bit gesetzt. Wurde der Interruptkanal durch das Setzen
des entsprechenden Bits im Register COUNTIRe freigeschaltet, so wird
der Überlauf an den Interruptcontroller weitergeleitet. Um das Überlaufbit
rücksetzen zu können, muss im Register COUNTIRr das dem Zähler
zugeordnete Bit gesetzt werden. Nach dem internen Rücksetzen des
Überlaufbits wird automatisch das gesetzte Bit im Register COUNTIRr
zurückgesetzt.