RPiRENA

Cosmic Ray Detector on a Raspberry Pi

This is a plugin board for the Raspberry Pi, implementing a four input multi channel analyser, with a simple analog shaper/ADC driver, 12-bit/3MSPS ADC, and digital filter and trigger. It does not need extra power, just 3.3V and 5V from the Raspberry Pi.

Just using the FPGA may enable a few other applications. One edge of the FPGA is powered with 2.5V IO, to permit LVDS signalling. Most pins of the FPGA are available on a grid of vias. All IOs of the P1 header are connected to the FPGA. The SPI is used for programming the FPGA and for communication with the logic after it is progammed.

I may eventually publish the design of the charge sensitve preamplifiers that we use with this kind of data acquisition system. It is suitable for detectors with 50pF to 200pF capacitance. We like to use of the shelf silicon photodiodes with 1cm² to 2cm² size, both for penetrating charged particles and for scintilation light detectors.

PCB

The printed wiring board has 6 layers, 6 mil design rules, 12 mil vias. The design is made with gEDA GAF/PCB with some patches for gnetlist for parameterised subschematics.

FPGA

The FPGA is an Altera Cyclone 3c25. The included logic design is written in Verilog, using Icarus Verilog for simulation and Altera Quartus for synthesis.

License

All design files are Copyright 2013 Stephan I. Böttcher
   boettcher @ physik . uni-kiel . de 

This project is free software and open hardware. You may use, copy, modify, distribute these files under the terms of the GNU General Public License Version 2 or later.

The images embedded in the schematic were shamelessly picked from the web.

Downloads

Spectra

Currently there are two photodiodes connected to channels 2 and 3. The scatterplot shows the pulse height of channel 2 vs channel 3, the histograms show cosmic muon spectra in those channels. The photodiode on channel 2 is 1x1cm², the one on channel 3 is 1x2cm².

History

This project was born out of a big messy compilation of code and designs that accumulated during the work for a suite of instruments for the ESA space mission Solar Orbiter, and several balloon flight missions onboard Bexus ballons. Some code and the origin of the name go back the work we did for Mars Science Laboratory mission.

The code, schematics, layouts, python, C, verilog, live in a single large subversion repository. This project reuses a lot components from other boards and programs. For the purpose of this publication I copied all needed files into a subdirectory and tar-ed them up for you. Some filenames may stil appear strange, but at least they are not hidden somewhere in a messy tree.

The very first board made for this kind of circut was using an Altera Cyclone 2c8, which provides 18 multipliers and 36 SRAM blocks. The design had 18 inputs, each channel got one multiplier and one RAM block for the digtal filter. The remaining RAM blocks went into FIFOs. The FPGA was connected to a PC via a parallel port in EPP mode. This circuit was used to test the sensors of the Radiation Assessment Detector onboard Curiosity. The digital filter from that design survived almost unchanged in the tarball.

One sensor that will fly to the sun with Solar Orbiter will work similarly, with 30 inputs, 1MBPS ADCs, and a radiation hard FPGA. That FPGA does not provide multipliers, so the filter algorithm is similar, but the coefficients are restricted to the range -3...3.