diff --git a/7210.tex b/7210.tex new file mode 100644 index 0000000..f35a5b4 --- /dev/null +++ b/7210.tex @@ -0,0 +1,334 @@ +\documentclass[10pt]{datasheet} +\usepackage{palatino} +\usepackage{textgreek} +\usepackage{minted} +\usepackage{tcolorbox} +\usepackage{etoolbox} + +\usepackage[justification=centering]{caption} + +\usepackage[utf8]{inputenc} +\usepackage[english]{babel} +\usepackage[english]{isodate} + +\usepackage{graphicx} +\usepackage{subfig} + +\usepackage{tikz} +\usepackage{pgfplots} +\usepackage{circuitikz} +\usetikzlibrary{calc} +\usetikzlibrary{fit,backgrounds} + +\title{7210 Clocker} +\author{M-Labs Limited} +\date{January 2022} +\revision{Revision 2} +\companylogo{\includegraphics[height=0.73in]{artiq_sinara.pdf}} + +\begin{document} +\maketitle + +\section{Features} + +\begin{itemize} +\item{Distribute a low jitter clock signal.} +\item{SMA \& MMCX clock input.} +\item{4 SMA \& 6 MMCX output.} +\item{\textless100 fs clock jitter.} +\end{itemize} + +\section{Applications} + +\begin{itemize} + \item{Distribute clock signal.} + \item{Clock distribution amplifier.} + \item{Drive clocks input for:\begin{itemize} + \item{4410/4412 DDS Urukul} + \item{4456 Synthesizer Mirny} + \end{itemize}} +\end{itemize} + +\section{General Description} +The 7210 Clocker card is a 4hp EEM module. +It distrubites clock signal with \textless100 fs jitter. + +Clock input can be supplied to Clocker through the external SMA connector or the internal MMCX connector. +The input source can be selected using an SPDT switch. +Each card distributes the input to 10 outputs. +4 outputs are interfaced with SMA connectors, the other 6 are with MMCX connectors. + +Clocker can be powered externally or internally. +To provide external power, connect an external 12V power source through the front panel power jack. +Otherwise, connect it to a carrier card (1124 Kasli or 1125 Kasli-SoC) using the EEM port. + +% Switch to next column +\vfill\break + +\newcommand*{\MyLabel}[3][2cm]{\parbox{#1}{\centering #2 \\ #3}} +\newcommand*{\MymyLabel}[3][4cm]{\parbox{#1}{\centering #2 \\ #3}} +\newcommand{\repeatfootnote}[1]{\textsuperscript{\ref{#1}}} +\newcommand{\inputcolorboxminted}[2]{% + \begin{tcolorbox}[colback=white] + \inputminted[#1, gobble=4]{python}{#2} + \end{tcolorbox} +} + +\begin{figure}[h] + \centering + \scalebox{0.95}{ + \begin{circuitikz}[european, scale=1.2, every label/.append style={align=center}] + + \begin{scope}[] + + % Node to pin-point the locations of IO symbols + \draw[color=white, text=black] (-0.1, 1.05) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma1) {}; + \draw[color=white, text=black] (-0.1, 1.4) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma0) {}; + \draw[color=white, text=black] (-0.1, 0.7) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma2) {}; + \draw[color=white, text=black] (-0.1, 0.35) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma3) {}; + \draw[color=white, text=black] (-0.1, -0.35) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (mmcx4) {}; + \draw[color=white, text=black] (-0.1, -0.7) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (mmcx5) {}; + \draw[color=white, text=black] (-0.1, -1.05) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (mmcx6) {}; + \draw[color=white, text=black] (-0.1, -1.4) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (mmcx7) {}; + \draw[color=white, text=black] (-0.1, -1.75) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (mmcx8) {}; + \draw[color=white, text=black] (-0.1, -2.1) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (mmcx9) {}; + + % Labels for all IO symbols + \node [label=center:\tiny{OUT 0}] at (sma0) {}; + \node [label=center:\tiny{OUT 1}] at (sma1) {}; + \node [label=center:\tiny{OUT 2}] at (sma2) {}; + \node [label=center:\tiny{OUT 3}] at (sma3) {}; + \node [label=center:\tiny{OUT 4}] at (mmcx4) {}; + \node [label=center:\tiny{OUT 5}] at (mmcx5) {}; + \node [label=center:\tiny{OUT 6}] at (mmcx6) {}; + \node [label=center:\tiny{OUT 7}] at (mmcx7) {}; + \node [label=center:\tiny{OUT 8}] at (mmcx8) {}; + \node [label=center:\tiny{OUT 9}] at (mmcx9) {}; + + % draw all IO symbols + \begin{scope}[scale=0.07 , rotate=-90, xshift=-20cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=-90, xshift=-15cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=-90, xshift=-10cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=-90, xshift=-5cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=-90, xshift=5cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=-90, xshift=10cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=-90, xshift=15cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=-90, xshift=20cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=-90, xshift=25cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=-90, xshift=30cm, yshift=2cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + + % Draw dotted enclosure to diferentiate SMA from MMCX outputs + % Extend the enclosure to the right + \draw[color=white, text=black] (0.5, 0.35) node[twoportshape, circuitikz/bipoles/twoport/width=0.1, scale=0.1 ] (sma_east) {}; + \draw[color=white, text=black] (0.5, -0.35) node[twoportshape, circuitikz/bipoles/twoport/width=0.1, scale=0.1 ] (mmcx_east) {}; + \node[draw, dotted, thick, rounded corners, inner xsep=0.7em, inner ysep=0.4em, fit=(sma0) (sma3.south west) (sma_east)] (sma_box) {}; + \node[fill=white, rotate=-90] at (sma_box.west) {SMA}; + \node[draw, dotted, thick, rounded corners, inner xsep=0.7em, inner ysep=0.4em, fit=(mmcx9) (mmcx4.north west) (mmcx_east)] (mmcx_box) {}; + \node[fill=white, rotate=-90] at (mmcx_box.west) {MMCX}; + + % Draw clock buffer + \draw (2.6, 0) node[twoportshape, t={Clock Buffer}, circuitikz/bipoles/twoport/width=2, circuitikz/bipoles/twoport/height=2, scale=0.7] (clk_buf) {}; + + % Draw clock input symbols + \begin{scope}[scale=0.07 , rotate=90, xshift=-5cm, yshift=-66cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \begin{scope}[scale=0.07 , rotate=90, xshift=5cm, yshift=-66cm] + \draw (0,0.65) -- (0,3); + \clip (-1.5,0) rectangle (1.5,1.5); + \draw (0,0) circle(1.5); + \clip (-0.8,0) rectangle (0.8,0.8); + \draw (0,0) circle(0.8); + \end{scope} + \draw[color=white, text=black] (4.5, 0.35) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (mmcx_clkin) {}; + \draw[color=white, text=black] (4.5, -0.35) node[twoportshape, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma_clkin) {}; + \node [label=right:\tiny{MMCX CLK IN}] at (mmcx_clkin) {}; + \node [label=right:\tiny{SMA CLK IN}] at (sma_clkin) {}; + + % Draw the SPDT switch + \draw (2.6, -2) node[twoportshape,t=\MymyLabel{Input Clock \phantom{spac} }{Selection Switch}, circuitikz/bipoles/twoport/width=2.7, scale=0.6] (clk_sel) {}; + \begin{scope}[xshift=3cm, yshift=-1.78cm, scale=0.12, every node/.style={scale=0.1}, rotate=-90 ] + \draw (0.4,0) to[short,-o](0.75,0); + \draw (0.78,0)-- +(30:0.46); + \draw (1.25,0)to[short,o-](1.6,0) ; + \end{scope} + + % Connect CLKINs to the clock buffer + \draw [-latexslim] (4.41, 0.35) -- (3.41, 0.35); + \draw [-latexslim] (4.41, -0.35) -- (3.41, -0.35); + + % Connect the CLK SEL switch to the clock buffer + \draw [-latexslim] (clk_sel.north) -- (clk_buf.south); + + % Connect the clock buffer to all output connectors + \draw [-latexslim] (1.79, 0.2) -- (1, 0.2) -- (1, 0.35) -- (0.25, 0.35); + \draw [-latexslim] (1.79, 0.3) -- (1.1, 0.3) -- (1.1, 0.7) -- (0.25, 0.7); + \draw [-latexslim] (1.79, 0.4) -- (1.2, 0.4) -- (1.2, 1.05) -- (0.25, 1.05); + \draw [-latexslim] (1.79, 0.5) -- (1.3, 0.5) -- (1.3, 1.4) -- (0.25, 1.4); + + \draw [-latexslim] (1.79, -0.1) -- (0.9, -0.1) -- (0.9, -0.35) -- (0.25, -0.35); + \draw [-latexslim] (1.79, -0.2) -- (1.0, -0.2) -- (1.0, -0.7) -- (0.25, -0.7); + \draw [-latexslim] (1.79, -0.3) -- (1.1, -0.3) -- (1.1, -1.05) -- (0.25, -1.05); + \draw [-latexslim] (1.79, -0.4) -- (1.2, -0.4) -- (1.2, -1.4) -- (0.25, -1.4); + \draw [-latexslim] (1.79, -0.5) -- (1.3, -0.5) -- (1.3, -1.75) -- (0.25, -1.75); + \draw [-latexslim] (1.79, -0.6) -- (1.4, -0.6) -- (1.4, -2.1) -- (0.25, -2.1); + + \end{scope} + + \end{circuitikz} + } + + \caption{Simplified Block Diagram} +\end{figure} + +\begin{figure}[hbt!] + \centering + \includegraphics[height=3in]{Clocker_FP.jpg} + \includegraphics[height=3in]{photo7210.jpg} + \caption{Clocker Card photo} +\end{figure} + +% For wide tables, a single column layout is better. It can be switched +% page-by-page. +\onecolumn + +\section{Electrical Specifications} + +Specifications are derived based on the datasheets of +the clock buffer (ADCLK950BCPZ\footnote{\label{clock_buffer}https://www.analog.com/media/en/technical-documentation/data-sheets/ADCLK950.pdf}) \& +the RF transformer (TCM2-43X+\footnote{\label{rf_transformer}https://www.minicircuits.com/pdfs/TCM2-43X+.pdf}). +Clock output specifications is tested by supplying a 100 MHz DDS signal to the SMA input connector. +The output is connected to an oscilloscope with 50\textOmega~termination. + +\begin{table}[h] +\centering +\begin{threeparttable} +\caption{Clock Specifications} +\begin{tabularx}{0.9\textwidth}{l | c c c | c | X} + \thickhline + \textbf{Parameter} & \textbf{Min.} & \textbf{Typ.} & \textbf{Max.} & + \textbf{Unit} & \textbf{Conditions} \\ + \hline + Clock input\repeatfootnote{clock_buffer}\textsuperscript{,}\repeatfootnote{rf_transformer} & & & & & \\ + \hspace{3mm} Differential peak-to-peak voltage & 0.40 & & 2.40 & V\textsubscript{p-p} & \\ + \hspace{3mm} Frequency & 10 & & 4000 & MHz & \\ + \hline + Differential output + & & 0.8 & & V\textsubscript{p-p} & \multirow{3}{*}{50\textOmega~load, 100 MHz} \\ + & & 5 & & dBm & \\ + \cline{0-4} + Rise time (-200mV to 200mV) & & 415 & & ps & \\ + \thickhline +\end{tabularx} +\end{threeparttable} +\end{table} + +\begin{figure}[H] + \centering + \includegraphics[width=5in]{clocker_waveform.png} + \caption{Waveform of Clocker at 100 MHz} +\end{figure} + +\begin{figure}[H] + \centering + \includegraphics[width=5in]{clocker_rise_time.png} + \caption{Rising Edge of Clocker at 100 MHz} +\end{figure} +\newpage + +\section{Selecting Clock Source} +Clock input can be supplied to the 7210 Clocker using either the internal MMCX connector or the external SMA connector on the front panel. +The selection of clock input is configurable by a SPDT switch. +It is located between the MMCX input connector (\texttt{INT CLK IN}) and the MMCX output connectors. +\begin{multicols}{2} +Either INT or EXT can be selected. +\begin{itemize} + \itemsep0em + \item Internal MMCX (INT) \\ + Clock signal from the MMCX connector \texttt{INT CLK IN} is distributed to all MMCX outputs. + \item External SMA (EXT) \\ + Clock signal from the SMA connector \texttt{CLK IN} on the front panel is distributed to all MMCX outputs. +\end{itemize} +\columnbreak +\begin{center} + \centering + \includegraphics[height=1.7in]{clocker_spdt_switch.jpg} + \captionof{figure}{Position of the SPDT switch} +\end{center} +\end{multicols} + +\section{Ordering Information} +To order, please visit \url{https://m-labs.hk} and select the 7210 Clocker in the ARTIQ Sinara crate configuration tool. The card may also be ordered separately by writing to \url{mailto:sales@m-labs.hk}. + +\section*{} +\vspace*{\fill} + +\begin{footnotesize} +Information furnished by M-Labs Limited is provided in good faith in the hope that it will be useful. However, no responsibility is assumed by M-Labs Limited for its use. Specifications may be subject to change without notice. +\end{footnotesize} + +\end{document} diff --git a/Clocker_FP.jpg b/Clocker_FP.jpg new file mode 100644 index 0000000..4ff24e0 Binary files /dev/null and b/Clocker_FP.jpg differ diff --git a/clocker_rise_time.png b/clocker_rise_time.png new file mode 100644 index 0000000..baf8c1c Binary files /dev/null and b/clocker_rise_time.png differ diff --git a/clocker_spdt_switch.jpg b/clocker_spdt_switch.jpg new file mode 100644 index 0000000..7d49a5e Binary files /dev/null and b/clocker_spdt_switch.jpg differ diff --git a/clocker_waveform.png b/clocker_waveform.png new file mode 100644 index 0000000..c60a006 Binary files /dev/null and b/clocker_waveform.png differ diff --git a/photo7210.jpg b/photo7210.jpg new file mode 100644 index 0000000..a4e0511 Binary files /dev/null and b/photo7210.jpg differ