Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

www.surface-concept.com/downloads/software/2022/scTDC1_ubuntu2004_v1.3014.11.tar.gz (more shared libraries)

Martin Ellguth of Surface Concept recompiled some libraries for us:


Hi Matt,

I prepared a Docker image based on a Ubuntu 20.04 LTS image, compiled gcc-12.1.0 from sources and used it to build the following archives:

www.surface-concept.com/downloads/software/2022/tmp/scTDC1_ubuntu2004_gcc12_v1.3017.5.tar.gz
www.surface-concept.com/downloads/software/2022/tmp/scTDC1_devclass45_ubuntu2004_gcc12_v0.3.82.tar.gz

The second link is the "device class" library needed for TDCs with an Ethernet port.

Mit freundlichen Grüßen / Best Regards

Dr. Martin Ellguth


Analysis Discussion

Meeting on July 21 2022 with Quynh, Yves, Matt, Jake, Jonathan Sobota, Markus Scholz, Georgi, cpo

Controls interface? who?  Markus Scholz in Germany.  Need SLAC controls contact.  iseg controller for HV is already at slac (jonathan's office).  hexapod also needs to be integrated.  smaract controller for linear motors for microscope (jonathan).  alex wallace group is working on it.

momentoscope python library dependencies: dask, xarray, pandas.  available in conda?  maybe they can do this (markus scholz)

pump probe time from timetool? laser-on and laser-off?  timetool high-rate line camera?  only need pump-probe time for analysis not real-time monitoring. step scan of time delay (programmed electronic delay stage).  use new line-camera timetool.

multiple projections of xyt:  xy, xt, yt, t-histogram, pump probe time, ROI, time-windowed

yves' "clean table" is like our h5 file: maybe we can't support variable number of electrons per event, but yves say max of 4 should work

yves works with chris and markus on ami

matt works with yves on daq integration

quynh works with silke/cpo on analysis

Hardware

Front side elex.  The simulator is shown on top.  The simulator is powered via a USB connector.  It receives a start pulse and then simulates the TDC output and transmits it via its rear HDMI connector.

Image Added

Back side elex.  The TDC output from the simulator attaches to the HDMI TDC input on the front of the main chassis.  The fiber timing signal from an XPM attaches to the PulseID input of the main chassis.  Two ethernet connectors provide control and data.

Image Added

Inside view.

Image Added

Discussion On May 15, 2024

With Markus Scholz, Yves Acreman, Matt, Chris, Jake Koralek, Jon Sabota, 

Schedule:

Image Added

Image Added

KCU1500 receives a timing fiber for transitions and L1Accept timestamp, but the udp data is received over a standard network interface on the drp node (behaves like the BLD/PVA detectors in this respect).

May need to ask Martin Ellguth to compile for 13.1.0 (our latest conda compiler) but we'll see if the previous v12 still works for us.  If we had the udp-packet format then in principle we would not need the SC libraries (euXFEL reused the libraries)

Other things the SC library does:

  • provides parameters for calibration (sent over "dedicated ethernet" connection): these are applied on a per-event basis (maybe done on the fpga?).
  • stuff to avoid: projections (we will do it ourselves)
  • an API to receive the raw data
  • capacity of link doesn't support the full timestamping: the SC software adds the full timestamp

Configuration of detector:

  • via .ini file that is passed to SC software and sent over dedicated-ethernet link, which then configures the FPGA.
    • users don't touch .ini file, usually.  sometimes if things look weird then have to tweak (1) triggering "window" (when an electron is accepted) (2) timing "offset": a.k.a. start time (3) compensation for different cable lengths in the detector 
  • the timing system configuration is done via the service port (e.g. readout-group).  service port uses DHCP.

SC FPGA code is proprietary (rightmost in above diagram).  Leftmost FPGA is mostly open source (standard Xilinx): communication through service port is not open to the world.

80MB/s implies can all be done with 1 node.

Simulator can be configured over a USB port: e.g. maximum number of electrons per event (usually 0.1, but can turn it up).  With real data typically have 1 or 2 electrons per shot.

Start with the GUI first, then switch to API as a second step.