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}
2022-02-04 13:49:06 +08:00
\title { 5432 DAC Zotino}
2021-12-09 12:33:42 +08:00
\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-26 09:57:27 +08:00
\includegraphics [height=2in] { Zotino_ FP.jpg}
2022-01-07 10:33:14 +08:00
\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}
2022-02-04 13:49:06 +08:00
The sections below demonstrate simple usage scenarios of the 5432 DAC Zotino card with the ARTIQ control system.
2021-12-09 12:33:42 +08:00
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}
2022-02-04 13:49:06 +08:00
To order, please visit \url { https://m-labs.hk} and select the 5432 DAC 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}