1 Introduction
LCLS was the world’s first hard X-ray free electron laser [1]. The follow-on project known as LCLS-II plans to provide up to 1 million pulses per second, rather than the 120 pulses per second from the original LCLS project. The project upgrades the whole accelerator system with a 4 GeV CW superconducting linac. 35 TESLA-ILC 1.3 GHz style cryomodules will be installed. The relatively high loaded Q (4d7) leads to 16 Hz half-bandwidth [2]. This narrow bandwidth combined with microphonic detuning poses a difficult control task for cavity resonance control and field control. But at the same time, the integral noise in the system bandwidth will be very small. The field detection will be relatively easier.
The Low Level RF control system is tasked with holding the cavity field stable to 0.01% and 0.01 rms. From the experience in Lawrence Berkeley National Laboratory (LBNL), detecting and controlling the field as specified is possible, but gets close to the hardware limitations [2-6].
LBNL used the LLRF4 board for many synchronization projects. Its control ability is limited mostly by the board’s ADCs. Based on the experience from the LLRF4 board, ADC evaluation boards are designed for LCLS-II precision receiver chassis. One board is for LTC2174 [7], the other is for AD9268 [8]. The purpose of using LTC2174 is try to use the high speed serial data acquisition. AD9268 has the relative high Signal-to-Noise Ration (SNR) 78.2 dBFS (Fig. 1).
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F001.jpg)
2 Hardware design
Two separate ADC test boards are designed by LBNL. One board is for LTC2174, the other is for AD9268. The two boards are shown in Fig 2.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F002.jpg)
One board is using the 14-bit/4-channel/105 Msps LTC2174 chip. This chip claims 73.1 dB SNR and 88 dBc Spurious-Free Dynamic Range (SFDR). it is configured in 2-lane output mode. 14 bit data for each channel can be sent by the chip through 2 Low-Voltage Differential Signaling (LVDS) pairs. This high speed serialization feature reduces pin count, which is an important factor when designing a ADC mezzanine card and selecting an FPGA package. It takes 10 pairs (8 pairs for data output, 1 pair for FRAME, 1 pair for DCO) of LVDS pins for 4 channels of data acquisition, and 4 LVCMOS (Low Voltage Complementary Metal Oxide Semiconductor) pin for Serial Peripheral Interface (SPI) control. The ADC has good performance and saves data pins. But it takes effort to deal with the high speed serialized data output interface. We succeeded in using the Spartan-6 ISERDES [12] to receive the high speed serialized data.
The AD9268 chip has higher SNR of 78.2 dB and almost the same SFDR 88 dBc. Using the AD9268 is for the higher precision measurement. It take 18 pairs of LVDS pins for acquiring 2 channels, and 3 LVCMOS pins for SPI control. On the driver side, the task is to take care of the SPI control part. The Double Data Rate (DDR) data acquisition logic is comparatively easier. The performances of the 2 ADCs are summarized in Table 1.
PART NO. | AD9268 | LTC2174 |
---|---|---|
Num of bits | 16 | 14 |
Sampling rate (Msps) | 105 | 105 |
ADC SNR@30MHz (dB) | 78.2 | 73.0 |
p-p full scale (V) | 2.00 | 2.00 |
FPGA pins per channel | 17 | 5 |
Num of channels | 2 | 4 |
In this design, the LTC6401 [9] ADC driver chip is used in the signal conditioning path. Its common-mode voltage output range is from 1.0 V to 1.5 V. But the common mode voltage output from the ADC should be around 0.9 V to 1.0 V. This is a small defect, but the system still works. The next time to use an ADC driver chip, the common-mode range should be carefully chosen.
An ultra low noise 1.8 V power supply is made up of an LTC6655 precision voltage reference chip, an op-amp, and a transistor. The noise floor above 100 Hz is 5nV/
3 Firmware and Software
The test system is based on the SP601 Spartan-6 Evaluation board [11]. Utilizing the general purpose Ethernet/IP/UDP (User Datagram Protocol) engine developed by LBNL, the boards can communicate at high speed to a commodity workstation.
Figure 5 shows the simplified ADC test setup and the framework of the FPGA firmware. On the firmware side, it takes lots of effort to deal with the ISERDES clocking resources (especially bank restrictions) and bitslip. This is the most difficult part of our driver development. Figure 3 shows LTC2174 driver diagram. Figure 4 shows AD9268 driver diagram. The remaining DSP part is same for the two chips, and is based on the logic used in Low Level RF control (LLRF). The DSP part is composed of mixer, DDS (Direct Digital Synthesizer) LO (Local Oscillator) generator and CORDIC [13] module. After implementing DSP module, the amplitude/phase data can be sent to a CIC low pass filter. The averaging length of the low pass filter can be configured from 1 to 229, so that the noise spectra can be characterized down to 0.01 Hz. Using a set of external triggerable circular buffers, the selected waveforms will be recorded simultaneously. Then the data will be transmitted over Ethernet as UDP packets read by PC side software.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F005.jpg)
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F003.jpg)
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F004.jpg)
On the software side, python script is used for board configuration and data acquisition. For each test board, a class is created which is implemented with board operation and raw data conversion. The base class ’adc_board’ is developed for general purpose ADC data processing. The important functions in the class are listed in Table 2.
Function | Description |
---|---|
read_buf_data | read buffers data and raw data decoding; |
utilize the buf_read() from the derived class | |
buf_skip | skip the buffer data |
buf_wait | for different low pass filter averaging length, |
wait for different time for buffer filling time | |
get_adc_data | plot or save raw adc data to file, |
length=1024 | |
get_amp_info | plot or save amplitude information, |
length=1024 | |
get_phase_info | plot or save phase information, length=1024 |
plot_buf_data | plot real time waveforms: |
(1) ADC raw data; FFT spectrum; sine fit; | |
(2) amplitude information for two channels; | |
(3) phase information for two channels; | |
sine_fit | sine wave fit function |
histogram | shorted input histogram and sine wave fit |
error histogram | |
plot_hist | plot the histogram |
fft_db | data spectrum analyze |
plot_fft_avg | plot fft spectrum with averaging ability |
phase_noise_density | plot phase noise density same as signal |
source analyzer does; | |
amp_noise_density | plot amplitude noise density |
The general purpose ’adc_board’ class is mostly for data processing. The spectrum can tell if there is any abnormal noise. The phase noise and amplitude noise density can tell the phase and amplitude detection ability of the ADC board. To test the LTC2174 and AD9268, two classes are derived from the ’adc_board’ class. Most of the functions in the derived class are for board communication, board setting, and buffers operation as listed in Table 3.
Function | Description |
---|---|
reset | reset ADC board to default setting |
registers | set registers in FPGA |
buf_mode | select which data is sent to buffers |
buf_trig | trigger buffers to record input waveforms |
buf_read | read buffer data back |
set_lpf_length | set averaging length for low pass filter |
set_trig_internal | internal/external trigger selection |
The general setting and buffer operation details are in the derived classes. For a new ADC board, general setting and buffer operations need to be implemented in the derived class. The DSP module in FPGA firmware and the ’adc_board’ class can still be used without modification. The ’DSP’ module in FPGA firmware, and ’adc_class’ in python code are the cores of the ADC test framework.
4 DSP Algorithm
The digital signal processing chain is based on Low Level RF signal processing using non-IQ sampling [15]. The input signal is mixed with local oscillator signal, then goes through a cascaded-integrator-comb (CIC) filter to get the I/Q component. Then a CORDIC module converts I/Q to amplitude/phase. Then processing data gets sent to buffers directly or through a low pass filter as shown in Fig. 5.
The ’local oscillator generator’ or DDS is composed of a phase accumulator and a CORDIC module. The structure of this DDS is shown in Fig. 6. The CORDIC module is supplied with accumulated phase and a fixed amplitude, and the subsequent sin and cos signals are generated by the CORDIC module. This kind of DDS is flexible. The LO frequency can be changed by simply adjusting the ’phase_step’ register.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F006.jpg)
The mixer is just a multiplier. In this case the ADC signal inputs to the multiplier is 16 bits signed (for a 14 bit ADC, two zeros are appended after the Least Significant Bit, LSB). The LO signal to the multiplier is 18 bits signed.
In Eq. 1, R is sampling rate change factor and N is the number of cascaded integrator-comb stages. In the test, N=2 is set for I/Q CIC filter. N=1 is set for the amplitude and phase CIC filter. R for both CIC filters can be configured through the python script.
In LLRF and synchronization systems, the dominant performance metrics are the amplitude and phase noise spectra. By changing the sampling rate factor R for the amplitude/phase CIC filter, and sending the filtered data to buffers, the noise in different frequency bands can be investigated. For amplitude noise, it can be derived from the Discrete Fourier Transformation of amplitude data directly [16]. For phase noise, the single side band phase jitter density spectra ϕjitter_density also can be derived from the Discrete Fourier Transformation of phase data directly. Based on Eq. 2, the general phase noise density function L(f) can be calculated [17] in ’dBc/Hz’. In Eq. 2, the unit of ϕjitter_density(f) is ’rad/
5 Test result
The test system setup is shown in Fig. 7. An Agilent 33600A Series Waveform Generator is used for the 100 MHz sampling clock generation. A Berkeley Nucleonics Model 845 RF signal Generator generated the 47 MHz RF signal fed to the ADCs.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F007.jpg)
First, the ADC raw data and sine fit result are shown here. Figure 8 shows the raw ADC data and sine curve fit for LTC2174. Figure 9 is for AD9268 sine fit. The 14 bits of ADC data for LTC2174 is padded to 16 bits by adding two zeros at the end. The maximum ADC count is about 25000, or -2.3 dBFS. This is representative of real LLRF system use, where some control and operability margin needs to be included in the RF chain setup.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F008.jpg)
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F009.jpg)
Figure 10 shows the histogram of fitting errors @16 bits for LTC2174. The RMS fitting error is 3.4 LSB@16 bits or 1.4 LSB@14 bits for LTC2174 channel 1. Figure 11 shows the fitting error histogram for AD9268. The RMS fitting error is 3.2 LSBrms error for AD9269 channel 1.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F010.jpg)
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F011.jpg)
Figure 12 shows the LTC2174 channel 1 measured amplitude information. Figure 13 shows the AD9268 channel 1 measured amplitude information. The amplitude information are from ’amp1’ shown in Fig. 5 directly. The only filter applied on the amplitude information is the I/Q CIC filter (R=100, N=2). In this short term measurement (1 ms), the RMS amplitude jitter is smaller than 0.01%. Much more details are shown in the integral amplitude noise figures.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F012.jpg)
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F013.jpg)
Fig. 14 shows single side band amplitude noise density for the two ADCs. The other side band noise power need to be taken into account for the integral noise calculation. It means that the noise power need to be doubled for noise integration. The noise measured by the ADCs is composed of RF signal generator noise, the drive amplifier noise, and the noise from the ADC itself. The effect of 2 stages CIC filter can be seen from 100 kHz to 500 kHz in this figure. Without CIC filter the noise floor should be flat. Computations show that the CIC filter will affect the test result by not more than 5% below 200 kHz. The result below 200 kHz should be trustworthy.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F014.jpg)
Figure 15 shows the integral amplitude noise from 1 Hz to 500 kHz. It can be implied from this figure that how much noise will this kind of amplitude detector adds. And the control ability can be roughly predicted. For the LCLS-II Superconducting cavity, the cavity bandwidth is smaller than 100 Hz, so the amplitude detection RMS additive noise generated by ADC from 1 Hz to 100 Hz should be lower than 0.001%. The integral amplitude noise figure implies that the performance of LTC2174 and AD9268 are similar in the low frequency range (1 Hz to 1 kHz). This may result from the RF signal source itself. In the relative high frequency range (1 kHz to 500 kHz), performance of amplitude detection for AD9268 is better than for LTC2174. The conclusion is that even in 0.01% amplitude control system, a 14 bit ADC is still suitable.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F015.jpg)
After showing the amplitude detection ability, here shows the phase detection ability. Figure 16 shows the differential phase noise density between two channels. Figure 17 shows the two channels differential phase of AD9268. Compared with real LLRF control board, in this experiment, the result is free from the additive noise from clock distribution chip, for example an AD9510. The result in this paper will show the limitation of the phase detection ability. This test framework is still applicable for the performance test between two chips.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F016.jpg)
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F017.jpg)
As is in amplitude result part, showing the noise density and integral noise will give the detail information for phase detection ability.
Figure 18 shows the phase noise spectrum of the differential phase. Figure 19 shows the integral phase noise. The phase detection performance for AD9268 is better than LTC2174. From 1 Hz to 100 Hz, the integral phase jitter is smaller than 0.0003 which is much better than the requirement. The integral phase jitter from 1 Hz to 100 kHz is smaller than 0.0015. This result tells us, if the interested bandwidth is smaller than 100 kHz, it is possible to get sub 10 femtosecond control ability or even better. This feature is very important for phase reference distribution system. The Phase averaging reference line based on digital LLRF structure will be suitable for sub 10 femtosecond synchronization.
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F018.jpg)
-201605/1001-8042-27-05-015/alternativeImage/1001-8042-27-05-015-F019.jpg)
The performance may be limited by the ADC drive chip. Designing a board without an active device may tell us the real detection ability.
6 Conclusion
The ADC test framework can measure the crucially important amplitude and phase spectrum of an ADC board. Using the framework as implemented here will give a fast evaluation of the ADC performance.
These LTC2174/AD9268 boards show excellent amplitude and phase detection ability. These two ADCs both satisfy the core LCLS-II LLRF control requirements. The RMS amplitude noise is smaller than 0.003% (integral from 1 Hz to 100 kHz). And the 0.0015 phase noise (integral from 1 Hz to 100 kHz, 47 MHz RF, 100 MHz clock) really seems adequate for phase ultra low noise distribution, LLRF control and laser oscillator synchronization.
First lasing and operation of an angstrom-wavelength free-electron laser
. Nature Photonics, 2010, 4: 641-647. doi: 10.1038/nphoton.2010.176Stable transmission of radio frequency signals on fiber links using interferometric delay sensing
. Optics Letters, 2009, 34: 3050-3052. doi: 10.1364/OL.34.003050LLRF4 Board
, http://recycle.lbl.gov/llrf4Synchronize Lasers to LCLS e- Beam
.Signal processing for high precision phase measurements
.CIC filter introduction. Iowegian
, https://www.users.snip.net/donadio/cic.pdf, 2000.Digital low-level RF control using non-IQ sampling
.