ACCES I/O Products, Inc.
MADE IN THE USA
mPCIe- and M.2-AIO16-16F Family Manual
8
Rev B6e
In all other modes the FIFO Count reports the number of
pairs
of ADC Conversions are available in the FIFO. Were you to read the data from the ADC FIFO (+30) you would read
two 32-bit values per FIFO Count to gather the acquired data. However, in these modes it is generally best to let DMA transfer the FIFO data, which is performed at the native
64-bit FIFO width.
ADC FIFO Data, 30 of 32-bit Memory BAR[1]Read-Only 32-bits only
bit D31
D30
D29 D28 D27 D26 D25
D24 D23 D22 through D20 D19 D18 through D16 D15 through D0
Name INVALID=1
RUNNING UNUSED
0 (“VALID”)
RSV
DIO1 DIO0 RSV
RSV
TEMP MUX SEQ Channel2:0
Diff Gain2:0
ADC Counts (Two’s complement)
ADC FIFO Data: Read the RAW-format ADC Conversion results (in twos-complement 16-bit form) and the associated status word.
INVALID:
If INVALID is SET then all other bits are undefined, and the entry should be discarded. This can occur if you read from the ADC FIFO while the ADC FIFO Count
(+28) is zero.
RUNNING:
SET indicates the ADC Sequencer is operating, taking either periodic (timer-driven) conversions or via the external ADC Start secondary digital function.
DIO1:0:
These bits indicate the state of the corresponding digital I/O pin at the time the paired ADC Conversion was sampled.
TEMP:
If TEMP is SET the ADC Counts are acquired from the ADAS3022’s onboard temperature sensor rather than from an analog input ch
annel. Refer to ADC Control
(+38) for more information about acquiring the temperature data.
MUX:
If MUX is SET the ADC Counts are acquired from the ADAS3022’s Auxiliary Mux inputs rather than from the normal Analog Input C
hannels. Note, the mPCIe-
AIO16-16F does not have anything usefully connected to the Aux Mux inputs and you should not bother acquiring data from them.
SEQ:
The SEQ bit indicates which ADC the data is from, and can be thought of as Channel:3. That is, if SEQ is set add +8 to the channel reported by the Channel2:0
bits.
Channel2:0:
The 3 Channel bits indicate from which Analog Input the paired ADC Counts were sampled. Refer to ADC Control (+38) for important information about the
Channel bits re Differential operation.
Diff:
SET indicates the paired ADC Counts were sampled in Differential mode. Refer to ADC Control (+38) for important information about the Channel bits re
Differential operation.
Gain2:0:
The 3 Gain bits indicate at what gain code the paired ADC Counts were sampled. Refer to the gain code table in ADC Advanced Sequencer Gain Control (+18)
for how to interpret the Gain bits.
ADC Counts:
16-
bit two’s complement ADC counts, the ADC conversion result from the samples Channel at the specified Gain, sampled in Differe
ntial or Singled-ended /
Pseudo-Differential mode as indicated by the Diff bit (D19).
Please refer to the “Software Tips” section for details on how to translate RAW
-format ADC data into Volts
—
or skip the hassle and use our AIOAIO.dll API Library:
ADC_GetImmediateV(iBoard, pVolts, iChannel, iRange);, ADC_GetImmediateScanV(iBoard, pVolts[]); etc.
ADC Control, 38 of 32-bit Memory BAR[1]Read/Write 32-bits only
bit D31 through D19
D18
D17
D16 D15 D14 through D12
D11
D10 D9 through D7 D6
D5
D4
D3
D2
D1
D0
Name UNUSED
SCAN
CONFIG
GO
RSV
IN
x
2:0
COM
RSV
Gain2:0
/MUX SEQ1
SEQ0
/TEMP RSV CMS
RSV
Controls ADAS #0, channels 0-7
The ADAS3022 is a very flexible ADC module and we highly recommend you use the AIOAIO.dll-provided API to avoid needing to know the following information.
SCAN: If SCAN is set (to 1)
AND
INx2:0 is non-
zero then each “ADC Start” event will acquire channels 0 through INx2:0 at the rate specified in +14.