The SPI rack has 12 module slots which can house up to 12 modules. In most applications one slot is reserved for a controller module, either the C1 module or the combination of a C1b module with a C2 isolation box. These manage the communication between the host computer and the remaining 11 modules in the rack. This allows remote control of SPI modules. With few other applications all modules are operated directly from the front panel and a controller module may not be necessary. Even in such cases it may still be useful to equip the rack with a controller module, particularly the C2/C1b combination, to monitor the rack power supplies and temperature.
Modules in the SPI rack can be addressed by their unique address. The particulars are dependent on the version of the modules and the rack hardware:
The picture above shows the jumper on an exposed circuit before it is fitted into the module frame. In most cases a drill hole is made in the frame to allow changing the jumper settings even on an encapsulated module.
Any module plugged into a first-generation rack will work fine based on its on-board jumper address. That is because second-generation modules in an older rack can identify the older rack and default back to their on-board jumper address. Therefore it is advised to set the address jumper even for the newer modules.
In these new racks every slot has a unique address implemented in the hardware, a number from 1 to 12 which corresponds to its location in the rack box. The back plane shows the slot numbers, easily visible from the front side.
SPI modules built for the new racks take their address from the slot location, ensuring no two modules have the same address. An old module plugged into a new rack will still use its on-board jumper address because first-generation modules in all cases take their address from their own on-board jumper. Therefore watch out for a potential case where old and new modules might be mixed in the same rack, where an address collision might still be possible.
These address settings do not apply to the controller modules, which are always set by design to address 0. They can be placed at any position in the rack, and work equally with first-generation and second-generation racks.
There are also more enhanced versions of the controller modules, which allow to read a rack identifier number back to the host PC. The identifier number is settable by the user directly on the controller module via the same 4-pin jumper shown above. This jumper provides an "address" space of 0-15 for the rack address. Note that on the controller module this setting represents rack "address" and not a module address, since controller modules themselves are always given address 0.
These enhanced controller modules are intended for set-ups which use multiple racks, helping the user identify the correct rack to control. Set-ups with multiple racks may be needed in case of exceeding the available 12 slots in a single rack or exceeding the battery capacity of a single rack (e,g, when using power-hungry modules such as S5k or D5b/D5c). It may also happen when separating DC/RF racks or isolated/non-isolated racks as part of the experimental set-up.
The enhanced controllers are available in both non-isolated and isolated versions: C1a replacing the non-isolating C1, and C1c replacing the isolating C1b.