Introduction
USB driver
bpi_device
Overview
Module Constants
FPGA Data structures
Controls
Statistics
Results
Histogram
List Mode
Oscilloscope Trace
Summation Weights
Time Slices
Two-bank List Mode
ARM Data structures
Version
Status
Controls
Calibration
API
Overview
|
MCA-3K Data Structure: fpga_statistics
Summary
The fpga_statistics data structure contains the data acquired when measuring elapsed time, triggers and histogrammed events.
Data structure
For fpga_statistics there are 16 'register' and a larger number of named 'field' data in use. All register data are 32-bit unsigned int32 (uint32_t).
In default operation, only bank_0 data are populated. Bank_1 data will be filled in only when fpga_action['segment_enable']=1 and fpga_action['segment']=1.
fpga_statistics registers and fields |
Register number and field name | Description |
SR0: bank_0['ct'] | Real time in clock counts (1LSB = 65536 ADC sampling clock cycles) |
SR1: bank_0['ev'] | Number of accepted and histogrammed events |
SR2: bank_0['ts'] | Number of recognized triggers |
SR3: bank_0['dt'] | Dead time in clock counts (1LSB = 65536 ADC sampling clock cycles) |
SR4: bank_1['ct'] | Real time in clock counts (1LSB = 65536 ADC sampling clock cycles) |
SR5: bank_1['ev'] | Number of accepted and histogrammed events |
SR6: bank_1['ts'] | Number of recognized triggers |
SR7: bank_1['dt'] | Dead time in clock counts (1LSB = 65536 ADC sampling clock cycles) |
SR8: bank_0['xev0'] | Number of external counts by x_counter 0 |
SR9: bank_0['xev1'] | Number of external counts by x_counter 1 |
SR10: bank_0['xev2'] | Number of external counts by x_counter 2 |
SR11: bank_0['xev3'] | Number of external counts by x_counter 3 |
SR12: bank_1['xev0'] | Number of external counts by x_counter 0 |
SR13: bank_1['xev1'] | Number of external counts by x_counter 1 |
SR14: bank_1['xev2'] | Number of external counts by x_counter 2 |
SR15: bank_1['xev3'] | Number of external counts by x_counter 3 |
The 32-bit fpga_statistics registers; SRn means statistics register number n, with n=0...15 .
The user dictionary is used to convert fpga_statistics register contents into physical quantities, mostly count rates (cps = counts per second) and times(seconds).
The user dictionary has the keys 'bank_0' and 'bank_1'. For each key there exists a dictionary with its own keys shown in the table below.
fpga_statistics user dictionary; keys for ['bank_0'] and ['bank_1'] |
Key | Description |
run_time | Run time (ie data acquisition time) in seconds. |
dead_time | Dead time (ie data acquisition time) in seconds. |
event_rate | Count rate of adding data to the histogram. |
trigger_rate | Count rate of recognized triggers. |
pulse_rate | Estimate of the real incoming pulse rate, taking into account the measured dead time.pulse_rate = triggers/(run_time-dead_time) |
xev0_rate | Count rate for external event counter 0 |
xev1_rate | Count rate for external event counter 1 |
xev2_rate | Count rate for external event counter 2 |
xev3_rate | Count rate for external event counter 3 |
The fpga_statistics user dictionary; Each top-level dictionary 'bank_0' and 'bank_1' has the same keys as shown.
|