MCA Firmware for Nuclear Instruments Open Hardware Digitizers

FPGA firmware for real-time pulse acquisition, pulse-height analysis and MCA spectroscopy on Nuclear Instruments Open Hardware digitizers.

The firmware is intended for spectroscopy and detector readout applications where the digitizer must acquire analog pulses, detect events, estimate their energy in real time and make the resulting data available to the host software.

It is designed to work with SciDigitizer, the Windows readout and analysis application for the Open Hardware family.

Supported hardware

This firmware family targets:

BoardNotes
R5560Rack-mount Open Hardware digitizer with differential analog inputs
R5560SERack-mount Open Hardware digitizer with single-ended inputs and programmable analog front end
DT5560Desktop Open Hardware digitizer; use the firmware image specifically built for this target

The same MCA processing concept is used across the supported boards, while the number of channels, analog input stage, communication interfaces and firmware image are board-dependent.

Do not load a firmware image built for a different board target.


Overview

The MCA firmware turns the digitizer into a complete real-time pulse-height acquisition system.

For each enabled channel, the FPGA continuously processes the ADC samples and performs the operations required to identify a pulse and calculate its energy. The resulting events can then be read by SciDigitizer and displayed as live energy spectra or stored in list mode.

A typical signal-processing chain is:

ADC samples
    |
    v
Polarity / digital offset correction
    |
    v
Trigger processing
    |
    +-----------------------------> Oscilloscope trigger
    |
    v
Baseline estimation
    |
    v
Trapezoidal energy filter
    |
    v
Energy sampling / gain
    |
    v
Event generation
(channel + timestamp + energy)
    |
    v
Host readout
    |
    +--> MCA spectrum
    +--> ICR / OCR / counters
    +--> Energy list mode
    +--> Data recording

All time-critical processing is performed in the FPGA, allowing all channels to operate independently and simultaneously.


Main features

The firmware provides the processing functions normally required for nuclear spectroscopy and detector readout:

  • Continuous waveform digitization
  • Independent processing for each input channel
  • Positive or negative pulse polarity
  • Leading-edge and/or MCA-derived triggering, depending on configuration
  • Derivative trigger processing for reliable pulse detection
  • Digital baseline estimation
  • Trapezoidal filtering for pulse-height / energy measurement
  • Programmable peaking time and flat top
  • Programmable decay-time compensation
  • Digital energy gain
  • Event timestamping
  • Channel identification
  • Energy list-mode readout
  • Oscilloscope waveform acquisition
  • Per-channel event counters and rate measurements
  • External trigger, synchronization and veto support where provided by the target board
  • Ethernet and/or USB readout according to the hardware platform
  • Runtime configuration through memory-mapped FPGA registers

The firmware performs the real-time signal processing. Histogram visualization, fitting, calibration, data logging and user interaction are handled by SciDigitizer.


MCA processing

Trigger

Each channel includes a trigger path used to detect incoming pulses.

For spectroscopy operation, the trigger should be set high enough to reject baseline noise while remaining below the smallest pulse of interest.

The firmware exposes parameters such as:

  • pulse polarity
  • trigger threshold
  • trigger peaking time
  • trigger flat top
  • trigger inhibit / decay time

The exact register names and available ranges depend on the firmware release and board target.

SciDigitizer loads the register map associated with the installed firmware, so firmware revisions that only modify the exposed register map can be handled without changing the main application.

Baseline estimation

A stable baseline estimate is important for accurate energy measurement.

The baseline processor averages the input signal over a configurable window and can temporarily inhibit the baseline update after an event. This prevents the tail of a pulse from being included in the baseline estimate.

Typical parameters are:

  • Baseline Length — number of samples used for baseline averaging
  • Baseline Inhibit Time — time during which baseline updates are disabled after a trigger

Longer averaging reduces baseline noise but responds more slowly to baseline movement.

Trapezoidal energy filter

The energy measurement is based on a digital trapezoidal filter.

For signals produced by a charge-sensitive preamplifier, the filter converts the exponential pulse into a trapezoid. The height of the trapezoid is proportional to the input pulse amplitude and therefore to the energy deposited in the detector.

The most important parameters are:

  • Peaking Time — rise time of the trapezoid
  • Flat Top — duration of the flat region
  • Signal Decay Constant — compensation for the exponential decay of the input pulse
  • Energy Sample — position at which the trapezoid is sampled
  • Gain — digital multiplication applied to the measured energy

A longer peaking time generally improves noise filtering and energy resolution, but also increases the probability of pile-up. The optimum value therefore depends on detector type, preamplifier, noise level and event rate.

The energy sample should be placed inside the stable part of the flat top. As a starting point, the reference firmware uses a sampling position close to:

Energy Sample = Peaking Time + 0.8 x Flat Top

This is a tuning guideline rather than a universal detector setting.

Event generation

When a valid event is detected, the firmware produces an event containing at least the information required by the MCA readout:

Channel
Timestamp
Energy

The host application can use this event stream to build spectra, calculate rates and save energy list-mode data.


Oscilloscope mode

The same firmware can expose waveform buffers to SciDigitizer.

This is useful during detector setup because the user can inspect the raw ADC waveform and verify:

  • signal polarity
  • baseline position
  • noise level
  • pulse amplitude
  • pulse decay
  • trigger position
  • pile-up
  • saturation
  • analog front-end configuration

Depending on the firmware configuration, waveform acquisition can operate in free-running mode, from a direct analog trigger or from the MCA trigger.

Before optimizing the energy filter, it is strongly recommended to inspect real detector pulses in oscilloscope mode.


Rates and counters

The firmware maintains event information that SciDigitizer uses to calculate acquisition statistics.

Typical quantities include:

  • ICR — Input Count Rate: events detected by the trigger path
  • OCR — Output Count Rate: events accepted and transferred by the acquisition chain
  • per-channel counters
  • acquisition time
  • dead-time-related statistics

SciDigitizer can display the rate measured over the latest interval or averaged over the acquisition run.

The distinction between ICR and OCR is particularly useful at high event rates, where pile-up, processing dead time or readout limitations can reduce the number of accepted events.


Installation

Firmware installation and host-software installation are separate operations:

  1. install the correct MCA firmware on the digitizer;
  2. install SciDigitizer on the Windows PC;
  3. connect SciDigitizer to the board by USB or Ethernet;
  4. configure the acquisition parameters.

1. Select the correct firmware image

Firmware images are hardware-specific.

Before programming the board, verify that the firmware package explicitly matches the target:

R5560
R5560SE
DT5560

Do not install an R5560/R5560SE image on DT5560 or vice versa.

For R5560 and R5560SE systems, the instrument is divided into multiple DAQ sections. The same MCA firmware is normally loaded into every DAQ section that will participate in the acquisition.


2. R5560 / R5560SE firmware installation

R5560 and R5560SE provide an embedded web interface that can be reached through Ethernet or through the USB network interface.

Network preparation

Connect the board to the PC using Ethernet or USB.

For Ethernet operation:

  1. determine the IP address of the board or DAQ section;
  2. configure the PC on the same IP subnet;
  3. open a web browser;
  4. enter the IP address of the board.

The board display can be used to inspect or configure the Ethernet addresses of the baseboard and DAQ sections.

Uploading the firmware

From the embedded web interface:

  1. open Firmware Settings or Change DAQ Firmware;
  2. select the DAQ section or sections to be programmed;
  3. select an existing firmware image already stored on the board, or upload the new firmware package;
  4. for R5560/R5560SE, firmware packages are normally distributed as .niu files;
  5. upload the file;
  6. select the uploaded firmware;
  7. press Install;
  8. wait for the operation to finish and for the DAQ section to restart;
  9. verify on the status page that the expected firmware name and release are active.

The firmware is copied to persistent memory, so it remains available after power cycling.

On R5560/R5560SE, all required DAQ sections must run a compatible MCA firmware release. If only one section is being tested, it is possible to program and connect only that section.

USB reconnect note

When changing R5560/R5560SE firmware while connected through USB, Windows may temporarily lose the USB network device after the board restarts.

If the board is no longer visible:

  1. allow the automatic firmware reboot to finish;
  2. disconnect the USB cable;
  3. power-cycle or manually restart the module;
  4. reconnect USB;
  5. check Windows Device Manager.

The USB network interface should appear as a Remote NDIS Compatible Device.


3. DT5560 firmware installation

DT5560 uses a board-specific firmware image and the firmware loading procedure supplied for the DT5560 platform.

Use the firmware upgrader provided with the Open Hardware / SciDigitizer software package or the programming procedure supplied with the board.

The important rules are:

  • select DT5560 as the hardware target;
  • use only the firmware file included in the DT5560 build of this project;
  • do not use the R5560/R5560SE .niu image unless the release documentation explicitly states that it is compatible;
  • wait for the board to complete the programming and restart sequence before reconnecting from SciDigitizer.

The exact USB driver and firmware-upgrader dialog can depend on the DT5560 hardware revision and software package.

R5560SE MCA Firmware icon

R5560SE MCA Firmware

FPGA-based MCA firmware for Nuclear Instruments Open Hardware digitizers. It handles signal acquisition and processing, energy measurement, triggering, per-channel rates and counters, generating real-time MCA spectra and waveform data for the control software.

License: