mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-05-11 15:20:01 +02:00
Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer
This commit is contained in:
commit
893805e6fd
@ -331,11 +331,12 @@ where the {\tt{GapPixelsBetweenModules\_x}} are the one on the short side of the
|
||||
IMPORTANT: to have faster readout and smaller dead time, one can configure {\tt{clkdivider}}, i.e. the speed at which the data are read, i.e. 200/100/50~MHz for {\tt{clkdivider 0/1/2}} and the dead time between frames through {\tt{flags parallel}}, i.e. acquire and read at the same time or acquire and then read out.
|
||||
The configuration of this timing variables allows to achieve different frame rates. NOTE THAT IN EIGER, WHATEVER YOU DO, THE FRAME RATE LIMITATIONS COME FROM THE NETWORK BOTTLENECK AS THE HARDWARE GOES FASTER THAN THE DATA OUT.
|
||||
|
||||
In the case of REAL CONTINUOUS readout, i.e. continuous acquire and readout from the boards (independent on how the chip is set), the continuous frame rates are listed in table~\ref{tcont}. The time to send out the frame out of the board
|
||||
In the case of REAL CONTINUOUS readout, i.e. continuous acquire and readout from the boards (independent on how the chip is set), the continuous frame rates are listed in table~\ref{tcont}. The time to send out the frame out of the board are also listed there.
|
||||
|
||||
\begin{table}
|
||||
\begin{tabular}{|c|c|c|c|c|}
|
||||
\hline
|
||||
GbE & dynamic range & continuos maximum frame rate(Hz) & minimum period ($\mu$s)& time to send out data ($\mu$s)\\
|
||||
\tiny{GbE} & \tiny{dynamic range} & \tiny{continuos maximum frame rate(Hz)} & \tiny{minimum period ($\mu$s)}& \tiny{time to send out data ($\mu$s)}\\
|
||||
\hline
|
||||
1 & 16 & \textbf{256} & 3901 & \\
|
||||
\hline
|
||||
@ -347,10 +348,10 @@ GbE & dynamic range & continuos maximum frame rate(Hz) & minimum period ($\mu$s)
|
||||
\hline
|
||||
10 & 16 & \textbf{2560} & 391 & 400\\
|
||||
\hline
|
||||
10 & 32 & \textbf{1280}& 782 & 800\\
|
||||
10 & 32 & \textbf{1280} (675~Hz max)& 782 & 800\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Frame rate limits for the CONTINUOS streaming out of images, i.e. the data rate out is just below 1Gb/s or 10Gb/s.}
|
||||
\caption{Frame rate limits for the CONTINUOS streaming out of images, i.e. the data rate out is just below 1Gb/s or 10Gb/s. 1280~Hz for 32-bit, 10GbE is obtained from the 10GbE limitation. The maximum achievable frame rate is 675~Hz.}
|
||||
\label{tcont}\end{table}
|
||||
Note that in the {\tt{continuous}} flag mode, some buffering is still done on the memories, so a higher frame rate than the proper real continuous one can be achieved. Still, this extra buffering is possible till the memories are not saturated. The number of images that can be stored on the DDR2 on board memories are listed in table~\ref{timgs}.
|
||||
\begin{table}
|
||||
@ -455,13 +456,14 @@ In general, choose the maximum frame rate you want to aim, not exceeding what yo
|
||||
Here below are the final tables for settting the detcetor correctly:
|
||||
|
||||
\begin{itemize}
|
||||
\item CONTINUOUS redout (imagesnot stored on board memories, frames can be achieved. {\tt{flags parallel}}, {\tt{clkdivider 0}} are always set. In 32-bit no extra {\tt{subdeadtime}} is assumed. The difference between {\tt{exptime}} and {\tt{period}} has to be $\approx$5 $\mu$s:
|
||||
\item CONTINUOUS readout: Images are taken, passed on memories and streamed out through the 1Gb/10Gb Ethernet. Note that you will always pass from the memories even if you require a frame rate that is lower than the 10Gb limitation.
|
||||
{\tt{flags continuos parallel}}, {\tt{clkdivider 0}} are always set. In 32-bit no extra {\tt{subdeadtime}} is assumed. The difference between {\tt{exptime}} and {\tt{period}} has to be $\approx$5 $\mu$s:
|
||||
\begin{center}
|
||||
\begin{tabular}{ |c| c| }
|
||||
\hline
|
||||
max frame rate & settings\\
|
||||
\hline
|
||||
\textcolor{red}{170 Hz} & \textcolor{red}{32-bit} \\
|
||||
\textcolor{red}{189~Hz (977~Hz max)} & \textcolor{red}{32-bit} \\
|
||||
& Nframes=infinite\\
|
||||
\hline
|
||||
\textcolor{red}{2.56 kHz} & \textcolor{red}{16-bit}\\
|
||||
@ -477,13 +479,13 @@ Here below are the final tables for settting the detcetor correctly:
|
||||
\end{center}
|
||||
BE CAREFUL that if you have the transmission delays setup (see sec.~\ref{network}), this will slow down the sending of the data and you risk to fill up the memories of the boards on eiger (30000 images in 4 bit mode) and you will get corrupted data (parts of the memory on the boads will be overwritten).
|
||||
|
||||
\item BUFFERED readout (images stored on board memories, such that the maximum frame rate can be achieved for a limited amount of frames. {\tt{flags parallel}}, {\tt{clkdivider 0}} are always set. In 32-bit no extra {\tt{subdeadtime}} is assumed. The difference between {\tt{exptime}} and {\tt{period}} has to be $\approx$5 $\mu$s:
|
||||
\item BUFFERED readout (images stored on board memories, such that the maximum frame rate can be achieved for a limited amount of frames. {\tt{flags continuous parallel}}, {\tt {clkdivider 0}} are always set. In 32-bit no extra {\tt{subdeadtime}} is assumed. The difference between {\tt{exptime}} and {\tt{period}} has to be $\approx$5 $\mu$s:
|
||||
\begin{center}
|
||||
\begin{tabular}{ |c| c| }
|
||||
\hline
|
||||
max frame rate & settings\\
|
||||
\hline
|
||||
\textcolor{red}{170 Hz} & \textcolor{red}{32-bit} \\
|
||||
\textcolor{red}{189~Hz (977~Hz)} & \textcolor{red}{32-bit} \\
|
||||
& Nframes=infinite\\
|
||||
\hline
|
||||
\textcolor{red}{6.1 kHz} & \textcolor{red}{16-bit}\\
|
||||
@ -500,7 +502,6 @@ BE CAREFUL that if you have the transmission delays setup (see sec.~\ref{network
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
||||
\subsubsection{4 and 8 bit mode}
|
||||
In {\tt{parallel}} mode, the minimum time between frames is due to the time required to latch the values of the counter with capacitors. These values are determined in firmware and they can be estimated as:
|
||||
|
||||
@ -539,14 +540,16 @@ The time between 12-bit subframes are listed in table~\ref{t32bitframe}.
|
||||
\begin{flushleft}
|
||||
\begin{tabular}{|c|c|c|c|c|c|}
|
||||
\hline
|
||||
\tiny{dr} & \tiny{clkdivider} & \tiny{flags} & \tiny{t difference between subframes($\mu$s)} & \tiny{max internal subframe rate (kHz)} & \tiny{maximum frame rate (Hz)}\\
|
||||
\tiny{dr} & \tiny{clkdivider} & \tiny{flags} & \tiny{subexptime (s)} & \tiny{t difference between subframes($\mu$s)} & \tiny{max internal subframe rate (kHz)} & \tiny{maximum frame rate (Hz)}\\
|
||||
\hline
|
||||
32 & 2 & parallel & 12 & 2 & 170\\
|
||||
32 & 2 & parallel & 0.00262144 & 12 & 380 & 189\\
|
||||
\hline
|
||||
32 & 2 & nonparallel & 504 & $<2$ & 160\\
|
||||
32 & 2 & nonparallel & 0.00262144 & 504 & 320 & 160\\
|
||||
\hline
|
||||
32 & 2 & parallel & 0.000490 & 12 & 2 & 674\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\caption{Timing for the 32bit case. The maximum frame rate has been computed assuming 2 subframes of default {\tt{subexptime}} of 2.62144 ms.}
|
||||
\caption{Timing for the 32bit case. The maximum frame rate has been computed assuming 2 subframes of default {\tt{subexptime}} of 2.62144 ms, which is the default value. By setting up {\tt{subexptime}} to 490~$\mu$s one can achieve a maximum frame rate. Note that one has to leave 490$\mu$s extra between a frame and the following.}
|
||||
\label{t32bitframe}
|
||||
\end{flushleft}
|
||||
\end{table}
|
||||
@ -1582,7 +1585,7 @@ In table~\ref{tframescomplete} is a list of all the readout times in the differe
|
||||
\hline
|
||||
8 & 1 & parallel & 6.1 & 5.7 & 181 & 15k/52k\\
|
||||
\hline
|
||||
8 & 1 & nonparallel & 170.5 & 5.7 & 175 & 15k/52k\\
|
||||
8 & 1 & nonparallel & 170 & 5.7 & 175 & 15k/52k\\
|
||||
\hline
|
||||
8 & 2 & parallel & 11.2 & 2.9 & 342 & infinite\\
|
||||
\hline
|
||||
|
Loading…
x
Reference in New Issue
Block a user