Subversion Repositories svnkaklik

Rev

Rev 1124 | Rev 1126 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 1124 Rev 1125
Line 1... Line 1...
1
\chap Trial design
1
\chap Trial design
2
 
2
 
3
The whole design of radioastronomy receiver digitalization unit is constructed to be used in a wide range of applications and tasks related to digitalization of signal from radioastronomy receivers. A good illustrating problem for its use is a signal digitalisation from multiple antenna arrays. This design will eventually become a part of MLAB Advanced Radio Astronomy System. 
3
The whole design of radioastronomy receiver digitalization unit is constructed to be used in a wide range of applications and tasks related to digitalization of signal from radioastronomy receivers. A good illustrating problem for its use is a signal digitalisation from multiple antenna arrays. 
4
 
4
 
5
\sec Required parameters
5
\sec Required parameters
6
 
6
 
-
 
7
We require following technical parameter, to supersede existing digitalization units solutions. 
7
Wide dynamical range and high IP3 are desired. The receiver must accept wide dynamic signals because a typical radioastronomical signal has a form of a weak signal covered by a strong man-made noise.    
8
Primarily, we need wide dynamical range and high IP3. The receiver must accept wide dynamic signals because a typical radioastronomical signal has a form of a weak signal covered by a strong man-made noise or other undesired noises as lighting, Sun emissions etc. 
8
 
9
 
9
Summary of main required parameters follows 
10
Summary of other additional required parameters follows 
10
 
11
 
11
\begitems
12
\begitems
12
  * Dynamical range better than 80 dB
13
  * Dynamical range better than 80 dB see section \ref[dynamic-range-theory] for explanation
13
  * Phase stability between channels 
14
  * Phase stability between channels 
14
  * Noise (all types)
15
  * Low noise (all types)
15
  * Sampling jitter better than 100 metres
16
  * Sampling jitter better than 100 metres
16
  * Support for any number of receivers in range 1 to 8
17
  * Support for any number of receivers in range 1 to 8
17
\enditems
18
\enditems
18
 
19
 
-
 
20
Now we analyzes several parameters more precisely. 
-
 
21
 
19
\sec Sampling frequency
22
\sec Sampling frequency
20
 
23
 
21
Sampling frequency is limited by the technical constrains in the trial design. This parameter is especially limited by the sampling frequencies of analog-to-digital conversion chips available on the market and interface bandwidth. Combination of the required parameters -- dynamic range requiring at least 16bit and a minimum sampling frequency of 1$\ $MSPS leads to need of high end ADC chips which does not support such low sampling frequencies at all. Their minimum sampling frequency is 5$\ $MSPS.
24
Sampling frequency is not limited by the technical constrains in the trial design. This parameter is especially limited by the sampling frequencies of analog-to-digital conversion chips available on the market and interface bandwidth. Combination of the required parameters -- dynamic range requiring at least 16bit and a minimum sampling frequency of 1$\ $MSPS leads to need of high end ADC chips which does not support such low sampling frequencies at all. Their minimum sampling frequency is 5$\ $MSPS.
22
 
-
 
23
We calculate minimum data bandwidth data rate for eight receivers, 2 bytes per sample and 5$\ $MSPS as $8 \cdot 2 \cdot 5\cdot 10^6 = 80\ $MB/s. Such data rate is at the limit of real writing speed o classical HDD and it is almost double of real bandwidth of USB 2.0 interface. 
-
 
24
 
25
 
-
 
26
We calculate minimum data bandwidth data rate for eight receivers, 2 bytes per sample and 5$\ $MSPS as $8 \cdot 2 \cdot 5\cdot 10^6 = 80\ $MB/s. Such data rate is at the limit of real writing speed o classical HDD and it is almost double of real bandwidth of USB 2.0 interface. As result of this facts we must use faster interface. Faster interface is especially needed in case where we need faster sampling rates than ADC minimal 5$\ $MSPS sample rate.
-
 
27
Most perspective interfaces for use in our type of application is USB 3.0 or PCI Express interface. Although USB 3.0 is new technology without availability of good development tools. We used PCI Express interface as simplest and most reliable solution. 
25
 
28
 
26
\sec System scalability
29
\sec System scalability
27
 
30
 
28
For analogue channels scalability, special parameters of ADC modules are required. Ideally, there should be a separate output for each analogue channel in ADC module. ADC module must also have separate outputs for frames and data output clocks. These parameters allow for conduction at relatively low digital data rates. As a result, the digital signal can be conducted even through long wires. 
31
For analogue channels scalability, special parameters of ADC modules are required. Ideally, there should be a separate output for each analogue channel in ADC module. ADC module must also have separate outputs for frames and data output clocks. These parameters allow for conduction at relatively low digital data rates. As a result, the digital signal can be conducted even through long wires. Modular concept allows separation from central logic which support optimization of number analogue channels.  
29
 
32
 
30
Clock signal will be handled distinctively in our scalable design. Selected ADC chip are guaranteed to have defined clock skew between sampling and data output clock. 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.). If more robustness is required from designs DCO and FR signal may be collected from other modules and routed through an voting logic which will correct possible signal defects.  
33
Clock and data signals will be then handled distinctively in our modular scalable design. Selected ADC chip are guaranteed to have defined clock skew between sampling and data output clock. 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 final application, DCO and FR signal may be collected from other modules and routed through an voting logic which will correct possible signal defects.  
31
 
34
 
32
This system concept allows for scalability, that is technically limited by a number of differential signals on host side and its computational power.  There is another advantage of scalable data acquisition system -- an economic one. Observatories or end users can make a choice of how much money are they willing to spent on radioastronomy receiver system. This freedom of choice is especially useful for science sites without previous experience in radioastronomy observations.     
35
This system concept allows for scalability, that is technically limited by a number of differential signals on host side and its computational power.  There is another advantage of scalable data acquisition system -- an economic one. Observatories or end users can make a choice of how much money are they willing to spent on radioastronomy receiver system. This freedom of choice is especially useful for science sites without previous experience in radioastronomy observations.     
33
 
36
 
34
\secc Differential signaling 
37
\secc Differential signaling 
35
 
38
 
36
The concept of scalable design requires relatively long circuit traces between ADC and 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 an advantage in noise retention typically produced by digital circuits. Those digital circuits, such as FPGA or other flip-flops block and circuit traces, usually work at high frequencies and emit wide-band noise with relatively low power. In such cases any increase in a distance between the noise source and analog signal source increase S/N significantly. However, at the same time a long distance brings problems with the digital signal transmission between ADC and computational unit. This obstacle should be resolved more easily in free-space than on board routing. The high-quality differential signalling shielded cables should be used. This technology has two advantages over PCB signal routing. First, it can use twisted pair of wires for leak inductance suppression in signal path and second, the twisted pair may additionally be shielded by uninterrupted metal foil.              
39
The above mentioned concept of scalable design requires relatively long circuit traces between ADC and 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 an advantage in noise retention typically produced by digital circuits. Those digital circuits, such as FPGA, Ethernet or other flip-flops blocks and circuit traces, usually work at high frequencies and emit wide-band noise with relatively low power. In such cases any increase in a distance between the noise source and analog signal source increase S/N significantly. However, at the same time a long distance brings problems with the digital signal transmission between ADC and computational unit. But this obstacle should be resolved more easily in free-space than on board routing. The high-quality differential signalling shielded cables should be used such as massively produced and cheap SATA cables. This technology has two advantages over PCB signal routing. First, it can use twisted pair of wires for leak inductance suppression in signal path and second, the twisted pair may additionally be shielded by uninterrupted metal foil.              
37
 
40
 
38
\secc Phase matching
41
\secc Phase matching
39
 
42
 
40
For multiple antenna radioastronomy projects, system phase stability is a mandatory condition. It allows precise high resolution imaging of objects. 
43
For multiple antenna radioastronomy projects, system phase stability is a mandatory condition. It allows precise high resolution imaging of objects, increases signal to noise ratios in several observation methods and allows use of advanced algorithms for signal processing.
41
 
-
 
42
High phase stability in our scalable design is achieved through centralized frequency generation  and distribution with multi-output LVPECL hubs, that have equiphased outputs for multiple devices. LVPECL logic is used on every system critical clock signal distribution hub. LVPECL logic has advantage over LVDS in signal integrity robustness. LVPECL uses higher logical levels and higher signalling currents. Consumption currents of LVPECL logic are near constant over operating frequency range due to use of bipolar transistor this minimises voltage glitches which are typical for CMOS logic. One drawbacks of that parameters is high power consumption of LVPECL logic. 
-
 
43
 
44
 
44
This design ensures that all devices have access to the defined phase and known frequency.     
45
High phase stability in our scalable design is achieved through centralized frequency generation  and distribution with multi-output LVPECL hubs (CLKHUB02A), that have equiphased outputs for multiple devices. LVPECL logic is used on every system critical clock signal distribution hub. LVPECL logic has advantage over LVDS in signal integrity robustness. LVPECL uses higher logical levels and higher signalling currents. Power consumption of LVPECL logic are near constant over operating frequency range due to use of bipolar transistors this minimizes voltage glitches which are typical for CMOS logic. One drawbacks of that parameters is high power consumption of LVPECL logic which easily reach tens of milliamperes per device.  
45
 
46
 
-
 
47
This design ensures that all system devices have access to the defined phase and known frequency.     
46
 
48
 
47
\sec System description
49
\sec System description
48
 
50
 
49
In this section testing system will be described.
51
In this section testing system will be described.
50
 
52
 
51
\secc Frequency synthesis       
53
\secc Frequency synthesis       
52
 
54
 
53
We have used a centralized topology as a basis for frequency synthesis. One precise high-frequency and low-jitter digital oscillator has been used \cite[MLAB-GPSDO], while other working frequencies have been derived from it by the division of its signal. This central oscillator has a software defined GPS disciplined control loop for frequency stabilization.\fnote{SDGPSDO design has been developed in parallel to this diploma thesis as a related project, but it is not explicitly required by the diploma thesis.}
55
We have used a centralized topology as a basis for frequency synthesis. One precise high-frequency and low-jitter digital oscillator has been used \cite[MLAB-GPSDO], while other working frequencies have been derived from it by the division of its signal. This central oscillator has a software defined GPS disciplined control loop for frequency stabilization.\fnote{SDGPSDO design has been developed in parallel to this diploma thesis as a related project, but it is not explicitly required by the diploma thesis. Thus is described in separate document}
54
We have used methods of frequency monitoring compensation in order to meet modern requirements on radioastronomy equipment which needs precise frequency and phase stability over a wide scale for effective radioastronomy imaging. 
56
We have used new methods of software frequency monitoring and compensation in order to meet modern requirements on radioastronomy equipment which needs precise frequency and phase stability over a wide baseline scale for effective radioastronomy imaging. 
55
 
57
 
56
GPSDO device consists the Si570 chip with LVPECL output. Phase jitter of GPSDO is determined mainly by Si570 phase noise. Parameters of used Si570 from source \cite[si570-chip] are summarized in table \ref[LO-noise].
58
GPSDO device consists the Si570 chip with LVPECL output. Phase jitter of GPSDO is determined mainly by Si570 phase noise. Parameters of used Si570 from source \cite[si570-chip] are summarized in table \ref[LO-noise].
57
 
59
 
58
 
60
 
59
\midinsert \clabel[LO-noise]{Available ADC types}
61
\midinsert \clabel[LO-noise]{Available ADC types}
Line 66... Line 68...
66
100 [kHz]	&	–135	&	–121 \cr
68
100 [kHz]	&	–135	&	–121 \cr
67
1 [MHz]	&	–144	&	–134 \cr
69
1 [MHz]	&	–144	&	–134 \cr
68
10 [MHz]	&	–147	&	–146 \cr
70
10 [MHz]	&	–147	&	–146 \cr
69
100 [MHz]	&	n/a	&	–148 \cr
71
100 [MHz]	&	n/a	&	–148 \cr
70
}
72
}
71
\caption/t The summary of available ADC types and theirs characteristics. 
73
\caption/t Phase noise of used Silicon Laboratories Si570 chip. Offset frequency is measured from carrier frequency. Values are tabled for two district carrier frequencies.  
72
\endinsert
74
\endinsert
73
 
75
 
74
Every ADC module will be directly connected to CLKHUB02A module which takes sampling clock signal delivered by FPGA from main local oscillator.  This signal should use high quality differential signaling cable -- we should use SATA cable for this purpose. FPGA may slightly affect clock signal quality by additive noise, but has negligible effect in application where developed system will be used.
76
Every ADC module will be directly connected to CLKHUB02A module which takes sampling clock signal delivered by FPGA from main local oscillator.  This signal should use high quality differential signaling cable -- we should use SATA cable for this purpose. FPGA may slightly affect clock signal quality by additive noise, but has negligible effect in application where developed system will be used.
75
 
77
 
76
GPSDO design included in data acquisition system has special feature -- generates time marks for precise time-stamping of received signal. Timestamps are created by disabling of local oscillator for 100 us as result rectangle click in input signal is created which appears as horizontal line in spectrogram.   
78
GPSDO design included in data acquisition system has special feature -- generates time marks for precise time-stamping of received signal. Timestamps are created by disabling of local oscillator for 100 us as result rectangle click in input signal is created which appears as horizontal line in spectrogram.   
Line 110... Line 112...
110
\picw=10cm \cinspic ./img/ADCdual_Top.png
112
\picw=10cm \cinspic ./img/ADCdual_Top.png
111
\picw=10cm \cinspic ./img/ADCdual_Bottom.png
113
\picw=10cm \cinspic ./img/ADCdual_Bottom.png
112
\caption/f FPGA ML605 development board.
114
\caption/f FPGA ML605 development board.
113
\endinsert
115
\endinsert
114
 
116
 
-
 
117
<<<<<<< .mine
-
 
118
 
-
 
119
 
115
 
120
 
-
 
121
=======
-
 
122
 
-
 
123
>>>>>>> .r1124
116
\secc ADC selection
124
\secc ADC selection
117
 
125
 
118
There exist several ADC signaling formats currently used in communication with FPGA. 
126
There exist several ADC signaling formats currently used in communication with FPGA. 
119
 
127
 
120
\begitems
128
\begitems
Line 124... Line 132...
124
  * Paralel LVDS
132
  * Paralel LVDS
125
  * Serdes
133
  * Serdes
126
  * serial LVDS
134
  * serial LVDS
127
\enditems
135
\enditems
128
 
136
 
129
Because it uses the smallest number of differential pairs, the choice fell on the serial LVDS format. Small number of differential pairs is an important parameter determining the construction complexity and reliability\cite[serial-lvds]. 
137
Because we need to use the smallest number of cables, the choice fell on the serial LVDS format. Small number of differential pairs is an important parameter determining the construction complexity and reliability\cite[serial-lvds]. 
130
 
138
 
131
An ultrasound AFE chip seems 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 differential input signal and has a relatively low dynamic range (as it consists only of 12bit ADC). Because this IO has many ADC channels the scaling is possible only by a factor of 4 receivers (making 8 analogue channels).
139
An ultrasound AFE chip seems 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 differential input signal and has a relatively low dynamic range (as it consists only of 12bit ADC). Because this IO has many ADC channels the scaling is possible only by a factor of 4 receivers (making 8 analogue channels).
132
 
140
 
133
If we require a separate output for every analogue channel and a 16bit depth we find that there are only a few 2-Channel simultaneous sampling ADCs currently existing which meet these requirements.  We have summarized the ADCs in the following table \ref[ADC-type] 
141
If we require a separate output for every analogue channel and a 16bit depth we find that there are only a few 2-Channel simultaneous sampling ADCs currently existing which meet these requirements.  We have summarized the ADCs in the following table \ref[ADC-type] 
134
 
142
 
Line 199... Line 207...
199
 
207
 
200
The SY55855V is a fully differential, CML/PECL/LVPECL-to-LVDS translator. It achieves LVDS signaling 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 signaling up to 1.5Gbps, depending on the distance and the characteristics of the media and noise coupling sources.
201
LVDS is intended to drive 50 $\Omega$ impedance transmission
209
LVDS is intended to drive 50 $\Omega$ impedance transmission
202
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].
210
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].
203
 
211
 
204
The SY55857L is a fully differential, high-speed dual translator optimized to accept any logic standard from 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.
212
The SY55857L is a fully differential, high-speed dual translator optimized to accept any logic standard from 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].
205
 
-
 
206
 
213
 
-
 
214
Inputs of both used chips are terminated accordingly to used logic. The LVDS input is terminated differentially by 100 $\Omega$ resistor between positive and negative inputs. PECL input is terminated by Thevenin resistor network. Thevenin termination method was selected as optimal due to absence of proper power voltage (1,3 V) for direct termination by 50 $\Omega$ resistors. Termination on FPGA side is realized directly by settings proper digital logic on input pins.
207
 
215
 
208
\midinsert
216
\midinsert
209
\picw=10cm \cinspic ./img/ML605-board.jpg
217
\picw=10cm \cinspic ./img/ML605-board.jpg
210
\caption/f FPGA ML605 development board.
218
\caption/f FPGA ML605 development board.
211
\endinsert
219
\endinsert
Line 220... Line 228...
220
Several 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. 
228
Several 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. 
221
 
229
 
222
Lengths of differential pairs routed on PCB of the module are not matched between the pairs. Length variation of differential pairs is not critical in our design according to facts discussed in paragraph \ref[diff-signaling]. Nevertheless, signals within differential pairs themselves are matched for length. Internal signal tracing of the length matchting of differential pairs is mandatory in order to avoid a dynamic logic hazard conditions on digital signals. Thus clocks' signals are routed in the most precise way on all designed boards.
230
Lengths of differential pairs routed on PCB of the module are not matched between the pairs. Length variation of differential pairs is not critical in our design according to facts discussed in paragraph \ref[diff-signaling]. Nevertheless, signals within differential pairs themselves are matched for length. Internal signal tracing of the length matchting of differential pairs is mandatory in order to avoid a dynamic logic hazard conditions on digital signals. Thus clocks' signals are routed in the most precise way on all designed boards.
223
 
231
 
224
 
232
 
225
Signal configuration used in our trial design is described in the following tables. 
233
Signal configuration used in our trial design is described in the following tables \ref[minisas-interface], \ref[SPI-system] and \ref[clock-interconnections].
226
 
-
 
227
%% zapojeni SPI, FPGA zpatky necte konfiguraci, ale je tam na slepo nahravana.
-
 
228
 
234
 
229
 
235
 
230
 
-
 
231
\midinsert \clabel[minisas-interface]{Grabber binary output format}
236
\midinsert \clabel[minisas-interface]{miniSAS differential pairs connections}
232
\ctable {cccc}
237
\ctable {cccc}
233
{
238
{
234
miniSAS	&	SATA pair	&	FMC signal	&	Used as	\cr
239
miniSAS	&	SATA pair	&	FMC signal	&	Used as	\cr
235
P0	&	1	&	LA03	&	 not used 	\cr
240
P0	&	1	&	LA03	&	 not used 	\cr
236
P0	&	2	&	LA04	&	 not used 	\cr
241
P0	&	2	&	LA04	&	 not used 	\cr
Line 244... Line 249...
244
\caption/t miniSAS (FMC2DIFF01A J7) signal connections between modules. 
249
\caption/t miniSAS (FMC2DIFF01A J7) signal connections between modules. 
245
\endinsert
250
\endinsert
246
 
251
 
247
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. 
252
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. 
248
 
253
 
249
\midinsert \clabel[SPI-system]{Grabber binary output format}
254
\midinsert \clabel[SPI-system]{SPI configuration interface connections}
250
\ctable {ccc}
255
\ctable {ccc}
251
{
256
{
252
SPI connection J7	&	FMC signal	&	Connected to	\cr
257
SPI connection J7	&	FMC signal	&	Connected to	\cr
253
SAS-AUX1	 &	LA14\_N	&	SPI DOUT	\cr
258
SAS-AUX1	 &	LA14\_N	&	SPI DOUT	\cr
254
SAS-AUX2	 &	LA14\_P	&	SPI CLK	\cr
259
SAS-AUX2	 &	LA14\_P	&	SPI CLK	\cr
Line 261... Line 266...
261
}
266
}
262
\caption/t SPI system interconnections 
267
\caption/t SPI system interconnections 
263
\endinsert
268
\endinsert
264
 
269
 
265
 
270
 
266
\midinsert \clabel[clock-interconnections]{Grabber binary output format}
271
\midinsert \clabel[clock-interconnections]{System clock interconnections}
267
\ctable {lccc}
272
\ctable {lccc}
268
{
273
{
269
Signal	&	FMC signal	&	FMC2DIFF01A	&	ADCdual01A	\cr
274
Signal	&	FMC signal	&	FMC2DIFF01A	&	ADCdual01A	\cr
270
DCO	&	CLK1\_M2C	&	J5-1	&	J13-1	\cr
275
DCO	&	CLK1\_M2C	&	J5-1	&	J13-1	\cr
271
FR	&	LA18\_CC	&	J10-1	&	J12-1	\cr
276
FR	&	LA18\_CC	&	J10-1	&	J12-1	\cr
Line 277... Line 282...
277
 
282
 
278
 
283
 
279
 
284
 
280
\secc FPGA function 
285
\secc FPGA function 
281
 
286
 
-
 
287
<<<<<<< .mine
-
 
288
Several tasks in separate FPGA blocks are performed by FPGA. In first FPGA prepares sampling clock for ADCdual01A modules by division of main local oscillator. This task is separate block in FPGA and runs asynchronously to other logic. Second block is SPI configuration module, which sends configuration words to ADC modules it is activated by opening of Xillybus interface file. Third block is main module, which resolve ADC - PC communication itself it communicates via PCIe, collect data from ADC hardware and creates data packet \ref[xillybus-interface]. Last block is activated after ADC configuration. 
-
 
289
=======
282
Several tasks in our design are performed by FPGA. Firstly, FPGA prepares a sampling clock for ADCdual01A modules this task is separate block in FPGA and runs asynchronously compared to other logical circuits. The second block is a SPI configuration module, which sends the content of configuration registers to the ADC modules after opening of Xillybus interface file. The third block represents the main module which resolves ADC - PC communication itself. The last block is activated after ADC configuration. 
290
Several tasks in our design are performed by FPGA. Firstly, FPGA prepares a sampling clock for ADCdual01A modules this task is separate block in FPGA and runs asynchronously compared to other logical circuits. The second block is a SPI configuration module, which sends the content of configuration registers to the ADC modules after opening of Xillybus interface file. The third block represents the main module which resolves ADC - PC communication itself. The last block is activated after ADC configuration. 
-
 
291
>>>>>>> .r1124
283
 
292
 
284
Communication over PCIe is managed by proprietary IP Core and Xillybus driver, which transfers data from FPGA registers to host PC. Data appear in system device file named  "/dev/xillybus_data2_r" on the host computer. Binary data which appear in this file after its opening are described in the table below \ref[xillybus-interface].
293
Communication over PCIe is managed by proprietary IP Core and Xillybus driver, which transfers data from FPGA registers to host PC. Data appear in system device file named  "/dev/xillybus_data2_r" on the host computer. Binary data which appear in this file after its opening are described in the table below \ref[xillybus-interface].
285
 
294
 
286
\midinsert \clabel[xillybus-interface]{Grabber binary output format}
295
\midinsert \clabel[xillybus-interface]{Grabber binary output format}
287
\ctable {clllllllll}{
296
\ctable {clllllllll}{
Line 291... Line 300...
291
Content & saw signal & $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ \cr
300
Content & saw signal & $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ &  $t1$ &  $t_{1+1}$ \cr
292
}
301
}
293
\caption/t System device "/dev/xillybus_data2_r" data format
302
\caption/t System device "/dev/xillybus_data2_r" data format
294
\endinsert
303
\endinsert
295
 
304
 
-
 
305
Data packet block which is carried on PCI Express is described by table \ref[xillybus-interface]. The data packet consist several 32bit words. First word contain FRAME number and it is filled by saw signal for now, which increments with every data packet transmission. Following data words contains samples from ADCs for first and second channel. Samples from every channel is transmitted in pairs of two samples. Number of ADC channels is expandable according to number of physically connected channels. An CRC word may be added in future at end of transmission packet for data integrity validation. 
-
 
306
 
296
Detailed description of FPGA function can be found in \cite[fpga-middleware]
307
FRAME word at beginning of data packet filled with incrementing and overflowing saw signal is used for ensure that no data samples ale lost during data transfers from FPGA. FRAME signal may be used in future for pairing the ADC samples data packet with another data packet in future. This new additional data packet should carry meta-data information about sample time jitter, current accuracy of local oscillator frequency etc. 
297
 
308
 
-
 
309
Detailed description of currently implemented FPGA functions can be found in separate paper \cite[fpga-middleware]. HDL source codes for FPGA at state which was used are included on enclosed CD. Future development versions are publicly available from MLAB sources repository. 
298
 
310
 
299
\secc Data reading and recording 
311
\secc Data reading and recording 
300
 
312
 
301
In order to read the data stream from the ADC drive, we use Gnuradio software. Gnuradio suite consists of gnuradio-companion which is a graphical tool for creating signal-flow graphs and generating flow-graph source code. This tool was used to create a basic RAW data grabber to record and interactively view the data stream output from ADC modules. 
313
In order to read the data stream from the ADC drive, we use Gnuradio software. Gnuradio suite consists of gnuradio-companion which is a graphical tool for creating signal-flow graphs and generating flow-graph source code. This tool was used to create a basic RAW data grabber to record and interactively view the data stream output from ADC modules. 
302
 
314