![tikz 中的 ADC (circuitikz)](https://linux22.com/image/290927/tikz%20%E4%B8%AD%E7%9A%84%20ADC%20(circuitikz).png)
如何使用 tikz 库绘制 ADC(模拟数字转换器)?一些像这样的简单 ADC?
在这样的矩形上放置节点的正确方法是什么,以便我可以进一步使用它来指定节点,就像我们使用一些 circuitikz 图形时一样
\draw
(1.5,-2) node[op amp] (opamp) {}
;
然后使用它的节点:
(opamp.-) to [short, -o] ++(-2.5, 0) node[left] {$V_1$}
答案1
我不熟悉 circuitikz,所以也许它包含一些简洁的方法来定义你自己的具有多个输入/输出的矩形形状。如果不熟悉,可以使用以下技术在纯 tikz 中完成:
\usetikzlibrary{calc}
\def\ADC#1#2#3#4#5{ % 1: pos, 2: node name, 3: width, 4: height, 5: number of pins
\node[minimum width=#3cm, minimum height=#4cm, rectangle, draw] at (#1) (#2) {};
\pgfmathsetmacro{\distance}{#4/(#5+1)}
\foreach \p in {1,...,#5} {
\coordinate (#2-L-\p) at ($(#2.north west)+(0,-\p*\distance)$);
\coordinate (#2-R-\p) at ($(#2.north east)+(0,-\p*\distance)$);
}
}
该宏\ADC{pos}{name}{width}{height}{N}
绘制一个矩形,并在每侧(左侧或右侧)定义 N 个锚点(name-L-1)
,(name-L-2)
左侧命名为 、 等(name-R-1)
,(name-R-2)
右侧命名为 、 等。它不显示任何文本,但在绘制矩形后,您可以参考这些坐标来放置标签、建立连接等。
例如:
\begin{tikzpicture}
% Draw box and define anchors
\ADC{0,0}{ADC}{4}{5}{4};
% Draw labels
\node at (ADC) {\Large LTC1096};
\foreach \i/\l/\r in {1/{\stackrel{CS/}{SHUTDOWN}}/V_{CC},2/+IN/CLK,3/-IN/C_{OUT},4/GND/V_{REF}} {
\draw (ADC-L-\i) node[right] {$\l$};
\draw (ADC-R-\i) node[left] {$\r$};
}
% Connect anchors to whatever other place
\foreach \i in {1,...,4} {
\draw (ADC-L-\i) -- +(-1,0);
}
\fill[blue] (6,3) circle (3mm) coordinate (whatever);
\draw (ADC-R-2) -- (whatever);
\end{tikzpicture}
会产生: