Skip to content

RobertGawron/GammaSpectrometer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

117 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Silicon Photomultiplier Gamma Spectrometer

Formal Verification Unit Tests firmware-build

Principle of operation

This device allows for the quantitative measurement of the amount of different isotopes in an analyzed sample.

It consists of a scintillator (a material that converts gamma particles into photons) and a photomultiplier that multiplies those photons and converts them into electric current pulses. By measuring the amplitude of these pulses, it is possible to calculate the original energy of the gamma ray that produced the pulse.

Sampling data over time and plotting its histogram reveals which radioactive isotopes are present in the measured sample and their respective ratios.

Design Philosophy

Silicon Photomultiplier vs Traditional PMT

Traditional gamma spectrometers use vacuum photomultiplier tubes (PMT) that require high voltage (1-2kV), are fragile, bulky, and sensitive to magnetic fields.

This project uses a Silicon Photomultiplier (SiPM) - a modern solid-state alternative that solves the mentioned issues of PMTs.

Digital vs Analog Processing

Traditional spectrometers use analog CR-RC pulse shaping circuits and peak detectors.

Thanks to modern ADCs and FPGAs, it is possible to do all of this in software, making modifications much easier. The disadvantage is that the project is more costly due to higher requirements for the ADC and FPGA.

Hardware

Architecture Overview

The hardware consists of three PCBs:

Data Acquisition Unit

Handles low-level currents produced by the sensor (typically 1µA - 1mA pulses, 10mV - 1V after amplification):

  • NaI(Tl) Scintillator Crystal - Converts gamma rays into visible light pulses through scintillation
  • Silicon Photomultiplier: MICROFC-60035-SMT-TR1 SiPM - Converts light pulses from the scintillator crystal into electrical current pulses
  • Transimpedance AFE: LTC6268 - Amplifies current pulses from SiPM and converts to voltage
  • Differential ADC Driver: AD8139 - Shifts the signal to +1v5 common-mode voltage required by the ADC
  • Temperature Sensing (TBD) - Monitors SiPM temperature for bias compensation
  • Bias Supply: TPS7A4901 - Provides stable, filtered 29V bias voltage for the SiPM, automatically adjusted for SIPM's temperature changes
  • Overcurrent Protection (TBD) - Cuts bias voltage if SiPM is exposed to external light source, preventing sensor damage from excessive photocurrent

Note: Analog pulse shaping and peak detection are not used - raw signal is digitized directly and processed in FPGA.

Data Processing Unit

Handles high-speed data processing:

  • ADC: AD9226 - 12-bit, 65 MSPS sampling rate, produces 780 Mbps (97 MB/s) of raw data
  • FPGA: iCE40HX4K - Real-time digital pulse processing (trapezoidal filtering, peak detection, histogram generation)
  • SPI Flash (TBD) - Stores FPGA configuration bitstream
  • SPI Port - External header for FPGA programming
  • UART to USB Converter (TBD) - Communication interface to PC.

More info.

Tools: KiCad.

Software

The project is developed using a completely open-source FPGA toolchain. The RTL code is written in VHDL-2008, synthesized with Yosys + GHDL, and targets iCE40 FPGAs via nextpnr. All code is formally verified using SymbiYosys with PSL assertions and unit tested using the VUnit framework.

The entire toolchain is containerized in a Docker image.

More info.

Mechanical

The analog frontend requires a metal chassis for protection from electromagnetic interference and external light sources.

The scintillator crystal is mounted inside using a 3D-printed stand.

The crystal and SiPM are optically coupled using optical gel to minimize light pulse reflections at the interface

Tools: OpenSCAD and FreeCAD.

More info.

Simulation

LTspice

DevOps

More info.

About

Device for quantitative analyze energy spectra of gamma-ray sources. Allows to study what radioactive isotopes in what quantities are present in measured sample.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors