May 15, 2007 Testing of ERL BPM using a signal generator in preparation for tests with beam
Some miscellaneous characteristics:
The ID of the beam pipe on which the BPM is mounted is 2.370" (i.e. inner radius is 30.099 mm)
60 mV pp signal at the DSP input corresponds to +/- 4000 (4*ADC counts)
May 22, 2007 ERL BPM test software
DSP test software is in the ~tanke/cesr_home/ts101V4/bpm_erl directory. The .ldr file (DSP executable) is in the Debug subdirectory.
Controls test software is on disk1 of ees101. One can log on to ees101 by typing ssh -X ees101. The files are stored in the /mnt/disk1/ebpm/bpm_linux_v1 directory. Note that one can only access ees101 from the outside when there is open access to R128. Click here to check the current R128 access status.
The ERL BPMs will not be using the CESR type Xbus; interfacing to the DSP is done via the ethernet.
Before flashing the DSP memory, one may need to boot the ColdFire ethernet interface, located in the DSP box. Click here to see how to do this.
In order to flash the DSP memory with an executable, one can use a script like the ./flash one, which downloads the bpm_v1.ldr file. Also see the readme.txt file in the same directory.
To execute the controls code, one can operate in 2 modes: interactive or direct.
For interactive, type ./doit_inter (still to be implemented); one will be given a menu of routines to choose from. After choosing a routine, one will be prompted for settings of different parameters.
In the direct mode, routines from the menu are executed whereby the settings are read in from .ini files.
Type ./doit_raw to get raw data (i.e. the data measured will not be translated into positions; they are raw ADC counts). This script will also plot some of the measurement data.
Type ./doit_iq to use I/Q sampling; in its present form, 2 sets of X and Y positions based on the 2 sets of 4 channels will be printed to the output. The output is user selectable (screen, file or both). The first column contains the acquisition number and the last 2 columns are indicators relative to the gain settings used for each of the 2 sets of 4 channels. If this indicator is 1, there is either no signal present or the gain is too low. If this indicator is 0, the DSP is reading signals that are larger than pedestal. Autogain has not yet been implemented.
Type ./doit_tscan to do a time scan. Here the user will need to select the time scan range and step size. Here it is important to understand some of the timing characteristics of the ERL BPM timing:
Equivalent to the CESR turn number, for the ERL BPM there is a "turn" or "group" number. For ERL, the time from group to group is 2.44 μs (for CESR, turn by turn is 2.56 μs). These 2.44 μs correspond to 30.5 cycles in 12.5 MHz (or 61 cycles in 25 MHz).
In CESR there are 183 possible bunches, for the ERL BPM there are 122 "bunches" or samples. These samples are 20 ns apart for the ERL BPM (14 ns for the CESR BPM).
The timing step size for the TglobA, TglobB and TChan delay chips is ~ 10 ps (both in the case of CESR and in ERL). The total range for the timing scan (assuming fixed TChan settings) is 2047*10 ps = 20.47 ns. Note that if one samples in a multi-group mode a 12.5 MHz signal, the polarity of say sample 1 (out of 122) will change from group to group as at 12.5 MHz there are an odd number of cycles (30.5) in 2.44 μs! The ERL timing scan DSP routine differs from the CESR one in that it will only take data from every other group. Another issue here is related to the way the timing scan works: one acquires data for a given Tglob, averages the data and then one goes to the next Tglob setting. Here again, one may end up with the same polarity issue as discussed above.