16 VMIVME-1184* 32-bit Optically Isolated Change-of-State (COS) Input Board
Publication No. 500-001184-000 Rev. B.0
1.5 Change-of-State Logic
The COS logic bases its actions on the state of its select lines A and B. These lines
are controlled by the COS register values. The states are listed in
Table 1-1
below:
The COS logic writes data into a FIFO based on the board’s configuration. The
COS logic decides when to load data into the FIFO. If either select lines A or B are
set to ‘1’ and the corresponding event occurs on that channel, 32 channels of data
will be stored in the data FIFO. When select lines A or B are set to ‘00’, data
changes for that channel will not flag a COS event and no data is stored in the
FIFO. If interrupts are programmed and being serviced when a new event occurs,
the logic continues to load the new state into the FIFO. The FIFO stores the new
states until they are read by the host or the buffer becomes full.
1.5.1 Previous State Data Algorithm
The definition of previous state data is essential to a system that detects changes
of state. Since all incoming data is compared to the previous state, what this
previous state is and when it is stored is critical to the proper operation of the
COS state machine.
A flagged Change-Of-State (COS) event occurs when one or more input channel’s
state changes in a way that the VMIVME-1184 has been programmed to detect.
For example, if Channel 3 changes from a one (1) to a zero (0), and the COS Select
Register has been programmed to detect falling edges for Channel 3, then
Channel 3 causes a “flagged” COS event. A non-flagged COS event would occur if
the logic level on Channel 3 changed from a zero (0) to a one (1), with falling edge
detection enabled. Flagged COS data is the value of all of the input channels when
one or more “flagged” changes of state have occurred. Non-flagged COS data is
data for one or more channels that may have changed state, but are not flagged
for saving.
1.5.2 “Simultaneous” Data Changes, and the Debounce
“Stretching” Effect
A walking ones test is commonly used during design validation and product
testing. In this test, all input channels are set to zero (0), and a one (1) is written to
each successive channel in the following manner:
Table 1-1 COS Logic
SEL B
SEL A
COS Logic’s Action
0
0
COS, event not flagged
0
1
COS event flagged on rising edges only
1
0
COS event flagged on falling edges only
1
1
COS event flagged on any edge
Table 1-2 Walking Ones Test
State 0
00000000
State 1
00000001
State 2
00000010
State 3
00000100
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com