23.11.2012 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!