Controller software is written in C language. It provides reading of 16 sensors with programmed averaging by 1-255 samples, handles communication with the host computer. Communication with the host computer is interrupt-driven, so any serial data exchange does not affect seriously sensors reading procedure.
Software responds to alarm interrupt which comes from the superconductive coils quenching detector. This signal cause software to read both coils differential signals with averaging by 8 samples and break corresponding superconductive switch and 3-phase power in case of alarm. Audible alarm is also generated. Software thresholds for these alarms are programmed by host computer as well as hardware threshold for comparators generated by DAC. Controller also watches heat exchanger temperature and generates interrupted audible signal if it goes above specified threshold.
Quenching process in superconductive coils is usually fast. Coils differential signal rises in tens of milliseconds. It is not possible to transfer such a dataflow to the host computer in real time. To investigate this process a special mode in the controller was implemented. In this mode, controller starts accumulating ADC history for first 5 channels in its static memory (see SCPS test with coils below). This enables to obtain fast shot of the first 5 ADC channels with total time of 550 ms and samples period of about 0.7 ms.