MCA-2K Data Server Reference

MCA-1K

Introduction

USB driver

MCA-2K Device

Data structures

Overview

Module Constants

ARM Data structures

Version

Status

Controls

Calibration

Histogram

Two-channel Logger

Pulse capture

Lossless listmode

Perceptron-powered PSD

API

Overview

MCA-2K Data Structure: arm_lm_2b

Summary

The MCA-2000 supports a 2-bank, lossless listmode operation. There are two memory banks, each capable of storing 511 events. A client can let the MCA-2000 acquire data in the active bank while reading data from the inactive bank. Switching between banks is instantaneous, and there is no loss of data due to host computer latencies.

The listmode data include the event energy and the event arrival time. The arrival times are 20-bit values where the LSB can range from 1 to 32768 ADC sampling clock cycles; ie from 42ns to 1.4ms.

Note: Sending "clear_listmode" in a command will only reset the event counter in LM0[0:8] to zero. The event data in LM1 to LM511 will not be overwritten, to avoid any dead time. Client code needs to always check the content of LM0[0:8] to learn how many valid new data are in a freshly read listmode buffer.

Data structure

For arm_lm_2b there are 512 'register' and a number of 'fields' data in use. All register data are 32-bit unsigned int32 (uint32).

arm_lm_2b registers
Register number and field nameDescription
LM0[0:8]: num_events Number of events stored in the list mode buffer.
LM0[12:15]: lm_decIndicates the time scale LSB. 1 LSB = 2lm_dec ADC sampling clock cycles.
LM1 ... LM511:Data buffer. Its contents will be unpacked according to lm_dec and num_events.
The arm_lm_2b registers; LMn means list mode register number n, with n=0...511 . Bitfields are indicated as [b_low:b_high] indicating bit numbers b_low to b_high, inclusive.

The list mode data buffer (LM) consists of a 32-bit header word (in LM0) followed by 511 32-bit records. An event is recorded as a 32-bit item, consisting of a 12-bit energy and a 20-bit time stamp.

List mode fields returned by the MCA Data Server
Field nameDescription
num_events Number of events stored in the list mode buffer.
timesList of 20-bit event arrival times in seconds; the resolution is 2lm_dec ADC sampling clock cycles; cf arm_ctrl.lm_dec
energies List of 12-bit energies
The fpga_lm_2b data fields