Error processing – VXI TECHNOLOGY SVM2608 User Manual
Page 47

www.vxitech.com
SVM2608 Programming
47
0x1028
Set the V Negative 0.1177 calibration gain value, calibration value.
All the calibration commands use the channel’s base address at offset zero (0x000000 for
Channel 0, 0x200000 for Channel 1, 0x400000 for Channel 2 and 0x600000 for Channel 3) for
communication with the processor. This is where the user places the data it wants the processor to
write when it issues a “Set …” command. This is also where the processor places the data for the
user to read when the user issues a “Read …” command.
When the user issues a “Set …” command, the value is read by the processor from the channel’s
base address at offset zero and it is stored in its local volatile calibration memory. Each calibration
value has its own location in the volatile calibration memory.
The 0x1001 command takes the values from the volatile calibration memory and stores them in
non-volatile memory. If the values in the non-volatile calibration memory have been changed by
the user, issuing this command will permanently erase the values set by the factory and replace
them with the new values set by the user.
The 0x1000 command reloads the values stored in the non-volatile memory into the volatile
calibration memory. This operation is executed by the microprocessor at power-up automatically.
This is useful for the user in the event that the calibration memory is accidentally changed and the
user wants to recall the factory preset values from the non-volatile memory.
Error Processing
Each channel has its own ERROR queue. Sending the 0x1024 command to a channel’s command
register will return an error code to the channel’s base address at offset zero. If several errors occur
at the same time or if the user does not read the error queue to clear the error codes, the error codes
will accumulate in a queue. The error queue is five positions deep. Only the first error in the queue
is returned when a “Read the error queue command” is sent. When there are no more errors in the
queue, the error code returned is 0x0000. Here is the list of error codes returned by the processor:
NO_ERROR
0x0000
ERROR_UNKNOWN_COMMAND
0x0001
ERROR_PRE_GT_SIZE
0x0002
ERROR_RESISTANCE_OVER_RANGE
0x0101
ERROR_UNSTABLE_RESISTANCE
0x0102
ERROR_UNSTABLE_VOLTAGE
0x0103
ERROR_INVALID_RES_CH
0x0104
ERROR_INVALID_CH
0x0105
ERROR_MULTIPLE_TEST_SOURCES
0x0201
ERROR_NONVOL_READ
0x0202
ERROR_NONVOL_WRITE
0x0203
ERROR_NONVOL_DEFAULTED
0x0204
ERROR_FLASH_BURN
0x0205
ERROR_HS_NONVOL_READ
0x0206
ERROR_HS_NONVOL_WRITE
0x0207
ERROR_HS_NONVOL_DEFALTED
0x0208
ERROR_INTERNAL_SOFTWARE
0x0911
ERROR_INTERNAL_RANGE
0x0912
ERROR_QUEUE_OVFL
0xFFFF