2021-12-09 12:33:42 +08:00
\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}
2022-01-14 15:53:22 +08:00
\usepackage { subfig}
2021-12-09 12:33:42 +08:00
\usepackage { tikz}
\usepackage { pgfplots}
\usepackage { circuitikz}
\usetikzlibrary { calc}
\usetikzlibrary { fit,backgrounds}
\title { 5432 Zotino}
\author { M-Labs Limited}
2022-01-19 15:34:54 +08:00
\date { January 2022}
\revision { Revision 2}
2021-12-09 12:33:42 +08:00
\companylogo { \includegraphics [height=0.73in] { artiq_ sinara.pdf} }
\begin { document}
\maketitle
\section { Features}
\begin { itemize}
2022-01-18 16:02:01 +08:00
\item { 32-channel DAC.}
2021-12-09 12:33:42 +08:00
\item { 16-bits resolution.}
\item { 1 MSPS shared between all channels.}
\item { Output voltage $ \pm $ 10V.}
\item { HD68 connector.}
\item { Can be broken out to BNC/SMA/MCX.}
\end { itemize}
\section { Applications}
\begin { itemize}
2021-12-30 14:33:04 +08:00
\item { Controlling setpoints of PID controllers for laser power stabilization.}
2022-01-04 13:21:24 +08:00
\item { Low-frequency arbitrary waveform generation.}
2021-12-30 14:33:04 +08:00
\item { Driving DC electrodes in ion traps.}
2021-12-09 12:33:42 +08:00
\end { itemize}
\section { General Description}
The 5432 Zotino is a 4hp EEM module part of the ARTIQ Sinara family.
It adds digital-analog converting capabilities to carrier cards such as 1124 Kasli and 1125 Kasli-SoC.
It provides 4 groups of 8 analog channels each, exposed by 1 HD68 connector.
Each channel supports output voltage from -10 V to 10 V.
All channels can be updated simultaneously.
2022-01-17 11:37:05 +08:00
Channels can broken out to BNC, SMA or MCX by adding external 5518 BNC-IDC, 5528 SMA-IDC or 5538 MCX-IDC cards.
2021-12-09 12:33:42 +08:00
% Switch to next column
\vfill \break
\newcommand * { \MyLabel } [3][2cm]{ \parbox { #1} { \centering #2 \\ #3} }
\newcommand * { \MymyLabel } [3][4cm]{ \parbox { #1} { \centering #2 \\ #3} }
2022-01-18 12:10:11 +08:00
\newcommand { \repeatfootnote } [1]{ \textsuperscript { \ref { #1} } }
2022-01-20 17:16:50 +08:00
\newcommand { \inputcolorboxminted } [2]{ %
\begin { tcolorbox} [colback=white]
\inputminted [#1, gobble=4] { python} { #2}
\end { tcolorbox}
}
2021-12-09 12:33:42 +08:00
\begin { figure} [h]
\centering
\scalebox { 0.88} {
\begin { circuitikz} [european, scale=0.95, every label/.append style={ align=center} ]
% HD68 Connector
\draw (0, 0) node[muxdemux, muxdemux def={ Lh=6.5, Rh=8, w=2, NL=0, NB=0, NR=0} , circuitikz/bipoles/twoport/width=3.2, scale=0.7] (hd68) { HD68} ;
2022-01-17 11:39:57 +08:00
% IDC Connectors to IDC cards
\draw (2.2, 1.2) node[twoportshape, t={ \MyLabel { IDC} { DAC 16-23} } , circuitikz/bipoles/twoport/width=1.8, scale=0.5, rotate=-90] (eem2) { } ;
\draw (1.4, 1.2) node[twoportshape, t={ \MyLabel { IDC} { DAC 24-31} } , circuitikz/bipoles/twoport/width=1.8, scale=0.5, rotate=-90] (eem3) { } ;
\draw (2.2, -1.2) node[twoportshape, t={ \MyLabel { IDC} { DAC 8-15} } , circuitikz/bipoles/twoport/width=1.8, scale=0.5, rotate=-90] (eem1) { } ;
\draw (1.4, -1.2) node[twoportshape, t={ \MyLabel { IDC} { DAC 0-7} } , circuitikz/bipoles/twoport/width=1.8, scale=0.5, rotate=-90] (eem0) { } ;
2021-12-09 12:33:42 +08:00
% Op-amp x32
2022-01-14 17:28:20 +08:00
\draw (3, 0) node[buffer, circuitikz/bipoles/twoport/width=1.2, scale=-0.5] (amp) { } ;
2021-12-09 12:33:42 +08:00
% DAC AD5372
2022-01-18 16:03:07 +08:00
\draw (4.6, 0.2) node[twoportshape, t=\MyLabel { 32-CH} { DAC} , circuitikz/bipoles/twoport/width=1.2, circuitikz/bipoles/twoport/height=1.2, scale=0.7] (dac) { } ;
2021-12-09 12:33:42 +08:00
% LVDS Transceivers
2022-01-14 17:28:20 +08:00
\draw (6.6, 0) node[twoportshape, t=\MymyLabel { LVDS} { Transceiever} , circuitikz/bipoles/twoport/width=1.8, scale=0.5, rotate=-90] (lvds0) { } ;
2021-12-09 12:33:42 +08:00
\draw (6.6, -1.6) node[twoportshape, t=\MymyLabel { LVDS} { Transceiever} , circuitikz/bipoles/twoport/width=1.8, scale=0.5, rotate=-90] (lvds1) { } ;
% Aesthetic EEPROM
2022-01-14 17:28:20 +08:00
\draw (6.6, 1.6) node[twoportshape, t={ EEPROM} , circuitikz/bipoles/twoport/width=1.6, scale=0.5, rotate=-90] (eeprom) { } ;
2021-12-09 12:33:42 +08:00
% EEMs from core device / controllers
\draw (8.2, 0.0) node[twoportshape, t={ EEM Port} , circuitikz/bipoles/twoport/width=3.6, scale=0.7, rotate=-90] (eem_ in) { } ;
% Connect EEM IN to LVDS & EEMPROM
2022-01-14 17:28:20 +08:00
\draw [latexslim-latexslim] (eeprom.north) -- (7.85, 1.6);
\draw [latexslim-latexslim] (lvds0.north) -- (7.85, 0);
2021-12-09 12:33:42 +08:00
\draw [latexslim-latexslim] (lvds1.north) -- (7.85, -1.6);
% Connect LVDS to DAC
2022-01-14 17:41:57 +08:00
\draw [latexslim-latexslim] (lvds0.south) -- (5.2, 0);
2022-01-14 17:28:20 +08:00
\draw [latexslim-latexslim] (lvds1.south) -- (4.6, -1.6) -- (dac.south);
2021-12-09 12:33:42 +08:00
% Connect DAC to Op-amp, label op-amp width x32
2022-01-14 17:41:57 +08:00
\draw [-latexslim] (4, 0) -- (amp.west);
2022-01-14 17:28:20 +08:00
\node [label=below:\tiny { Op-amp x32} ] at (3.2, -0.2) { } ;
\node [label=below:\tiny { 1 per ch.} ] at (3.2, -0.45) { } ;
2021-12-09 12:33:42 +08:00
% Connect Op-amp to EEM OUT and HD68
\draw [-latexslim] (amp.east) -- (hd68.east);
\draw [-latexslim] (2.2, 0) -- (eem2.east);
\draw [-latexslim] (1.4, 0) -- (eem3.east);
\draw [-latexslim] (2.2, 0) -- (eem1.west);
\draw [-latexslim] (1.4, 0) -- (eem0.west);
2022-01-14 17:28:20 +08:00
% TEC Cooler on top of the DAC
% To make it more obvious that it is cooling the DAC
2022-01-14 17:41:57 +08:00
\draw (4.6, 1.45) node[twoportshape, t=\MymyLabel { TEC} { Cooler} , circuitikz/bipoles/twoport/width=1.2, circuitikz/bipoles/twoport/height=1.2, scale=0.7] (tec_ cooler) { } ;
2022-01-14 17:28:20 +08:00
% TEC Controller lined up with EEM IN
\draw (8.2, 3.5) node[twoportshape, t=\MymyLabel { TEC Controller} { Connector} , circuitikz/bipoles/twoport/width=2.6, scale=0.7, rotate=-90] (tec_ conn) { } ;
% Thermistor for TEC controller
2022-01-14 17:41:57 +08:00
\draw (6.6, 3.3) node[thermistorshape, scale=0.7, rotate=-90] (thermistor) { } ;
2022-01-14 17:48:24 +08:00
\draw [latexslim-] (7.85, 3.3) -- (6.75, 3.3);
2022-01-14 17:28:20 +08:00
% Connect the controller to the cooler
2022-01-14 17:47:19 +08:00
\draw [-latexslim] (7.85, 4.2) -- (4.6, 4.2) -- (tec_ cooler.north);
2022-01-14 17:41:57 +08:00
% Thermal connection between DAC and thermistor
\draw [densely dotted] (thermistor.south) -- (5.6, 3.3) -- (5.6, 0.5) -- (5.2, 0.5);
2022-01-14 14:33:39 +08:00
2021-12-09 12:33:42 +08:00
\end { circuitikz}
}
\caption { Simplified Block Diagram}
\end { figure}
\begin { figure} [h]
\centering
2022-01-07 10:33:14 +08:00
\includegraphics [height=2in] { Zotino_ FP.png}
\includegraphics [height=2in] { photo5432.jpg}
2021-12-09 12:33:42 +08:00
\caption { Zotino Card photo}
\end { figure}
% For wide tables, a single column layout is better. It can be switched
% page-by-page.
\onecolumn
\section { Electrical Specifications}
2022-01-18 12:10:11 +08:00
% \hypersetup{hidelinks}
% \urlstyle{same}
The specifications are based on the datasheet of the DAC IC
2022-01-18 15:07:23 +08:00
(AD5372BCPZ\footnote { \label { dac} https://www.analog.com/media/en/technical-documentation/data-sheets/AD5372\_ 5373.pdf} ),
and various information from Sinara wiki\footnote { \label { zotino_ wiki} https://github.com/sinara-hw/Zotino/wiki} .
2022-01-18 12:10:11 +08:00
2021-12-09 12:33:42 +08:00
\begin { table} [h]
2022-01-19 12:27:36 +08:00
\centering
2021-12-09 12:33:42 +08:00
\begin { threeparttable}
\caption { Output Specifications}
2022-01-19 12:27:36 +08:00
\begin { tabularx} { 0.8\textwidth } { l | c c c | c | X}
2021-12-09 12:33:42 +08:00
\thickhline
2022-01-19 12:27:36 +08:00
\textbf { Parameter} & \textbf { Min.} & \textbf { Typ.} & \textbf { Max.} &
2021-12-09 12:33:42 +08:00
\textbf { Unit} & \textbf { Conditions} \\
\hline
2022-01-19 12:27:36 +08:00
Output voltage & -10 & & 10 & V & \\
2021-12-09 12:33:42 +08:00
\hline
2022-01-19 12:27:36 +08:00
Output impedance\repeatfootnote { zotino_ wiki} & \multicolumn { 4} { c|} { 470 $ \Omega $ $ || $ 2.2nF} & \\
2021-12-09 12:33:42 +08:00
\hline
2022-01-19 12:27:36 +08:00
Resolution\repeatfootnote { dac} & & 16 & & bits & \\
2021-12-09 12:33:42 +08:00
\hline
2022-01-19 12:27:36 +08:00
3dB bandwidth\repeatfootnote { zotino_ wiki} & & 75 & & kHz & \\
2021-12-09 12:33:42 +08:00
\hline
2022-01-19 12:27:36 +08:00
Power consumption\repeatfootnote { zotino_ wiki} & 3 & & 8.7 & W & \\
2021-12-09 12:33:42 +08:00
\thickhline
\end { tabularx}
\end { threeparttable}
\end { table}
2022-01-18 15:07:23 +08:00
The following are cross-talk and transient behavior of Zotino\footnote { \label { zotino21} https://github.com/sinara-hw/Zotino/issues/21} .
In terms of output noise, it was measured after 15 cm IDC cable, IDC-SMA, 100 cm coax ($ \sim $ 50 pF), and 500 k$ \Omega $ $ || $ 150 pF\footnote { \label { zotino27} https://github.com/sinara-hw/Zotino/issues/27} .
2022-01-18 12:10:11 +08:00
The DAC output during noise measurement is 3.5 V.
2021-12-09 12:33:42 +08:00
\begin { table} [h]
2022-01-19 12:27:36 +08:00
\centering
2021-12-09 12:33:42 +08:00
\begin { threeparttable}
\caption { Electrical Characteristics}
2022-01-19 12:27:36 +08:00
\begin { tabularx} { 0.8\textwidth } { l | c c c | c | X}
2021-12-09 12:33:42 +08:00
\thickhline
2022-01-19 12:27:36 +08:00
\textbf { Parameter} & \textbf { Min.} & \textbf { Typ.} & \textbf { Max.} &
2021-12-09 12:33:42 +08:00
\textbf { Unit} & \textbf { Conditions / Comments} \\
\hline
2022-01-19 12:27:36 +08:00
DC cross-talk\repeatfootnote { zotino21} & & -116 & & dB & \\
2021-12-09 12:33:42 +08:00
\hline
2022-01-19 12:27:36 +08:00
Fall-time\repeatfootnote { zotino21} & & 18.5 & & $ \mu $ s & 10\% to 90\% fall-time \\
& & 25 & & $ \mu $ s & 1\% to 99\% fall-time \\
2021-12-09 12:33:42 +08:00
\hline
2022-01-19 12:27:36 +08:00
Negative overshoot\repeatfootnote { zotino21} & & 0.5\% & & - & \\
2021-12-09 12:33:42 +08:00
\hline
2022-01-19 12:27:36 +08:00
Rise-time\repeatfootnote { zotino21} & & 30 & & $ \mu $ s & 1\% to 99\% rise-time \\
2021-12-09 12:33:42 +08:00
\hline
2022-01-19 12:27:36 +08:00
Positive overshoot\repeatfootnote { zotino21} & & 0.65\% & & - & \\
2021-12-09 12:33:42 +08:00
\hline
2022-01-19 12:27:36 +08:00
Output noise\repeatfootnote { zotino27} & & & & & \\
\hspace { 18mm} @ 100 Hz & & 500 & & nV/rtHz & 6.9 Hz bandwidth \\
\hspace { 18mm} @ 300 Hz & & 300 & & nV/rtHz & 6.9 Hz bandwidth \\
\hspace { 18mm} @ 50 kHz & & 210 & & nV/rtHz & 6.9 kHz bandwidth \\
\hspace { 18mm} @ 1 MHz & & 4.6 & & nV/rtHz & 6.9 kHz bandwidth \\
\hspace { 18mm} $ > $ 4 MHz & & & 1 & nV/rtHz & 6.9 kHz bandwidth \\
2021-12-09 12:33:42 +08:00
\thickhline
\end { tabularx}
\end { threeparttable}
\end { table}
2021-12-30 14:33:51 +08:00
\newpage
2022-01-18 12:10:11 +08:00
Step response are found by setting the DAC register to 0x0000 (-10V) or 0xFFFF (10V) and observe the waveform\repeatfootnote { zotino21} .
2021-12-30 14:33:51 +08:00
2022-01-14 15:53:22 +08:00
\begin { figure} [hbt!]
2021-12-30 14:33:51 +08:00
\centering
2022-01-14 15:53:22 +08:00
\subfloat [\centering Switching from -10V to +10V] { {
\includegraphics [height=1.8in] { zotino_ step_ response_ rising.png}
} } %
\subfloat [\centering Switching from +10V to -10V] { {
\includegraphics [height=1.8in] { zotino_ step_ response_ falling.png}
} } %
\caption { Step response} %
2021-12-30 14:33:51 +08:00
\end { figure}
2022-01-18 12:10:11 +08:00
Far-end crosstalk is measured using the following setup\repeatfootnote { zotino21} .
2022-01-14 15:29:31 +08:00
\begin { enumerate}
\item CH1 as aggressor, CH0 as victim
\item CH0, 2-7 terminated, CH 8-31 open
\item Aggressor signal from BNC passed through 15cm IDC26, 2m HD68-HD68 SCSI-3 shielded twisted pair, 15cm IDC26, converted back to BNC with adapters between all different cables \& connectors.
\end { enumerate}
2021-12-30 14:33:51 +08:00
\begin { figure} [hbt!]
\centering
\includegraphics [width=3.3in] { zotino_ fext.png}
\caption { Step crosstalk}
\end { figure}
\newpage
2022-01-07 17:25:24 +08:00
\section { Front Panel Drawings}
2022-01-21 13:49:01 +08:00
\begin { multicols} { 2}
\begin { center}
2022-01-07 17:25:24 +08:00
\centering
2022-01-25 14:57:45 +08:00
\includegraphics [height=3in] { zotino_ drawings.pdf}
2022-01-21 13:49:01 +08:00
\captionof { figure} { 5432 DAC Zotino front panel drawings}
\end { center}
\begin { center}
\captionof { table} { Bill of Material (Standalone)}
\tiny
\begin { tabular} { |c|c|c|c|}
\hline
Index & Part No. & Qty & Description \\ \hline
1 & 90503572 & 1 & FRONT PANEL 3U 4HP PIU TYPE2 \\ \hline
2 & 3020716 & 0.02 & SLEEVE GREY PLAS.M2.5 (100PCS) \\ \hline
3 & 3218843 & 2 & FP-ALIGNMENT PIN (LOCALIZATION) \\ \hline
\end { tabular}
\end { center}
\columnbreak
\begin { center}
\centering
2022-01-25 14:57:45 +08:00
\includegraphics [height=3in] { zotino_ assembly.pdf}
2022-01-21 13:49:01 +08:00
\captionof { figure} { 5432 DAC Zotino front panel assembly}
\end { center}
\begin { center}
\captionof { table} { Bill of Material (Assembled)}
\tiny
\begin { tabular} { |c|c|c|c|}
\hline
Index & Part No. & Qty & Description \\ \hline
1 & 90503572 & 1 & FP-LYKJ 3U4HP PANEL \\ \hline
2 & 3001012 & 2 & SCR M2.5*6 PAN PHL NI DIN7985 \\ \hline
3 & 3010110 & 0.02 & WASHER PLN.M2.7 DIN125 (100X) \\ \hline
4 & 3010124 & 0.1 & EMC GASKET FABRIC 3U (10PCS) \\ \hline
5 & 3033098 & 0.02 & SCREW COLLAR M2.5X12.3 (100X) \\ \hline
6 & 3040012 & 1 & HANDLE 4HP GREY PLASTIC \\ \hline
7 & 3040138 & 2 & PB HOLDER DIE-CAST \\ \hline
8 & 3207075 & 0.01 & SCR M2.5*12 PAN 100 21101-221 \\ \hline
9 & 3201099 & 0.01 & SCR M2.5*8 OVL PHL ST NI 100EA \\ \hline
\end { tabular}
\end { center}
\end { multicols}
\newpage
2022-01-07 17:25:24 +08:00
2021-12-09 12:33:42 +08:00
\section { Example ARTIQ code}
The sections below demonstrate simple usage scenarios of the 5432 Zotino card with the ARTIQ control system.
They do not exhaustively demonstrate all the features of the ARTIQ system.
The full documentation for the ARTIQ software and gateware is available at \url { https://m-labs.hk} .
\subsection { Set output voltage}
The following example initializes the Zotino card, then emits 1.0 V, 2.0 V, 3.0 V and 4.0 V at channel 0, 1, 2, 3 respectively.
Voltages of all 4 channels are updated simultaneously with the use of \texttt { set\char `_ dac()} .
2022-01-20 17:16:50 +08:00
\inputcolorboxminted { firstline=11,lastline=22} { examples/zotino.py}
2021-12-09 12:33:42 +08:00
2022-01-07 17:25:24 +08:00
\newpage
2021-12-09 12:33:42 +08:00
\subsection { Triangular Wave}
A triangular waveform at 10 Hz, 16 V peak-to-peak.
Timing accuracy of the RTIO system can be demonstrated by the precision of the frequency.
2022-01-20 17:16:50 +08:00
2022-01-21 09:34:46 +08:00
Import \texttt { scipy.signal} and \texttt { numpy} modules to run this example.
\inputcolorboxminted { firstline=30,lastline=49} { examples/zotino.py}
2021-12-09 12:33:42 +08:00
\section { Ordering Information}
2021-12-09 12:35:34 +08:00
To order, please visit \url { https://m-labs.hk} and select the 5432 Zotino in the ARTIQ Sinara crate configuration tool. The card may also be ordered separately by writing to \url { mailto:sales@m-labs.hk} .
2021-12-09 12:33:42 +08:00
\section * { }
\vspace * { \fill }
\begin { footnotesize}
2022-01-14 11:55:48 +08:00
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.
2021-12-09 12:33:42 +08:00
\end { footnotesize}
\end { document}