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:
| Board | Notes |
|---|---|
| R5560 | Rack-mount Open Hardware digitizer with differential analog inputs |
| R5560SE | Rack-mount Open Hardware digitizer with single-ended inputs and programmable analog front end |
| DT5560 | Desktop 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 recordingAll 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 TopThis 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
EnergyThe 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:
- install the correct MCA firmware on the digitizer;
- install SciDigitizer on the Windows PC;
- connect SciDigitizer to the board by USB or Ethernet;
- 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
DT5560Do 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:
- determine the IP address of the board or DAQ section;
- configure the PC on the same IP subnet;
- open a web browser;
- 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:
- open Firmware Settings or Change DAQ Firmware;
- select the DAQ section or sections to be programmed;
- select an existing firmware image already stored on the board, or upload the new firmware package;
- for R5560/R5560SE, firmware packages are normally distributed as
.niufiles; - upload the file;
- select the uploaded firmware;
- press Install;
- wait for the operation to finish and for the DAQ section to restart;
- 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:
- allow the automatic firmware reboot to finish;
- disconnect the USB cable;
- power-cycle or manually restart the module;
- reconnect USB;
- 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
.niuimage 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.
R5560 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:
Trending Products
DAQ141-6
High-performance, 6-channel waveform digitizer developed by Nuclear Instruments for demanding scientific and industrial data acquisition.
DAQ121
High-performance, fully integrated digitizer developed by Nuclear Instruments for advanced SiPM-based muon detection systems.
R5560SE
High-density, rack-mountable digitizer designed for large-scale physics experiments requiring fast digitization and flexible data processing
Trending Packages
Sci-SDK
Cross-platform SDK to control and acquire data from FPGA firmware generated with Sci-Compiler.
DT5215 Firmware Update
Builds the encrypted field upgrade package of the DT5215 FERS concentrator
Sci-Digitizer
Windows readout and analysis software for the Nuclear Instruments Open Hardware digitizers.
