CBETA Instrumentation

Beam Position Monitor System

Diagram of Frequencies

Bunch Pattern Generator
  • Block diagram, J. Dobbins, R. Michnoff (CBETA-bunch-pattern-generator-2.pptx, 02/05/2019)
  • CBETA-Bunch-Pattern-Generator-U12-Modification-B.pptx, 05/01/2019
  • Bunch pattern generator output signals (in0-in3 were converted to outputs)
    • out 0 = pattern clock
    • out 1 = chopper trigger
    • out 2 = inject start clock (no delay)
    • out 3 = laser trigger (limited)
    • in 0 = bpm trigger (configured as output)
    • in 1 = trigger 3 (configured as output)
    • in 2 = trigger 4 (configured as output)
    • in 3 = trigger 5 (configured as output)
    • ext trig 1 = interlock input (logic hi = laser trigger enable)
    • ext trig 2 = fixed logic hi output

  • Bunch Pattern Generator Firmware Project Files (Xilinx Vivado 2016.2) located at /nfs/cbeta/bpm/xilinx/projects/v301_pattgen__rev010_6.zip

Bunch Arrival Monitors Beam Position Monitors
  • Beam-Position-Monitors

  • BPM Installation spreadsheet for FFA Loop (BPM-cable-list-15.xlsx, 10/15/2019)
    • This spreadsheet includes V301 installation information (rack, VME chassis, IP addresses, etc) and will eventually also include cable installation detail
  • Ugly hand drawing of BPM cable connections (IMG_1671.jpg)

  • The V301 BPM ADC clock is planned to be:

    • 41.935 * 38 = 1593.5 MHz / 4 = 398.387 MHz

    • With bunches injected every 41.935 MHz, this allows ADC timing to every other bunch

  • BPM (V301) Firmware Project Files (Xilinx Vivado 2016.2) located at /nfs/cbeta/bpm/xilinx/projects/v301_bpm__rev613_F.zip

Fast Shutdown System

IP Address:
  • erpzed01.classe.cornell.edu 02:CB:EA:70:10:01
  • erpzed02.classe.cornell.edu 02:CB:EA:70:10:02
  • erpzed03.classe.cornell.edu 02:CB:EA:70:10:03

Fast Loss Monitor System

Notes from meeting on 4/8/2020 (Rob MIchnoff), 30 attendees:
  • Need to consider how to calibrate the ADC measurements to radation with varying PMT voltage settings
    • Can a radiation source in the lab be used or does this need to be done with beam
  • Installation of a test led at the end of each fiber could be helpful for system testing
  • Some type of watchdog on the output would be beneficial in case the gate array code stops operating when the output is in a high NORMAL state
    • This could be done with an external one-shot that requires a periodic edge issued by the gate array code. Then if the gate array code stops the level would drop to the FAIL state
  • The PMT recovery time needs to be understood.
    • If the PMT saturates, what is the time constant to return to zero and allow detection of a new loss signal.
    • The circuit in the PMT socket could be analyzed
  • Regarding total time for detection of losses and inhibiting beam, the ADC pipeline delay should be considered
    • A full end-to-end test should include using a pulse on the input and measuring the time from that pulse edge to the output of the FBLM chassis and through the FSD chassis.
For now, all units boot from local system. The following steps were followed to complete this installation:
  • Log into lnx201.classe.cornell.edu (or other machine)
  • cd /nfs/cbeta/bpm/scripts
  • Repeat the following for all units (erpred11 shown here for example)
    • scp init2rp.sh root@erpred11:/etc
    • scp initrp.epics root@erpred11:/etc
    • scp rc.local root@erpred11:/etc
    • ssh root@erpred11 mkdir /firmware (this is where the firmware will be located)
    • scp -p /nfs/cbeta/bpm/fblm/FastBLM_v13.bit root@erpred11:/firmware
    • scp -p /nfs/cbeta/bpm/fblm/fblm root@erpred11:/EPICS/base-
    • scp -p /nfs/cbeta/bpm/fblm/Data.db root@erpred11:/EPICS/base-
  • Log into each unit one at a time and perform the following
    • vi /EPICS/base-
      • change FBLMNAME to correct IOC name for each unit (reference spreadsheet FBLM-IP-addresses-02.xlsx for IOC names, ie IFAFLM0102)
    • vi /etc/initrp.epics
      • change FBLMNAME to correct IOC name for each unit (reference spreadsheet FBLM-IP-addresses-02.xlsx for IOC names, ie IFAFLM0102)
    • make instance directory (IFAFLM0102 shown here for example)
      • mkdir /EPICS/instances/IFAFLM0102
      • mkdir /EPICS/instances/IFAFLM0102/autosave
    • Steps taken to get the autosave feature working from within a redpitaya, for example: root@erpred11
      • scp -p cbetabpm@lnx201.classe.cornell.edu:/nfs/cbeta/bpm/fblm/SourceCode/st.cmd /EPICS/base-
      • scp -p cbetabpm@lnx201.classe.cornell.edu:/nfs/cbeta/bpm/fblm/SourceCode/asList.req /EPICS/base-
        • Initially, asList.req was a directory, remove it, then try to scp the asList.req file again:
          • rmdir /EPICS/base-
      • Refer to steps in this image to verify that the autosave feature works (Remember that a reboot is needed to verify)
      • Repeat for all redpitayas

Beam Loss Monitor System

Master Oscillator



  • The perl script, caBpms.pl can be executed as erpopr and is used to write or read a V301 BPM record value for all BPM modules in the specified list. For example:
    • caBpms.pl -a attenA1S (read value for attenA1S for all CBETA V301 BPMs)
    • caBPMs.pl -fa attenA1S 31 (write 31 to all CBETA V301 BPMs in permanent magnet girder section FA)
  • Valid dash arguments include:
    • -a (all), -s1 (s1), -fa (fa), -1 (all in vme chassis 01), -2 (all in vme chassis 02), -3, -4, .. -12
  • The executable is in /home/erpopr/bin and the planelist files are in /home/michnoff/scripts/BPM/planelists

initBpms and init1Bpm

  • The scripts initBpms and init1Bpm are used to initlize a set of the BPM IOC records to reasonable values.
    • init1Bpm takes one argument that is the epics name (IFABPM01, IS1BPM01, etc.)
    • initBpms takes one argument to identify which group of BPMs is configured. This script consists of a series of calls to caBpms.pl, one for each of the records that is initialized. The argument is the same as the dash argument used for caBPMs.pl.
  • The execuatable are located in /home/erpopr/bin and the planelist files are in /home/michnoff/scripts/BPM/planelists


  • edm should be executed as erpopr. To login as erpopr enter the following:
    • ssh -X erpopr@erp201
  • Directory for edm: /nfs/erl/online/epics; Filename to start epics screens: ./l0_screens.sh (letter L, zero)

-- RobMichnoff - 28 Mar 2017
Topic revision: r65 - 19 Jun 2020, RobMichnoff
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding CLASSE Wiki? Send feedback