Introduction
ARM Data structures
Version
Status
Controls
MCA Data Server
Overview
|
Neutron-3K Data Structure: arm_ctrl
Summary
The arm_ctrl data structure is used to send parameters to the ARM slow control system which sets the operating voltage, implements gain stabilization and controls advanced features such as alarming.
Data structure
For arm_ctrl these are the 'register' and 'field' data in use. All register data are 32-bit floats (float32).
arm_ctrl registers and fields — slow control and operation |
Register number and field name | Description |
AC0: gain_stabilization | Bit field governing gain stabilization, cf 'user' table below. |
AC1: peltier | Either fixed Peltier power (0 to 100%) or maximum power; To allow a host control loop (only in SiPM-based systems with a Peltier controller). |
AC2: temp_ctrl | 0 ⇒ Use ARM temperature sensor; 1 ⇒ Use external temperature sensor; [4:7]=> (0⇒ no Peltier cooling; 1⇒ constant cooling power; 2⇒ control loop) |
AC3: temp_target | Reserved; In SiPM-based systems with a Peltier cooler, this field has the target temperature. |
AC4: temp_period | Update period for temperature measurements |
AC5: temp_weight | Weight for geometric averaging: Purpose is noise reduction or matching thermal relaxation |
AC6: cal_temp | Temperature (in deg C) at which the detector was calibrated |
AC7: cal_ov | Operating voltage when the detector was calibrated |
AC8: cal_dg | Digital gain when the detector was calibrated (reserved) |
AC9: cal_target | Target value for response to LED; used with gain_stab=2 (in systems with an LED) |
AC10: cal_scint | Scintillator type, (reserved) |
AC11: cal_par_0 | A control parameter for gain stabilization with implementation-dependent meaning. |
AC12: fpga_reboot | Time between forced FPGA reboots, in seconds; Set to 0 to turn this off. |
AC13: run_mode | Run options; cf "user" table below. |
AC14: run_action | Self-clearing run actions; cf "user" table below. |
AC26: baud | Baud rate for serial communication (reserved) |
AC26: xctrl_0 | Logger control; xctrl_0[0:7] = dwell time in units of 50ms, max. dwell time = 12.75s; xctrl_0[8:15] = idx ⇒ arm_status[idx] will be logged in channel 1. xctrl_0[16:24] = idx ⇒ arm_status[idx] will be logged in channel 2. Special index: idx=128 ⇒ log the events sent to the data input of time slice processing unit. |
All arm_ctrl registers and fields concerning operation settings and calibration
arm_ctrl — user entries |
Register number and field name | Description |
gs_mode | AC0[0:3]; 0⇒OFF, 1⇒LUT, ie use lookup table for temperature correction, 2⇒LED, Use an LED and the LED lookup table, if LED is present; |
active_bank | AC13[0]; Select which bank will be active: 0⇒ foreground, 1⇒ background. |
sample_alarm | AC13[1]; Compute alarm probability for foreground vs background |
time_slice | AC13[2]; Activate time slice system and dynamic alarming. Performs alarm computations up to 20 times per second; for portal monitors and backpacks. |
clear_statistics | AC14[0]; Self-clearing action; clears the time and event counter of the targeted bank. Targeted bank is active_bank if two_bank=0. It is the inactive bank if two_bank=1. |
clear_alarm | AC14[1]; Self-clearing action; Clears a persisent alarm output on trigger_out; eg from a portal monitor alarm. |
clear_logger | AC14[2]; Self-clearing action; Reset the logger to begin recording data at index 0. |
clear_wall_clock | AC14[3]; Self-clearing action; Reset the wall clock. |
The arm_ctrl user dictionary is used to pack and unpack bit fields.
arm_ctrl registers and fields — sample vs background measurements |
Register number and field name | Description |
AC15: run_time_sample | Requested run time for a sample counting acquisition; 0-> forever |
AC16: run_time_bck | Requested run time for a background counting acquisition; 0-> forever |
AC17: alarm_thr | Alarm threshold for foreground vs background. If the computed probability that themeasured counts are caused by the measured background, raise an alarm. |
AC25: alarm_width | Output pulse width in seconds for alarms |
All arm_ctrl registers and fields concerning sample vs background neasurements.
arm_ctrl registers and fields — portal monitor operation |
Register number and field name | Description |
AC18: ts_period | Time slice length, in seconds |
AC19: ts_reset | 2 ⇒ Reset portal alarm system. |
AC20: ts_L | Summation length for alarm computation, in number of time slices. |
AC21: ts_H | History length for alarms; maximum length of alarm before resetting |
AC22: ts_wait | Minimum wait time until we will accept alarms, having sufficient background accuracy |
AC23: ts_B | Background averaging time |
AC24: ts_eps | Alarm threshold for time-slice system |
AC25: alarm_width | Output pulse width in seconds for alarms |
All arm_ctrl registers and fields concerning Portal Monitor Operation. ts_L, ts_H, ts_B, ts_wait are all integer numbers and in units time slices. Eg. a summation length of 4.0s means ts_L=40 when ts_period=0.1s.
|