BSI SP350 Controller Board
Baltic Scientific Instruments Si(Li) Detector with Peltier Cooling type SER-25
The Baltic Scientific Instruments Si(Li) detector with Peltier cooling type SER-25 uses the model SP350 circuit board for control of the device and to receive external commands over a serial interface. The instrument is configured in spec as an MCA-type device using a serial interface.
In addition to the standard MCA functionality, the SP350 has eight count-rate monitors that return the counts per second in defined channel ranges.
OPERATION
The following mca_par() commands are available. If more than one MCA is configured, use mca_sel() or mca_spar(). See the mca help file for details on using multiple MCA devices. Note, all mca_par() arguments below are case insensitive, that is, upper case, lower case or mixed case letters will work.
- mca_par("clear")
- Sends commands to the SP350 to clear the data and counters.
- mca_par("run")
- If "auto_clear" mode is set, sends commands to clear the data and counters. Turns live-time mode on or off, if needed, to match the current preset mode. Sets leveling mode, shaping time, and threshold level, if needed, to match current settings If a preset value is nonzero, programs the SP350 with the preset time. Finally, sends the command to start acquisition.
- mca_par("halt")
- Sends the command to halt acquisition.
- mca_par("auto_clear" [, 0|1])
- With no arguments returns the current value of auto-clear mode. Otherwise turns auto-clear mode off or on. When auto-clear mode is on, the data and counters are cleared automatically each time an acquisition is started.
- mca_par("auto_run" [, 0|1])
- With no arguments returns the current value of auto-run mode. Otherwise turns auto-run mode off or on. When auto-run mode is on, the SP350 is started automatically with the standard spec count commands.
- mca_par("soft_preset" [, 0|1])
- With no arguments, returns the current value of soft-preset mode. Otherwise turns soft-preset mode off or on. When soft-preset mode is on in conjunction with auto-run mode, the SP350 will be programmed for the same preset accumulation time as the master timer when counting to time. Also, spec will poll the SP350 for the end of timed counting in addition to polling the master timer.
- mca_par("npts" [, value])
- With no arguments, returns the current number of points configured for the SP350 data. Otherwise sets the number of points to value. Allowed values are 1024, 2048, 4096, 8192 and 16384.
- mca_par("group_size" [, value])
- Has the same meaning as "npts" above.
- mca_par("preset" [, value])
- With no arguments, returns the current preset acquisition time in seconds. Otherwise sets the preset acquisition time to value. The SP350 is not programmed with the value until acquisition is started.
- mca_par("preset_real" [, value])
- With no arguments, returns the current preset acquisition time in seconds. Otherwise sets the preset acquisition time to value and sets the acquisition mode to real time. The SP350 is not programmed with the mode or value until acquisition is started.
- mca_par("preset_live" [, value])
- With no arguments, returns the current preset acquisition time in seconds. Otherwise sets the preset acquisition time to value and sets the acquisition mode to live time. The SP350 is not programmed with the mode or value until acquisition is started.
- mca_par("real")
- Sets the acquisition mode to real time. The SP350 is not programmed with the mode until acquisition is started.
- mca_par("live")
- Sets the acquisition mode to live time. The SP350 is not programmed with the mode until acquisition is started.
- mca_par("elapsed_live")
- Returns the elapsed live time in seconds of the current or most recent acquisition.
- mca_par("elapsed_real")
- Returns the elapsed real time in seconds of the current or most recent acquisition.
- mca_par("leveling" [, 0|1])
- With no arguments, returns 1 or 0 indicating whether leveling mode is on or off. Otherwise turns leveling mode off or on if the argument is zero or nonzero, respectively. Leveling mode rejects double and triple peaks from the data. The manufacturer recommends having leveling mode on.
- mca_par("shaping_time" [, 3|6])
- With no arguments, returns the current shaping-time value, which can be either 3 or 6 microseconds. Otherwise sets the shaping time to the argument, which must be 3 or 6. A 3 microsecond shaping time is good for count rates up to 150 kcps. A 6 microsecond shaping time offers better energy resolution but is only good for count rates less than 20 kcps.
- mca_par("threshold" [, value])
- With no arguments, returns the current threshold level. Otherwise sets the threshold to value, which must be from 0 to 4096. The resolution of the value is to 0.0625 (1/16). The threshold sets the level of background noise cut off.
- mca_par("ADC_lld" [, value])
- With no arguments, returns the current low-level discriminator value. Otherwise sets the low-level discriminator to value, which must be from 0 to 4096. The resolution of the value is to 0.0625 (1/16). The low-level discriminator sets the low energy border for spectrum acquisition.
- mca_par("input_cps")
- Returns the count rate at the input.
- mca_par("ADC_cps")
- Returns the count rate after the ADC processing.
- mca_par("input_counts")
- Returns the total accumulated input counts.
- mca_par("ADC_counts")
- Returns the total accumulated counts after the ADC processing.
- mca_par("CRM")
Displays the current count-rate meter configuration and count rates in the following format:
# CPS Channels 0 14234 0 to 64000 1 0 13760 to 14560 2 1288 3840 to 4384 3 0 11200 to 13440 4 656 5280 to 6176 5 271 6208 to 7040 6 1757 1280 to 1696 7 14234 0 to 65280
- mca_par("CRM_array")
- Returns an eight-element data array of unsigned long values containing the current count rates for each of the count-rate meters.
- mca_par("CRM#")
- Returns the current count rate from meter #, where # is from 0 to 7.
- mca_par("CRM#", "lower"|"upper" [, value])
- With one argument, returns the "lower" or "upper" cutoff for count rate meter #, where # is from 0 to 7. If value is specified, sets the lower or upper cutoff to value.
- mca_par("CRM#", low, high)
- When two numerical arguments are specified, sets the lower and upper cutoff to low and high for count rate meter #, where # is from 0 to 7.
- mca_par("UHVP")
- Returns the vacuum pump voltage in Volts.
- mca_par("IHVP")
- Returns the vacuum pump current in milliamperes.
- mca_par("UHVD")
- Returns the detector voltage in Volts.
- mca_par("Uc")
- Returns the Peltier cooler voltage in Volts.
- mca_par("Ic")
- Returns the Peltier cooler current in milliamperes.
- mca_par("UBAT")
- Returns the battery voltage in Volts.
- mca_par("TEMP_BP")
- Returns the power supply temperature in degrees C.
- mca_par("param", 0)
Displays parameter group 0 values in the following format:
Error code = 0x0 dsPIC status bits = 0x0 Mode0 bits = 0xda ADC setting = 10 bits Shaping time = tau2 (6 us) ("shaping_time") Leveling mode = ON ("leveling") Acquisition = OFF Acquisition mode = Real time Preset mode = ON Mode1 bits = 0x18 Acquisition = Not ended Memory = Clear Overflow detected = NO Count rate mode = ON CRM recovery mode = ON Spectrometer state = Switched off Test mode = OFF Input count rate = 196956 cps ("input_cps") ADC output = 0 cps ("ADC_cps") Elapsed real time = 0 sec ("elapsed_real") Elapsed live time = 0 sec ("elapsed_live")
- mca_par("param", 1)
Displays parameter group 1 values in the following format:
Total input count = 0 ("input_counts") Total ADC Count = 0 ("ADC_counts") CRM[0] = 0 CRM[1] = 0 CRM[2] = 0 CRM[3] = 0 CRM[4] = 0 CRM[5] = 0 CRM[6] = 0 CRM[7] = 0
- mca_par("param", 2)
Displays parameter group 2 values in the following format:
WCStat = 0x0 Preset time = 50 UHVP = 3921 V IHVP = 7.6 mA UHVD = 407 V Uc = 11.64 V Ic = 2212 mA UBAT = 12.66 V TEMP_BP = 35 C Datain = 0x430a Dataout = 0xffff
- mca_par("param", 3)
Displays parameter group 3 values in the following format:
CRM[0] = 0 cps (chan 0 to 64000) CRM[1] = 0 cps (chan 13760 to 14560) CRM[2] = 0 cps (chan 3840 to 4384) CRM[3] = 0 cps (chan 11200 to 13440) CRM[4] = 0 cps (chan 5280 to 6176) CRM[5] = 0 cps (chan 5500 to 6000) CRM[6] = 0 cps (chan 1280 to 1696) CRM[7] = 0 cps (chan 0 to 65280)
- mca_par("param", 4)
Displays parameter group 4 values in the following format:
Ver_dsPIC = 0x0 Det_Nr = 0x0 SpSer_Nr = 0x0 Thresh_Level = 0.0 ("threshold") HLD_Level = 4000.0 LLD1_Level = 0.0 ("ADC_lld") LLD2_Level = 40.0 PZ_Level = 0 Gain_Level = 0
- mca_par("param", -1)
- Displays values from all of the parameter groups.
- mca_par("send", cmd)
Allows sending arbitrary commands to the SP350 The format of cmd is a 24-bit hexadecimal number containing the three-byte SP350 command. For example, to send the command to switch on leveling mode, which is <50><06><00>, use:
mca_par("send", 0x500600)
This command should not normally be needed, but allows sending SP350 commands that may be needed but are not implemented in the SP350 spec support.
- mca_par("reset")
- Restarts the SP350 by rebooting its CPU.