source: firmware/FTM/doc/v3.2/FTM_firmware_specs_v3-2.tex@ 18066

Last change on this file since 18066 was 10163, checked in by weitzel, 14 years ago
FTM docu v3.2 added
File size: 42.7 KB
Line 
1\documentclass[a4paper,11pt]{report}
2
3\usepackage{float}
4\usepackage{graphicx}
5\usepackage{url}
6\usepackage[T1]{fontenc}
7\usepackage{amsmath}
8\usepackage{longtable}
9\usepackage{parskip}
10\usepackage{pifont}
11\usepackage{array}
12
13\setlength{\oddsidemargin}{0cm}
14\setlength{\evensidemargin}{0cm}
15\setlength{\topmargin}{0cm}
16
17\textwidth 6.2in
18\textheight 9in
19\columnsep 0.25in
20
21\pagestyle{plain}
22\setcounter{tocdepth}{1}
23
24\title{\vspace*{-7cm} \Huge \bf FTM Firmware Specifications}
25\author{\Large Patrick Vogler\footnote{Contact for questions and suggestions concerning this
26 document: {\tt patrick.vogler@phys.ethz.ch}}, Quirin Weitzel}
27\date{\vspace*{0.5cm} \Large v3.2~~~-~~~February 2011}
28
29\begin{document}
30
31\maketitle
32
33\newpage
34
35\tableofcontents
36
37%---------------------------------------------------------------------------------
38
39\chapter{Introduction}
40\label{cha:Introduction}
41
42The FTM (FACT Trigger Master) board collects the trigger primitives from all
4340 FTU boards (FACT Trigger Unit) and generates the trigger signal for the
44FACT camera. The trigger logic is a 'n-out-of-40' majority coincidence of all
45trigger primitives. Beside the trigger, the FTM board also generates a
46trigger-ID (see chapter \ref{cha:Trigger-ID}). It is controlled by the main
47control software via ethernet. Two auxiliary RS-485 interfaces are also
48available.
49
50In addition to the trigger, the FTM board also generates the other fast
51control signals: Time-Marker (TIM), DRS \cite{DRS4} reference clock (CLD) and
52reset. These four fast control signals are distributed to the FAD (FACT Analog
53to Digital) boards via the two FFC (FACT Fast Control) boards. The FTM board
54also provides via the TIM line the signal for the DRS timing calibration. In
55order to generate the CLD DRS reference clock, as well as the time-marker
56signal for DRS timing calibration, the FTM board uses a clock conditioner
57\cite{LMK03000}.
58
59The FTM board has two counters, the 'timestamp counter' and the 'on-time
60counter'. While the 'timestamp counter' runs continously (counting up,
61resetted by e.g. a 'start run'), the 'on-time counter' only counts when the
62camera trigger is enabled.
63
64The FTM board further serves as slow control master for the 40 FTU boards. The
65slow control of the FTU boards and the distribution of the trigger-ID to the
66FAD boards are performed via dedicated RS-485 buses. Because the FAD as well
67as the FTU boards are arranged in crates of 10 boards each, the FTM board has
68four connectors, one for each crate. Running over these connectors there are
69two RS-485 buses (one for FTU slow control and one for the trigger-ID) besides
70the busy signal from the FAD boards and the crate reset.
71
72In addition, the FTM board controls the two FLPs (FACT Light Pulser) via four
73LVDS signals each. Light pulser~1 is located in the mirror dish, light
74pulser~2 inside the camera shutter. There are also digital auxiliary in- and
75outputs according to the NIM (Nuclear Instrumentation Module) standard, for
76example for external triggers and veto, and to have the signals accessible.
77
78The main component of the FTM board is a FPGA (Xilinx Spartan
79XC3SD3400A-4FGG676C), fulfilling the main functions within the board. The
80purpose of this document is to provide specifications needed for the
81development of the firmware of this FPGA and the software (called 'main
82control' in the following) controlling the FTM board. For further information
83about the FTM board hardware please refer to \cite{FTM-Schematics}.
84
85\chapter{Trigger-ID}
86\label{cha:Trigger-ID}
87
88For each processed trigger the FTM board generates a unique trigger-ID to be
89broadcasted to all FAD boards and added to the event data. This trigger-ID
90consists of a 32 bit trigger number, a two byte trigger type indicator and a
91checksum. The transmission protocol for the trigger-ID broadcast is shown in
92table \ref{tab:Trigger-ID broadcast}.
93
94\begin{table}[htbp]
95\centering
96\begin{tabular}{|l|l|}\hline
97byte no & content\\\hline\hline
980 & Trigger-No first byte (least significant byte) \\\hline
991 & Trigger-No second byte\\\hline
1002 & Trigger-No third byte\\\hline
1013 & Trigger-No forth byte (most significant byte)\\\hline
1024 & Trigger-Type 1\\\hline
1035 & Trigger-Type 2\\\hline
1046 & CRC-8-CCITT (checksum)\\\hline
105\end{tabular}
106\caption{The transmission protocol to broadcast the trigger-ID to the FAD boards}
107\label{tab:Trigger-ID broadcast}
108\end{table}
109
110A Cyclic Redundancy Check (CRC) over byte 0 - 5 is used to evaluate the
111integrity of the trigger-ID. An 8-CCITT CRC has been chosen which is based on
112the polynomial $x^8 + x^2 + x + 1$ (00000111, omitting the most significant
113bit). The resulting 1-byte checksum comprises the last byte of the trigger-ID.
114The transmission of the trigger-ID to the FAD boards is done by means of
115dedicated RS-485 buses (one per crate).
116
117In the first byte of the trigger type indicator (see table
118\ref{tab:Trigger-Type 1}) n0 - n5 indicate the number of trigger primitives
119required for a trigger, thus the 'n' of the 'n-out-of-40' majority
120coincidence. The two flags 'external trigger 1' and 'external trigger 2',
121when set, indicate a trigger from the corresponding NIM inputs. See also
122section \ref{sec:Static-data-block} and table \ref{tab:FTM-majority} for
123further information.
124
125\begin{table}[htbp]
126\centering
127%\begin{small}
128\begin{tabular}{|l|l|l|l|l|l|l|l|}\hline
129 Bit7 & Bit6 & Bit5 & Bit4 & Bit3 & Bit2 & Bit1 & Bit0\\\hline\hline
130 n5 & n4 & n3 & n2 & n1 & n0 & external trigger 2 & external trigger 1\\\hline
131\end{tabular}
132%\end{small}
133\caption{Trigger-Type 1}
134\label{tab:Trigger-Type 1}
135\end{table}
136
137\begin{table}[htbp]
138\centering
139\begin{small}
140\begin{tabular}{|l|l|l|l|l|l|l|l|}\hline
141Bit7 & Bit6 & Bit5 & Bit4 & Bit3 & Bit2 & Bit1 & Bit0\\\hline\hline
142TIM source & LP\_set\_3 & LP\_set\_2 & LP\_set\_1 & LP\_set\_0 & pedestal & LP\_2 & LP\_1\\\hline
143\end{tabular}
144\end{small}
145\caption{Trigger-Type 2}
146\label{tab:Trigger-Type 2}
147\end{table}
148
149The 'TIM source' bit in 'Trigger-Type 2' (see table \ref{tab:Trigger-Type 2})
150indicates the source of the timemarker signal: a '0' indicates the timemarker
151being produced in the FPGA while a '1' indicates the timemarker coming from
152the clock conditioner. The flags 'LP\_1' and 'LP\_2' are set when the
153corresponding lightpulser has flashed while the 'pedestal' flag is set in case
154of a pedestal (random) trigger. An event having none of these flags set
155indicates a physics event. The bits 'LP\_set\_0' to 'LP\_set\_3' are used to
156code information about the light pulser settings. They only have a meaning in
157case of calibration events.
158
159\chapter{FTM Commands}
160\label{cha:FTM-Commands}
161
162The communication between the FTM board and the main control, including the
163corresponding commands, protocols and data, is based on 16-bit words and
164big-endian. This is to facilitate the data-transmission over the Wiznet W5300
165ethernet interface \cite{W5300}.
166
167The basic structure of all commands is the same and given in table
168\ref{tab:FTM-command-structure}. After a start delimiter, the second word
169identifies the command. Next there is a parameter further refining the
170command, e.g. what to read. The fourth and fifth words are spares and should
171contain zeros. Starting from the sixth word, an optional data block of
172variable size is following. This data block differs in length and content
173depending on command and parameter. In case of 'read' instructions, the
174corresponding data block is sent back.
175
176%The FTM board must answer every command by sending back the appropriate data
177%block or by simply sending back the instruction where there is no datablock to
178%be sent back. All 'read' commands to the FTM board do not contain any data
179%blocks, but the FTM boards response does. In case of 'read' and 'write'
180%instructions, the datablock is to be sent back. When 'start run' or 'stop run'
181%commands are used, the FTM board 'mirrors' them, i.e. sends them back for
182%confirmation.
183
184\begin{table}[p]
185\centering
186\begin{tabular}{|l|l|}\hline
187 word no & content\\\hline\hline
188 0 & start delimiter (e.g. '@') \\\hline
189 1 & command ID \\\hline
190 2 & command parameter \\\hline
191 3 & spare: containing 0x0000\\\hline
192 4 & spare: containing 0x0000 \\\hline
193 5 & data block (optional and of variable size)\\\hline
194 ... & ...\\\hline
195 X & data block\\\hline
196\end{tabular}
197\caption{FTM command structure}
198\label{tab:FTM-command-structure}
199\end{table}
200
201So far six different commands are foreseen: 'read', 'write', 'start run',
202'stop run', 'ping FTUs' and 'crate reset' (see table
203\ref{tab:FTM-command-ID}). The command parameters of the 'read' command are
204shown in table~\ref{tab:FTM-read-command-param}. For the 'write' command there
205is no option because the static data block is the only data that can be
206written to the FTM board\footnote{\label{note1} However, for the time being
207 the parameter value '1' has to be specified in order to write the static
208 data block, because for test purposes also single register access is
209 possible (using the parameter value '2').}.
210
211\begin{table}[p]
212\centering
213\begin{tabular}{|r|r|}\hline
214 command-ID: bits & \\\cline{1-1}
215 15 ... 8 \vline 7 \vline 6 \vline 5 \vline 4 \vline 3 \vline 2 \vline 1 \vline 0 & command\\\hline\hline
216 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 & read \\\hline
217 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 & write \\\hline
218 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 & start run / take X events\\\hline
219 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 \vline 0 & stop run \\\hline
220 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 \vline 0 \vline 0 & ping all FTUs \\\hline
221 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 & crate reset \\\hline
222\end{tabular}
223\caption{FTM command ID listing; for the 'write' case please see also footnote~\ref{note1}}
224\label{tab:FTM-command-ID}
225\end{table}
226
227\begin{table}[p]
228\centering
229\begin{tabular}{|r|r|r|}\hline
230 command parameter: bits & & \\\cline{1-1}
231 15 ... 8 \vline 7 \vline 6 \vline 5 \vline 4 \vline 3 \vline 2 \vline 1 \vline 0 & command & data block\\\hline\hline
232 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 & read static data block & no\\\hline
233 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 & read dynamic data block & no\\\hline
234 %0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 & read trigger list & no\\\hline
235\end{tabular}
236\caption{Command parameters for the 'read' command}
237\label{tab:FTM-read-command-param}
238\end{table}
239
240%\begin{table}[htbp]
241%\centering
242%\begin{tabular}{|r|r|r|}\hline
243% command parameter: bits & & \\\cline{1-1}
244% 15 ... 8 \vline 7 \vline 6 \vline 5 \vline 4 \vline 3 \vline 2 \vline 1 \vline 0 & command & data block\\\hline\hline
245% 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline0 \vline 0 \vline0 \vline1 & write static data & static data block\\\hline
246%\end{tabular}
247%\caption{Command parameters for the 'write' command}
248%\label{tab:FTM-write-command-param}
249%\end{table}
250
251In table \ref{tab:FTM-start-command-param} the parameters to start a run are
252listed. The type of the run is fully described in the FTM configuration
253(static data block, see section~\ref{sec:Static-data-block}), which always has
254to be sent by the main control before starting a run. Therefore the only
255option is to start an "endless" run or to take X events instead. In the latter
256case X is defined by a two words (32 bit) long unsigned integer, making up the
257command data block. The 'start run' command enables the transmission of
258trigger signals (physics, calibration or pedestal) to the FAD boards and
259resets the trigger and time counters. There is no parameter for stopping a
260run. If a number of events has been specified ('take X events'), the run will
261terminate if either the 'stop run' command is received or the requested number
262of events is reached. In any case the trigger and time counters are reset,
263too.
264
265\begin{table}[p]
266\centering
267\begin{tabular}{|r|r|r|}\hline
268 command parameter: bits & & \\\cline{1-1}
269 15 ... 8 \vline7 \vline 6 \vline 5 \vline 4 \vline 3 \vline 2 \vline 1 \vline 0 & command & data block\\\hline\hline
270 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 & start run & no \\\hline
271 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 & take X events & number of events X \\\hline
272 %0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 & start taking pedestals & no \\\hline
273 %0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 1 & take X pedestals events & number of events X \\\hline
274 %0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 \vline 0 & start calibration run & no \\\hline
275 %0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 \vline 1 & take X calibration events & number of events X \\\hline
276\end{tabular}
277\caption{Command parameters for the 'start run' command: "start run" means an "endless" run, i.e. no prespecified number of events.}
278\label{tab:FTM-start-command-param}
279\end{table}
280
281%\begin{table}[htbp]
282%\centering
283%\begin{tabular}{|r|r|r|}\hline
284% command parameter: bits & & \\\cline{1-1}
285% 15 ... 8 \vline 7 \vline 6 \vline 5 \vline 4 \vline 3 \vline 2 \vline 1 \vline 0 & command & data block\\\hline\hline
286% 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 & stop run & no\\\hline
287%\end{tabular}
288%\caption{Command parameter for the 'stop run' command}
289%\label{tab:FTM-stop-command-param}
290%\end{table}
291
292In case of a 'ping FTUs' command the FTM will address the FTUs one by one and
293readout their DNA. The results are collected in the FTU list (see section
294\ref{sec:FTU-List}), which is sent back to the main control. There are no
295parameters for this command. With the 'crate reset' command the boards of a
296particular crate can be rebooted, where the command parameter defines the
297crate number (see table \ref{tab:FTM-reset-command-param}). Only one crate
298reset at a time is possible, i.e. the FTM firmware does not allow to reset
299multiple crates in one command.
300
301\begin{table}[p]
302\centering
303\begin{tabular}{|r|r|r|}\hline
304 command parameter: bits & & \\\cline{1-1}
305 15 ... 8 \vline 7 \vline 6 \vline 5 \vline 4 \vline 3 \vline 2 \vline 1 \vline 0 & command & data block\\\hline\hline
306 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 & reset crate 0 & no\\\hline
307 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 & reset crate 1 & no\\\hline
308 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 & reset crate 2 & no\\\hline
309 0 \vline 0 \vline 0 \vline 0 \vline 0 \vline 1 \vline 0 \vline 0 \vline 0 & reset crate 3 & no\\\hline
310\end{tabular}
311\caption{Command parameters for the 'crate reset' command: the command parameter may only contain a single "1"
312 corresponding to only one crate reset at a time.}
313\label{tab:FTM-reset-command-param}
314\end{table}
315
316\chapter{FTM data blocks}
317\label{cha:FTM-data-block}
318
319The trigger master features two main data blocks, named 'static data block'
320and 'dynamic data block' in the following. They are implemented in the
321firmware as block-RAM. In addition, there is the so-called 'FTU list', which
322is generated only on request ('ping FTUs' command). If any of these blocks is
323sent to the main control (either automatically or on demand), a header with a
324size of eleven words is added. This header is identical for all data blocks
325and contains solely read-only information: the FTM board ID (57-bit Xilinx
326device DNA \cite{ds557, ds610, wp267, wp266}), a firmware ID and the readings
327of the trigger counter and time stamp counter. The header structure is
328summarized in table~\ref{tab:FTM-header}.
329
330\begin{table}[h]
331\centering
332\begin{tabular}{|l|l|}\hline
333 word no & content\\\hline\hline
334 0x000 & board ID bits 63...48 \\\hline
335 0x001 & board ID bits 47...32\\\hline
336 0x002 & board ID bits 31...16\\\hline
337 0x003 & board ID bits 15...0\\\hline
338 0x004 & firmware ID \\\hline
339 0x005 & Trigger counter at read-out time bits 31...16 \\\hline
340 0x006 & Trigger counter at read-out time bits 15...0\\\hline
341 0x007 & Time stamp counter at read-out time bits 47...32 \\\hline
342 0x008 & Time stamp counter at read-out time bits 31...16 \\\hline
343 0x009 & Time stamp counter at read-out time bits 15...0 \\\hline
344 0x00A & spare \\\hline
345\end{tabular}
346\caption{Header structure for sending a data block}
347\label{tab:FTM-header}
348\end{table}
349
350\section{Static data block}
351\label{sec:Static-data-block}
352
353The static data block contains all the settings needed to configure and
354operate the FTM. It has to be written by the main control each time before a
355run is started or, in general, some component has to be reprogrammed. Single
356register access is not foreseen for the moment. In addition, whenever the FTM
357board receives a new static data block, it performs a complete reconfiguration
358including a reprogramming of the
359FTUs. Table~\ref{tab:FTM-trigger-master-static-data-block} summarizes the
360static data block. More details about the individual registers can be found in
361the subsequent tables.
362
363%These settings are readable and writable by the main control using the
364%corresponding commands 'read static data block' or 'write static data block',
365%respectively. There is one exception from writability: In case the static
366%data block is read back, the first eleven words (address 0..A) are identical
367%with the dynamic data block and the trigger list shown in
368%\ref{tab:FTM-trigger-master-dynamic-data-block} and
369%\ref{tab:FTM-trigger-list}. These first eleven words can only be read and not
370%written. The board ID is supposed to be the Xilinx device DNA \cite{ds557,
371% ds610, wp267, wp266}, the 57 bit device ID of the FPGA. When using the
372%'write static data block' command, the static data block must start with the
373%'general settings register' at address 0x00B. So there is an offset in the
374%addresses of 0x00B between the 'read-out-version' and the 'write-version' of
375%the static data block.
376
377\begin{longtable}[h]{|l|l|}\hline
378\centering
379word no & content\\\hline\hline
380%0x000 & board ID bit 63 - 48 \\\hline
381%0x001 & board ID bit 47 - 32\\\hline
382%0x002 & board ID bit 31 - 16\\\hline
383%0x003 & board ID bit 15 - 0\\\hline
384%0x004 & firmware ID \\\hline
385%0x005 & Trigger counter at read-out time bits 31 .. 16 \\\hline
386%0x006 & Trigger counter at read-out time bits 15 .. 0\\\hline
387%0x007 & Time stamp counter at read-out time bits 47 .. 32 \\\hline
388%0x008 & Time stamp counter at read-out time bits 31 .. 16 \\\hline
389%0x009 & Time stamp counter at read-out time bits 15 .. 0 \\\hline
390%0x00A & spare \\\hline
3910x000 & general settings\\\hline
3920x001 & on-board status LEDs\\\hline
3930x002 & light pulser and pedestal trigger frequency\\\hline
3940x003 & ratio between LP1, LP2 and pedestal triggers\\\hline
3950x004 & light pulser 1 amplitude\\\hline
3960x005 & light pulser 2 amplitude\\\hline
3970x006 & light pulser 1 delay\\\hline
3980x007 & light pulser 2 delay\\\hline
3990x008 & majority coincidence n (for physics)\\\hline
4000x009 & majority coincidence n (for calibration)\\\hline
4010x00A & trigger delay\\\hline
4020x00B & timemarker delay\\\hline
4030x00C & dead time\\\hline
4040x00D & clock conditioner R0 bits 31...16 \\\hline
4050x00E & clock conditioner R0 bits 15...0 \\\hline
4060x00F & clock conditioner R1 bits 31...16 \\\hline
4070x010 & clock conditioner R1 bits 15...0 \\\hline
4080x011 & clock conditioner R8 bits 31...16 \\\hline
4090x012 & clock conditioner R8 bits 15...0 \\\hline
4100x013 & clock conditioner R9 bits 31...16 \\\hline
4110x014 & clock conditioner R9 bits 15...0 \\\hline
4120x015 & clock conditioner R11 bits 31...16 \\\hline
4130x016 & clock conditioner R11 bits 15...0 \\\hline
4140x017 & clock conditioner R13 bits 31...16 \\\hline
4150x018 & clock conditioner R13 bits 15...0 \\\hline
4160x019 & clock conditioner R14 bits 31...16 \\\hline
4170x01A & clock conditioner R14 bits 15...0 \\\hline
4180x01B & clock conditioner R15 bits 31...16 \\\hline
4190x01C & clock conditioner R15 bits 15...0 \\\hline
4200x01D & spare \\\hline
4210x01E & spare \\\hline
4220x01F & spare \\\hline
4230x020 & enables patch 0 board 0 crate 0 \\\hline
4240x021 & enables patch 1 board 0 crate 0 \\\hline
4250x022 & enables patch 2 board 0 crate 0 \\\hline
4260x023 & enables patch 3 board 0 crate 0 \\\hline
4270x024 & DAC$\_$A board 0 crate 0 \\\hline
4280x025 & DAC$\_$B board 0 crate 0 \\\hline
4290x026 & DAC$\_$C board 0 crate 0 \\\hline
4300x027 & DAC$\_$D board 0 crate 0 \\\hline
4310x028 & DAC$\_$H board 0 crate 0 \\\hline
4320x029 & Prescaling board 0 crate 0 \\\hline
4330x02A & enables patch 0 board 1 crate 0 \\\hline
4340x02B & enables patch 1 board 1 crate 0 \\\hline
4350x02C & enables patch 2 board 1 crate 0 \\\hline
4360x02D & enables patch 3 board 1 crate 0 \\\hline
4370x02E & DAC$\_$A board 1 crate 0 \\\hline
4380x02F & DAC$\_$B board 1 crate 0 \\\hline
4390x030 & DAC$\_$C board 1 crate 0 \\\hline
4400x031 & DAC$\_$D board 1 crate 0 \\\hline
4410x032 & DAC$\_$H board 1 crate 0 \\\hline
4420x033 & Prescaling board 1 crate 0 \\\hline
443... & ... \\\hline
4440x1A6 & enables patch 0 board 9 crate 3 \\\hline
4450x1A7 & enables patch 1 board 9 crate 3 \\\hline
4460x1A8 & enables patch 2 board 9 crate 3 \\\hline
4470x1A9 & enables patch 3 board 9 crate 3 \\\hline
4480x1AA & DAC$\_$A board 9 crate 3 \\\hline
4490x1AB & DAC$\_$B board 9 crate 3 \\\hline
4500x1AC & DAC$\_$C board 9 crate 3 \\\hline
4510x1AD & DAC$\_$D board 9 crate 3 \\\hline
4520x1AE & DAC$\_$H board 9 crate 3 \\\hline
4530x1AF & Prescaling board 9 crate 3 \\\hline
4540x1B0 & active FTU list crate 0 \\\hline
4550x1B1 & active FTU list crate 1 \\\hline
4560x1B2 & active FTU list crate 2 \\\hline
4570x1B3 & active FTU list crate 3 \\\hline
458\caption{Overview of the FTM static data block}
459\label{tab:FTM-trigger-master-static-data-block}
460\end{longtable}
461
462The FTM general settings register is detailed in table
463\ref{tab:FTM-general-settings-register}. The 'TIM\_CLK' bit defines whether
464the time marker is generated by the FPGA ('TIM\_CLK' = 0, default for physics
465data taking), or whether it is generated by the clock conditioner ('TIM\_CLK'
466= 1, e.g. for DRS timing calibration). The 'ext\_veto', 'ext\_trig\_1' and
467'ext\_trig\_2' bits enable (1) or disable (0) the NIM inputs for the external
468veto and trigger signals, respectively. In order to select which trigger
469sources are active during a run, the bits 'LP1', 'LP2', 'ped' and 'trigger'
470are foreseen (0 disabled, 1 enabled). During a physics run, for example,
471'LP1', 'ped' and 'trigger' should all be set to generate interleaved
472calibration and pedestal events as well as activate the 'n-out-of-40' trigger
473input. For a didicated pedestal run only 'ped' should be set, since in this
474case the FTM sends directly a trigger to the FADs. For calibration runs it
475depends on whether the external (LP1) or internal (LP2) light pulser is used:
476For the first case 'LP1' and 'trigger' have to be set, since here the full
477trigger chain is involved and the camera triggers based on G-APD signals. For
478the second case only 'LP2' is needed, because the shutter is closed and the
479FTM sends directly the trigger signal to the FADs (like for pedestal
480events). Bits 8 to 15 of the general settings register are not used up to now.
481
482\begin{table}[h]
483\centering
484\begin{small}
485\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|}\hline
486Bit & 15...8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0 \\\hline
487Content & x & trigger & ped & LP2 & LP1 & ext\_trig\_2 & ext\_trig\_1& ext\_veto & TIM\_CLK \\\hline
488\end{tabular}
489\end{small}
490\caption{FTM general settings register}
491\label{tab:FTM-general-settings-register}
492\end{table}
493
494%\begin{table}[!h]
495%\centering
496%\begin{tabular}{|l|l|}\hline
497%TIM\_CClk & description \\\hline\hline
498%0 & Time marker generated in the FPGA \\\hline
499%1 & Time marker generated by the clock conditioner \\\hline
500%\end{tabular}
501%\caption{FTM Time marker indication}
502%\label{tab:FTM-Time-marker-indication}
503%\end{table}
504
505%\begin{table}[!h]
506%\centering
507%\begin{tabular}{|l|l|}\hline
508%ena$\_$ext$\_$Veto & description \\\hline\hline
509%0 & disable external trigger veto\\\hline
510%1 & enable external trigger veto \\\hline
511%\end{tabular}
512%\caption{FTM external trigger}
513%\label{tab:FTM-external-trigger}
514%\end{table}
515
516%\begin{table}[!h]
517%\centering
518%\begin{tabular}{|l||l|}\hline
519%ena\_LP1 & description \\\hline\hline
520%0 & disable light pulser 1 \\\hline
521%1 & enable light pulser 1\\\hline
522%\end{tabular}
523%\caption{FTM light pulser 1}
524%\label{tab:FTM-light-pulser-1}
525%\end{table}
526
527%\begin{table}[!h]
528%\centering
529%\begin{tabular}{|l||l|}\hline
530%ena\_LP2 & description \\\hline\hline
531%0 & disable light pulser 2 \\\hline
532%1 & enable light pulser 2 \\\hline
533%\end{tabular}
534%\caption{FTM light pulser 2}
535%\label{tab:FTM-light-pulser-2}
536%\end{table}
537
538%\begin{table}[!h]
539%\centering
540%\begin{tabular}{|l||l|}\hline
541%ena\_Ped & description \\\hline\hline
542%0 & disable interleaved pedestal trigger \\\hline
543%1 & enable interleaved pedestal trigger \\\hline
544%\end{tabular}
545%\caption{FTM interleaved pedestals}
546%\label{tab:FTM-interleaved-pedestals}
547%\end{table}
548
549%\begin{table}[!h]
550%\centering
551%\begin{small}
552%\begin{tabular}{|l||l|}\hline
553%ena\_LLC & description \\\hline\hline
554%0 & disable low level calibration pulses \\\hline
555%1 & enable low level calibration pulses \\\hline
556%\end{tabular}
557%\end{small}
558%\caption{FTM low level calibration pulses}
559%\label{tab:FTM-low-level-calibration-pulses}
560%\end{table}
561
562The 'on-board status LEDs' register shown in table \ref{tab:FTM-LED-register}
563allows to switch a total of eight LEDs on the FTM board for debugging purposes
564by setting the corresponding bit high.
565
566\begin{table}[h]
567\centering
568\begin{small}
569\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|}\hline
570Bit & 15...8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0 \\\hline
571Content & x & red$\_$3 & red$\_$2 & gn$\_$1 & ye$\_$1 & red$\_$1 & gn$\_$0 & ye$\_$0 & red$\_$0 \\\hline
572\end{tabular}
573\end{small}
574\caption{'on-board status LEDs' register}
575\label{tab:FTM-LED-register}
576\end{table}
577
578The frequency, with which light pulser and pedestal triggers are sent, is
579stored in the register at address 0x002 (see table
580\ref{tab:FTM-frequency-register}). It is given in Hz and adjustable up to
581about 1\,kHz (10 bit). The next register defines the ratio of LP1, LP2 and
582pedestal events (see table \ref{tab:FTM-ratio-register}).
583
584\begin{table}[h]
585\centering
586\begin{small}
587\begin{tabular}{|l|l|l|l|l|l|l|l|}\hline
588Bit & 15 - 10 & 9 & 8 & ... & 2 & 1 & 0 \\\hline
589Content & x & FREQ\_9 & FREQ\_8 & ... & FREQ\_2 & FREQ\_1 & FREQ\_0 \\\hline
590\end{tabular}
591\end{small}
592\caption{Register for the frequency of calibration and pedestal events}
593\label{tab:FTM-frequency-register}
594\end{table}
595
596\begin{table}[h]
597\centering
598\begin{small}
599\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|}\hline
600Bit & 15 - 12 & 11 & ... & 8 & 7 & ... & 4 & 3 & ... & 0 \\\hline
601Content & x & ped\_R3 & ... & ped\_R0 & LP2\_R3 & ... & LP2\_R0 & LP1\_R3 & ... & LP1\_R0 \\\hline
602\end{tabular}
603\end{small}
604\caption{Register defining the ratio between pedestal, LP1 and LP2 events}
605\label{tab:FTM-ratio-register}
606\end{table}
607
608%\begin{table}[!h]
609%\centering
610%\begin{tiny}
611%\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|l|}\hline
612%Bit & 15 - 10 & 9 & 8 & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0 \\\hline
613%Function & x & LPR2\_9 & LPR2\_8 & LPR2\_7 & LPR2\_6 & LPR2\_5 & LPR2\_4 & LPR2\_3 & LPR2\_2 & LPR2\_1 & LPR2\_0 \\\hline
614%\end{tabular}
615%\end{tiny}
616%\caption{Light pulser 2 frequency register at address 0x00E: This register contains the pulse rate of the light
617% pulser 2 in Hz.}
618%\label{tab:Light-pulser-2-frequancy-register}
619%\end{table}
620
621In order to define the amplitude and characteristics of the light pulses that
622are generated by the LP1 and the LP2 system, the registers 'LP1 amplitude' and
623'LP2 amplitude' are used, respectively. These registers are presented in
624table~\ref{tab:LP1-amplitude-register} and
625table~\ref{tab:LP2-amplitude-register}. In general the light pulser systems
626are controlled from the FTM by means of four control lines: The first line
627defines the amplitude of the calibration events by sending a gate/pulse with
628an adjustable length (bits 0 to 3 in the amplitude registers). With the second
629and third line additional LEDs can be switched on in the calibration systems
630(bits 13 and 14). The fourth line is used to overdrive the LP systems and to
631generate a very fast timing pulse. To do so, bit 15 has to be set to 1.
632
633\begin{table}[!h]
634\centering
635\begin{small}
636\begin{tabular}{|l|l|l|l|l|l|l|l|}\hline
637Bit & 15 & 14 & 13 & 12...4 & 3 & ... & 0 \\\hline
638Content & FCP1 & add\_LEDs1\_1& add\_LEDs1\_0 & x & LP1A\_3 & ... & LP1A\_0 \\\hline
639\end{tabular}
640\end{small}
641\caption{Light pulser 1 amplitude register}
642\label{tab:LP1-amplitude-register}
643\end{table}
644
645\begin{table}[!h]
646\centering
647\begin{small}
648\begin{tabular}{|l|l|l|l|l|l|l|l|}\hline
649Bit & 15 & 14 & 13 & 12...4 & 3 & ... & 0 \\\hline
650Content & FCP2 & add\_LEDs2\_1 & add\_LEDs2\_0 & x & LP2A\_3 & ... & LP2A\_0 \\\hline
651\end{tabular}
652\end{small}
653\caption{Light pulser 2 amplitude register}
654\label{tab:LP2-amplitude-register}
655\end{table}
656
657The different settings of the 'n-out-of-40' logic (physics or calibration
658events) are stored in two separate registers, which both have a structure
659according to table~\ref{tab:FTM-majority}.
660
661\begin{table}[!h]
662\centering
663\begin{small}
664\begin{tabular}{|l|l|l|l|l|l|l|l|}\hline
665Bit & 15...6 & 5 & 4 & 3 & 2 &1 & 0 \\\hline
666Content & x & n5 & n4 & n3 & n2 & n1 & n0 \\\hline
667\end{tabular}
668\end{small}
669\caption{Structure of the two majority coincidence (n-out-of-40) registers; the binary value
670 in these registers is the number n of FTU trigger primitives required to trigger an event (physics or calibration)}
671\label{tab:FTM-majority}
672\end{table}
673
674In addtion, there are several registers in the static data block to define
675delays (e.g. for the trigger). Also a general dead time to be applied after
676each trigger can be set (to compensate for the delay of the busy line). The
677clock conditioner settings are specified at address 0x00D to 0x01C (LMK03000
678from National Semiconductor, for more details see \cite{LMK03000}). Starting
679at address 0x020, the FTU settings are stored. The FTM always holds the
680complete FTU parameters in the static data block. For the meaning of these
681registers, please refer to the FTU firmware specifications document
682\cite{FTUspecs}. In case not all FTUs are connected during e.g. the testing
683phase, or a FTU is broken, the 'active FTU list' registers can be used to
684disable certain boards.
685
686The bits 9 ... 0 of the active FTU list (address 0x1B0 to 0x1B3, corresponding
687to crate 0 to 3) contain the "active" flag for every FTU board. Setting a bit
688activates the corresponding FTU board while a "0" deactivates it.
689
690\section{Dynamic data block}
691\label{sec:Dynamic-data-block}
692The dynamic data block shown in table \ref{tab:FTM-dynamic-data-block}
693contains permanently updated data stored inside the FTM FPGA. It contains the
694actual on-time counter reading, the board temperatures and the trigger rates
695measured by the FTUs. This data block is updated and sent periodically by the
696FTM. Thus the main control software receives periodically a corresponding data
697package via ethernet. The counting interval of the FTU board 0 on crate 0
698('prescaling' register) defines the period. The on-board 12-bit temperature
699sensors are MAX6662 chips from Maxim Products. For more information about
700these components and their data see \cite{MAX6662}. When sending the dynamic
701data block, the header defined in table~\ref{tab:FTM-header} is added at the
702beginning.
703
704% \begin{table}[h]
705% \centering
706\begin{longtable}[h]{|l|l|}\hline
707word no & content\\\hline\hline
708%0x000 & board ID bit 63 - 48 \\\hline
709%0x001 & board ID bit 47 - 32\\\hline
710%0x002 & board ID bit 31 - 16\\\hline
711%0x003 & board ID bit 15 - 0\\\hline
712%0x004 & firmware ID \\\hline
713%0x005 & Trigger counter at read-out time bits 31 .. 16 \\\hline
714%0x006 & Trigger counter at read-out time bits 15 .. 0\\\hline
715%0x007 & Time stamp counter at read-out time bits 47 .. 32 \\\hline
716%0x008 & Time stamp counter at read-out time bits 31 .. 16 \\\hline
717%0x009 & Time stamp counter at read-out time bits 15 .. 0 \\\hline
718%0x00A & spare \\\hline
719
7200x000 & on-time counter at read-out time bits 47...32 \\\hline
7210x001 & on-time counter at read-out time bits 31...16 \\\hline
7220x002 & on-time counter at read-out time bits 15...0 \\\hline
7230x003 & temperature sensor 0: component U45 on the FTM schematics \cite{FTM-Schematics}\\\hline
7240x004 & temperature sensor 1: U46 \\\hline
7250x005 & temperature sensor 2: U48 \\\hline
7260x006 & temperature sensor 3: U49 \\\hline
7270x007 & rate counter bit 29...16 patch 0 board 0 crate 0 \\\hline
7280x008 & rate counter bit 15...0 patch 0 board 0 crate 0 \\\hline
7290x009 & rate counter bit 29...16 patch 1 board 0 crate 0 \\\hline
7300x00A & rate counter bit 15...0 patch 1 board 0 crate 0 \\\hline
7310x00B & rate counter bit 29...16 patch 2 board 0 crate 0 \\\hline
7320x00C & rate counter bit 15...0 patch 2 board 0 crate 0 \\\hline
7330x00D & rate counter bit 29...16 patch 3 board 0 crate 0 \\\hline
7340x00E & rate counter bit 15...0 patch 3 board 0 crate 0 \\\hline
7350x00F & rate counter bit 29...16 total board 0 crate 0 \\\hline
7360x010 & rate counter bit 15...0 total board 0 crate 0\\\hline
7370x011 & Overflow register board 0 crate 0 \\\hline
7380x012 & CRC-error register board 0 crate 0 \\\hline
7390x013 & rate counter bit 29...16 patch 0 board 1 crate 0 \\\hline
7400x014 & rate counter bit 15...0 patch 0 board 1 crate 0 \\\hline
7410x015 & rate counter bit 29...16 patch 1 board 1 crate 0 \\\hline
7420x016 & rate counter bit 15...0 patch 1 board 1 crate 0 \\\hline
7430x017 & rate counter bit 29...16 patch 2 board 1 crate 0 \\\hline
7440x018 & rate counter bit 15...0 patch 2 board 1 crate 0 \\\hline
7450x019 & rate counter bit 29...16 patch 3 board 1 crate 0 \\\hline
7460x01A & rate counter bit 15...0 patch 3 board 1 crate 0 \\\hline
7470x01B & rate counter bit 29...16 total board 1 crate 0 \\\hline
7480x01C & rate counter bit 15...0 total board 1 crate 0 \\\hline
7490x01D & Overflow register board 1 crate 0 \\\hline
7500x01E & CRC-error register board 1 crate 0 \\\hline
751... & ... \\\hline %%%
752% \end{longtable}
753\caption{FTM dynamic data block}
754\label{tab:FTM-dynamic-data-block}
755\end{longtable}
756
757%\section{Trigger-list}
758%\label{sec:trigger-list}
759%The FTM board records all triggers in a list, the so-called trigger-list.
760%This trigger-list comprises a maximum of 50 triggers. The first eleven words
761%are the same as in the static- and dynamic data block. During data-taking-,
762%calibration- and trigger runs, the Trigger-list is automatically sent to the
763%main control each time the 50 triggers are reached or the run is finished. In
764%addition, the Trigger-list can also be read-out by the main control with the
765%according command. In case the run finishes or is terminated, as well as when
766%read out manually, the trigger list might be shorter than 50 events.
767
768%% \begin{table}[h]
769%% \centering
770%\begin{longtable}[h]{|l|l|}\hline
771%address & content\\\hline\hline
772%0x000 & board ID bit 63 - 48 \\\hline
773%0x001 & board ID bit 47 - 32\\\hline
774%0x002 & board ID bit 31 - 16\\\hline
775%0x003 & board ID bit 15 - 0\\\hline
776%0x004 & firmware ID \\\hline
777%0x005 & Trigger counter at read-out time bits 31 .. 16 \\\hline
778%0x006 & Trigger counter at read-out time bits 15 .. 0\\\hline
779%0x007 & Time stamp counter at read-out time bits 47 .. 32 \\\hline
780%0x008 & Time stamp counter at read-out time bits 31 .. 16 \\\hline
781%0x009 & Time stamp counter at read-out time bits 15 .. 0 \\\hline
782%0x00A & spare \\\hline
783
784%0x00B & on-time counter at read-out time bits 47 .. 32 \\\hline
785%0x00C & on-time counter at read-out time bits 31 .. 16 \\\hline
786%0x00D & on-time counter at read-out time bits 15 .. 0 \\\hline
787
788%0x00E & 1st event Trigger-ID \\\hline
789%0x00F & 1st event Trigger-ID \\\hline
790%0x010 & 1st event Trigger-ID \\\hline
791%0x011 & 1st event Trigger primitives crate 0 \\\hline
792%0x012 & 1st event Trigger primitives crate 1 \\\hline
793%0x013 & 1st event Trigger primitives crate 2 \\\hline
794%0x014 & 1st event Trigger primitives crate 3 \\\hline
795%0x015 & 1st event Time stamp counter at trigger time bits 47 .. 32 \\\hline
796%0x016 & 1st event Time stamp counter at trigger time bits 31 .. 16 \\\hline
797%0x017 & 1st event Time stamp counter at trigger time bits 15 .. 0 \\\hline
798
799%0x018 & 2nd event Trigger-ID \\\hline
800%0x019 & 2nd event Trigger-ID \\\hline
801%0x01A & 2nd event Trigger-ID \\\hline
802%0x01B & 2nd event Trigger primitives crate 0 \\\hline
803%0x01C & 2nd event Trigger primitives crate 1 \\\hline
804%0x01D & 2nd event Trigger primitives crate 2 \\\hline
805%0x01E & 2nd event Trigger primitives crate 3 \\\hline
806%0x01F & 2nd event Time stamp counter at trigger time bits 47 .. 32 \\\hline
807%0x020 & 2nd event Time stamp counter at trigger time bits 31 .. 16 \\\hline
808%0x021 & 2nd event Time stamp counter at trigger bits 15 .. 0 \\\hline
809%... & ...\\\hline
810%0x1F8 & 50th event Trigger-ID \\\hline
811%0x1F9 & 50th event Trigger-ID \\\hline
812%0x1FA & 50th event Trigger-ID \\\hline
813%0x1FB & 50th event Trigger primitives crate 0 \\\hline
814%0x1FC & 50th event Trigger primitives crate 1 \\\hline
815%0x1FD & 50th event Trigger primitives crate 2 \\\hline
816%0x1FE & 50th event Trigger primitives crate 3 \\\hline
817%0x1FF & 50th event Time stamp counter at trigger time bits 47 .. 32 \\\hline
818%0x200 & 50th event Time stamp counter at trigger time bits 31 .. 16 \\\hline
819%0x201 & 50th event Time stamp counter at trigger bits 15 .. 0 \\\hline
820
821%% \end{longtable}
822%\caption{FTM trigger list}
823%\label{tab:FTM-trigger-list}
824%\end{longtable}
825
826\section{FTU list}
827\label{sec:FTU-List}
828When the FTM board receives the 'ping all FTUs' instruction, it sends a ping
829command to all FTU boards and gathers the FTU boards responses to a list. This
830list is called 'FTU list' and shown in table \ref{tab:FTU-list}. The FTM only
831accepts a ping when no run is ongoing (defined by the 'start run' and 'stop
832run' commands). When the FTU list is complete, it is sent back via ethernet
833with the header defined in table~\ref{tab:FTM-header}.
834
835\begin{longtable}[h]{|l|l|}\hline
836address & content\\\hline\hline
8370x000 & total number of responding FTU boards\\\hline
8380x001 & number of responding FTU boards belonging to crate 0 \\\hline
8390x002 & number of responding FTU boards belonging to crate 1 \\\hline
8400x003 & number of responding FTU boards belonging to crate 2 \\\hline
8410x004 & number of responding FTU boards belonging to crate 3 \\\hline
8420x005 & active FTU list crate 0 \\\hline
8430x006 & active FTU list crate 1 \\\hline
8440x007 & active FTU list crate 2 \\\hline
8450x008 & active FTU list crate 3 \\\hline
8460x009 & address of first FTU board and number of sent pings\\\hline
8470x00A & DNA of first FTU board bit 63 ... 48\\\hline
8480x00B & DNA of first FTU board bit 47 ... 32\\\hline
8490x00C & DNA of first FTU board bit 31 ... 16\\\hline
8500x00D & DNA of first FTU board bit 15 ... 0\\\hline
8510x00E & CRC error counter reading of first FTU board\\\hline
8520x00F & address of second FTU board and number of sent pings\\\hline
8530x010 & DNA of second FTU board bit 63 ... 48\\\hline
8540x011 & DNA of second FTU board bit 47 ... 32\\\hline
8550x012 & DNA of second FTU board bit 31 ... 16\\\hline
8560x013 & DNA of second FTU board bit 15 ... 0\\\hline
8570x014 & CRC error counter reading of second FTU board\\\hline
858... & ...\\\hline
859\caption{FTU list}
860\label{tab:FTU-list}
861\end{longtable}
862
863In case there is no response to a 'ping' for a certain FTU address, there are
864up to two repetitions. If there is still no answer, only zeros are written
865into the FTU list for this particular board. A responding FTU board gets a
866regular entry, including the number of 'ping' sent until response. The number
867of pings is coded together with the FTU board address as shown in table
868\ref{tab:FTU-crate-number-and-address}. The two bits 'pings\_0' and 'pings\_1'
869contain the number of 'pings' until response of an FTU board (coded in
870binary). The 'DNA' of the FTU board is the device DNA \cite{ds557, ds610,
871 wp267, wp266} of the FPGA on the responding FTU board. This is a unique 57
872bit serial number unambiguously identifying every Xilinx FPGA. In the most
873significant word (bit 63 ... 48) bits 63 down to 57 are filled with zeros.
874
875\begin{table}[h]
876\centering
877\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|l|l|}\hline
878Bit & 15 ... 10 & 9 & 8 & 7 & 6 & 5 & ... & 0 \\\hline
879Content & x ... x & pings\_1 & pings\_0 & x & x & A5 & ... & A0 \\\hline
880\end{tabular}
881\caption{Crate number and address of first responding FTU board}
882\label{tab:FTU-crate-number-and-address}
883\end{table}
884
885\chapter{FTU communication error handling}
886\label{cha:Error-handling}
887
888When the FTM board is communicating with a FTU board via RS-485, the FTU board
889has to respond within 5 ms. If this timeout expires, or the response sent back
890by the FTU board is incorrect, the FTM resends the datapacket after the
891timeout. If this second attempt is still unsuccessful, a third and last
892attempt will be made by the FTM board. An error message will be sent to the
893central control whenever a FTU board does not send a correct answer after the
894first call by the FTM board. This message (see table~\ref{tab:error-message})
895contains, after the standard header (see table~\ref{tab:FTM-header}), the
896number of unsuccessful calls and the data packet sent to the FTU board in
897these unsuccessful calls. In order to avoid massive error messages for
898e.g. test setups with single FTUs, the 'active FTU list' can be employed to
899disable FTUs from the bus. In that case the FTM will not try to contact the
900corresponding boards.
901
902\begin{table}[h]
903 \centering
904 \begin{tabular}{|l|l|}\hline
905 word no & content\\\hline\hline
906 0x000 & board ID bits 63...48 \\\hline
907 0x001 & board ID bits 47...32\\\hline
908 0x002 & board ID bits 31...16\\\hline
909 0x003 & board ID bits 15...0\\\hline
910 0x004 & firmware ID \\\hline
911 0x005 & Trigger counter at read-out time bits 31...16 \\\hline
912 0x006 & Trigger counter at read-out time bits 15...0\\\hline
913 0x007 & Time stamp counter at read-out time bits 47...32 \\\hline
914 0x008 & Time stamp counter at read-out time bits 31...16 \\\hline
915 0x009 & Time stamp counter at read-out time bits 15...0 \\\hline
916 0x00A & spare \\\hline
917 0x00B & number of unsuccessful calls\\\hline
918 0x00C ... 0x027 & slow control data packet sent to FTU (28 byte)\\\hline
919 \end{tabular}
920 \caption{FTU communication error message}
921 \label{tab:error-message}
922\end{table}
923
924%---------------------------------------------------------------------------------
925
926\bibliographystyle{unsrt}
927%\bibliography{FTM-Com}
928
929\begin{thebibliography}{1}
930
931\bibitem{DRS4}
932Paul Scherrer Institut PSI.
933\newblock {\em DRS4 9 Channel, 5 GSPS Switched Capacitor Array}.
934\newblock datasheet.
935
936\bibitem{LMK03000}
937National Semiconductor Corporation.
938\newblock {\em LMK03000 Family Precision Clock Conditioner with integrated
939 VCO}, 2008.
940\newblock datasheet.
941
942\bibitem{FTM-Schematics}
943ETH Z{\"u}rich, IPP.
944\newblock {\em FTM Schematics}, 2010.
945
946\bibitem{W5300}
947WIZnet Co.Ltd.
948\newblock {\em W5300 Fully Hardwired Network protocol Embedded Ethernet
949 Controller}, 2008.
950\newblock datasheet.
951
952\bibitem{ds557}
953Xilinx.
954\newblock {\em Spartan-3AN FPGA Family Data Sheet}, 2009.
955
956\bibitem{ds610}
957Xilinx.
958\newblock {\em Spartan-3A DSP FPGA Family: Data Sheet}, 2009.
959
960\bibitem{wp267}
961Xilinx.
962\newblock {\em Advanced Security Schemes for Spartan-3A/3AN/3A DSP FPGAs},
963 2007.
964
965\bibitem{wp266}
966Xilinx.
967\newblock {\em Security Solutions Using Spartan-3 Generation FPGAs}, 2008.
968
969\bibitem{MAX6662}
970Maxim Integrated Products.
971\newblock {\em 12-Bit plus Sign Temperature Sensor with SPI-Compatible Serial
972 Interface MAX6662}, 2001.
973\newblock datasheet.
974
975\bibitem{FTUspecs}
976ETH Z{\"u}rich, IPP.
977\newblock {\em FTU Firmware Specifications v3}, 2010.
978
979\end{thebibliography}
980
981\end{document}
Note: See TracBrowser for help on using the repository browser.