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