update 2128

master
kai 2021-07-27 17:10:27 +08:00
parent de4fd7bd0f
commit a1e3cbd819
3 changed files with 308 additions and 17 deletions

BIN
2128.pdf Normal file

Binary file not shown.

281
2128.tex
View File

@ -7,15 +7,20 @@
\BeforeBeginEnvironment{minted}{\begin{tcolorbox}[colback=white]}% \BeforeBeginEnvironment{minted}{\begin{tcolorbox}[colback=white]}%
\AfterEndEnvironment{minted}{\end{tcolorbox}}% \AfterEndEnvironment{minted}{\end{tcolorbox}}%
\usepackage[justification=centering]{caption}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage[english]{babel} \usepackage[english]{babel}
\usepackage[english]{isodate} \usepackage[english]{isodate}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage{subfigure}
\usepackage{tikz} \usepackage{tikz}
\usepackage{pgfplots} \usepackage{pgfplots}
\usepackage{circuitikz} \usepackage{circuitikz}
\usetikzlibrary{calc} \usetikzlibrary{calc}
\usetikzlibrary{fit,backgrounds}
\title{2128 SMA-TTL} \title{2128 SMA-TTL}
\author{M-Labs Limited} \author{M-Labs Limited}
@ -59,28 +64,266 @@ The card support a minimum pulse width of 3ns.
% Switch to next column % Switch to next column
\vfill\break \vfill\break
\newcommand*{\MyLabel}[3][2cm]{\parbox{#1}{\centering #2 \\ #3}}
\newcommand*{\MymyLabel}[3][4cm]{\parbox{#1}{\centering #2 \\ #3}}
\begin{figure}[h] \begin{figure}[h]
\begin{circuitikz}[european] \centering
\node[op amp] (amp1) {}; \scalebox{0.88}{
\node[op amp, below = 0.5cm, xscale = -1] (amp2) {}; \begin{circuitikz}[european, scale=0.95, every label/.append style={align=center}]
\draw (amp1.out) |- (amp2.-);
\draw (amp2.-) ++(0, 0.3cm) node[circ]{} to +(2,0) node[above left]{5}; \begin{scope}[yshift=1.3cm]
\draw (amp2.out) to (amp1.+);
\draw (amp1.+) ++(0, -0.3cm) node[circ]{} to +(-2,0) node[above right]{2}; \draw[color=white, text=black] (-0.1,0) node[twoportshape,t={SMA 0}, circuitikz/bipoles/twoport/width=1.2, scale=0.4] (sma0) {};
\draw (amp1.-) to +(-2,0) node[above right]{1}; \draw[color=white, text=black] (-0.1,-0.7) node[twoportshape,t={SMA 1}, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma1) {};
\draw (amp2.+) to +(2,0) node[above left]{4}; \draw[color=white, text=black] (-0.1,-1.4) node[twoportshape,t={SMA 2}, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma2) {};
\draw (amp1.out) +(0,0.5cm) node (Vdd) {$\mathrm{V_{DD}}$}; \draw[color=white, text=black] (-0.1,-2.1) node[twoportshape,t={SMA 3}, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma3) {};
\draw (Vdd.east) to +(1.5,0) node [above left]{6};
\draw (amp2.out) +(0,-0.5cm) node (Vss) {$\mathrm{V_{SS}}$}; \node [label={[xshift=-0.18cm, yshift=-0.305cm]\tiny{SMA 0}}] {};
\draw (Vss.west) to +(-1.6,0) node [above right]{3}; \node [label={[xshift=-0.18cm, yshift=-0.97cm]\tiny{SMA 1}}] {};
\draw ($(amp1.north west) + (-0.5,0.5)$) rectangle ($(amp2.south west) + (0.5,-0.5)$); \node [label={[xshift=-0.18cm, yshift=-1.64cm]\tiny{SMA 2}}] {};
\node [label={[xshift=-0.18cm, yshift=-2.302cm]\tiny{SMA 3}}] {};
% draw female SMA_0,1,2,3
\begin{scope}[scale=0.07 , rotate=-90, xshift=0cm, 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=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=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 (1.6,-1.05) node[twoportshape,t={Octal Bus Transceiver}, circuitikz/bipoles/twoport/width=2.5, scale=0.7, rotate=-90 ] (bus1) {};
\draw (3.05,-0) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (iso1) {};
\draw (3.05,-0.7) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (iso2) {};
\draw (3.05,-1.4) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (iso3) {};
\draw (3.05,-2.1) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (iso4) {};
\draw (3.05,-2.7) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (i2ciso1) {};
\draw (4.5,-1.15) node[twoportshape,t=\MymyLabel{4-Channel LVDS}{Line Transceiver}, circuitikz/bipoles/twoport/width=2.6, scale=0.7, rotate=-90] (lvds1) {};
\draw (6.8,-0.9) -- ++(0.00001,0) node[twoportshape, anchor=left, t={EEM port}, circuitikz/bipoles/twoport/width=6, scale=0.6, rotate=-90] (kasli) {} ;
\draw (0.8,-3.5) node[twoportshape,t=\MymyLabel{Per-bank \phantom{spac} }{Input/Output Switch}, circuitikz/bipoles/twoport/width=2.7, scale=0.44] (ioswitch) {};
\draw (3.05,-3.5) node[twoportshape,t=\MymyLabel{IO Expander}{for I2C Bus}, circuitikz/bipoles/twoport/width=1.8, scale=0.5] (i2c) {};
\draw (5.68,-2.3) node[twoportshape,t=EEPROM, circuitikz/bipoles/twoport/width=1.2, scale=0.5] (eeprom) {};
\draw (0.8,-2.7) node[twoportshape,t=\MymyLabel{High-Z/50\textOmega}{Switch \phantom{ssssss} }, circuitikz/bipoles/twoport/width=2, scale=0.4] (termswitch1) {};
% Termination Switch 1,2,3,4
\begin{scope}[xshift=0.9cm, yshift=-2.66cm, 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}
\begin{scope}[xshift=1cm, yshift=-2.66cm, 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}
\begin{scope}[xshift=1.1cm, yshift=-2.66cm, 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}
\begin{scope}[xshift=1.2cm, yshift=-2.66cm, 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}
\end{scope}
% I/O Switch 1, 2
\begin{scope}[xshift=1.2cm, yshift=-1.98cm, 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}
\begin{scope}[xshift=1.32cm, yshift=-1.98cm, 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}
\draw (0.8,-3.05) node[twoportshape,t=\MymyLabel{High-Z/50\textOmega}{Switch \phantom{ssssss} }, circuitikz/bipoles/twoport/width=2, scale=0.4] (termswitch2) {};
% Termination Switch 5,6,7,8
\begin{scope}[xshift=0.9cm, yshift=-3.02cm, 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}
\begin{scope}[xshift=1cm, yshift=-3.02cm, 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}
\begin{scope}[xshift=1.1cm, yshift=-3.02cm, 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}
\begin{scope}[xshift=1.2cm, yshift=-3.02cm, 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}
% channel 5,6,7,8
\begin{scope}[yshift=-3.6cm]
\draw[color=white, text=black] (-0.1,0) node[twoportshape,t={SMA 4}, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma4) {};
\draw[color=white, text=black] (-0.1,-0.7) node[twoportshape,t={SMA 5}, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma5) {};
\draw[color=white, text=black] (-0.1,-1.4) node[twoportshape,t={SMA 6}, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma6) {};
\draw[color=white, text=black] (-0.1,-2.1) node[twoportshape,t={SMA 7}, circuitikz/bipoles/twoport/width=1.2, scale=0.4 ] (sma7) {};
\node [label={[xshift=-0.18cm, yshift=-0.305cm]\tiny{SMA 4}}] {};
\node [label={[xshift=-0.18cm, yshift=-0.97cm]\tiny{SMA 5}}] {};
\node [label={[xshift=-0.18cm, yshift=-1.64cm]\tiny{SMA 6}}] {};
\node [label={[xshift=-0.18cm, yshift=-2.302cm]\tiny{SMA 7}}] {};
% draw female SMA 4,5,6,7
\begin{scope}[scale=0.07 , rotate=-90, xshift=0cm, 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=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=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 (1.6,-1.05) node[twoportshape,t={Octal Bus Transceiver}, circuitikz/bipoles/twoport/width=2.5, scale=0.7, rotate=-90 ] (bus2) {};
\draw (3.05,-0) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (iso5) {};
\draw (3.05,-0.7) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (iso6) {};
\draw (3.05,-1.4) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (iso7) {};
\draw (3.05,-2.1) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (iso8) {};
\draw (3.05,0.6) node[twoportshape,t={Isolator}, circuitikz/bipoles/twoport/width=1.3, scale=0.4] (i2ciso2) {};
\draw (4.5,-1.05) node[twoportshape,t=\MymyLabel{4-Channel LVDS}{Line Transceiver}, circuitikz/bipoles/twoport/width=2.6, scale=0.7, rotate=-90] (lvds2) {};
\end{scope}
% Drawing Connections
\draw [latexslim-latexslim] (sma0.east) -- ++(1,0);
\draw [latexslim-latexslim] (sma1.east) -- ++(1,0);
\draw [latexslim-latexslim] (sma2.east) -- ++(1,0);
\draw [latexslim-latexslim] (sma3.east) -- ++(1,0);
\draw [latexslim-latexslim] (sma4.east) -- ++(1,0);
\draw [latexslim-latexslim] (sma5.east) -- ++(1,0);
\draw [latexslim-latexslim] (sma6.east) -- ++(1,0);
\draw [latexslim-latexslim] (sma7.east) -- ++(1,0);
\draw [latexslim-latexslim] (iso1.west) -- ++(-0.72,0) ;
\draw [latexslim-latexslim] (iso2.west) -- ++(-0.72,0) ;
\draw [latexslim-latexslim] (iso3.west) -- ++(-0.72,0) ;
\draw [latexslim-latexslim] (iso4.west) -- ++(-0.72,0) ;
\draw [latexslim-latexslim] (iso1.east) -- ++(0.69,0);
\draw [latexslim-latexslim] (iso2.east) -- ++(0.69,0);
\draw [latexslim-latexslim] (iso3.east) -- ++(0.69,0);
\draw [latexslim-latexslim] (iso4.east) -- ++(0.69,0);
\draw [latexslim-latexslim] (iso5.west) -- ++(-0.72,0) ;
\draw [latexslim-latexslim] (iso6.west) -- ++(-0.72,0) ;
\draw [latexslim-latexslim] (iso7.west) -- ++(-0.72,0) ;
\draw [latexslim-latexslim] (iso8.west) -- ++(-0.72,0) ;
\draw [latexslim-latexslim] (iso5.east) -- ++(0.7,0);
\draw [latexslim-latexslim] (iso6.east) -- ++(0.7,0);
\draw [latexslim-latexslim] (iso7.east) -- ++(0.7,0);
\draw [latexslim-latexslim] (iso8.east) -- ++(0.7,0);
\draw [latexslim-] (eeprom.south) -- ++(0,-0.95);
\draw [latexslim-latexslim] (lvds1.north) -- ++(1.61,0);
\draw [latexslim-latexslim] (lvds2.north) -- ++(1.62,0);
\draw [latexslim-latexslim] (i2c.east) -- ++(2.77,0);
\draw [latexslim-] (i2c.west) -- (ioswitch.east) ;
\draw [-latexslim] (i2c.north east) -- (lvds1.south east);
\draw [-latexslim] (i2c.south east) -- (lvds2.south west);
\draw [-latexslim] (i2ciso1.west) -- (bus1.north east);
\draw [thin] [-latexslim] (i2c.north) -- (i2ciso1.south);
\draw [-latexslim] (i2ciso2.west) -- (bus2.north west);
\draw [thin] [-latexslim] (i2c.south) -- (i2ciso2.north);
% termination switch connection
\draw (0.65,-1.18) -- ++(0,2.47) ;
\draw (0.75,-1.18) -- ++(0,1.77) ;
\draw (0.85,-1.18) -- ++(0,1.07) ;
\draw (0.95,-1.18) -- ++(0,0.37) ;
\draw (0.65,-3.25) -- ++(0,-2.45) ;
\draw (0.75,-3.25) -- ++(0,-1.75) ;
\draw (0.85,-3.25) -- ++(0,-1.05) ;
\draw (0.95,-3.25) -- ++(0,-0.35) ;
\node[draw, dotted, thick, rounded corners, inner xsep=0.7em, inner ysep=0.4em, fit=(sma0) (i2ciso1.south west)] (box1) {};
\node[fill=white, rotate=-90] at (box1.west) {GND BANK 1};
\node[fill=white,above] at (box1.north) {\tiny{Either all 4 channels are inputs or all 4 channels are outputs }};
\node[draw, dotted, thick, rounded corners, inner xsep=0.7em, inner ysep=0.4em, fit=(sma4)(termswitch2) (iso8.south west)] (box2) {};
\node[fill=white, rotate=-90] at (box2.west) {GND BANK 2};
\node[fill=white,below] at (box2.south) {\tiny{Either all 4 channels are inputs or all 4 channels are outputs }};
\end{circuitikz} \end{circuitikz}
\caption{Block diagram (TODO)} }
\caption{Simplified Block Diagram}
\end{figure} \end{figure}
\begin{figure}[h] \begin{figure}[h]
\includegraphics[width=1.5in]{photo2128.jpg} \centering
\caption{Card photo} \includegraphics[width=1.18in]{photo2128.jpg}
\caption{SMA-TTL Card photo}
\end{figure} \end{figure}
% For wide tables, a single column layout is better. It can be switched % For wide tables, a single column layout is better. It can be switched
@ -153,6 +396,8 @@ def run(self):
delay(500*ms) delay(500*ms)
\end{minted} \end{minted}
\newpage
\subsection{Morse code} \subsection{Morse code}
This example demonstrates some basic algorithmic features of the ARTIQ-Python language. This example demonstrates some basic algorithmic features of the ARTIQ-Python language.
\begin{minted}{python} \begin{minted}{python}
@ -199,6 +444,8 @@ def run(self):
print(counts) print(counts)
\end{minted} \end{minted}
\newpage
\subsection{Responding to an external trigger} \subsection{Responding to an external trigger}
One channel needs to be configured as input, and the other as output. One channel needs to be configured as input, and the other as output.

44
shell.nix Normal file
View File

@ -0,0 +1,44 @@
let
pkgs = import <nixpkgs> {};
in
pkgs.mkShell {
buildInputs = [
#pkgs.texlive.combined.scheme-small
(pkgs.texlive.combine {
inherit (pkgs.texlive)
scheme-small
collection-latexextra
collection-fontsextra
collection-fontsrecommended
palatino
textgreek
minted
tcolorbox
etoolbox
maths-symbols
greek-inputenc
babel
isodate
pst-graphicx
visualtikz
quantikz
tikz-feynman
pgfplots
cbfonts-fd
cbfonts
mathpazo
helvetic
circuitikz ;
# To compile, call:
# $ pdflatex -shell-escape xxx.tex
# if missing packages, you can search if the required tex packages is in nixpkgs or not from here
# https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/tools/typesetting/tex/texlive/pkgs.nix
# if available, just add it to the above list
})
];
}