\input{preamble.tex}
\graphicspath{{images/7210}{images}}

\title{7210 Clocker}
\author{M-Labs Limited}
\date{January 2024}
\revision{Revision 3}
\companylogo{\includegraphics[height=0.73in]{artiq_sinara.pdf}}

\begin{document}
\maketitle

\section{Features}

\begin{itemize}
\item{Low-jitter clock signal distribution}
\item{SMA \& MMCX input}
\item{4 SMA \& 6 MMCX output}
\item{\textless100 fs RMS jitter}
\end{itemize}

\section{Applications}

\begin{itemize}
    \item{Distribute clock signals}
    \item{Amplify clock signals}
    \item{Drive clock 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, capable of distributing clock signals 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 is selected using an SPDT switch.

Each Clocker card distributes an input to 10 outputs. 4 outputs are interfaced with SMA connectors, the other 6 with MMCX connectors.

Clocker can be powered externally or internally. To provide external power, connect an external 12V power source either through front panel power jack or rear connector. Alternatively, connect it to a carrier card (e.g. 1124 Kasli, 1125 Kasli-SoC) using the EEM port.

% Switch to next column
\vfill\break

\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=\fourcm{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}

\vspace{5mm}

\begin{figure}[hbt!]
    \centering
    \includegraphics[height=3.5in]{photo7210.jpg}
    \includegraphics[height=3.5in]{clocker_front_panel.jpg}
    \caption{Clocker card and front panel}
\end{figure}

% For wide tables, a single column layout is better. It can be switched
% page-by-page.
\onecolumn

\section{Source}

Clocker, like all the Sinara hardware family, is open-source hardware, and design files (schematics, PCB layouts,
BOMs) can be found in detail at the repository \url{https://github.com/sinara-hw/Clocker}.

\section{Electrical Specifications}

Specifications are derived based on the datasheets of the clock buffer (ADCLK950BCPZ\footnote{\url{https://www.analog.com/media/en/technical-documentation/data-sheets/ADCLK950.pdf}}) and the RF transformer (TCM2-43X+\footnote{\url{https://www.minicircuits.com/pdfs/TCM2-43X+.pdf}}) used. Clock output specifications are tested by supplying a 100 MHz DDS signal to the SMA input connector\footnote{\label{clocker6}\url{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 & & & & & \\
            \hspace{3mm} Peak-to-peak voltage & 0.40 & & 2.40 & V\textsubscript{p-p} & \\
            \hspace{3mm} Frequency & 10 & & 4000 & MHz & \\
    \hline
    Clock output & & & & & \\
            \hspace{3mm} Peak-to-peak voltage & & 0.8 & & V\textsubscript{p-p} & \multirow{3}{*}{50\textOmega~load, 100 MHz} \\
            \hspace{3mm} Power & & 5 & & dBm & \\
    \thickhline
\end{tabularx}
\end{threeparttable}
\end{table}

\begin{figure}[H]
    \centering
    \includegraphics[width=6in]{clocker_waveform.png}
    \caption{Waveform of Clocker at 100 MHz\repeatfootnote{clocker6}}
\end{figure}

\newpage

\section{Phase-Noise Performance}

Performance measured against 100 MHz Wenzel Quartz, phase-locked to 10MHz Wenzel Blue Top oscillator\footnote{\label{clockerpn}\url{https://github.com/sinara-hw/Clocker/issues/4\#issuecomment-1310591042}}. Blue trace represents measurement against itself for reference.

\begin{figure}[H]
    \centering
    \includegraphics[width=6.5in]{clocker_phase_noise.png}
    \caption{Absolute phase noise of Clocker measured @ 100 MHz (pink trace)\repeatfootnote{clockerpn}}
\end{figure}

\section{Selecting Clock Source}
Clock input can be supplied to 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 an SPDT switch, located between the MMCX input connector (\texttt{INT CLK IN}) and the MMCX output connectors. See Figure 5.
\begin{multicols}{2}

Either \texttt{INT} or \texttt{EXT} can be selected.
\begin{itemize}
    \item Internal MMCX (\texttt{INT}) \\
          Clock signal from the MMCX connector \texttt{INT CLK IN} is distributed to all outputs.
    \item External SMA (\texttt{EXT}) \\
          Clock signal from the SMA connector \texttt{CLK IN} on the front panel is distributed to all outputs.
\end{itemize}

\vspace*{\fill}\columnbreak

\begin{center}
    \centering
    \includegraphics[height=1.5in]{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 7210 Clocker in the ARTIQ/Sinara crate configuration tool. Cards may also be ordered separately by writing to \url{mailto:sales@m-labs.hk}.

\section*{}
\vspace*{\fill}

\input{footnote.tex}

\end{document}
