Hot-Plug Functionality with CompactPCI Serial - Part 1

Version 1

    Author: Manfred Schmitz, CTO MEN Mikro Elektronik


    Simplicity, cost-effectiveness, high efficiency - these are the merits of CompactPCI Serial. A very useful feature for modular computers lies in hot-plugging, i.e. the possibility to change individual assemblies during operation without damaging them and without disturbing the function of the computer.


    Originally, hot-plugging was only useful in some applications and caused high overhead. This is completely different for CompactPCI Serial. As the CPCI-S.0 specification consequently works with serial interconnects, many technical problems are solved implicitly. Ethernet, USB, PCI Express and SATA already support hot-plugging. Naturally, some (simple) measures are required in order to be able to use this in a 19" system according to IEC 1101.


    Minimum requirements concern the power supply, for example:  In the instant of a load reversal due to plugging in or out a board it has to be ensured that the voltage remains in the allowed range. However, as the main voltage is 12V, the tolerance is very high here. In addition, the module may not cause too high a surge current – with modern voltage regulators, the so-called soft start is state-of-the-art, however.


    If a board is removed, it is necessary to know which slot is concerned. Physical addressing enables this using 4 pins on the backplane. To access this information an interface to the hot-plug controller is needed. When is a hot-plug controller required?

    If a peripheral board is based on Ethernet, for example, no controller is needed at all. This only works, however, because CompactPCI Serial is based on Ethernet standards for copper cables (100/1000/10Gbase-T). The situation is similar for assemblies based on USB - but here software interactions might be required ("You can now remove the device"...). In this case, it might help to support this action using a hot-plug controller: a switch announces the action and an LED signals the state. This switch is already specified for CompactPCI in the handle and does not have to be reinvented.


    Using another well-established standard – SGPIO or SFF-8485 for RAID controllers – this information is sent to the hot-plug controller. SGPIO is a very simple interface, which transfers binary signals in real time using 4 bused lines. It is already integrated in many chipsets, meaning the hot-plug controller is "for free". PCI Express per se also supports hot-plug. The software overhead for supporting the non-transparent PCIe bridges may not be underestimated, though.