\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 RMS 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}
        \item{4624 Phaser}
    \end{itemize}}
\end{itemize}

\section{General Description}
The 7210 Clocker card is a 4hp EEM module.
It distrubites clock signal with \textless100 fs RMS 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.\footnote{\label{clocker6}https://github.com/sinara-hw/Clocker/issues/6\#issuecomment-414048168}
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} Peak-to-peak voltage & 0.40 & & 2.40 & V\textsubscript{p-p} & \\
            \hspace{3mm} Frequency & 10 & & 4000 & MHz & \\
    \hline
    Clock output
            & & 0.8 & & V\textsubscript{p-p} & \multirow{3}{*}{50\textOmega~load, 100 MHz} \\
            & & 5 & & dBm & \\
    \thickhline
\end{tabularx}
\end{threeparttable}
\end{table}

\begin{figure}[H]
    \centering
    \includegraphics[width=5in]{clocker_waveform.png}
    \caption{Waveform of Clocker at 100 MHz\repeatfootnote{clocker6}}
\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}
