Skip to content

EECScat/MimosaBMRDO

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mimosa Beam Monitor Readout

We use the Mimosa26 Monolithic Active Pixel Sensor (MAPS) with fast binary output to build a beam monitor that allows ionizing particles to land on and pass through the sensor. The location and time of the hits are then reconstructed. Beam profile is measured by integrating sufficient amount of hits. This device could provide crucial information in radiation effect tests at accelerator facilities.

This repo contains readout board design, firmware (HDL for FPGA), and communication/data acquisition software.

Repo structure:

  • Hardware/ - PCB and mechanical design
  • Firmware/ - HDL for FPGA
  • Software/ - DAQ software

Note that the Firmware uses a VHDL hard coded TCP server IP Core COM-5402SOFT. Due to licensing issues it is not included. It can be obtained at http://comblock.com/com5402soft.html.

Usage

Number of frames to integrate for online display is set in datap_t.py

Data format

Each frame runs exactly 29696 clock cycles. Clock runs at 160MHz, making every frame run for 185.6us. Use hexdump -e '4/1 "%02x" "\n"' /ssdone/MimosaBMData/data.txt to view:

aaaaaaaa <- header
cfc00001 <- (31,30) start/stop flag; (21,20) latchup status (over current), (vmim,vchip); (19-0) frame counter, +1 per frame.
21885811 <- (31-22) temperature; (21-12) temperature; (11-0) ADC for V/I monitoring (11,10) marks channel number.

Notes

discard:

Hardware/FT_board_out Hardware/FT_board_out/FT_board_out.pdf Hardware/FT_board_out/FT_board_out.sch Hardware/FT_board_out/FT_board_out.pro Hardware/FT_board_out/.DS_Store Hardware/FT_board_out/FT_board_out.kicad_pcb Hardware/FT_board_out/FT_board_out-cache.lib

Board in Vacuum Chamber

Hardware/vc_board

discard

Software/eth_wr/ Software/util/

communicate with a port open by top.py for writing JTAG

Software/util/set_threshold.py Software/util/hdf5rawWaveformIo.c Software/util/RS232Test.tcl Software/util/client.py

called by top.py

Software/util/i2c_control.py

discard

Software/util/ethernet_t.py

Software/util/command.py

display process called by top.py

Software/util/disper_t.py

generate mask

Software/util/gen_musktable.py

take pattern data

Software/util/pattern_checking.py

for data integrity pattern check

Software/util/error_check.py

process for storing data to disk, called by top.py

Software/util/storage_t.py

main data transmission and display

Software/util/top.py

discard

Software/util/eth_client.py

discard

Software/util/datareadout.py

cmd encoder

Software/util/command.c

handls data processing (summing)

Software/util/datap_t.py

discard

Software/util/mainpy.py

discard

Software/util/wdtest.txt

Software/util/Makefile

data receiving process

Software/util/daq_t.py

discard, was using python for frame summing

Software/util/dataprocess_t.py

discard, was for test

Software/util/eth_jtag_write.py Software/util/tcpio.c Software/util/udptest.c

discard

Software/util/wd_fifo_test.py Software/util/hdf5rawWaveformIo.h

iodelay (run before launching top.py) need to add setting LU board output voltage.

Software/util/iodelayscan.py

python setup.py build

Software/util/setup.py Software/util/common.h

test i2c io

Software/util/i2c_test.py Software/util/command.h Software/util/build Software/util/build/lib.linux-x86_64-2.7 Software/util/build/lib.linux-x86_64-2.7/command.so Software/util/build/temp.linux-x86_64-2.7 Software/util/build/temp.linux-x86_64-2.7/command.o Software/util/build/lib.freebsd-11.0-STABLE-amd64-2.7 Software/util/build/lib.freebsd-11.0-STABLE-amd64-2.7/command.so Software/util/build/temp.freebsd-11.0-STABLE-amd64-2.7 Software/util/build/temp.freebsd-11.0-STABLE-amd64-2.7/command.o

About

Mimosa Beam Monitor Readout

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • VHDL 75.6%
  • Python 11.0%
  • C 7.5%
  • Tcl 5.2%
  • Makefile 0.6%
  • Shell 0.1%