mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-06 18:10:40 +02:00
Rate corrections are now passed in (ns) units. Improvement to the manual.
This commit is contained in:
parent
55a8c13b75
commit
2f2e73a66e
@ -14,7 +14,7 @@
|
||||
|
||||
\subsection{Mandatory setup - Receiver}
|
||||
|
||||
The receiver is a process run on a PC closely connecvted to the detector. Open one receiver for every half module board (remember, a module has two receivers!!!) . Go to {\tt{slsDetectorsPackage/bin/}}, \textbf{slsReceiver} should be started on the machine expected to receive the data from the detector.
|
||||
The receiver is a process run on a PC closely connected to the detector. Open one receiver for every half module board (remember, a module has two receivers!!!) . Go to {\tt{slsDetectorsPackage/bin/}}, \textbf{slsReceiver} should be started on the machine expected to receive the data from the detector.
|
||||
|
||||
\begin{itemize}
|
||||
\item {\tt{./slsReceiver --rx\_tcpport xxxx}}
|
||||
@ -59,7 +59,7 @@ Other important settings that are configured in the {\tt{setup.det}} file are:
|
||||
\end{itemize}
|
||||
|
||||
One should notice that, by default, by choosing the option {\tt{dr 32}}, then the software automatically sets the detector to {\tt{clkdivider 2}}. By choosing the option {\tt{dr 16}}, the software automatically sets the detector to {\tt{clkdivider 1}}. One needs to choose {\tt{clkdivider 0}} after setting the {\tt{dr 16}} option to have the fastest frame rate.
|
||||
We would reccommend expert users (beamline people) to write their paramaters file for the users.
|
||||
We would recommend expert users (beamline people) to write their parameters file for the users.
|
||||
|
||||
\subsection{Standard acquisition}
|
||||
|
||||
@ -101,7 +101,7 @@ Short summary of readout timing. Some performances are not finalized yet.
|
||||
In the case of {\tt{continuos}} readout, i.e. continuos read/write on the memories:
|
||||
\begin{itemize}
|
||||
\item 1~GbE, {\tt{dr 16}}, {\tt{flags continous}}, \textbf{235~Hz}
|
||||
\item 1~GbE, {\tt{dr 32}}, {\tt{flags continous}},{\tt{clkdivider 2}}, \textbf{117~Hz}
|
||||
\item 1~GbE, {\tt{dr 32}}, {\tt{flags continous}}, {\tt{clkdivider 2}}, \textbf{117~Hz}
|
||||
\item 10~GbE, {\tt{dr 16}}, {\tt{flags continous}}, {\tt{flags parallel}},{\tt{clkdivider 0}}, \textbf{2.34~kHz}
|
||||
\item 10~GbE, {\tt{dr 32}}, {\tt{flags continuous}}, {\tt{clkdivider 2}}, \textbf{1.17~kHz}
|
||||
\end{itemize}
|
||||
@ -109,12 +109,34 @@ Note that in {\tt{continuos}} mode still higher frame rate can be achieved as a
|
||||
|
||||
In all cases, when a frame rate \textbf{$>2$~kHz} is wanted, use the {\tt{flag parallel}}.\\
|
||||
|
||||
|
||||
Enabling the {\tt{stroreinram}} mode allows you to obtain the maximumm frame rate, but at the expenses to have to receive the data all at the end of the acquisition. The maximum frame rate achievable with 10~GbE, {\tt{dr 16}}, {\tt{flags storeinram}}, {\tt{flags parallel}},{\tt{clkdivider 0}}, \textbf{5.9~kHz}. This is currently limited by the connection between the Front End Board and the Backend board. We expect the 32 bit mode limit to be approximately \textbf{3~kHz}.
|
||||
In dynamic range {\tt{dr 8}} the frame rate is \textbf{11~kHz} and for{\tt{dr 4}} is \textbf{22~kHz}. For 4 and 8 bit mode the frame rate are directly limited by the speed of the detector chip and not by the readout boards.
|
||||
|
||||
To achieve very high frame rates (maximum \textbf{$2$~kHz ?}) in 32 bit mode (autosumming), it will be needed to use the {\tt{stroreinram}} mode, as the memories cannot be accessed in read and write mode so fast.
|
||||
|
||||
Here is a list of all the readout times in the different configurations:
|
||||
\ \\
|
||||
\begin{tabular}{|c|c|c|c|}
|
||||
\hline
|
||||
dynamic range & clkdivider & mode & readout time ($\mu$s)\\
|
||||
\hline
|
||||
16 & 0 & parallel & 2.75\\
|
||||
\hline
|
||||
16 & 0 & nonparallel & 126\\
|
||||
\hline
|
||||
16 & 1 & parallel & 5.36\\
|
||||
\hline
|
||||
16 & 1 & nonparallel & 252\\
|
||||
\hline
|
||||
16 & 2 & parallel & 10.6\\
|
||||
\hline
|
||||
16 & 2 & nonparallel & 504\\
|
||||
\hline
|
||||
32 & 2 & parallel & 10.6\\
|
||||
\hline
|
||||
32 & 2 & nonparallel & 504\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\subsection{External triggering options}
|
||||
The detector can be setup such to receive external triggers. Connect a LEMO signal to the TRIGGER IN connector in the Power Distribution Board. Use a signal above 2.5~V. By default the positive polarity is used.
|
||||
@ -129,26 +151,26 @@ sls_detector_acquire
|
||||
Here are the implemented options (note that the names are completely misleading and will be changed):
|
||||
\begin{itemize}
|
||||
\item {\tt{auto}} is the software controlled acquisition, where {\tt{exptime}} and {\tt{period}} have to be set.
|
||||
\item {\tt{trigger}} 1 frame taken for 1 trigger. You {\tt{frames}} needs to be 1 always, {\tt{cycles}} can be changed and defines how many triggers are considered. In teh GUI this is called trigger exposure series.
|
||||
\item {\tt{trigger}} 1 frame taken for 1 trigger. You {\tt{frames}} needs to be 1 always, {\tt{cycles}} can be changed and defines how many triggers are considered. In the GUI this is called trigger exposure series.
|
||||
\item {\tt{ro\_trigger}} gets only 1 trigger, but allows to take many frames. With {\tt{frames}} one can change the number of frames. {\tt{cycles}} needs to be 1. In the gui it is called trigger readout.
|
||||
\item{\tt{gating}} allows to get a frame only when the trigger pulse is gating. Note that in this case the exp time and period only depend on the gating signal. {\tt{cycles}} allows to select how many gates to consider.
|
||||
\end{itemize}
|
||||
|
||||
We are planning to change some functionalities and the misleasding names.
|
||||
We are planning to change some functionalities and the misleading names.
|
||||
|
||||
|
||||
\subsection{Advanced autosumming and rate corrections}
|
||||
|
||||
In the case of autosumming mode, i.e, {\tt{dr 32}}, the acquisition time ({\tt{exptime}} is broken in as many subframes as they fit into the acquisition time minus all the subframes readout times. By defaut the {\tt{subexptime}} is set to 2.61~ms. This implies that 12 bit counter of \E will saturate when the rate is above or equal to 1.57~MHz/pixel.\\
|
||||
In the case of autosumming mode, i.e, {\tt{dr 32}}, the acquisition time ({\tt{exptime}} is broken in as many subframes as they fit into the acquisition time minus all the subframes readout times. By default the {\tt{subexptime}} is set to 2.621440~ms. This implies that 12 bit counter of \E will saturate when the rate is above or equal to 1.57~MHz/pixel.\\
|
||||
|
||||
The subframe length can be changed by the user by doing:
|
||||
\begin{verbatim}
|
||||
sls_detector_put subexptime [time_in_s]
|
||||
\end{verbatim}
|
||||
|
||||
One needs to realize that the readout time, for each subtrame is 10.5~$\mu$s if the detector is in parallel mode. 500~$\mu$s if the detector is in non parallel mode.\\
|
||||
One needs to realize that the readout time, for each subtrame is 10.5~$\mu$s if the detector is in parallel mode. 500~$\mu$s if the detector is in non parallel mode. Note that in {\tt{dr 32}}, as the single frame readout from the chip is 500~$\mu$s, no {\tt{subexptime}}$<$500~$\mu$s can be set in {\tt{parallel}} mode. To have smaller {\tt{subexptime}}, you need the {\tt{nonparallel}} mode, although thsi will have a larger deadtime than the acquisition time.\\
|
||||
|
||||
Online rate corrections can be activated. They are particularly useful in the autosumming mode, i.e. when {\tt{dr 32}} is activated as every single subframe is corrected before summing it. To correct for rate, the subframe duration has to be known to the correction algorithm.
|
||||
Online rate corrections can be activated. They are particularly useful and implemented \textbf{only} in the autosumming mode, i.e. when {\tt{dr 32}} is activated as every single subframe is corrected before summing it. To correct for rate, the subframe duration has to be known to the correction algorithm.
|
||||
To activate the rate corrections, one should do:\\
|
||||
\begin{verbatim}
|
||||
sls_detector_put ratecorr [tauval_in_ns]
|
||||
@ -157,7 +179,7 @@ To deactivate:
|
||||
\begin{verbatim}
|
||||
sls_detector_put ratecorr 0
|
||||
\end{verbatim}
|
||||
To activate the rate corrections, but mantain the default tau settings, now at $\tau$standard=290~ns, $\tau$highgain=410~ns, $\tau$lowgain=180~ns:
|
||||
To activate the rate corrections, but maintain the default tau settings, now at $\tau$standard=290~ns, $\tau$highgain=410~ns, $\tau$lowgain=180~ns:
|
||||
\begin{verbatim}
|
||||
sls_detector_put ratecorr -1
|
||||
\end{verbatim}
|
||||
|
Loading…
x
Reference in New Issue
Block a user