The FEE Server Control Engine of the ALICE-TRD - Westfälische ...
The FEE Server Control Engine of the ALICE-TRD - Westfälische ...
The FEE Server Control Engine of the ALICE-TRD - Westfälische ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Monitoring<br />
program<br />
4 <strong>The</strong> <strong>ALICE</strong> Transition Radiation Detector<br />
Message<br />
logger<br />
PVSS program<br />
DIM Data channels<br />
InterComLayer<br />
CommandCoder<br />
DIM Data channels<br />
<strong>FEE</strong><strong>Server</strong><br />
<strong>Control</strong><strong>Engine</strong><br />
DIM command<br />
channel<br />
SQL<br />
DIM command<br />
channel<br />
WingDB<br />
Figure 4.18: <strong>The</strong> <strong>TRD</strong> front end readout electronics control system. <strong>The</strong> figure shows <strong>the</strong> four<br />
main components (PVSS, ICL, wingDB and <strong>FEE</strong><strong>Server</strong>) and two examples <strong>of</strong> additional<br />
monitoring s<strong>of</strong>tware.<br />
At <strong>the</strong> top level in <strong>the</strong> supervisory layer a PVSS system is located. It controls <strong>the</strong> FERO<br />
and is <strong>the</strong> interface for <strong>the</strong> DCS system. Alternatively, <strong>the</strong> PVSS system can be run stand<br />
alone, for example to test or debug <strong>the</strong> FERO system. For this case <strong>the</strong> PVSS system<br />
provides an user interface to operate <strong>the</strong> system manually.<br />
From <strong>the</strong> supervisory layer point <strong>of</strong> view <strong>the</strong> <strong>TRD</strong> front end electronics is controlled by<br />
<strong>the</strong> means <strong>of</strong> tags. A tag is just an integer which identifies a transition in <strong>the</strong> finite state<br />
machines <strong>of</strong> <strong>the</strong> front end electronics (see section 5.2.2) along with a configuration for<br />
<strong>the</strong> electronics. Every time a readout chamber (ROC) should get a new configuration /<br />
switch to a new FSM state, PVSS sends <strong>the</strong> corresponding tag and <strong>the</strong> identification string<br />
<strong>of</strong> <strong>the</strong> ROC to <strong>the</strong> InterComLayer (ICL) in <strong>the</strong> control layer. <strong>The</strong> ICL has to translate <strong>the</strong><br />
tag to a configuration for that ROC. However, this functionality is not implemented in<br />
<strong>the</strong> ICL itself but encapsulated in a separate library called CommandCoder. To translate<br />
<strong>the</strong> tag to <strong>the</strong> corresponding configuration <strong>the</strong> CommandCoder queries <strong>the</strong> database<br />
wingDB.<br />
<strong>The</strong> wingDB contains command sequences and general information about <strong>the</strong> chambers<br />
like <strong>the</strong> chamber type or information about damaged MCMs. For each tag and for<br />
each ROC to be configured <strong>the</strong> database is queried separately.<br />
<strong>The</strong> CommandCoder collects all <strong>the</strong> command sequences and information and merges<br />
<strong>the</strong>se data in a large data structure – <strong>the</strong> configuration. Finally <strong>the</strong> ICL sends <strong>the</strong> configuration<br />
to <strong>the</strong> <strong>FEE</strong><strong>Server</strong> (see chapter 5) running on <strong>the</strong> DCS board <strong>of</strong> <strong>the</strong> ROC.<br />
Figure 4.19 shows <strong>the</strong> data structure <strong>of</strong> <strong>the</strong> configuration. <strong>The</strong> configuration is subdivided<br />
in different parts. It always starts with <strong>the</strong> cfdat_header.<br />
<strong>The</strong> cfdat_header contains some general information about <strong>the</strong> configuration and <strong>of</strong>fsets<br />
to <strong>the</strong> four main sections in <strong>the</strong> configuration (error, rocinfo, basecfg, tempcalib). One<br />
important field in cfdat_header is hd_maker. This field contains <strong>the</strong> string identifying <strong>the</strong><br />
transition in <strong>the</strong> <strong>FEE</strong><strong>Server</strong> FSM belonging to <strong>the</strong> configuration. <strong>The</strong> <strong>of</strong>fsets are used to<br />
locate <strong>the</strong> beginnings <strong>of</strong> <strong>the</strong> four section. Technically, a program which wants to access<br />
45