500-003124-000
4-8
By clearing the Max Buffer bit, only the first 16 Data Registers are updated.
The updates correspond to channels 0-15 consecutively, beginning with channel 0 at
offset $40. This is the simplest configuration, but it requires more bus overhead than
desired if the user wishes to avoid constantly reading the board but still wants to
capture every single data sample.
On the other hand, the user may wish to set the Max Buffer bit to increase
the time interval by extending the aggregate sample time from just under 500
sec to
nearly a millisecond. By setting the Max Buffer bit, all 32 Data Registers are updated.
Data for channels 0-15 is stored consecutively, first in the lowest 16 Data Registers
(channel 0 data at offset $40), then in the higher 16 Data Registers (channel 0 data at
offset $60). Using this technique, the two most recent scans are always available in
the Data Registers. The Channel Pointer Register must be read to determine which of
the two data sets is most recent. In this case, the Channel Pointer Register value does
not hold a channel number, but an offset value into the extended data buffer. The code
must still be structured such that the previously updated data is read prior to being
overwritten by new data.
Note that the Data Registers are actually writable. Since the registers
physically consist of RAM, writes are allowed to facilitate testing of the data RAM.
Unless auto-scanning is halted, any data written to a Data Register is overwritten with
new data the next time that channel is scanned and converted.
4.3
BUILT-IN-TEST FUNCTIONS
The VMIVME-3124 has the ability to test its functionality by applying various
internal reference voltages to the channel 0 input. Host software may then read the
value for channel 0 and compare it to its predicted quantity. Tables 4.3-1 through 4.3-3
show all possible BIT values.
Table 4.3-1. BIT Values for 0-10V Range
Gain Setting
BIT Voltage
X 1
X 10
X 100
0.000 V
$0000
$0000
$0000
9.915 mV
$0004
$0028
$0196
492.8 mV
$00C9
$07E2
$0FFF
4.980 V
$07F8
$0FFF
$0FFF