Pi Logic Controller Teresa Núñez DESY Photon Science Description/Features Scheme Software interface Applications Tango Meeting ELI Beamlines, 06-06-18
Scope of applications only limited by the FPGA functionality Pi Logic Controller Multifunctional and customizable module for fast signal processing Data processing power, speed, synchronicity -> FPGA Configurable input/outputs -> NIM/TTL I/O, ADC, DAC and temperature (PT sensor) cards High-level user-friendly interface -> Raspberry Pi 2 Scope of applications only limited by the FPGA functionality Developed at DESY (FS-EC group)
Easily exchanged if damaged Description/Features Six different PCB’s: Mainboard Raspberry Pi DE0-Nano board (FPGA Cyclone IV) Display board I/O board I/O cards Resistive touch-display 480x680 pixel 16 LEMO jacks 16 RGB LEDs USB 2.0 ports (2 front-1 rear) Ethernet link Easily exchanged if damaged Power Supply: NIM +6V mains adaptor FPGA processing time down to 6 ns Power consumption < 20 Watt Signals galvanically isolated Stereo sound
Scheme Raspberry Pi2 Touch display Ethernet NIM-Crate plug FPGA (2x32bit regiters/IO) LEDs display I/O status 16 slots for I/O cards: - NIM-TTL I/O - ADC/DACs (0-10V) - PT sensors USB 2.0 jacks (2 front – 1 rear) Isolated Lemo I/0 jacks
Configured and controlled via Tango Servers Software Interface Configured and controlled via Tango Servers Raspberry Pi2 (Debian OS) PiLCTriggerGenarator TS BCM2835 lib XMCD TS HL lib … BL Computer PiLC TS Download FPGA firmware Read/write FPGA registers Control FPGA operation I/Os i/o cards PiLC FPGA
Dedicated Tango Server for each application Applications Dedicated Tango Server for each application Delay Generator for Pump-Probe experiments Detector counts collection based on input signal depending on magnet state for XMCD measurements VFC: frequency generator linearly dependent on an analog input XMCD -> X-Ray Magnetic Circular Dichroism
Continuous scans trigered by PiLC Applications: Continuous Scans Continuous scans trigered by PiLC PiLCTriggerGenerator TS PiLCArrayBasedTG TS PiLC TG Counts Triggers PiLCScanSlave TS Encoder PiLC Slave Counts/ADC values
Generate triggers and store data Applications: Continuous Scans PiLCTriggerGenerator: Generate triggers and store data Seven trigger modes: based on time and/or position (start and frequency, ‘zig-zag’ in defined window) or external signal. Up to five encoder and one counter values (extensible) stored in circular buffer (32 MB depth) during scans Selectable encoder triggering Data (encoders/counter readings) accessible during scan Maximum trigger rate depends on stored data and requested number of triggers (limited by buffer full): up to 11.2 kHz in worst scenario Output written in nexus files (pni-libraries)
Generate shifted triggers Applications: Continuous Scans PiLCArrayBasedTG: Generate shifted triggers Array-based defined pattern Two modes: counter or encoder input signals Up to four trigger channels Trigger information loaded from input file: trigger-channel, trigger-value, trigger-level Take care of detector after-glow Ex. Control Perkin Elmer and shutter
Listen triggers and store data Applications: Continuous Scans PiLCScanSlave: Listen triggers and store data Up to five values from counter or ADC card (TS dinamically configured) Data accessible during scan Working in manual or automatic mode (arm by itself or by TriggerGenerator TS) Output written in NeXus files (pni-libraries) Integrated in Sardana via Macros and TriggerGenerator controller (under test)
Continuous scans trigered by PiLC Current applications at DESY Continuous scans trigered by PiLC 20 new PiLC modules in preparation