Subversion Repositories svnkaklik

Rev

Rev 1166 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 1166 Rev 1167
1
\chap Trial version of the digitizer
1
\chap Trial version of the digitizer
2
 
2
 
3
The whole design of the radioastronomic receiver digitization unit is meant to be used in a wide range of applications and tasks related to digitization of a signal. A good illustrating problem for its use is the signal digitization from multiple antenna arrays. Design and implementation of the system is presented in this chapter.
3
The whole design of the radioastronomic receiver digitization unit is meant to be used in a wide range of applications and tasks related to digitization of a signal. A good illustrating problem for its use is the signal digitization from multiple antenna arrays. Design and implementation of the system is presented in this chapter.
4
 
4
 
5
 
5
 
6
\sec Required parameters
6
\sec Required parameters
7
 
7
 
8
We require the following technical parameters in order to overcome the existing digitization units solutions. Primarily, we need a wide a dynamical range and a high third-order intercept point (IP3\glos{IP3}{Third-order intercept point}). The receiver must accept signals with the wide dynamics because a typical radioastronomical signal is a weak signal covered by a strong man-made noise or other undesired noises as lighting, Sun emissions, etc.
8
We require the following technical parameters in order to overcome the existing digitization units solutions. Primarily, we need a wide a dynamical range and a high third-order intercept point (IP3\glos{IP3}{Third-order intercept point}). The receiver must accept signals with the wide dynamics because a typical radioastronomical signal is a weak signal covered by a strong man-made noise or other undesired noises as lighting, Sun emissions, etc.
9
 
9
 
10
\medskip
10
\medskip
11
\noindent
11
\noindent
12
The summary of other additional required parameters:
12
The summary of other additional required parameters:
13
%
13
%
14
\begitems
14
\begitems
15
  * Dynamic range better than 80 dB, see Section \ref[dynamic-range-theory] for the explanation.
15
  * Dynamic range better than 80 dB, see Section \ref[dynamic-range-theory] for the explanation.
16
  * Phase stability between channels.
16
  * Phase stability between channels.
17
  * Low noise (all types).
17
  * Low noise (all types).
18
  * Sampling jitter better than 100 metres.
18
  * Sampling jitter better than 100 metres.
19
  * Support for any number of receivers in the range of 1 to 8.
19
  * Support for any number of receivers in the range of 1 to 8.
20
\enditems
20
\enditems
21
 
21
 
22
\noindent
22
\noindent
23
We analyze several of the parameters more in detail in the sequel.
23
We analyze several of the parameters more in detail in the sequel.
24
 
24
 
25
\sec Sampling frequency
25
\sec Sampling frequency
26
 
26
 
27
The sampling frequency has not been a limiting factor in the trial version. Generally, the sampling frequency is mostly limited by the sampling frequencies of the analog-to-digital conversion chips available on the market and by the interface bandwidth. The combination of required parameters -- dynamic range needing 16 bits  at least and a minimum sampling frequency of 1 Mega-Samples Per Second (MSPS\glos{MSPS}{Mega-Samples Per Second}) -- leads to the need of the high-end ADC chips. However, they support minimum sampling frequency 5$\ $MSPS.
27
The sampling frequency has not been a limiting factor in the trial version. Generally, the sampling frequency is mostly limited by the sampling frequencies of the analog-to-digital conversion chips available on the market and by the interface bandwidth. The combination of required parameters -- dynamic range needing 16 bits  at least and a minimum sampling frequency of 1 Mega-Samples Per Second (MSPS\glos{MSPS}{Mega-Samples Per Second}) -- leads to the need of the high-end ADC chips. However, they support minimum sampling frequency 5$\ $MSPS.
28
 
28
 
29
We calculated the minimal data bandwidth rate for eight receivers, 2~bytes per sample and 5$\ $MSPS as $8 \cdot 2 \cdot 5\cdot 10^6 = 80\ $MB/sec. Such a data rate is at the limit of the actual writing speed of a classical hard disk drive (HDD\glos{HDD}{Hard disk drive}) and it is almost a double the real bandwidth of USB~2.0\glos{USB 2.0}{Universal Serial Bus version 2.0} interface. As a result of these facts, we must use a faster interface. Such a faster interface is especially needed in cases in which we require faster sampling rates than ADC's minimal 5$\ $MSPS sample rate.
29
We calculated the minimal data bandwidth rate for eight receivers, 2~bytes per sample and 5$\ $MSPS as $8 \cdot 2 \cdot 5\cdot 10^6 = 80\ $MB/sec. Such a data rate is at the limit of the actual writing speed of a classical hard disk drive (HDD\glos{HDD}{Hard disk drive}) and it is almost a double the real bandwidth of USB~2.0\glos{USB 2.0}{Universal Serial Bus version 2.0} interface. As a result of these facts, we must use a faster interface. Such a faster interface is especially needed in cases in which we require faster sampling rates than ADC's minimal 5$\ $MSPS sample rate.
30
The most perspective interface for use in our type of application is USB 3.0 or PCI Express interface. However, USB 3.0 is a relatively new technology without good development tools currently available. We have used PCI Express \glos{PCI Express}{Peripheral Component Interconnect Express}  interface as the simplest and the most reliable solution.
30
The most perspective interface for use in our type of application is USB 3.0 or PCI Express interface. However, USB 3.0 is a relatively new technology without good development tools currently available. We have used PCI Express \glos{PCI Express}{Peripheral Component Interconnect Express}  interface as the simplest and the most reliable solution.
31
 
31
 
32
\sec System scalability
32
\sec System scalability
33
 
33
 
34
Special parameters of ADC modules are required to secure scalability of analog channels. Ideally, there should be a separate output for each analog channel in ADC module. ADC module must also have separate outputs for frames and data output clocks. These parameters allow the operation at relatively low digital data rates. As a result, the digital signal can be conducted even via long wires. The modular architecture enables the separation from a central logical unit which supports optimization of a number of analog channels.
34
Special parameters of ADC modules are required to secure scalability of analog channels. Ideally, there should be a separate output for each analog channel in ADC module. ADC module must also have separate outputs for frames and data output clocks. These parameters allow the operation at relatively low digital data rates. As a result, the digital signal can be conducted even via long wires. The modular architecture enables the separation from a central logical unit which supports optimization of a number of analog channels.
35
 
35
 
36
Clock and data signals will be handled distinctively in our modular scalable design. Selected ADC chips are guaranteed to have the defined clock skew between the sampling and the data output clocks. This allows taking data and frame clocks from the first ADC module only. The rest of the data and frame clocks from other ADC modules can be measured for diagnostic purposes (failure detection, jitter measurement, etc.), but these redundant signals are not used for data sampling. If more robustness is required in the final application then Data Clock Output (DCO\glos{DCO}{Data Clock Output}) and FR signals may be collected from other modules and routed through a voting logic which  corrects possible signal defects.
36
Clock and data signals will be handled distinctively in our modular scalable design. Selected ADC chips are guaranteed to have the defined clock skew between the sampling and the data output clocks. This allows taking data and frame clocks from the first ADC module only. The rest of the data and frame clocks from other ADC modules can be measured for diagnostic purposes (failure detection, jitter measurement, etc.), but these redundant signals are not used for data sampling. If more robustness is required in the final application then Data Clock Output (DCO\glos{DCO}{Data Clock Output}) and FR signals may be collected from other modules and routed through a voting logic which  corrects possible signal defects.
37
 
37
 
38
This system concept allows for scalability, which is limited technically by a number of differential signals on the host side and its computational power.  There is another advantage of the scalable data acquisition system -- an economic one. Observatories or end users can make a choice how much money are they willing to spent on the radioastronomy receiver system. This freedom of choice is especially useful for scientific sites without previous experience in radioastronomy observations.
38
This system concept allows for scalability, which is limited technically by a number of differential signals on the host side and its computational power.  There is another advantage of the scalable data acquisition system -- an economic one. Observatories or end users can make a choice how much money are they willing to spent on the radioastronomy receiver system. This freedom of choice is especially useful for scientific sites without previous experience in radioastronomy observations.
39
 
39
 
40
\secc Differential signalling
40
\secc Differential signalling
41
 
41
 
42
The above mentioned concept of the scalable design requires a relatively long circuit traces between ADC and the digital unit which captures the data and performs the computations. The long distance between the digital processing unit and the analog-to-digital conversion unit has the advantage in noise retention typically produced by digital circuits. Those digital circuits, such as FPGA\glos{FPGA}{Field-programmable gate array}, Ethernet or other flip-flops blocks and circuit traces work usually at high frequencies and emit the wide-band noise with relatively low power. In such cases, any increase in a distance between the noise source and the analog signal source increases S/N significantly. However, at the same time, a long distance introcuces problems with the digital signal transmission between ADC and the computational unit. This obstacle should be resolved more easily in a free-space than on board routing. The high-quality differential signalling shielded cables should be used, such as massively produced and cheap SATA\glos{SATA}{Serial ATA}\glos{ATA}{AT Attachment} cables. This technology has two advantages over PCB\glos{PCB}{printed circuit board} signal routing. First, it can use twisted pair of wires for leak inductance suppression in signal path. Second, the twisted pair may additionally be shielded by uninterrupted metal foil.
42
The above mentioned concept of the scalable design requires a relatively long circuit traces between ADC and the digital unit which captures the data and performs the computations. The long distance between the digital processing unit and the analog-to-digital conversion unit has the advantage in noise retention typically produced by digital circuits. Those digital circuits, such as FPGA\glos{FPGA}{Field-programmable gate array}, Ethernet or other flip-flops blocks and circuit traces work usually at high frequencies and emit the wide-band noise with relatively low power. In such cases, any increase in a distance between the noise source and the analog signal source increases S/N significantly. However, at the same time, a long distance introcuces problems with the digital signal transmission between ADC and the computational unit. This obstacle should be resolved more easily in a free-space than on board routing. The high-quality differential signalling shielded cables should be used, such as massively produced and cheap SATA\glos{SATA}{Serial ATA}\glos{ATA}{AT Attachment} cables. This technology has two advantages over PCB\glos{PCB}{printed circuit board} signal routing. First, it can use twisted pair of wires for leak inductance suppression in signal path. Second, the twisted pair may additionally be shielded by uninterrupted metal foil.
43
 
43
 
44
\secc Phase matching
44
\secc Phase matching
45
 
45
 
46
The system phase stability is a mandatory condition for multi-antennas radioastronomy projects. It allows a precise, high resolution imaging of objects, increases signal to noise ratios in several observation methods and enables using of advanced algorithms for signal processing.
46
The system phase stability is a mandatory condition for multi-antennas radioastronomy projects. It allows a precise, high resolution imaging of objects, increases signal to noise ratios in several observation methods and enables using of advanced algorithms for signal processing.
47
 
47
 
48
The high phase stability is achieved in our scalable design through centralized frequency generation and distribution with multi-output Low Voltage Emitter-coupled logic (LVPECL\glos{LVPECL}{Low Voltage Emitter-coupled logic}) hubs (CLKHUB02A), which have equiphased outputs for multiple devices. The LVPECL logic is used on every system critical clock signal distribution hub. This logic has the advantage over the Low-voltage differential signaling (LVDS\glos{LVDS}{Low-voltage differential signaling}) in the signal integrity robustness. It uses higher logical levels and higher signalling currents. The power consumption of LVPECL logic is nearly constant over the operating frequency range due to the use of bipolar transistors. This arrangement minimizes voltage glitches which are typical for CMOS\glos{CMOS}{Complementary metal–oxide–semiconductor} logic. One drawback of its parameters is a high power consumption of LVPECL logic, which reaches tens of milliamperes per device easily.
48
The high phase stability is achieved in our scalable design through centralized frequency generation and distribution with multi-output Low Voltage Emitter-coupled logic (LVPECL\glos{LVPECL}{Low Voltage Emitter-coupled logic}) hubs (CLKHUB02A), which have equiphased outputs for multiple devices. The LVPECL logic is used on every system critical clock signal distribution hub. This logic has the advantage over the Low-voltage differential signaling (LVDS\glos{LVDS}{Low-voltage differential signaling}) in the signal integrity robustness. It uses higher logical levels and higher signalling currents. The power consumption of LVPECL logic is nearly constant over the operating frequency range due to the use of bipolar transistors. This arrangement minimizes voltage glitches which are typical for CMOS\glos{CMOS}{Complementary metal–oxide–semiconductor} logic. One drawback of its parameters is a high power consumption of LVPECL logic, which reaches tens of milliamperes per device easily.
49
 
49
 
50
This design ensures that all system devices have access to the defined phase and the known frequency.
50
This design ensures that all system devices have access to the defined phase and the known frequency.
51
 
51
 
52
\sec System description
52
\sec System description
53
 
53
 
54
This section deals with the description of the trial version based on Xilinx ML605 development board, see Figure~\ref[ML605-development-board], available at the workplace. This FPGA parameters are more than sufficient of what we need for the fast data acquisition system being developed. Expected system configuration is shown in Figure~\ref[expected-block-schematic]. The system consist antennas equipped by
54
This section deals with the description of the trial version based on Xilinx ML605 development board, see Figure~\ref[ML605-development-board], available at the workplace. This FPGA parameters are more than sufficient of what we need for the fast data acquisition system being developed.
55
 
55
 
-
 
56
\secc Receiver overview 
-
 
57
 
56
%% dopsat celkovy popis systemu.
58
Expected system configuration is shown in Figure~\ref[expected-block-schematic]. The system consists of  antennas equipped by preamplifier (LNA) and optionally by band pass filter (BPF). The signal is conducted to down-converting mixers after amplification. Mixers are connected to precise local oscillator (GPSDO01A) controlled from PC by I$^2$C bus. Down-converted signal is digitized by ADCdual01A modules. The ADC modules are connected using FMC2DIFF01A adapter board to data concentrator realized by FPGA board. 
-
 
59
 
-
 
60
In this thesis, the ADC module, adapter board, FPGA specification is proposed. The other modules of the receiver system are currently existing.
57
 
61
 
58
\midinsert
62
\midinsert
59
\clabel[expected-block-schematic]{Expected system block schematic}
63
\clabel[expected-block-schematic]{Expected system block schematic}
60
\picw=\pdfpagewidth \setbox0=\hbox{\inspic ./img/Coherent_UHF_SDR_receiver.png }
64
\picw=\pdfpagewidth \setbox0=\hbox{\inspic ./img/Coherent_UHF_SDR_receiver.png }
61
\par\nobreak \vskip\wd0 \vskip-\ht0
65
\par\nobreak \vskip\wd0 \vskip-\ht0
62
\centerline {\kern\ht0 \pdfsave\pdfrotate{90}\rlap{\box0}\pdfrestore}
66
\centerline {\kern\ht0 \pdfsave\pdfrotate{90}\rlap{\box0}\pdfrestore}
63
\caption/f Expected realization of signal digitalisation unit.
67
\caption/f Expected realization of signal digitalisation unit.
64
\endinsert
68
\endinsert
65
 
69
 
66
 
70
 
67
\secc Frequency synthesis
71
\secc Frequency synthesis
68
 
72
 
69
We have used a centralized topology as a basis for frequency synthesis. One precise high-frequency and low-jitter digital oscillator (GPSDO\glos{GPSDO}{GPS disciplined oscillator}) has been used \cite[MLAB-GPSDO]. The other working frequencies have been derived from it by the division of its signal. This central oscillator has a software defined GPS\glos{GPS}{Global Positioning System}  disciplined control loop for frequency stabilization.\fnote{SDGPSDO design has been developed in parallel to this diploma project as a related project, but it is not explicitly required by the thesis itself and thus it is described in a separate document.}
73
We have used a centralized topology as a basis for frequency synthesis. One precise high-frequency and low-jitter digital oscillator (GPSDO\glos{GPSDO}{GPS disciplined oscillator}) has been used \cite[MLAB-GPSDO]. The other working frequencies have been derived from it by the division of its signal. This central oscillator has a software defined GPS\glos{GPS}{Global Positioning System}  disciplined control loop for frequency stabilization.\fnote{SDGPSDO design has been developed in parallel to this diploma project as a related project, but it is not explicitly required by the thesis itself and thus it is described in a separate document.}
70
We have used new methods of software frequency monitoring and compensation in order to meet modern requirements on the radioastronomy equipment, which needs the precise frequency and phase stability over a wide baseline scales for effective radioastronomy imaging.
74
We have used new methods of software frequency monitoring and compensation in order to meet modern requirements on the radioastronomy equipment, which needs the precise frequency and phase stability over a wide baseline scales for effective radioastronomy imaging.
71
 
75
 
72
The GPSDO device consists of Si570 chip with LVPECL output. The phase jitter of the GPS disciplined oscillator is determined mainly by Si570 phase noise. Parameters of the Si570 are summarized in Table~\ref[LO-noise] (source \cite[si570-chip] ).
76
The GPSDO device consists of Si570 chip with LVPECL output. The phase jitter of the GPS disciplined oscillator is determined mainly by Si570 phase noise. Parameters of the Si570 are summarized in Table~\ref[LO-noise] (source \cite[si570-chip] ).
73
 
77
 
74
GPSDO design, which is included in the data acquisition system, has a special feature -- it generates time marks for a precise time-stamping of the received signal. Time-stamps are created by disabling the local oscillator outputs, connected to SDRX01B receivers, for 100 $\mu$s.  As the result, a rectangular click in the ADC input signal is created, which appears as a horizontal line in the spectrogram.
78
GPSDO design, which is included in the data acquisition system, has a special feature -- it generates time marks for a precise time-stamping of the received signal. Time-stamps are created by disabling the local oscillator outputs, connected to SDRX01B receivers, for 100 $\mu$s.  As the result, a rectangular click in the ADC input signal is created, which appears as a horizontal line in the spectrogram.
75
Time-stamps should be seen in the image in Figure~\ref[meteor-reflection] (above and below the meteor reflection).
79
Time-stamps should be seen in the image in Figure~\ref[meteor-reflection] (above and below the meteor reflection).
76
 
80
 
77
Time-stamping should be improved in future by digitization of GPS signal received by the antenna on the observational station. Following that, the GPS signal can be directly sampled by a dedicated receiver and one separate ADC module. The datafile consists of samples from channels of radio-astronomy receivers along with the GPS signal containing the precise time information.
81
Time-stamping should be improved in future by digitization of GPS signal received by the antenna on the observational station. Following that, the GPS signal can be directly sampled by a dedicated receiver and one separate ADC module. The datafile consists of samples from channels of radio-astronomy receivers along with the GPS signal containing the precise time information.
78
 
82
 
79
 
83
 
80
\midinsert \clabel[LO-noise]{Phase noise of the local oscillator}
84
\midinsert \clabel[LO-noise]{Phase noise of the local oscillator}
81
\ctable{lcc}{
85
\ctable{lcc}{
82
	&	 \multispan2 \hfil Phase Noise [dBc/Hz] \hfil 		\cr
86
	&	 \multispan2 \hfil Phase Noise [dBc/Hz] \hfil 		\cr
83
Offset Frequency	&	$F_{out}$ 156.25 MHz	& $F_{out}$ 622.08 MHz \cr
87
Offset Frequency	&	$F_{out}$ 156.25 MHz	& $F_{out}$ 622.08 MHz \cr
84
100 [Hz]	&	–105	&	–97 \cr
88
100 [Hz]	&	–105	&	–97 \cr
85
1 [kHz]	&	–122	&	–107 \cr
89
1 [kHz]	&	–122	&	–107 \cr
86
10 [kHz]	&	–128	&	–116 \cr
90
10 [kHz]	&	–128	&	–116 \cr
87
100 [kHz]	&	–135	&	–121 \cr
91
100 [kHz]	&	–135	&	–121 \cr
88
1 [MHz]	&	–144	&	–134 \cr
92
1 [MHz]	&	–144	&	–134 \cr
89
10 [MHz]	&	–147	&	–146 \cr
93
10 [MHz]	&	–147	&	–146 \cr
90
100 [MHz]	&	n/a	&	–148 \cr
94
100 [MHz]	&	n/a	&	–148 \cr
91
}
95
}
92
\caption/t The phase noise of the used Silicon Laboratories Si570 chip. Offset frequency is measured from carrier frequency. Values shown in the table are given for two different carrier frequencies. Adopted from \cite[si570-chip].
96
\caption/t The phase noise of the used Silicon Laboratories Si570 chip. Offset frequency is measured from carrier frequency. Values shown in the table are given for two different carrier frequencies. Adopted from \cite[si570-chip].
93
\endinsert
97
\endinsert
94
 
98
 
95
Every ADC module will be directly connected to CLKHUB02A module which takes sampling clock signal delivered by FPGA from the main local oscillator.  This signal should use high quality differential signalling cable -- we should use SATA cable for this purpose. FPGA may slightly affect the clock signal quality by adding a noise, but it has a negligible effect on the application where developed system will be used.
99
Every ADC module will be directly connected to CLKHUB02A module which takes sampling clock signal delivered by FPGA from the main local oscillator.  This signal should use high quality differential signalling cable -- we should use SATA cable for this purpose. FPGA may slightly affect the clock signal quality by adding a noise, but it has a negligible effect on the application where developed system will be used.
96
 
100
 
97
 
101
 
98
\label[signal-cables] \secc Signal cable connectors
102
\label[signal-cables] \secc Signal cable connectors
99
 
103
 
100
Several widely used and commercially easily accessible differential connectors were considered to be used in our design:
104
Several widely used and commercially easily accessible differential connectors were considered to be used in our design:
101
 
105
 
102
\begitems
106
\begitems
103
* HDMI, % [[http://en.wikipedia.org/wiki/Hdmi|HDMI]]</del>
107
* HDMI, % [[http://en.wikipedia.org/wiki/Hdmi|HDMI]]</del>
104
* SATA,  		%{http://en.wikipedia.org/wiki/Serial_attached_SCSI#Connectors|SAS]]/[[http://en.wikipedia.org/wiki/Serial_ATA|SATA]]
108
* SATA,  		%{http://en.wikipedia.org/wiki/Serial_attached_SCSI#Connectors|SAS]]/[[http://en.wikipedia.org/wiki/Serial_ATA|SATA]]
105
* DisplayPort, or 		%[[http://en.wikipedia.org/wiki/Display_port|DisplayPort]]</del>
109
* DisplayPort, or 		%[[http://en.wikipedia.org/wiki/Display_port|DisplayPort]]</del>
106
* SAS/miniSAS.
110
* SAS/miniSAS.
107
\enditems
111
\enditems
108
 
112
 
109
Finally, MiniSAS connector was chosen as the best option to be used in connecting multiple ADC modules together. A transition between SATA and miniSAS is achieved by SAS to SATA adapter cable, which is commonly used in servers to connect SAS controller to multiple SATA hard disc in RAID systems and thus is commercially easily available. It is compatible with existing SATA cabling systems and aggregates multiple SATA cables to a single connector. It also has SPI configuration lines which can be seen in Figure~\ref[img-miniSAS-cable] as the standard pinheader connector.
113
Finally, MiniSAS connector was chosen as the best option to be used in connecting multiple ADC modules together. A transition between SATA and miniSAS is achieved by SAS to SATA adapter cable, which is commonly used in servers to connect SAS controller to multiple SATA hard disc in RAID systems and thus is commercially easily available. It is compatible with existing SATA cabling systems and aggregates multiple SATA cables to a single connector. It also has SPI configuration lines which can be seen in Figure~\ref[img-miniSAS-cable] as the standard pinheader connector.
110
The main drawback of miniSAS PCB connectors lies in the fact, that they are manufactured in SMT versions only. SMT design may eventually decrease the durability of the connector even if the outer metal housing of the connector is designed to be mounted using a standard through-hole mounting method.
114
The main drawback of miniSAS PCB connectors lies in the fact, that they are manufactured in SMT versions only. SMT design may eventually decrease the durability of the connector even if the outer metal housing of the connector is designed to be mounted using a standard through-hole mounting method.
111
 
115
 
112
\midinsert
116
\midinsert
113
\clabel[img-miniSAS-cable]{Used miniSAS cable}
117
\clabel[img-miniSAS-cable]{Used miniSAS cable}
114
\picw=5cm \cinspic ./img/miniSAS_SATA_cable.jpg
118
\picw=5cm \cinspic ./img/miniSAS_SATA_cable.jpg
115
\caption/f An example of a miniSAS cable.
119
\caption/f An example of a miniSAS cable.
116
\endinsert
120
\endinsert
117
 
121
 
118
\secc Signal integrity requirements
122
\secc Signal integrity requirements
119
 
123
 
120
\label[diff-signaling]
124
\label[diff-signaling]
121
 
125
 
122
We use ADC devices that have DATA clock frequency eight times higher than sampling frequency in a single line output mode, implying a 40 MHz output bit rate. This implies a $t_s=25$~ns time length of data bit, which is equivalent to 7.5~m light path in a free space. If the copper PCB with FR4 substrate layer or the coaxial/twinax cable is used, we could obtain the velocity factor of 0.66 in the worst case. Consequently, the light path for the same bit rate $t_s$ will be 4.95~m. Although we do not have any cables in the system with comparable lengths, the worst data bit skew described by data sheets of the used components is $0.3 \cdot t_s$, which is 1.485~m. Therefore the length matching is not critical in our current design operating on the used sampling speed. The length matching may become critical in future versions with higher sampling rates, where the cable length must be matched. However SATA cabling technology is already prepared for that case and matched SATA cables are a standard merchandise.
126
We use ADC devices that have DATA clock frequency eight times higher than sampling frequency in a single line output mode, implying a 40 MHz output bit rate. This implies a $t_s=25$~ns time length of data bit, which is equivalent to 7.5~m light path in a free space. If the copper PCB with FR4 substrate layer or the coaxial/twinax cable is used, we could obtain the velocity factor of 0.66 in the worst case. Consequently, the light path for the same bit rate $t_s$ will be 4.95~m. Although we do not have any cables in the system with comparable lengths, the worst data bit skew described by data sheets of the used components is $0.3 \cdot t_s$, which is 1.485~m. Therefore the length matching is not critical in our current design operating on the used sampling speed. The length matching may become critical in future versions with higher sampling rates, where the cable length must be matched. However SATA cabling technology is already prepared for that case and matched SATA cables are a standard merchandise.
123
 
127
 
124
\secc ADC modules design
128
\secc ADC modules design
125
 
129
 
126
There exist several standard ADC signalling formats currently used in communication with FPGA:
130
There exist several standard ADC signalling formats currently used in communication with FPGA:
127
 
131
 
128
\begitems
132
\begitems
129
  * DDR LVDS,
133
  * DDR LVDS,
130
  * JEDEC 204B,
134
  * JEDEC 204B,
131
  * JESD204A,
135
  * JESD204A,
132
  * Paralel LVDS,
136
  * Paralel LVDS,
133
  * Serdes,
137
  * Serdes,
134
  * serial LVDS.
138
  * serial LVDS.
135
\enditems
139
\enditems
136
 
140
 
137
As a result of our need to use the smallest number of cables possible, the choice fell on the serial LVDS format. A small number of differential pairs is an important parameter determining the construction complexity and reliability~\cite[serial-lvds]. No many currently existing ADC devices have this kind of digital interface. An ultrasound AFE device chips seem to be ideal for this purpose -- the chip has integrated both front-end amplifiers and filters. It has a drawback though. It is incapable of handling the differential input signal and has a relatively low dynamic range (as it consists only of 12bit ADC) and has many single ended ADC channels. Consequently, the scaling is possible only by a factor of 4 receivers (making 8 analog single ended channels).
141
As a result of our need to use the smallest number of cables possible, the choice fell on the serial LVDS format. A small number of differential pairs is an important parameter determining the construction complexity and reliability~\cite[serial-lvds]. No many currently existing ADC devices have this kind of digital interface. An ultrasound AFE device chips seem to be ideal for this purpose -- the chip has integrated both front-end amplifiers and filters. It has a drawback though. It is incapable of handling the differential input signal and has a relatively low dynamic range (as it consists only of 12bit ADC) and has many single ended ADC channels. Consequently, the scaling is possible only by a factor of 4 receivers (making 8 analog single ended channels).
138
 
142
 
139
If we add a requirement of a separate output for every analog channel and a 16bit depth, we find that there are only a few 2-Channel simultaneous sampling ADCs currently existing which meet these criteria. We have summarized those ADCs in Table~\ref[ADC-types].
143
If we add a requirement of a separate output for every analog channel and a 16bit depth, we find that there are only a few 2-Channel simultaneous sampling ADCs currently existing which meet these criteria. We have summarized those ADCs in Table~\ref[ADC-types].
140
 
144
 
141
\midinsert
145
\midinsert
142
\typosize[9/11] \def\tabiteml{ }\let\tabitemr=\tabiteml
146
\typosize[9/11] \def\tabiteml{ }\let\tabitemr=\tabiteml
143
\clabel[ADC-types]{Available ADC types}
147
\clabel[ADC-types]{Available ADC types}
144
\ctable{lccccccc}{
148
\ctable{lccccccc}{
145
\hfil ADC Type & LTC2271 & LTC2190 & LTC2191 & LTC2192 & LTC2193 & LTC2194 & LTC2195 \cr
149
\hfil ADC Type & LTC2271 & LTC2190 & LTC2191 & LTC2192 & LTC2193 & LTC2194 & LTC2195 \cr
146
SNR [dB] & 84.1 & 77 & 77 & 77 & 76.8 & 76.8 & 76.8  \cr
150
SNR [dB] & 84.1 & 77 & 77 & 77 & 76.8 & 76.8 & 76.8  \cr
147
SFDR [dB] & 99 & 90 & 90 & 90 & 90 & 90 & 90  \cr
151
SFDR [dB] & 99 & 90 & 90 & 90 & 90 & 90 & 90  \cr
148
S/H Bandwidth [MHz] & 200 & \multispan6 550 \strut \cr
152
S/H Bandwidth [MHz] & 200 & \multispan6 550 \strut \cr
149
Sampling rate [MSPS] & 20 & 25 & 40 & 65 & 80 &  105 & 125  \cr
153
Sampling rate [MSPS] & 20 & 25 & 40 & 65 & 80 &  105 & 125  \cr
150
Configuration & \multispan7 SPI \strut \cr
154
Configuration & \multispan7 SPI \strut \cr
151
Package & \multispan7 \hfil 52-Lead (7mm $\times$ 8mm) QFN \hfil \strut \cr
155
Package & \multispan7 \hfil 52-Lead (7mm $\times$ 8mm) QFN \hfil \strut \cr
152
}
156
}
153
\caption/t The summary of the currently available ADC types and theirs characteristics.
157
\caption/t The summary of the currently available ADC types and theirs characteristics.
154
\endinsert
158
\endinsert
155
 
159
 
156
All parts in this category are compatible with one board layout. The main differences lay in the sampling frequency and in the signal to noise ratio, with the slowest having a maximum sampling frequency of 20~MSPS. However, all of them have a minimal sampling frequency of 5~MSPS and all are configurable over a serial interface (SPI). SPI seems to be a standard interface used in high-end ADC chips made by the largest manufacturers (Analog Devices, Linear technology, Texas instruments, Maxim integrated, etc.).  For the first testing realisation, we have selected two slowest types for our evaluation design -- LTC2271 and LTC2190. Following that, a PCB for this part have been designed.
160
All parts in this category are compatible with one board layout. The main differences lay in the sampling frequency and in the signal to noise ratio, with the slowest having a maximum sampling frequency of 20~MSPS. However, all of them have a minimal sampling frequency of 5~MSPS and all are configurable over a serial interface (SPI). SPI seems to be a standard interface used in high-end ADC chips made by the largest manufacturers (Analog Devices, Linear technology, Texas instruments, Maxim integrated, etc.).  For the first testing realisation, we have selected two slowest types for our evaluation design -- LTC2271 and LTC2190. Following that, a PCB for this part have been designed.
157
We have decided that ADCdual01A modules will have a standard MLAB construction layout with four mounting holes in corners aligned in defined raster of 400 mils.
161
We have decided that ADCdual01A modules will have a standard MLAB construction layout with four mounting holes in corners aligned in defined raster of 400 mils.
158
 
162
 
159
Data serial data outputs of ADC modules should be connected directly by LVDS signalling levels conducted by SATA cables to FPGAs for the basic primary signal processing. The ADC chips used in the modules have a selectable bit width of data output bus and thus the output SATA connectors have signals arranged to contain a single bit from every ADC channel.  This creates a signal concept enabling a selection of the proper bus bit-width according to the sampling rate (the higher bus bit-width downgrades signalling speed and vice versa.)
163
Data serial data outputs of ADC modules should be connected directly by LVDS signalling levels conducted by SATA cables to FPGAs for the basic primary signal processing. The ADC chips used in the modules have a selectable bit width of data output bus and thus the output SATA connectors have signals arranged to contain a single bit from every ADC channel.  This creates a signal concept enabling a selection of the proper bus bit-width according to the sampling rate (the higher bus bit-width downgrades signalling speed and vice versa.)
160
 
164
 
161
In order to connect the above mentioned signalling layout, miniSAS to multiple SATA cable is used as described in Section~\ref[signal-cables].
165
In order to connect the above mentioned signalling layout, miniSAS to multiple SATA cable is used as described in Section~\ref[signal-cables].
162
 
166
 
163
KiCAD design suite had been chosen for PCB layout. As a part of work on the thesis, new PCB footprints for FMC, SATA, ADCs a and miniSAS connectors have been designed and were committed to official KiCAD GitHub library repository. Thus, they are now publicly available.
167
KiCAD design suite had been chosen for PCB layout. As a part of work on the thesis, new PCB footprints for FMC, SATA, ADCs a and miniSAS connectors have been designed and were committed to official KiCAD GitHub library repository. Thus, they are now publicly available.
164
 
168
 
165
ADCdual01A module has several digital data output formats. Difference between these modes lays in the number of differential pairs used:
169
ADCdual01A module has several digital data output formats. Difference between these modes lays in the number of differential pairs used:
166
 
170
 
167
\begitems
171
\begitems
168
    * 1-lane mode,
172
    * 1-lane mode,
169
    * 2-lane mode,
173
    * 2-lane mode,
170
    * 4-lane mode.
174
    * 4-lane mode.
171
\enditems
175
\enditems
172
 
176
 
173
All of the above-mentioned modes are supported by the module design. For the discussed data acquisition system, the 1-lane mode was selected. The 1-lane mode allows a minimal number of differential pairs between ADCdual01A and FPGA. Digital signalling scheme used in the 1-lane mode is shown in Figure~\ref[1-line-out].
177
All of the above-mentioned modes are supported by the module design. For the discussed data acquisition system, the 1-lane mode was selected. The 1-lane mode allows a minimal number of differential pairs between ADCdual01A and FPGA. Digital signalling scheme used in the 1-lane mode is shown in Figure~\ref[1-line-out].
174
 
178
 
175
\midinsert
179
\midinsert
176
\clabel[1-line-out]{Single line ADC output signals}
180
\clabel[1-line-out]{Single line ADC output signals}
177
\picw=15cm \cinspic ./img/ADC_single_line_output.png
181
\picw=15cm \cinspic ./img/ADC_single_line_output.png
178
\caption/f Digital signalling schema for 1-line ADC digital output mode.
182
\caption/f Digital signalling schema for 1-line ADC digital output mode.
179
\endinsert
183
\endinsert
180
 
184
 
181
ADCdual01A parameters can be set either by jumper setup (referred to as a parallel programming  in the device's data sheet) or by SPI interface. SPI interface has been chosen for our system, because of the parallel programming's lack of options (test pattern output setup for example).
185
ADCdual01A parameters can be set either by jumper setup (referred to as a parallel programming  in the device's data sheet) or by SPI interface. SPI interface has been chosen for our system, because of the parallel programming's lack of options (test pattern output setup for example).
182
 
186
 
183
Figure~\ref[adcdual-preview] shows realized ADCdual01A module. Complete schematic diagram of ADCdual01A module board is included in Appendix~\ref[adc-scheme].
187
Figure~\ref[adcdual-preview] shows realized ADCdual01A module. Complete schematic diagram of ADCdual01A module board is included in Appendix~\ref[adc-scheme].
184
 
188
 
185
\midinsert
189
\midinsert
186
\clabel[adcdual-preview]{Preview of designed ADCdual PCB}
190
\clabel[adcdual-preview]{Preview of designed ADCdual PCB}
187
\picw=10cm \cinspic ./img/ADCdual01A_Top_Big.JPG
191
\picw=10cm \cinspic ./img/ADCdual01A_Top_Big.JPG
188
\picw=10cm \cinspic ./img/ADCdual01A_Bottom_Big.JPG
192
\picw=10cm \cinspic ./img/ADCdual01A_Bottom_Big.JPG
189
\caption/f Realised PCB of ADCdual01A module. Differential pairs routings are clearly visible.
193
\caption/f Realised PCB of ADCdual01A module. Differential pairs routings are clearly visible.
190
\endinsert
194
\endinsert
191
 
195
 
192
 
196
 
193
 
197
 
194
\secc ADC modules interface
198
\secc ADC modules interface
195
 
199
 
196
Both of the ADCdual01A modules were connected to FPGA ML605 board trough FMC2DIFF01A adapter board. The design of this adapter expects the presence of FMC LPC connector on host side. It is designed to meet the VITA 57 standard specifications for boards which support region 1 and region 3. VITA 57 regions are explained in Figure~\ref[VITA57-regions].
200
Both of the ADCdual01A modules were connected to FPGA ML605 board trough FMC2DIFF01A adapter board. The design of this adapter expects the presence of FMC LPC connector on host side. It is designed to meet the VITA 57 standard specifications for boards which support region 1 and region 3. VITA 57 regions are explained in Figure~\ref[VITA57-regions].
197
This industry standard guarantees the compatibility with other FPGA boards that have FMC LPC connectors for Mezzanine Card. Schematic diagram of designed adapter board is included in Appendix~\ref[fmc-scheme].
201
This industry standard guarantees the compatibility with other FPGA boards that have FMC LPC connectors for Mezzanine Card. Schematic diagram of designed adapter board is included in Appendix~\ref[fmc-scheme].
198
 
202
 
199
The primary purpose of the PCB is to enable the connection of ADC modules located outside the PC case with ML605 development board. (In PC box analog circuits cannot be realized without the use of massive RFI mitigation techniques).
203
The primary purpose of the PCB is to enable the connection of ADC modules located outside the PC case with ML605 development board. (In PC box analog circuits cannot be realized without the use of massive RFI mitigation techniques).
200
Differential signalling connectors should be used for conducting digital signal over relatively long cables. The signal integrity sensitive links (clocks) are equipped with output driver and translator to LVPECL logic for better signal transmission quality.
204
Differential signalling connectors should be used for conducting digital signal over relatively long cables. The signal integrity sensitive links (clocks) are equipped with output driver and translator to LVPECL logic for better signal transmission quality.
201
 
205
 
202
LVPECL level signal connectors on FMC2DIFF01A board are dedicated to transmit the clock signals. We have selected  the SY55855V and SY55857L dual translators. Dual configuration in useful due to fact, that SATA cable contains two differential pairs.
206
LVPECL level signal connectors on FMC2DIFF01A board are dedicated to transmit the clock signals. We have selected  the SY55855V and SY55857L dual translators. Dual configuration in useful due to fact, that SATA cable contains two differential pairs.
203
 
207
 
204
The SY55855V is a fully differential, CML/PECL/LVPECL-to-LVDS translator. It achieves LVDS signalling up to 1.5Gbps, depending on the distance and the characteristics of the media and noise coupling sources.
208
The SY55855V is a fully differential, CML/PECL/LVPECL-to-LVDS translator. It achieves LVDS signalling up to 1.5Gbps, depending on the distance and the characteristics of the media and noise coupling sources.
205
LVDS is intended to drive 50 $\Omega$ impedance transmission line media such as PCB traces, backplanes, or cables. SY55855V inputs can be terminated with a single resistor between the true and the complement pins of a given input \cite[SY55855V-chip].
209
LVDS is intended to drive 50 $\Omega$ impedance transmission line media such as PCB traces, backplanes, or cables. SY55855V inputs can be terminated with a single resistor between the true and the complement pins of a given input \cite[SY55855V-chip].
206
 
210
 
207
The SY55857L is a fully differential, a high-speed dual translator optimized for accepting any logic standard from the single-ended TTL/CMOS to differential LVDS, HSTL, or CML and translate it to LVPECL. Translation is guaranteed for speeds up to 2.5Gbps (2.5GHz toggle frequency). The SY55857L does not internally terminate its inputs, as different interfacing standards have different termination requirements\cite[SY55857L-chip].
211
The SY55857L is a fully differential, a high-speed dual translator optimized for accepting any logic standard from the single-ended TTL/CMOS to differential LVDS, HSTL, or CML and translate it to LVPECL. Translation is guaranteed for speeds up to 2.5Gbps (2.5GHz toggle frequency). The SY55857L does not internally terminate its inputs, as different interfacing standards have different termination requirements\cite[SY55857L-chip].
208
 
212
 
209
Inputs of both used chips are terminated accordingly to the used logic. The LVDS input is terminated differentially by 100~$\Omega$ resistor between the positive and the negative inputs. PECL input is terminated by Thevenin resistor network. Thevenin termination method was selected as optimal one, due to the absence of a proper power voltage (1.3~V) for the direct termination by 50~$\Omega$ resistors. Termination on FPGA side is realized directly by settings the proper digital logic type on input pins.
213
Inputs of both used chips are terminated accordingly to the used logic. The LVDS input is terminated differentially by 100~$\Omega$ resistor between the positive and the negative inputs. PECL input is terminated by Thevenin resistor network. Thevenin termination method was selected as optimal one, due to the absence of a proper power voltage (1.3~V) for the direct termination by 50~$\Omega$ resistors. Termination on FPGA side is realized directly by settings the proper digital logic type on input pins.
210
 
214
 
211
 
215
 
212
\midinsert
216
\midinsert
213
\clabel[VITA57-regions]{VITA57 board geometry}
217
\clabel[VITA57-regions]{VITA57 board geometry}
214
\picw=10cm \cinspic ./img/VITA57_regions.png
218
\picw=10cm \cinspic ./img/VITA57_regions.png
215
\caption/f Definition of VITA57 regions.
219
\caption/f Definition of VITA57 regions.
216
\endinsert
220
\endinsert
217
 
221
 
218
Three differential logic input/output, one PECL input and one PECL output SATA connectors and two miniSAS connectors are populated on this board.  This set of connectors allows a connection of any number of ADC modules within the range of 1 to 8. ADC data outputs should be connected to the miniSAS connectors, while other supporting signals should be routed directly to SATA connectors on adapter.
222
Three differential logic input/output, one PECL input and one PECL output SATA connectors and two miniSAS connectors are populated on this board.  This set of connectors allows a connection of any number of ADC modules within the range of 1 to 8. ADC data outputs should be connected to the miniSAS connectors, while other supporting signals should be routed directly to SATA connectors on adapter.
219
 
223
 
220
Lengths of the differential pairs routed on PCB of the module are not matched between the pairs. The length variation of differential pairs is not critical in our design according to facts discussed in Section~\ref[diff-signaling]. Nevertheless, signals within differential pairs themselves are matched for length. Internal signal trace length matching of differential pairs is mandatory in order to minimize jitter and avoid a dynamic logic hazard conditions on digital signals, that represents the worst scenario. Thus the clocks signals are routed in the most precise way on all designed boards.
224
Lengths of the differential pairs routed on PCB of the module are not matched between the pairs. The length variation of differential pairs is not critical in our design according to facts discussed in Section~\ref[diff-signaling]. Nevertheless, signals within differential pairs themselves are matched for length. Internal signal trace length matching of differential pairs is mandatory in order to minimize jitter and avoid a dynamic logic hazard conditions on digital signals, that represents the worst scenario. Thus the clocks signals are routed in the most precise way on all designed boards.
221
 
225
 
222
The signal configuration used in our trial design is described in Tables~\ref[minisas-interface], \ref[SPI-system] and \ref[clock-interconnections].
226
The signal configuration used in our trial design is described in Tables~\ref[minisas-interface], \ref[SPI-system] and \ref[clock-interconnections].
223
 
227
 
224
 
228
 
225
\midinsert \clabel[minisas-interface]{miniSAS differential pairs connections}
229
\midinsert \clabel[minisas-interface]{miniSAS differential pairs connections}
226
\ctable {cccc}
230
\ctable {cccc}
227
{
231
{
228
miniSAS	&	SATA pair	&	FMC signal	&	Used as	\cr
232
miniSAS	&	SATA pair	&	FMC signal	&	Used as	\cr
229
P0	&	1	&	LA03	&	 not used 	\cr
233
P0	&	1	&	LA03	&	 not used 	\cr
230
P0	&	2	&	LA04	&	 not used 	\cr
234
P0	&	2	&	LA04	&	 not used 	\cr
231
P1	&	1	&	LA08	&	 not used 	\cr
235
P1	&	1	&	LA08	&	 not used 	\cr
232
P1	&	2	&	LA07	&	 not used 	\cr
236
P1	&	2	&	LA07	&	 not used 	\cr
233
P2	&	1	&	LA16	&	ADC1  CH1 (LTC2190)	\cr
237
P2	&	1	&	LA16	&	ADC1  CH1 (LTC2190)	\cr
234
P2	&	2	&	LA11	&	ADC1  CH2 (LTC2190) 	\cr
238
P2	&	2	&	LA11	&	ADC1  CH2 (LTC2190) 	\cr
235
P3	&	1	&	LA17	&	ADC2 CH1 (LTC2271)	\cr
239
P3	&	1	&	LA17	&	ADC2 CH1 (LTC2271)	\cr
236
P3	&	2	&	LA15	&	ADC2 CH2 (LTC2271)	\cr
240
P3	&	2	&	LA15	&	ADC2 CH2 (LTC2271)	\cr
237
}
241
}
238
\caption/t miniSAS (FMC2DIFF01A J7) signal connections between modules.
242
\caption/t miniSAS (FMC2DIFF01A J7) signal connections between modules.
239
\endinsert
243
\endinsert
240
 
244
 
241
 
245
 
242
\midinsert \clabel[SPI-system]{SPI configuration interface connections}
246
\midinsert \clabel[SPI-system]{SPI configuration interface connections}
243
\ctable {ccc}
247
\ctable {ccc}
244
{
248
{
245
SPI connection J7	&	FMC signal	&	Connected to	\cr
249
SPI connection J7	&	FMC signal	&	Connected to	\cr
246
SAS-AUX1	 &	LA14\_N	&	SPI DOUT	\cr
250
SAS-AUX1	 &	LA14\_N	&	SPI DOUT	\cr
247
SAS-AUX2	 &	LA14\_P	&	SPI CLK	\cr
251
SAS-AUX2	 &	LA14\_P	&	SPI CLK	\cr
248
SAS-AUX3	 &	LA12\_N	&	CE ADC1	\cr
252
SAS-AUX3	 &	LA12\_N	&	CE ADC1	\cr
249
SAS-AUX4	 &	LA12\_P	&	CE ADC2	\cr
253
SAS-AUX4	 &	LA12\_P	&	CE ADC2	\cr
250
SAS-AUX5	 &	LA13\_N	&	soldered to GND	\cr
254
SAS-AUX5	 &	LA13\_N	&	soldered to GND	\cr
251
SAS-AUX6	 &	LA13\_P	&	not used	\cr
255
SAS-AUX6	 &	LA13\_P	&	not used	\cr
252
SAS-AUX7	 &	LA09\_N	&	not used	\cr
256
SAS-AUX7	 &	LA09\_N	&	not used	\cr
253
SAS-AUX8	 &	LA09\_P	&	soldered to GND	\cr
257
SAS-AUX8	 &	LA09\_P	&	soldered to GND	\cr
254
}
258
}
255
\caption/t SPI system interconnections.
259
\caption/t SPI system interconnections.
256
\endinsert
260
\endinsert
257
 
261
 
258
SPI interface is used in an unusual way in this design. SPI Data outputs from ADCs are not connected anywhere and read back is not possible, thus the configuration written to registers in ADC module cannot be validated. We have not observed any problems with this system, but it may be a possible source of failures.
262
SPI interface is used in an unusual way in this design. SPI Data outputs from ADCs are not connected anywhere and read back is not possible, thus the configuration written to registers in ADC module cannot be validated. We have not observed any problems with this system, but it may be a possible source of failures.
259
 
263
 
260
Realized FMC2DIFF01A module is shown in Figure~\ref[FMC-realized].
264
Realized FMC2DIFF01A module is shown in Figure~\ref[FMC-realized].
261
 
265
 
262
\midinsert \clabel[clock-interconnections]{System clock interconnections}
266
\midinsert \clabel[clock-interconnections]{System clock interconnections}
263
\ctable {lccc}
267
\ctable {lccc}
264
{
268
{
265
Signal	&	FMC signal	&	FMC2DIFF01A	&	ADCdual01A	\cr
269
Signal	&	FMC signal	&	FMC2DIFF01A	&	ADCdual01A	\cr
266
DCO	&	CLK1\_M2C	&	J5-1	&	J13-1	\cr
270
DCO	&	CLK1\_M2C	&	J5-1	&	J13-1	\cr
267
FR	&	LA18\_CC	&	J10-1	&	J12-1	\cr
271
FR	&	LA18\_CC	&	J10-1	&	J12-1	\cr
268
ENC	&	LA01\_CC	&	J2-1(PECL OUT)	&	J3-1	\cr
272
ENC	&	LA01\_CC	&	J2-1(PECL OUT)	&	J3-1	\cr
269
SDGPSDO01A LO	&	CLK0\_M2C	&	J3-1 (PECL IN)	&	N/A	\cr
273
SDGPSDO01A LO	&	CLK0\_M2C	&	J3-1 (PECL IN)	&	N/A	\cr
270
}
274
}
271
\caption/t Clock system interconnections.
275
\caption/t Clock system interconnections.
272
\endinsert
276
\endinsert
273
 
277
 
274
\midinsert
278
\midinsert
275
\clabel[FMC-realized]{Realized FMC2DIFF01A module}
279
\clabel[FMC-realized]{Realized FMC2DIFF01A module}
276
\picw=10cm \cinspic ./img/FMC2DIFF_Top_Big.JPG
280
\picw=10cm \cinspic ./img/FMC2DIFF_Top_Big.JPG
277
\picw=10cm \cinspic ./img/FMC2DIFF_Bottom_Big.JPG
281
\picw=10cm \cinspic ./img/FMC2DIFF_Bottom_Big.JPG
278
\caption/f Realised PCB of FMC2DIFF01A module.
282
\caption/f Realised PCB of FMC2DIFF01A module.
279
\endinsert
283
\endinsert
280
 
284
 
281
 
285
 
282
\secc FPGA data concentrator
286
\secc FPGA data concentrator
283
 
287
 
284
 
288
 
285
This section describes a specification of data concentrator built using FPGA board. The HDL implementation was created by my colleague Ond{\v r}ej Sychrovsk{\'y}. Detailed description of the currently implemented FPGA functions can be found in a separate paper~\cite[fpga-middleware].
289
This section describes a specification of data concentrator built using FPGA board. The HDL implementation was created by my colleague Ond{\v r}ej Sychrovsk{\'y}. Detailed description of the currently implemented FPGA functions can be found in a separate paper~\cite[fpga-middleware].
286
 
290
 
287
\midinsert
291
\midinsert
288
\clabel[ML605-development-board]{ML605 development board}
292
\clabel[ML605-development-board]{ML605 development board}
289
\picw=10cm \cinspic ./img/ML605-board.jpg
293
\picw=10cm \cinspic ./img/ML605-board.jpg
290
\caption/f FPGA ML605 development board.
294
\caption/f FPGA ML605 development board.
291
\endinsert
295
\endinsert
292
 
296
 
293
Several tasks in the separate IP blocks are performed by FPGA. In the first block, the FPGA prepares a sampling clock for ADCdual01A modules by dividing the signal from the main local oscillator. This task represents a separate block in FPGA and runs asynchronously to other logical circuits. The second block is a SPI configuration module, which sends configuration words to ADC modules and it is activated by opening of Xillybus interface file. The third block represents the main module, which resolves ADC -- PC communication itself and it communicates via PCIe, collect data from ADC hardware and creates data packet, Table~\ref[xillybus-interface]. The last block is activated after the ADC is configurated via SPI.
297
Several tasks in the separate IP blocks are performed by FPGA. In the first block, the FPGA prepares a sampling clock for ADCdual01A modules by dividing the signal from the main local oscillator. This task represents a separate block in FPGA and runs asynchronously to other logical circuits. The second block is a SPI configuration module, which sends configuration words to ADC modules and it is activated by opening of Xillybus interface file. The third block represents the main module, which resolves ADC -- PC communication itself and it communicates via PCIe, collect data from ADC hardware and creates data packet, Table~\ref[xillybus-interface]. The last block is activated after the ADC is configurated via SPI.
294
 
298
 
295
The communication over PCIe is managed by proprietary IP Core and Xillybus driver, which transfers data from FPGA registers to host PC. Data appear in a system device file named  "/dev/xillybus_data2_r" on the host computer. Binary data which appear in this file after its opening are shown in Table~\ref[xillybus-interface].
299
The communication over PCIe is managed by proprietary IP Core and Xillybus driver, which transfers data from FPGA registers to host PC. Data appear in a system device file named  "/dev/xillybus_data2_r" on the host computer. Binary data which appear in this file after its opening are shown in Table~\ref[xillybus-interface].
296
 
300
 
297
\midinsert
301
\midinsert
298
\def\tabiteml{ }\let\tabitemr=\tabiteml
302
\def\tabiteml{ }\let\tabitemr=\tabiteml
299
\clabel[xillybus-interface]{Grabber binary output format}
303
\clabel[xillybus-interface]{Grabber binary output format}
300
\ctable {lccccccccc}{
304
\ctable {lccccccccc}{
301
\hfil & \multispan9 \hfil 160bit packet \hfil \strut \crl \tskip4pt
305
\hfil & \multispan9 \hfil 160bit packet \hfil \strut \crl \tskip4pt
302
Data name &  FRAME  & \multispan2 \hfil ADC1 CH1 \hfil & \multispan2 \hfil ADC1 CH2 \hfil & \multispan2  \hfil ADC2 CH1 \hfil & \multispan2 \hfil ADC2 CH2 \hfil \strut  \cr
306
Data name &  FRAME  & \multispan2 \hfil ADC1 CH1 \hfil & \multispan2 \hfil ADC1 CH2 \hfil & \multispan2  \hfil ADC2 CH1 \hfil & \multispan2 \hfil ADC2 CH2 \hfil \strut  \cr
303
Data type & uint32 & int16 & int16 & int16 & int16 & int16 & int16 & int16 & int16 \cr
307
Data type & uint32 & int16 & int16 & int16 & int16 & int16 & int16 & int16 & int16 \cr
304
Content & saw signal & $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ \cr
308
Content & saw signal & $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ \cr
305
}
309
}
306
\caption/t System device "/dev/xillybus_data2_r" data format.
310
\caption/t System device "/dev/xillybus_data2_r" data format.
307
\endinsert
311
\endinsert
308
 
312
 
309
The data packet block which is carried on PCI Express is described in Table~\ref[xillybus-interface]. The data packet consist of several 32bit words. The first word contains FRAME number and it is filled with saw signal for now, with incremental step taking place every data packet transmission. The following data words contain samples from ADCs' first and second channel. Samples from every channel are transmitted in pairs of two samples. Number of ADC channels is expandable according to the number of physically connected channels. An CRC word may possibly be added in the future to the end of the transmission packet for data integrity validation.
313
The data packet block which is carried on PCI Express is described in Table~\ref[xillybus-interface]. The data packet consist of several 32bit words. The first word contains FRAME number and it is filled with saw signal for now, with incremental step taking place every data packet transmission. The following data words contain samples from ADCs' first and second channel. Samples from every channel are transmitted in pairs of two samples. Number of ADC channels is expandable according to the number of physically connected channels. An CRC word may possibly be added in the future to the end of the transmission packet for data integrity validation.
310
 
314
 
311
FRAME word at the beginning of data packet, now filled with incrementing and overflowing saw signal, is used to ensure that no data samples ale lost during the data transfers from FPGA. FRAME signal may be used in the future for pairing the ADC samples data packet with another data packet. This new additional data packet should carry meta-data information about the sample time jitter, current accuracy of the local oscillator frequency etc.
315
FRAME word at the beginning of data packet, now filled with incrementing and overflowing saw signal, is used to ensure that no data samples ale lost during the data transfers from FPGA. FRAME signal may be used in the future for pairing the ADC samples data packet with another data packet. This new additional data packet should carry meta-data information about the sample time jitter, current accuracy of the local oscillator frequency etc.
312
 
316
 
313
HDL source codes for FPGA at a state in which it was used are included on the enclosed CD. Future development versions will be publicly available from MLAB sources repository~\cite[mlab-sdrx].
317
HDL source codes for FPGA at a state in which it was used are included on the enclosed CD. Future development versions will be publicly available from MLAB sources repository~\cite[mlab-sdrx].
314
 
318
 
315
\secc Data reading and recording
319
\secc Data reading and recording
316
 
320
 
317
In order to read the data stream from the ADC drive, we use Gnuradio software. Gnuradio suite consists of gnuradio-companion package which is a graphical tool for creating signal-flow graphs and generating Python flow-graph source code. This tool has been used to create a basic RAW data grabber to record and interactively view waterfall plots using the data streams output from ADC modules. The ADC recorder flow graph is shown in Figure~\ref[grabber-flow-graph].
321
In order to read the data stream from the ADC drive, we use Gnuradio software. Gnuradio suite consists of gnuradio-companion package which is a graphical tool for creating signal-flow graphs and generating Python flow-graph source code. This tool has been used to create a basic RAW data grabber to record and interactively view waterfall plots using the data streams output from ADC modules. The ADC recorder flow graph is shown in Figure~\ref[grabber-flow-graph].
318
 
322
 
319
\midinsert
323
\midinsert
320
\clabel[grabber-flow-graph]{Gnuradio flow graph for signal grabbing}
324
\clabel[grabber-flow-graph]{Gnuradio flow graph for signal grabbing}
321
\picw=\pdfpagewidth \setbox0=\hbox{\inspic ./img/screenshots/Grabber.grc.png }
325
\picw=\pdfpagewidth \setbox0=\hbox{\inspic ./img/screenshots/Grabber.grc.png }
322
\par\nobreak \vskip\wd0 \vskip-\ht0
326
\par\nobreak \vskip\wd0 \vskip-\ht0
323
\centerline {\kern\ht0 \pdfsave\pdfrotate{90}\rlap{\box0}\pdfrestore}
327
\centerline {\kern\ht0 \pdfsave\pdfrotate{90}\rlap{\box0}\pdfrestore}
324
\caption/f The ADC recorder flow graph created in gnuradio-companion.
328
\caption/f The ADC recorder flow graph created in gnuradio-companion.
325
\endinsert
329
\endinsert
326
 
330
 
327
\midinsert
331
\midinsert
328
\clabel[grabber-data]{User interface window of a running ADC grabber}
332
\clabel[grabber-data]{User interface window of a running ADC grabber}
329
\picw=15cm \cinspic ./img/screenshots/Grabber_running.png
333
\picw=15cm \cinspic ./img/screenshots/Grabber_running.png
330
\caption/f User interface window of a running ADC grabber.
334
\caption/f User interface window of a running ADC grabber.
331
\endinsert
335
\endinsert
332
 
336
 
333
The interactive grabber-viewer user interface shows live oscilloscope-like time-value display for all data channels and live time-frequency scrolling display (a waterfall view) for displaying the frequency components of the grabbed signal. The signal is grabbed to the file with the exactly same format as described in Table \ref[xillybus-interface]. An example of interactive grabber-viewer showing a part of the grabbed signal is in Figure~\ref[grabber-data].
337
The interactive grabber-viewer user interface shows live oscilloscope-like time-value display for all data channels and live time-frequency scrolling display (a waterfall view) for displaying the frequency components of the grabbed signal. The signal is grabbed to the file with the exactly same format as described in Table \ref[xillybus-interface]. An example of interactive grabber-viewer showing a part of the grabbed signal is in Figure~\ref[grabber-data].
334
 
338
 
335
 
339
 
336
 
340