Memory map

Internal controller variables are read as a byte arrays independently of their type. Controller supports three base types:

  • byte (equivalent to char) – 8 bit integer
  • word – 16 bit integer
  • float – 4-bytes single precision floating point value according to IEEE 754 standard [2].

Byte ordering inside controller is little endian, high byte has low address. This requires all word and float variables to be swapped in the IBM compatible PC, that use big endian byte order.

SCPS variables are shown in SCPS preprint. To increase data processing speed, controller doesn’t work with floating point variables. All parameters are integer. ADC values could be converted to voltages by the formula: V[i]=ADCval[i]/0xFFFF*20-10. DAC values are adjusted for full performance by amplifiers of the current shunt signal and the differential coils signals. In that way full scale DAC value (0xFFFF) for current regulation corresponds to the maximum current of the device, 100 A.