-\begin{description*}
- \item[Trb3 Vhdl]~\\cvs -d lxi051.gsi.de:/misc/hadesprojects/daq/cvsroot/trb3
- \item[TrbNet Vhdl]~\\cvs -d lxi051.gsi.de:/misc/hadesprojects/daq/cvsroot/trbnet
-
- \item[Trb3 Documentation]~\\git clone git://jspc29.x-matter.uni-frankfurt.de/projects/daqdocu.git
- \item[Trb3 SlowControl Software]~\\git clone git://jspc29.x-matter.uni-frankfurt.de/projects/daqtools.git
- \item[Trbnet Software Library]~\\git clone git://jspc29.x-matter.uni-frankfurt.de/projects/trbnettools.git
- \item[Data Server (Eventbuilder)]~\\git clone git://jspc29.x-matter.uni-frankfurt.de/projects/daqdata.git
-
-
- \item[Dabc Eventbuilder]~\\http://hades-wiki.gsi.de/cgi-bin/view/DaqSlowControl/EventBuilderDabc
-\end{description*}
+\subsection{VHDL}
+ \begin{description*}
+ \item[Trb3 Vhdl]~\\cvs -d lxi051.gsi.de:/misc/hadesprojects/daq/cvsroot/trb3
+ \item[TrbNet Vhdl]~\\cvs -d lxi051.gsi.de:/misc/hadesprojects/daq/cvsroot/trbnet
+ \end{description*}
+
+\subsection{Software / Documentation}
+\label{sec:Repo:Software}
+ \begin{description*}
+ \item[Trb3 Documentation]~\\git clone git://jspc29.x-matter.uni-frankfurt.de/projects/daqdocu.git
+ \item[Trb3 SlowControl Software]~\\git clone git://jspc29.x-matter.uni-frankfurt.de/projects/daqtools.git
+ \item[Trbnet Software Library]~\\git clone git://jspc29.x-matter.uni-frankfurt.de/projects/trbnettools.git
+ \item[Data Server (Eventbuilder)]~\\git clone git://jspc29.x-matter.uni-frankfurt.de/projects/daqdata.git
+ \end{description*}
+
+\subsection{Additional Resources}
+ \begin{description*}
+ \item[Dabc Eventbuilder]~\\http://hades-wiki.gsi.de/cgi-bin/view/DaqSlowControl/EventBuilderDabc
+ \end{description*}
+
+
+
+\subsection{Repository Notes}
+\begin{itemize*}
+ \item The repositories with software and documentation (daqdocu, daqtools, trbnettools, daqdata) are supposed to reside in a common directory named trbsoft, e.g. in your home directory.
+ \item If users want to put their own scripts to the git (recommended for education of others), there is a directory daqtools/user/. Here you can add a sub-directory with your project name and add all your files (tools, configuration etc.).
+ \item The git URLs are read-only. Write access is available upon request by providing a ssh-key. For R/W the URL changes to e.g. \verb!git@jspc29...furt.de:daqdocu!
+ \item The cvs URLs are accessible with password or ssh-key only.
+\end{itemize*}
This opens a trbnetd with the RPC-id 0.
It is recommended to write down explicitly the RPC-id-number when starting the daemon, e.g:
\begin{verbatim}
- TRB3_SERVER=trb030:9 trbnetd
+ TRB3_SERVER=trb030 trbnetd -i 9
\end{verbatim}
to start the trbnetd with the id 9.
\subsubsection{Trbcmd server}
\begin{itemize*}
-\item Download the latest release of {\bf trbcmd} and {\bf libtrbnet} from CVS repository: \begin{verbatim} trbsoft/trbnettools\end{verbatim}
+\item Download the latest release of the software from GIT repository \begin{verbatim} daqtools\end{verbatim}
\item Compile with appropriate flag: \begin{verbatim} make TRB3=1\end{verbatim}
-\item Set up the environment variable DAQ\_SERVER to your TRB3 hostname
+\item Set up the environment variable DAQOPSERVER to your TRB3 hostname
\item Make sure that the UDP port 5555 is open in your firewall
\end{itemize*}
\section{Trigger Time vs Reference Time}
\input{ExperimentalSetup}
+\cleardoublepage
\input{trb3qs_part}
-\clearpage
+\cleardoublepage
\part{Synchronous TrbNet}
\section{Clock Measurements}
\section{Media Interfaces}
- \input{SyncMediaInterface}
+ \input{SyncMediaInterface}
\cleardoublepage
\section{DAQ startup}
\label{sec:daq_startup}
+\subsection{Starting TRB3}
+The next task is to setup all necessary registers in the TRB3, which include
+TRBNet addresses and Ethernet-MAC-destination addresses. An example is available in
+the git at ./daqtools/base/startup\_example.sh. It contains all vital settings and can
+be extended as needed. If you want to share your own script, put it to ./daqtools/user/yourproject/.
+
+First the script updates all TRB3 with proper addresses, then the basic
+configuration for GbE is set. The last part sets registers for TDC and CTS configuration.
+For further details, read the comments in the example script.
+
+
\subsection{CTS monitor}
-We have to start CTS server
-\begin{lstlisting}[label=,caption=Starting CTS server]
-$ cd ~/trbsoft/trb3/cts
-$ ./cts_gui # this will run in window mode
-# to start in text mode (no extra xterm window) run with additional arguments
-$ ./cts_gui 1 1 # this will run in text mode
-\end{lstlisting}
+Control and monitoring of the CTS is done using a web-server and browser interface. To start it,
+run \verb!cts\_gui!, to be found in \verb!daqtools/web!. There are few option to set the network
+port the server runs on (default: 1234) and configure the output on the command line.
+
\subsection{Event builder}
$ daq_netmem -m 1 -i UDP:0.0.0.0:50000 -q 32 -d 1 -S test
\end{lstlisting}
where value for parameter \verb+-S+ should be the same like for
-\verb+daq_evtbuild+.
-
-\subsection{Starting TRB3}
-
-Startup of the whole TRB3 boards system can be encoles in startup script
-shown of Listing \ref{start_system} (it is also available in user scripts,
-see Section \ref{sec:userscripts}).
-
-First the script updates all TRB3 with proper addresses, next the basic
-configuration of the TRB3 (event builder) is set. After this user can edit
-script to adjust other settings like TDC window, trigger settings, pulser
-frequency.
-
-\begin{lstlisting}[label=start_system,caption=start\_system.sh script]
-#!/bin/bash
-
-# updating addressess for all TRBs
-~/trbsoft/trb3/merge_serial_address.pl \
- ~/trb3/base/serials_trb3.db \
- ~/trb3/base/addresses_trb3.db \
- > /dev/null
-
-# base configuring of EB and GbE
-~/trb3user/configure_trb3.sh # central hub configuration to send data via GbE
-
-
-# Additional settings - Examples
-# ==============================
-
-# TDC
-# ------------------------------
-# setup tdcs on TRB3
-#trbcmd w 0xfe45 0xc0 0x00000001 ## logic analyser control register
-#trbcmd w 0xfe45 0xc1 0x000f0005 ## trigger window enable & trigger window width
-#trbcmd w 0xfe45 0xc2 0xffffffff ## channel 01-31 enable
-#trbcmd w 0xfe45 0xc3 0xffffffff ## channel 32-63 enable
-
-
-# CTS
-# ------------------------------
-#trbcmd loadbit 0x003 0xA0C1 0x0000000F 0x00000004
-#trbcmd setbit 0x0003 0xA0C2 0x01000000
-
-#trbcmd w 0x0003 0xA0f1 0x20 #Events per EB
-#trbcmd w 0x0003 0xA0f0 0x0001 #15 - 0 EB enable ,
- #31 - 16 downscale of RPC/TOF TDC trailers and headers
-
-# pulser to 5 Hz
-#trbcmd w 0x3 0xa0e3 0x1ffffff
-
-# PT1 on
-#trbcmd w 0x0003 0xa0c3 0x10000000
-#trbcmd w 0x0003 0xa0c4 0x0
-#trbcmd w 0x0003 0xa0c5 0x3ff
-#trbcmd w 0x0003 0xa0c7 0x800
-\end{lstlisting}
\ No newline at end of file
+\verb+daq_evtbuild+.
\ No newline at end of file
% \subsection{Preparation}
-The software is keep in a git repository with the master in Frankfurt. You must fetch a few mandatory
-directories. This repository is open and you don't need a password.
+The software is kept in a git repository with the master in Frankfurt.
+This repository is open and you don't need a password. The mandatory repositories
+containing software are listed in section \ref{sec:Repo:Software}.
-\begin{lstlisting}[label=,caption=Downloading the tools repositories]
-$ cd ~
-$ git clone git://jspc29.x-matter.uni-frankfurt.de/projects/daqdocu
-$ git clone git://jspc29.x-matter.uni-frankfurt.de/projects/trbnettools
-$ git clone git://jspc29.x-matter.uni-frankfurt.de/projects/daqtools
-$ git clone git://jspc29.x-matter.uni-frankfurt.de/projects/daqdata
-\end{lstlisting}
\begin{lstlisting}[label=,caption=Preparation of TRB3 tools]
$ cd ~/trbsoft/trbnettools
export PATH=$PATH:~/daqdata/bin
\end{lstlisting}
-The next task is to setup all necessary registers in the TRB3, which include
-TRBNet addresses and Ethernet-MAC-destination addresses.
-Example:
-
-\begin{lstlisting}[label=,caption=setup\_trb46.sh]
-
-##### TRBNET #####
-# set the TRBNet addresses of the Endpoints
-trbcmd s 0xb000000390381d28 0 0x0200
-trbcmd s 0xa300000390381328 1 0x0201
-trbcmd s 0x4800000390381628 2 0x0202
-trbcmd s 0x1700000390382028 3 0x0203
-trbcmd s 0xdc00000390380c28 5 0x8000
-
-##### Ethernet and UDP #######
-trbcmd w 0x8000 0x8300 0x8000
-trbcmd w 0x8000 0x8301 0x00020001
-trbcmd w 0x8000 0x8302 0x00030062
-trbcmd w 0x8000 0x8303 0xea60
-trbcmd w 0x8000 0x8304 0x2260
-trbcmd w 0x8000 0x8305 0x1
-trbcmd w 0x8000 0x8306 0x0
-trbcmd w 0x8000 0x8307 0x0
-trbcmd w 0x8000 0x8308 0xffffff
-trbcmd w 0x8000 0x830b 0x7
-trbcmd w 0x8000 0x830d 0x0
-
-#mac address of the EB
-# cbmpc026_eth0: 90:f6:52:03:8f:c4
-trbcmd w 0x8000 0x8100 0x52038fc4 # lower 4 bytes
-trbcmd w 0x8000 0x8101 0x90f6 #upper byte
-
-# destination port and source IP and so on
-trbcmd w 0x8000 0x8102 0xc0a80101
-trbcmd w 0x8000 0x8103 0xc350
-trbcmd w 0x8000 0x8104 0xdead8001
-trbcmd w 0x8000 0x8105 0x0230
-trbcmd w 0x8000 0x8106 0xc0a80072
-trbcmd w 0x8000 0x8107 0xc350
-trbcmd w 0x8000 0x8108 0x0578
-
-
-##### TDC #######
-#trbcmd w 0xfe45 0xc0 0x00000001 ## logic analyser control register
-trbcmd w 0xfe45 0xc1 0x000f0005 ## trigger window enable & trigger window width
-trbcmd w 0xfe45 0xc2 0xffffffff ## channel 01-31 enable
-trbcmd w 0xfe45 0xc3 0xffffffff ## channel 32-63 enable
-
-\end{lstlisting}