Commit d8cf419c authored by Paolo Baesso's avatar Paolo Baesso

Reduced size of figures and uniformed their size. Minor tidying up in first chapters

parent 83377c72
......@@ -51,7 +51,7 @@ The enable signals can be configured by programming two \gls{gpio} bus expanders
In terms for functionalities, the four \gls{hdmi} connectors are identical with one exception: the clock signal from \verb|HDMI4| can be used as reference for the clock generator chip mounted on the hardware. For more details on this functionality refer to section~\ref{ch:clock}.
\subsubsection{SFP cage}
\brd hosts a \gls{sfp} cafe and a \gls{cdr} chip that can be used to decode a data stream over optical/copper interface. The data from the stream is routed to the \gls{fpga} while the clock can be fed to the Si5345 to provide a clock reference.
\brd hosts a \gls{sfp} cafe and a \gls{cdr} chip that can be used to decode a data stream or to issue timing signals over optical/copper interface. The data from the stream is routed to the \gls{fpga} while the clock can be fed to the on-board clock chip to be used as a clock reference.
\section{Clock LEMO}
The board hosts a two-pin LEMO connector that can be used to provide a reference clock to the clock generator (see section~\ref{ch:clock}) or to output the clock from the \gls{tlu} to the external world, for instance to use it as a reference for another \gls{tlu}. The signal level is 3.3~V \gls{lvds}.\\
......
\chapter{Introduction}\label{ch:introduction}
Congratulations on acquiring an AIDA2020 \gls{tlu}. We hope that the unit will help you to collect lots of useful data during your hardware tests.\\
Congratulations on acquiring an AIDA2020 \gls{tlu}!\\
We hope that the unit will help you to collect lots of useful data during your hardware tests.\\
This manual describes the \gls{tlu} designed for the \href{http://aida2020.web.cern.ch/}{AIDA-2020 project} by David Cussans\footnote{University of Bristol, Particle Physics group} and Paolo Baesso\footnote{University of Bristol, Particle Physics group}.\\
The unit is designed to be used in High Energy Physics beam-tests and provides a simple and flexible interface for fast timing and triggering signals at the AIDA pixel sensor beam-telescope.\\
The current version of the hardware is an evolution of the \href{https://twiki.cern.ch/twiki/bin/view/MimosaTelescope/TLU}{EUDET-TLU} and the \href{https://www.ohwr.org/projects/fmc-mtlu/wiki}{miniTLU} and is shipped in a metal enclosure that includes an \gls{fpga} board, the \gls{tlu} \gls{pcb} and an additional power module: the \gls{fpga} is responsible for all the logic functions of the unit, while the \gls{pcb} contains the clock chip, discriminator and interface blocks needed to communicate with other devices. The power module contains programmable \gls{dac} to power photomultipliers and \gls{led} indicators.\\
......@@ -10,19 +11,19 @@ The AIDA \gls{tlu} provides timing and synchronization signals to test-beam read
When used for within AIDA-2020 specifications, the hardware generates a low-jitter 40~MHz clock or can accept an external clock reference. The external reference clock frequency is not required to be 40~MHz but other values require a dedicated configuration of the clock circuitry on the board. Similarly, by changing the configuration file it is possible to operate the hardware at different clock frequencies.\\
The \gls{tlu} accepts asynchronous trigger signals from up to six external sources, such as beam-scintillators, and generate synchronous signals (including global trigger or control signals) to send to up to four \gls{dut}. The logic function used to generate the trigger can be defined by the user among all the possible logic combinations of the inputs.\\
Depending on the chosen mode of operation, the \gls{tlu} can accept busy signals or other veto signals from \gls{dut}s and react accordingly, for instance avoiding any further trigger until all the busy signals have been de-asserted.\\
Whenever a global trigger is generated by the unit, a 48-bit coarse time-stamp is attached to it. This time stamp is based on the internal clock. The unit also records a fine-grain time stamp with 780~ps resolution for each signal involved in the trigger decision.\\
Whenever a global trigger is generated by the unit, a 48-bit coarse time-stamp is attached to it. This time stamp is based on the internal 40~MHz clock. The unit also records a fine-grain time stamp with 1.56~ns resolution for each signal involved in the trigger decision.\\
The configuration parameters and data are sent and received via the \href{https://www.ohwr.org/projects/ipbus}{IPbus} which provides a simple way to control and communicate TCA-based hardware via the UDP/IP protocol.\\
The \gls{tlu} is shipped with an \gls{fpga} board already programmed with the latest version of the firmware needed to operate the unit. New features and bug fixes are continuously being implemented by the developing team and it is possible to flash the unit with a new firmware as described in section~\ref{ch:flashFPGA}.\\
The internal electronics of the \gls{tlu} require 12~V to operate and will dissipate about 12 W during normal operation.\\
Power should be provided using the socket located on the back panel. See section~\ref{ch:backpanelintro} and \ref{ch:rackmountpanel} for details on compatible connectors.\\
\section{Hardware modules}\label{ch:hardwaretypes}
The unit is provided in two different configurations: a table-top enclosure and a 19"-rack mount enclosure. The difference is only cosmetic; the hardware inside the unit is identical\footnote{With the only exception that the 10"-rack unit has and additional \gls{lcd}.} so the information contained in the rest of this manual apply to both types of \gls{tlu} unless otherwise specified.
The unit is provided in two different configurations: a table-top enclosure (figure~\ref{fig:tabletop}) and a 19"-rack mount enclosure (figure~\ref{fig:rackmountpanels}). The difference is only cosmetic; the hardware inside the unit is identical\footnote{With the only exception that the 19"-rack unit has and additional \gls{lcd} and is powered using 220~V.} so the information contained in the rest of this document apply to both types of \gls{tlu} unless otherwise specified.
\subsection{Table-top unit: front panel}\label{ch:frontpanel}
The front panel of the \gls{tlu} is shown in figure~\ref{fig:tabletop} (top); from left to right, the main elements are:
\begin{itemize}
\item \gls{sfp} cage. This port can be used to provide timing signals via optical/copper interface. Do not attempt to use this to talk to the \gls{tlu} register as the firmware does not support this mode of operation.
\item \gls{sfp} cage. This port can be used to provide timing signals via optical/copper interface. Do not attempt to use this to communicate with the \gls{tlu} as the firmware does not support this mode of operation.
\item 4 \gls{hdmi} connectors for devices under test. Each connector has a \gls{rgb} LED used to indicate the port status (see section~\ref{ch:frontpanelintro}).
\item 1 LEMO connector for \gls{lvds} clock input/output. This is a 2-pin LEMO series 00 connector\footnote{Part number EPG.00.302.NLN. An example of mating part is LEMO FGG.00.302.CLAD35}. A \gls{rgb} \gls{led} indicator is used to signal whether the port is configured as input or output.
\item 6 LEMO Trigger inputs. These are standard 1-pin LEMO connectors\footnote{LEMO EPK.00.250.NN. Mates with any LEMO 00.250 connector}. Each input has a \gls{rgb} \gls{led} indicator.
......@@ -31,7 +32,7 @@ The front panel of the \gls{tlu} is shown in figure~\ref{fig:tabletop} (top); fr
To reduce the cost of a unit, some modules are not equipped with these connectors and the front panel holes are blanked by a plastic board.\\
If necessary, it is possible to solder the connectors at a later stage, since all the necessary circuitry is present. This requires disassembling the unit, removing the top cover. See section~\ref{ch:inspection} for details.
\end{alertinfo}
\item Green \gls{led} indicators for power (+12 V) and regulators (+5 V and -5 V).
\item Green \gls{led} indicators for power (+12 V) and regulators (+5 V and -5 V). These indicators should always be lit when the unit is powered.
\end{itemize}
\begin{figure}
\centering
......@@ -57,14 +58,14 @@ A cooling fan is also mounted on the back panel.
The front and back panels for the 19"-rack unit are shown in figure~\ref{fig:rackmountpanels}. All the components are identical to those of the table-top enclosure with the following exceptions:
\begin{itemize}
\item this version has a \gls{lcd} used to display information.
\item the unit is powered with 220~V (AC); an internal AC-DC converter is used to provide the required 12~V (DC) to the electronics. A standard mains lead\footnote{IEC 60320 type C13.} is required.
\item the unit is powered with 220~VAC (110 VAC can also be used); an internal AC-DC converter is used to provide the required 12~V (DC) to the electronics. A standard mains lead\footnote{IEC 60320 type C13.} is required.
\item The \gls{usb} ports are placed on the front of the unit leaving only the RJ45 and power connectors on the back.
\item A power switch is located on the front panel.
\end{itemize}
\begin{figure}
\centering
\includegraphics[width=.990\textwidth]{./Images/TLU_19rack.pdf}
\caption{View of the 10"-rack mount TLU front (top) and back (bottom) panels.}
\caption{View of the 19"-rack mount TLU front (top) and back (bottom) panels.}
\label{fig:rackmountpanels}
\end{figure}
......@@ -74,26 +75,26 @@ At the moment of shipping, each \gls{tlu} is pre-configured with the most recent
\begin{enumerate}
\item Ensure no \gls{usb} cable is plugged in the unit
\item Power the unit. The pre-configured firmware will automatically load.
\item Plug an Ethernet cable in the back panel and connect it to the computer used to run the control software. Note that currently the unit uses a pre-defined IP address of 192.168.200.30. In future version of the firmware the address will be configurable. Try to ping the IP address of the unit: if the unit responds then the firmware is correctly loaded.
\item Plug an Ethernet cable in the RJ45 socket located on the back panel and connect it to the computer used to run the control software. Note that currently the unit uses a pre-defined IP address of 192.168.200.30. In future version of the firmware the address will be configurable. Try to ping the IP address of the unit: if the unit responds then the firmware is correctly loaded.
\item Use the control software to configure the unit. In particular, after each power up it is necessary to re-configure the clock chip. See chapter~\ref{ch:controlsw} for details on the software and chapter~\ref{ch:clock} for details on the clock chip.
\end{enumerate}
\section{FPGA and firmware}\label{ch:fpgahardware}
The firmware developed at University of Bristol is targeted to work with the Enclustra AX3 board, which must be plugged onto a PM3 base, also produced by \href{http://www.enclustra.com/en/home/}{Enclustra}. The firmware is written on the \gls{fpga} using a \gls{jtag} interface. Typically a breakout board will be required to connect the Xilinx programming cable to the Enclustra PM3. All these components are included in the \gls{tlu} enclosure so the user can upload a new version of the firmware by simply connecting a \gls{usb}-B cable in the back panel of the unit.\\
At the time of writing this work\footnote{\monthyeardate\today} the AX3 is the only \gls{fpga} for which a firmware has been developed. However, we plan to ship future versions of the \gls{tlu} with a custom made \gls{fpga} designed by Samer Kilani.\\
The firmware developed at University of Bristol is targeted to work with the Enclustra AX3 board, which must be plugged onto a PM3 base, also produced by \href{http://www.enclustra.com/en/home/}{Enclustra}. The firmware is loaded on the \gls{fpga} using a \gls{jtag} interface. Typically a breakout board will be required to connect the Xilinx programming cable to the Enclustra PM3. All these components are included in the \gls{tlu} enclosure so the user can upload a new version of the firmware by simply connecting a \gls{usb}-B cable in the back panel of the unit.\\
At the time of writing this document\footnote{\monthyeardate\today} the AX3 is the only \gls{fpga} for which a firmware has been developed.\\
Each unit is shipped with the latest version of the firmware written onto its boot loader \gls{eeprom}; at power up, the unit will automatically retrieve the firmware from the \gls{eeprom} and program itself.
\begin{alertinfo}{Note}
If the \gls{fpga} detects a programming cable connected it will not load the firmware from its memory after a power cycle.\\
It is recommended to leave the \gls{usb} cable disconnected from the back panel unless there is the intention to re-program the firmware.
\end{alertinfo}
The latest version of the firmware can be found on the project \gls{ohwr} github repository (\href{https://ohwr.org/project/fmc-mtlu-gw}{AIDA-2020 TLU - Gateware}).\\
The user can decide to configure the unit with a new version of the firmware that will remain active until the \gls{tlu} is powered off (standard programming). It is also possible to write the \gls{eeprom} to replace boot program with a new one (configuration memory programming). Both procedures are described below.\\
The user can decide to configure the unit with a new version of the firmware that will remain active until the \gls{tlu} is powered off (see \hyperlink{standard programming}{standard programming}, described below). It is also possible to re-program the \gls{eeprom} to permanently replace the boot program with a new one (see \hyperlink{configuration memory programming}{configuration memory programming}, described below).\\
Programming the \gls{fpga} requires the Vivado Lab Tools, available free on the \href{https://www.xilinx.com/support/download.html}{on the Xilinx website}\footnote{https://www.xilinx.com/support/download.html}. Depending on the hardware installed internally, some additional drivers might be required to correctly use the \gls{jtag} cable.\\
At the time of writing, the preferred cable for the table-top \gls{tlu} is the \href{https://store.digilentinc.com/jtag-hs2-programming-cable/}{Digilent HS2}\footnote{https://store.digilentinc.com/jtag-hs2-programming-cable/}; the corresponding driver package is ADEPT 2, available on the \href{https://reference.digilentinc.com/reference/software/adept/start}{Digilent website}\footnote{https://reference.digilentinc.com/reference/software/adept/start}.\\
For the 19-inch rack mount unit, the cable used is the Trenz \href{https://shop.trenz-electronic.de/en/TE0790-02-XMOD-FTDI-JTAG-Adapter-Xilinx-compatible?c=318}{TE0790-02}\footnote{https://shop.trenz-electronic.de/en/TE0790-02-XMOD-FTDI-JTAG-Adapter-Xilinx-compatible?c=318}. This cable is compatible with Xilinx products and does not require additional software.
\subsection{Standard programming}\label{ch:flashFPGA}
Updating the firmware on the \gls{tlu} requires writing a bit stream file to its \gls{fpga}.
\hypertarget{standard programming}{Updating} the firmware on the \gls{tlu} requires writing a bit stream file to its \gls{fpga}.
This operation is performed using the left \gls{usb} port located on the back panel, labelled \verb"FPGA PROGRAMMING" in figure~\ref{ch:backpanelintro}.\\
Once the Vivado tools have been installed the user should also install the drivers for the programming cable in the enclosure (see previous section for software sources).\\
The bit stream is provided as a \verb".bit" file and can be found on the firmware \href{https://ohwr.org/project/fmc-mtlu-gw}{\gls{ohwr} repository} for the \gls{tlu}\footnote{https://ohwr.org/project/fmc-mtlu-gw/tree/master/AIDA\_tlu/bitFiles}.\\
......@@ -117,8 +118,8 @@ Once these prerequisites are met, the procedure is as follows:
\caption{Program interface.}\label{fig:hw_addMemory}
\end{figure}
\subsection{Configuration memory programming}
The procedure to write a permanent program in the \gls{eeprom} is very similar to the one followed to write a bit stream file, with the exception that the user should select \verb"Add configuration memory device" in the options, as shown in figure~\ref{fig:hw_addMemory}.
\subsection{Configuration memory programming}\label{ch:flashEEPROM}
\hypertarget{configuration memory programming}{The procedure} to write a permanent program in the \gls{eeprom} is very similar to the one followed to write a bit stream file, with the exception that the user should select \verb"Add configuration memory device" in the options, as shown in figure~\ref{fig:hw_addMemory}.
This will open a new window, shown in figure~\ref{fig:hw_eeprom}, from which it is possible to indicate the file to use (with extension \verb".mcr").
\begin{figure}
\centering
......@@ -130,7 +131,7 @@ Make sure that the options are set as shown in figure~\ref{fig:hw_eeprom}.\\
The firmware loaded this way will overwrite any pre-existing firmware and will be loaded automatically whenever the unit is powered up.
\section{Inspection (table top unit)}\label{ch:inspection}
At some point someone, somewhere, will want to disassemble the unit to poke at its internal electronics; the top cover of the unit can only slide away when either the front or back frame are removed.
The top cover of the unit can only slide away when either the front or back frame are removed.
\begin{alertinfo}{Note}
Simply removing the corner screws on the panels will only allow to remove the plates but not accessing the inside of the unit.
\end{alertinfo}
......@@ -144,12 +145,12 @@ F) Slide the top cover away.\\
The same procedure can be repeated with the front frame, if necessary. In this case, the user must also disconnect the front panel from the electronics by removing the countersunk screws connected to the \gls{hdmi} ports and the powermodule.
\begin{figure}
\centering
\subfloat[A]{\includegraphics[width=.45\textwidth]{./Images/View1.png}}\hfil
\subfloat[B]{\includegraphics[width=.45\textwidth]{./Images/View6.png}}
\subfloat[C]{\includegraphics[width=.45\textwidth]{./Images/View2.png}}\hfil
\subfloat[D]{\includegraphics[width=.45\textwidth]{./Images/View3.png}}
\subfloat[E]{\includegraphics[width=.45\textwidth]{./Images/View4.png}}\hfil
\subfloat[F]{\includegraphics[width=.45\textwidth]{./Images/View5.png}}
\subfloat[A]{\includegraphics[width=.45\textwidth]{./Images/View1r.png}}\hfil
\subfloat[B]{\includegraphics[width=.45\textwidth]{./Images/View6r.png}}
\subfloat[C]{\includegraphics[width=.45\textwidth]{./Images/View2rr.png}}\hfil
\subfloat[D]{\includegraphics[width=.45\textwidth]{./Images/View3r.png}}
\subfloat[E]{\includegraphics[width=.45\textwidth]{./Images/View4r.png}}\hfil
\subfloat[F]{\includegraphics[width=.45\textwidth]{./Images/View5r.png}}
\caption{Steps to remove the cover from the unit. The screws to take the unit apart are hidden behind the corner plates. The plates can be removed by pulling.}
\label{fig:dismantle}
\end{figure}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment