Concept B2B-Light

This is a working document!

Table of Contents

Plan A - Reminder

phd-bai fig4-1.jpg
Figure: Sketch for B2B transfers from SIS18 to SIS100, figure from PhD Bai. Details see text.

A sketch for the B2B between two machines is shown in the above figure. The following tables describes some of the parameters.

what description source comment
virtual cavity virtual position of RF signals N/A reference for RF signals, logic concept
tv_ext ToF from virtual cavity to kicker LSA extraction ring, depends on v/c
tv_inj ToF from virtual cavity to kicker LSA injection ring, depends on v/c
| text | kicker delay | LSA | extraction ring |inis
tinj kicker delay LSA injection ring
tpattern delay for specific bucket pattern LSA same for extraction and injection ring
ToF Time-of-Flight between rings LSA depends on v/c
Th=1,ext revolution period of ring LSA extraction ring
Th=1,inj revolution period of ring LSA injection ring
EKDC extraction kicker delay compensation LSA EKDC = Th=1,inj + tpattern - (ToF + tv_inj + text)
IKDC injection kicker delay compensation LSA IKDC = Th=1,inj + tpattern - (tv_inj + tinj)
Table: B2B parameters

Plan B - B2B-Light

Definitions

Plan B is B2B without signal reproduction. Instead of reproducing the signal of the injection machine (SIS100) at the extraction machine (SIS18), the idea is to use the bucket label signal '1st' from the extraction machine (SIS18) directly and make use of the known time difference Tdiff-sync from the virtual cavity of the extraction machine (SIS18) to the one at the injection machine (SIS100).
  • the vaue of Tdiff-sync can be calculated from LSA settings
  • a FTRN can timestamp digital signals to about 1 ns
  • we assume the 1st (#1) at the group DDS of the extraction (injection) machine as digital 'TTL' signals
  • we assume the actual frequency values can be read within the respective SCUs via Wishbone
  • B2B can predict the synchronization windows sufficiently precise (better 1 us)

phd-bai fig4-1 planB.jpg
Figure: An idea for B2B without the need for SIS100 bucket marker @SIS18 . Top: Sketch of transfer; shown are kicker positions (magenta marker with circle), virtual cavity positions (green marker with square), first bunches in ring (1st, #1). Bottom: Sketch of timing; shown are bunch label markers (1st, #1, vertical black/red lines), (virtual) coincidence of requested bucket pattern at the virtual cavity of the injection machine (green marker with open triangle), trigger signal for kicker electronics (red flashes), 'bunch label marker triggers' (1st, #1, vertical red lines), start time of synchronization windows (red marker with line arrow) and synchronization windows (yellow boxes). Upper cap 'T' marks time differences, whereas lower cap 't' marks timestamps More details see text.

The example depicted in the figure above shows timing scheme for transfer between two rings. Here, the example of a transfer from SIS18 (2nd harmonics) to SIS100 (10th harmonics) is given.

The above table of B2B parameters can be extended:
what description source comment
Tdiff-sync difference of revolution frequency markers LSA tdiff-sync = tv_ext + ToF + tv_inj
Tact, h=1, ext revolution period of ring actual value in group DDS1 extraction ring
Tact, h=1, inj revolution period of ring actual value in group DDS1 injecting ring
TLSA, h=1, ext revolution period of ring LSA extraction ring
TLSA, h=1, inj revolution period of ring LSA injecting ring
sync-winext synchronization window Central B2B Unit input to 'Trigger Decision' module
sync-wininj synchronization window Central B2B Unit input to 'Trigger Decision' module
1st trigger bucket label signal, extraction ring group DDS extraction ring input to 'Trigger Decision' module (identified by 'sync-winext')
#1 trigger bucket label signal, injection ring group DDS injection ring input to 'Trigger Decision' module (identified by 'sync-wininj')
EKO extraction kicker offset LSA EKO = TLSA, h=1, inj + Tpattern - (ToF + Tv_inj + Text) + Tdiff_sync
EKO = TLSA, h=1, inj + Tpattern - (ToF + Tv_inj + Text) + Tv_ext + ToF + Tv_inj
EKO = TLSA, h=1, inj + Tpattern + Tv_ext - Text
IKO injection kicker offset LSA IKO = TLSA, h=1, inj + Tpattern - Tv_inj - Tinj
tsync-ext start of sync-winext Central B2B Unit (CBU)  
tsync-inj start of sync-wininj Central B2B Unit (CBU)  
Tsync-ext length of sync-winext Central B2B Unit (CBU)  
Tsync-inj length of sync-wininj Central B2B Unit (CBU)  
Table: More B2B parameters for 'plan B'. 1If control loops are frozen, the actual values of Tact, h=1 can be directly derived from LSA values (technical note by D. Lens).

Idea

The main idea for 'Plan B' is based on the following assumptions:
  1. The values of actual frequencies of the 1st harmonic are exactly determined
    1. by register values in the group DDS of the extraction and injection rings.
    2. by LSA values (beam phase control loops based on phase shift, not on frequency shift)
  2. The White Rabbit based timing system and group DDS input clock have a common reference clock.
  3. Once the phase difference between 1st harmonic group DDS's of the two rings is known for a specific (White Rabbit) timestamp, the evolution of the phase relationship into the future does
    • not depend on the uncertainty of the frequencies (uncertainty is 0!)
    • only depend on the uncertainty of the phase measurement at the specific (White Rabbit) timestamp
  4. As the frequencies are known, the phase difference at a specific time could be derived from the measurement of time difference of '0-crossings' of the two DDS signals.
  5. Frequency Beating only, no Phase Shift

As a working hypothesis, the timestamp of a '0-crossing' of the 1st harmonics could be done via the Timestamp Latch Unit (TLU) of a PCIe FTRN with a precision of 1ns. This requires the signal of the 1st harmonics is available as a 50 Ohm TTL output of the group-DDS.

Data Flow and Implementation

tc fig6 planB.jpg
Figure: Data Flow. Show is RF equipment (red boxes), B2B equipment (blue boxes), trigger decision module (green boxes) and kicker electronics (brown boxes). Input from LSA is indicated by small yellow boxes. Details see text.

The figure above shows the hardware view of the data flow for B2B. Required hardware components are listed in the following table.
what HW platform LSA input timing event new HW new HDL comment
group DDS's SCU crates X X   ? required: Wishbone access to actual h=1 frequency
? ? required: h=1 signal as rectangular TTL 50 Ohm
FTRN TLU FTRN with ns resolution   X     Pexaria, Exploder or SCU4
FTRN sync-win FTRN with ns resolution   X     Pexaria, Exploder or SCU4, ns resolution only required for yet unforeseen requirements smile
CBU lm32 program X X     some lm32 in some FTRN, connection to WR network required
TD based on DIOB?, SCU crate X X X X requires development (HEL?), consider MPS requirements as well
KE ? X X X X requires development (HEL?), consider MPS requirements as well
Table: Overview on components for B2B-Light. Columns LSA input and timing event indicate required input. Columns new HW and new HDL indicate developments that need to be done.

Procedure (Simplified)

The following procedure could be applied
  1. ...
  2. DM initiates transfer
  3. (RF control loops frozen; as control loops use phase-shifting algorithms, the h=1 frequencies are identical to LSA values, if the loops are frozen)
  4. (h=1 frequencies known to a Central B2B Unit (CBU), LSA values might be sufficient)
  5. ...
  6. simultaneous measurement of
    1. phase measurement of '1st harmonics 0-crossing' at extraction machine
    2. phase measurement of '1st harmonics 0-crossing' at injection machine
  7. transfer of the phase values to CBU
  8. CBU calculates
    1. time when the 1st harmonics of both machines are synchronized
    2. time for '1st trigger' (based on LSA values for Tdiff-sync, Tv_ext, Text), see remark (1)
    3. time for '#1 trigger' (based on LSA values for Tdiff-sync, Tv_inj, Tinj), see remark (1)
    4. tsync-ext = t1st trigger - Th=1, ext / 2, will be sent to TDM, see remark (1)
    5. tsync-inj = t#1 trigger - Th=1, inj / 2, will be sent to TDM, see remark (1)
    6. Tsync-ext = Th=1, ext, for diagnostic purposes
    7. Tsync-inj = Th=1, inj, for diagnostic purposes
  9. transfer of tsync-ext and Tsync-ext to a FTRNext close to the 'Trigger Decision Module' at the extraction machine
  10. transfer of tsync-inj and Tsync-inj to a FTRNinj close to the 'Trigger Decision Module' at the injection machine
  11. FTRNext generates sync-winext (required for Trigger Decision Module)
  12. FTRNinj generates sync-wininj (required for Trigger Decision Module)
  13. Group DDS's at extraction and injection machine generate 1st and #1 signals (required for Trigger Decision Module)
  14. 'Trigger Decision Modules' generate the signals 'injection kick trigger' and 'extraction kick trigger' required for kicker electroncis
  15. ...
Remark (1)
  • it is planned, that the internal logic of the TDM is triggered based on a logical AND of the signals tsync-inj/ext from the CBU and h=1 sync from the DDS. In that case
    • the values 'time 1st/#1 trigger' serve for diagnostics only
    • the values tsync-inj/ext will be sent to the TDM
  • as an alternative, the CBU could send the value 'time 1st/#1 trigger' directly, but with reduced precision. In this case
    • the values 'time 1st/#1 trigger' will be sent to the TDM (which no longer requires the h=1 input from the DDS)
    • the values tsync-inj/ext serve for diagnostics only

origin destination gid evtno param comment
DM CBU EXT_B2B_INJ CMD_B2B_START N/A init transfer
CBU TR_TLU_EXT EXT_B2B_INJ CMD_B2B_PMEXT Th=1, ext init phase measurement at extraction machine; has period as parameter
CBU TR_TLU_INJ EXT_B2B_INJ CMD_B2B_PMINJ Th=1, inj init phase measurement at injection machine; has period as parameter
TR_TLU_EXT CBU EXT_B2B_INJ CMD_B2B_PREXT th=1, ext send result of phase measurement; has timestamp as parameter
TR_TLU_INJ CBU EXT_B2B_INJ CMD_B2B_PRINJ th=1, inj send result of phase measurement; has timestamp as parameter
CBU TR_SYNC_EXT EXT_B2B_INJ CMD_B2B_SYNCEXT N/A schedule extraction sync trigger, tbd
CBU TR_SYNC_INJ EXT_B2B_INJ CMD_B2B_SYNCINJ N/A schedule injection sync trigger, tbd
CBU diagnostic EXT_B2B_INJ CMD_B2B_DIAGMATCH N/A diagnostic info, indicates when phases match
CBU diagnostic EXT_B2B_INJ CMD_B2B_DIAGEXT N/A diagnostic info, projects measured phase into the future (useful for calibration)
CBU diagnostic EXT_B2B_INJ CMD_B2B_DIAGINJ N/A diagnostic info, projects measured phase into the future (useful for calibration)
CBU KICKER_EXT EXT_B2B_INJ CMD_B2B_KICKEXT N/A experimental: trigger for kicker
CBU KICKER_INJ EXT_B2B_INJ CMD_B2B_KCIKINJ N/A experimental: trigger for kicker
... ... EXT_B2B_INJ ... diagnostic data send diagnostic data (to be discussed)
Table: Timing messages. As a first idea, a transfer from SIS18 -> SIS100 would use a dedicated timing group SIS18_B2B_SIS100.

Phase Matching Algorithm

Due to White Rabbit, timing receivers share a common notion of time. Hence, it is easy to solve phase matching in the time domain. In addition, the lm32 soft-cores don't support floating point calculations and adding numbers is match faster compared to (emulated) divisions. In order to minimize uncertainties due to rounding of numbers, the algorithm described here uses a timescale in atoseconds.

beat-algorithm-a.jpg
Figure: Shown are markers of h=1 rf-periods for extraction (bottom) and injection (top). The ratio of the rf-periods is 2/3. The h=1 signals match after 2 (3) periods for extraction (injection), markers for a 'match' are shown in red. The lowest combination of harmonic numbers to achieve this situation is h=3 (extraction) and h=2 (injection), see dashed markers.

The figure above shows a situation with two ring machines using (from a operations points of view) a weird rf-ratio of 2/3; there is no beating and the h=1 signals are perfectly matched for the lowest common multiple of frequencies. In this case the periods match when using h=3 for extraction and h=2 for injection. As can be seen in the figure above, the h=1 signals match after 2 * 'h=1 periods' for extraction and 3 * 'h=1 periods' for injection.

beat-algorithm-b.jpg
Figure: This is the same figure with a slight detuning of frequency to achieve beating. Shown is a situation, where the h=1 frequency of the injection machine is increased slightly. Dashed markers indicate how the red markers of the injection machine evolves compared to the extraction machine. After one iteration, the time difference between red markers is Tdiff. Beating can be observed by the time differences (TD0..D2) between the (almost) matching solid red markers, which becomes smaller witch each iteration.

The figure above shows a situation for frequency beats. From the point of view of the extraction machine, the red marker of the injection machine 'comes closer' with every iteration. One just has to wait until the red marker of the injection machine matches/passes the one of the extraction machine. This is predictable. Tdiff is known from LSA values and TD0 is the time difference between the phase measurements at the two machines, see remark (2). The ratio TD0 / Tdiff is just the number of iterations until phase matching of the h=1 signals will be achieved; the length of one iteration is known too.

Remark (2)
  • the algorithm has to distinct between two cases, depending which machine is detuned in which direction
  • for practical reasons, the starting conditions of the algorithm has to be chosen such, that TD0 is smaller than the shortest h=1 period. This can easily be achieved by shifting the measured phase values by their periods
  • the algorithm implies
    • rf beam control loops are frozen prior to the start of the phase matching procedure
    • rf beam control loops for stabilization are based on a phase shifting method; in this case the rf frequencies are identical to LSA values

Measurements

First measurements have been done using the following setup

  • two 'DDS h=1 signals' generated using the clock generator of a timing receiver (pexaria, saft-clk-gen)
  • two timing receivers for phase measurements (pexaria, lm32 firmware); one TR per signal
  • one timing receiver as cbu (standalone, lm32 firwmare)
  • one timine reciever for generating a 'synch signal' (pexaria, config via 'saft tools')

The following parameters have been used
  • https://github.com/GSI-CS-CO/bel_projects
    • branch b2b-test_dietrich_2019-05-20
    • commit c8e1774
    • /modules/b2b-test/
  • extraction: h = 1 clock 2000001 Hz, harmonic number 3
  • injection h = 1 clock 3000011 Hz, harmonic number 2
  • bunch (bucket) frequency ~6000000 Hz, beat frequency 9 Hz

setup sommer2019b.jpg
Figure: Setup of the test setup. Two TRs serve for phase measurement of clock signals, each connected at the left most connector with 'Lemo Y' (left PC; top: extraction, bottom: injection). The DM controlling the measurement is integrated into the right PC. Another TR in a third PC serves for generating the two h = 1 signals (not shown). The standalone TR serving as CBU is positioned on top. All five WR nodes are connected using a White Rabbit switch (top).

The figure above gives an overview on the simple setup. It contains of four Timing Receivers (2 phase measurement, 1 CBU, 1 DDS (2 signals)) and one Data Master. All nodes are synchronized using White Rabbit. The TRs used for phase measurement also generate additional signals on the right most connector 'CMD_B2B_START' (top) and 'CMD_B2B_DIAGMATCH' (bottom).

b2b-meas1.JPG
Figure: Overview on the measured signals. Signals from top to bottom are CMD_B2B_START (magenta), h=1 extraction (yellow), h=1 injection (cyan), CMD_B2B_DIAGMATCH (green).

The figure above shows an overview on the measured signals. Of interest are the rising edges of the CMD_B2B_START (magenta) and CMD_B2B_DIAGMATCH (green). The time scale is 40ms/div and the two h=1 signals are not resolved. The lower part of the figure shows a measurement of the skew ob both signals ('3->4, 68ms'). The CMD_B2B_DIAGMATCH signal jumps with respect to the CMD_B2B_START depending on the actual phases in the two ring machines upon the start of the measurement. Depending on the beat frequency (here 9Hz), there is an upper bound on the measured skew (here 111ms). This upper bound is identical to the maximum time it takes to achieve synchronization.

b2b-meas2.JPG
Figure: Closer look on the CMD_B2B_START and h=1 signals.

The figure above shows a typical situation when starting a measurement with CMD_B2B_START (magenta signal). The h=1 signals of extraction (yellow) and injection (cyan) are not phase aligned. As can bee seen, three periods of the injection signal fit into two periods of the extraction signal (simulating two rings with a ratio of circumference of 2 / 3).

b2b-meas3.JPG
Figure: Closer look on the CMD_B2B_DIAGMATCH and h=1 signals.

The figure above shows the situation when both h=1 signals are phase matched in coincidence with the CMD_B2B_DIAGMATCH signal.

b2b-meas4.JPG
Figure: Even closer look on the CMD_B2B_DIAGMATCH and h=1 signals.

The figure above shows a very close look of the two h=1 and the CMD_B2B_DIAGMATCH signals. The time scale is 5ns/div. The lower part of the figure shows the result of about 500 measurements. Shown is the skew of the h=1 signals (left, maean ~600ps, standard deviation ~500ps, max deviation 2.4ns) and the skew between the h=1 signal of the extraction machine and the CMD_B2B_DIAGMATCH signal (right, mean ~500ps, standard deviation ~500ps, max deviation 1.4 ns).

To summarize: Using the beating method and a Timing Receiver based phase measurement, a synchronization of the h=1 signals in the order of 1ns can actually be achieved.

Real Measurements

xmas-2019 small.jpg
Figure: Measurements performed with 'real' DDS systems.

The figure above shows measurements performed with the real DDS hardware of SIS18 and ESR at BG1 (on 23 December 2019 smile ). The DDS systems receive their reference clocks from BuTiS. White Rabbit and BuTiS are phase locked to each other. The precision achieved for phase matching is ~1.5ns.

Documents

-- DietrichBeck - 30 Jan 2020

Topic attachments
I Attachment Action Size Date Who Comment
B2B-light_2020-01-30.pdfpdf B2B-light_2020-01-30.pdf manage 1 MB 30 Jan 2020 - 15:10 DietrichBeck short presentation
b2b-meas1.JPGJPG b2b-meas1.JPG manage 787 K 11 Jun 2019 - 12:16 DietrichBeck b2b measurement, overview
b2b-meas2.JPGJPG b2b-meas2.JPG manage 658 K 11 Jun 2019 - 11:32 DietrichBeck b2b measurement, phase at start
b2b-meas3.JPGJPG b2b-meas3.JPG manage 667 K 11 Jun 2019 - 11:33 DietrichBeck b2b measurement, phase at end
b2b-meas4.JPGJPG b2b-meas4.JPG manage 850 K 11 Jun 2019 - 13:51 DietrichBeck b2b measurement, phase at start magnified
beat-algorithm-a.jpgjpg beat-algorithm-a.jpg manage 73 K 12 Jun 2019 - 12:27 DietrichBeck beat algorithm (no beating)
beat-algorithm-b.jpgjpg beat-algorithm-b.jpg manage 69 K 12 Jun 2019 - 12:27 DietrichBeck beat algorithm (beating)
phd-bai_fig4-1.jpgjpg phd-bai_fig4-1.jpg manage 103 K 11 Mar 2019 - 14:14 DietrichBeck SIS18 to SIS100
phd-bai_fig4-1_planB.jpgjpg phd-bai_fig4-1_planB.jpg manage 188 K 14 Mar 2019 - 08:19 DietrichBeck SIS18 to SIS100, Plan B timing
setup_sommer2019b.jpgjpg setup_sommer2019b.jpg manage 406 K 11 Jun 2019 - 11:57 DietrichBeck b2b measurement, setup
tc_fig6_planB.jpgjpg tc_fig6_planB.jpg manage 104 K 14 Mar 2019 - 07:59 DietrichBeck SIS to SIS100, Plan B dataflow
xmas-2019_small.jpgjpg xmas-2019_small.jpg manage 377 K 30 Jan 2020 - 14:55 DietrichBeck measurement using SIS18 and ESR DDS systems
Topic revision: r17 - 08 Jun 2020, DietrichBeck
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 Foswiki? Send feedback