Commit 35b1fea5 authored by Matthieu Cattin's avatar Matthieu Cattin

Minor corrections after internal cern review.

Javier's comments.
parent f2b3b23b
...@@ -62,15 +62,14 @@ Previous slow waveform generators (GFAS and CVORB) have digital serial outputs o ...@@ -62,15 +62,14 @@ Previous slow waveform generators (GFAS and CVORB) have digital serial outputs o
\item 1 pause input (TTL) \item 1 pause input (TTL)
\item 1 abort input (TTL) \item 1 abort input (TTL)
\item Each channel can store up to 32 waveform. \item Each channel can store up to 32 waveform.
\item Memory/channel is determined by FMC carrier. \item Memory/channel is determined by FMC carrier~\cite{vmefmccarier}~\cite{pciefmccarier}.
\item Analog outputs auto-calibration. \item Analog outputs auto-calibration.
\item $I^2C$ EEPROM to store IPMI information and DACs calibration factors \item $I^2C$ EEPROM to store IPMI information and DACs calibration factors
\item 2 modes (vectors and points)
\end{itemize} \end{itemize}
\section{General description} \section{General description}
An FMC3 is a mezzanine card in FMC format, containing four identical analog output channels. Each channel has a 10MS/s 16-bit DAC with an output range of +/-10V. In addition, the card has three trigger inputs (start, pause and abort) and one external clock input. Those inputs are common to the four analog channels. An FMC3 is a mezzanine card in FMC format, containing four identical analog output channels. Each channel has a 10MS/s 16-bit DAC with an output range of +/-10V. In addition, the card has three trigger inputs (start, pause and abort) and one external clock input. These inputs are common to the four analog channels.
\begin{comment} \begin{comment}
\textcolor{red}{ \textcolor{red}{
...@@ -91,19 +90,18 @@ External clock input features: ...@@ -91,19 +90,18 @@ External clock input features:
\item 0.6Vpp to 1Vpp (max. 10Vpp) \item 0.6Vpp to 1Vpp (max. 10Vpp)
\end{itemize} \end{itemize}
Nevertheless, the external clock input doesn't have to be used, as DACs clock can be provided by the FMC carrier card. Nevertheless, the external clock input doesn't have to be used, as DACs clock can be provided by the FMC carrier card~\cite{vmefmccarier}~\cite{pciefmccarier}.
\section{Trigger inputs} \section{Trigger inputs}
The FMC3 has 3 trigger inputs. A start, a pause and an abort input. They can be used in many different ways. For further information see the \textit{FMC3 HDL functional specification}. The FMC3 has 3 trigger inputs. A start, a pause and an abort input. They can be used in many different ways. For further information see the \textit{FMC3 HDL functional specification}.
All trigger inputs are TTL compliant with an internal 50 ohms termination. All trigger inputs are TTL compliant with an internal 50 ohms termination.
Trigger inputs polarity is selectable via a register (TTL or $\overline{TTL}$).
\section{Analog outputs} \section{Analog outputs}
Table ~\ref{table:analogout} lists expected FMC3 analog outputs characteristics. Those are taken from an National Instruments PCI analog output card ~\cite{ni6731spec}. Table ~\ref{table:analogout} lists expected FMC3 analog outputs characteristics. These are taken from a National Instruments PCI analog output card ~\cite{ni6731spec}.
\begin{table}[ht]% \begin{table}[ht]%
\centering \centering
...@@ -131,9 +129,9 @@ Level & 5.000V \\ ...@@ -131,9 +129,9 @@ Level & 5.000V \\
Temperature coefficient & $\pm$0.6ppm/$^{\circ}$C \\ Temperature coefficient & $\pm$0.6ppm/$^{\circ}$C \\
Long-term stability & $\pm$15ppm/$\sqrt{1000h}$ \\ Long-term stability & $\pm$15ppm/$\sqrt{1000h}$ \\
\hline \hline
Slew rate & >15V/$\mu$ \\ Slew rate & >15V/$\mu$s \\
\hline \hline
Noise & 80$\mu$V, DC to 10MHz \\ Noise & 80$\mu$V, DC to 5MHz \\
\hline \hline
Channel crosstalk & -95dB \\ Channel crosstalk & -95dB \\
\hline \hline
...@@ -165,12 +163,6 @@ Figure ~\ref{fig:fmc_board_shape} shows the standard single width FMC board shap ...@@ -165,12 +163,6 @@ Figure ~\ref{fig:fmc_board_shape} shows the standard single width FMC board shap
\label{fig:fmc_board_shape} \label{fig:fmc_board_shape}
\end{figure} \end{figure}
Due to the small amount of space on the front panel, it has been decided to use only one MDR\footnote{Mini Delta Ribbon (available from 3M, AMPHENOL, HARTING)} multi-pin connector on the FMC. This connector will carry all I/O signals to a 19 inches 1U patch panel. Several FMC3 can be connected to the same patch panel. The final number has to be decided. Timing inputs and analog outputs can be connected to the patch panel via SMA coaxial connectors. Next to each SMA connector, the indicate that a signal is present either at an input, or at an output.
In addition to the MDR connector, two LEDs are present on the FMC3. One is to indicate that the FPGA is correctly configured for FMC3 card. The second one is to indicate that the patch panel is correctly connected.
\bibliographystyle{plain} \bibliographystyle{plain}
\bibliography{fmc3_references} \bibliography{fmc3_references}
......
...@@ -60,7 +60,7 @@ Previous slow waveform generators (GFAS and CVORB) have digital serial outputs o ...@@ -60,7 +60,7 @@ Previous slow waveform generators (GFAS and CVORB) have digital serial outputs o
\item 1 pause input (TTL) \item 1 pause input (TTL)
\item 1 abort input (TTL) \item 1 abort input (TTL)
\item Each channel can store up to 32 waveform. \item Each channel can store up to 32 waveform.
\item Memory/channel is determined by FMC carrier. \item Memory/channel is determined by FMC carrier~\cite{vmefmccarier}~\cite{pciefmccarier}.
\item Analog outputs auto-calibration. \item Analog outputs auto-calibration.
\item $I^2C$ EEPROM to store IPMI information and DACs calibration factors \item $I^2C$ EEPROM to store IPMI information and DACs calibration factors
\item 2 modes (vectors and points) \item 2 modes (vectors and points)
...@@ -73,7 +73,7 @@ An FMC3 is a mezzanine card in FMC format, containing four identical analog outp ...@@ -73,7 +73,7 @@ An FMC3 is a mezzanine card in FMC format, containing four identical analog outp
\section{Modes} \section{Modes}
\subsection{Vector mode} \subsection{Vector mode}
The vector mode principle is working as follows; a waveform stored in memory contains only a set of vectors (intermediate values to be send to the DAC are computed on-board). A vector is made of 3 parts, one for the amplitude and two for the time : The vector mode principle works as follows: a waveform stored in memory contains only a set of vectors (intermediate values to be sent to the DAC are computed on-board). A vector is made of 3 parts, one for the amplitude and two for the time :
\begin{itemize} \begin{itemize}
\item amplitude value (next amplitude to reach) \item amplitude value (next amplitude to reach)
\item step size (number of sampling clock period for a step) \item step size (number of sampling clock period for a step)
...@@ -87,19 +87,23 @@ The first 3 values of a waveform are different from the above vector type. ...@@ -87,19 +87,23 @@ The first 3 values of a waveform are different from the above vector type.
\item first amplitude value \item first amplitude value
\end{itemize} \end{itemize}
Memory can store up to 32 different waveforms per channel. Each waveform will have a fixed maximum length depending on the FMC carrier card capacity. The carrier should provide enough memory for at least 8000 vectors per waveform. Memory can store up to 32 different waveforms per channel. Each waveform will have a fixed maximum length depending on the FMC carrier card capacity~\cite{vmefmccarier}~\cite{pciefmccarier}. The carrier should provide enough memory for at least 8000 vectors per waveform.
Each channel has a register allowing users to select the waveform to be played on next start pulse. Each channel has a register allowing users to select the waveform to be played on next start pulse.
One mask register per channel allow to selectively enable the 32 waveforms. If a waveform is selected but disabled in the mask, start trigger is ignored. One mask register per channel allows to selectively enable the 32 waveforms. If a waveform is selected but disabled in the mask, the start trigger is ignored.
In vector mode, the sampling frequency is fixed (10MS/s). But it can also be selectable between a certain number of predefined values. This has to be decided with the higher software layer developers. In vector mode, the sampling frequency is fixed (10MS/s).
All digital values send to the DACs are computed inside the FMC carrier from the vectors in memory. \begin{comment}
But it can also be selectable between a certain number of predefined values. This has to be decided with the higher software layer developers.
\end{comment}
All digital values sent to the DACs are computed inside the FMC carrier from the vectors in memory.
\subsection{Point mode} \subsection{Point mode}
In addition to the vector mode, a point mode can also be implemented. In this case, all values to be send to the DAC will be stored in memory. In addition to the vector mode, a point mode will also be implemented. In this case, all values to be sent to the DAC will be stored in memory.
A table describes a set of waveforms. Each waveform is defined by: A table describes a set of waveforms. Each waveform is defined by:
...@@ -110,23 +114,25 @@ A table describes a set of waveforms. Each waveform is defined by: ...@@ -110,23 +114,25 @@ A table describes a set of waveforms. Each waveform is defined by:
\item The next waveform to play (if any). \item The next waveform to play (if any).
\end{itemize} \end{itemize}
The maximum number of waveform is 20 (to be confirmed). Waveform can be chained using the "Next waveform to play" field. The maximum number of waveform is 20 (to be confirmed). Waveforms can be chained using the "Next waveform to play" field.
In point mode, sampling clock can be internal or external. In case of an internal clock, the frequency can be selected over a wide range. It will depend on the In point mode, sampling clock can be internal or external. In case of an internal clock, the frequency can be selected over a wide range. It will depend on the carrier clock distribution scheme~\cite{vmefmccarier}~\cite{pciefmccarier}.
\section{Triggers} \section{Triggers}
The FMC3 has 3 trigger inputs. A start, a pause and an abort input. They can be used in many different ways. The FMC3 has 3 trigger inputs. A start, a pause and an abort input. They can be used in many different ways.
The first and simplest case use only the start input. Selected waveform is generated when a start pulse arrives. Generation continues until the end of the waveform. The first and simplest case uses only the start input. The selected waveform is generated when a start pulse arrives. Generation continues until the end of the waveform.
\begin{comment}
Then the abort input can be used to stop a waveform generation. This input is mainly used for safety reason. It allows to stop the waveform generation at the end of a accelerator cycle, to make sure that the next cycle waveform can start properly. Even if there was a problem during generation. Then the abort input can be used to stop a waveform generation. This input is mainly used for safety reason. It allows to stop the waveform generation at the end of a accelerator cycle, to make sure that the next cycle waveform can start properly. Even if there was a problem during generation.
\end{comment}
The third trigger input, pause, is used to suspend the waveform generation. After a pause pulse, a new start pulse is needed in order to continue waveform generation. The "pause" trigger input is used to suspend the waveform generation. After a pause pulse, a new start pulse is needed in order to continue waveform generation.
Moreover, in vector mode, it is possible to program an pause inside a waveform. This is done by means of a special vector called "internal pause". To continue the waveform generation a start pulse is needed, as for the pause trigger input. Moreover, in vector mode, it is possible to program a pause inside a waveform. This is done by means of a special vector called "internal pause". To continue the waveform generation a start pulse is needed, as for the pause trigger input.
For test purpose, all the trigger inputs are also emulated in software by writing in a register. For test purposes, all the trigger inputs are also emulated in software by writing in a register.
Trigger inputs polarity is selectable via a register (TTL or $\overline{TTL}$). Trigger inputs polarity is selectable via a register (TTL or $\overline{TTL}$).
...@@ -135,8 +141,8 @@ Trigger inputs polarity is selectable via a register (TTL or $\overline{TTL}$). ...@@ -135,8 +141,8 @@ Trigger inputs polarity is selectable via a register (TTL or $\overline{TTL}$).
Some test features will be implemented to easily test hardware during development and installation. Some test features will be implemented to easily test hardware during development and installation.
The two test features are: The two test features are:
\begin{itemize} \begin{itemize}
\item test waveform generation (saw-tooth, triangle, sin?) \item Test waveform generation (saw-tooth).
\item direct digital value to DAC \item Direct digital value to DAC.
\end{itemize} \end{itemize}
......
...@@ -16,4 +16,15 @@ ...@@ -16,4 +16,15 @@
title = "\href{http://www.ni.com/pdf/manuals/371232b.pdf}{NI 6731/6733 Specifications}", title = "\href{http://www.ni.com/pdf/manuals/371232b.pdf}{NI 6731/6733 Specifications}",
year = 2007 year = 2007
} }
\ No newline at end of file @MISC{vmefmccarier,
author = "CERN",
title = "\href{http://www.ohwr.org/twiki/bin/view/OHR/FMCVMEcarrier/FMCVMEcarrier}{VME FMC carrier OHR project}",
year = 2009
}
@MISC{pciefmccarier,
author = "CERN",
title = "\href{http://www.ohwr.org/twiki/bin/view/OHR/FMCPCICarrier/FMCPCICarrier}{PCIe FMC carrier OHR project}",
year = 2009
}
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