correct gen18v, and some text

This commit is contained in:
acereca 2018-08-27 22:00:29 +02:00
parent 3bf501a07e
commit 517a5bc577
15 changed files with 126 additions and 77 deletions

Binary file not shown.

View File

@ -1,5 +1,7 @@
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import matplotlib.ticker as mpt import matplotlib.ticker as mpt
import matplotlib as mpl
import mpl_toolkits.axes_grid1.inset_locator as ins
import matplotlib.cm as cm import matplotlib.cm as cm
import numpy as np import numpy as np
import wafer import wafer
@ -119,13 +121,16 @@ def gen_48i_theory():
def gen_1v8_theory(): def gen_1v8_theory():
rpara = 75000 rpara = 75000
rseri = 2*4700 rseri = 2*4700
xdata = np.arange(0, 256, 4, dtype=int) xdata = np.arange(0, 256, 1, dtype=int)
ydata = (xdata / 256 * 10000) ydata = (xdata / 256 * 10000)
ydata = ydata * rpara / (ydata + rpara) + rseri ydata = ydata * rpara / (ydata + rpara) + rseri
ydata = 30100 / (ydata + 6490) * .7 + .7 ydata = 30100 / (ydata + 6490) * .7 + .7
print(f'vmin: {(ydata[-2]-ydata[-1])*1000} mV')
print(f'vmin: {(ydata[0]-ydata[1])*1000} mV')
plt.clf() plt.clf()
plt.plot(xdata, ydata, label="Equation after Datasheet") plt.step(xdata, ydata, label="Equation after Datasheet", where='mid', linewidth=.1)
vps = vtp.fit( vps = vtp.fit(
xdata, xdata,
@ -145,8 +150,21 @@ def gen_1v8_theory():
plt.xlabel("Potentiometer Setting P$_{val}$") plt.xlabel("Potentiometer Setting P$_{val}$")
plt.ylabel("V$_{MONITOR\_1V8}$ / V") plt.ylabel("V$_{MONITOR\_1V8}$ / V")
plt.savefig('v18.pdf', transparent=True) rect = mpl.patches.Rectangle((48,1.81),32,.08,linewidth=1, edgecolor='gray',facecolor='none')
plt.gca().add_patch(rect)
plt.savefig('v18.pdf', transparent=True)
plt.cla()
plt.clf()
plt.figure(figsize=(4, 2))
plt.step(xdata[48:80], ydata[48:80], label="Equation after Datasheet", where='mid', linewidth=.1)
plt.gca().xaxis.set_major_formatter(mpt.FuncFormatter(
lambda v, x: '0x{:02x}'.format(int(v))
))
plt.savefig('v18_zoom.pdf', transparent=True)
if __name__ == "__main__": if __name__ == "__main__":
gen_48v_theory() gen_48v_theory()

Binary file not shown.

View File

@ -1,9 +1,9 @@
\ExplSyntaxOn \ExplSyntaxOn
\newcommand{\pyval}[1]{% \newcommand{\pyval}[1]{%
\str_case:nn{#1}{% \str_case:nn{#1}{%
{ 0 }{ m = \SI{-1.6911+-0.0000}{ }} { 0 }{ m = \SI{-7.2588+-0.0000}{ }}
{ 1 }{ p = \SI{567.6618+-0.0000}{ }} { 1 }{ p = \SI{2436.5476+-0.0000}{ }}
{ 2 }{ a = \SI{-621.1199+-0.0000}{ }} { 2 }{ a = \SI{-2666.0034+-0.0000}{ }}
{ 3 }{ c = \SI{0.9318+-0.0000}{ }} { 3 }{ c = \SI{0.9318+-0.0000}{ }}
} }
} }

Binary file not shown.

BIN
data/theory/v18_zoom.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -61,19 +61,14 @@
The first goal was to be able to change the calibration parameters. The first goal was to be able to change the calibration parameters.
An upgrade for the PowerIt firmware was added to accomodate any calibration parameters. An upgrade for the PowerIt firmware was added to accomodate any calibration parameters.
This was accomplished with a virtual memory map, which maps every parameter to a specific location in a virtual memory. This was accomplished with a virtual memory map, which maps every parameter to a specific location and all of them can be changed.\\
In this memory, any calibration parameter or measurment value is mapped and can be changed.
--- Calibrating the PowerIt was the next task.
Calibrating the POwerIt was the next task.
The calibration characterizes the voltage measuring circuits, whose voltages are either coming into or leaving the PowerIt. The calibration characterizes the voltage measuring circuits, whose voltages are either coming into or leaving the PowerIt.
Additionally there are a current measuring circuits for incoming current and both \SI{1.8}{\volt} output currents. Additionally there are a current measuring circuits for incoming current and both \SI{1.8}{\volt} output currents.
A reference voltage measurement was used to generate a fitted polynomial.
This polynomials coefficients are the calibration parameters used inside the PowerIt.
--- Taking these calibrations as basis, the \SI{1.8}{\volt} power supplies' behavior through different current draws could be observed.
A simple model was generated from these measurements and applied.
Taking these calibrations as basis, the \SI{1.8}{\volt} power supplies' behavior could be observed. Also inside the formware a first iteration of that model was implemented and could now be tested.
%Additionally the electrical behavior of actual hardware both static (no currents) and dynamic (changing currents) could be observed.
And with these measurements a model was applied and checked for fitting this situation.
Lastly some statements could be made about the complete hardwares behavior and a first version of a regulation model could be implemented.

View File

@ -52,6 +52,8 @@ These will contain simplified circuits and their respective equations as well as
V_\text{MONITOR\_48V, max} = \SI{52.8}{\volt}\cdot\frac{1}{240+1}\cdot 8\cdot 1.1 =&~\SI{1.9280}{\volt} V_\text{MONITOR\_48V, max} = \SI{52.8}{\volt}\cdot\frac{1}{240+1}\cdot 8\cdot 1.1 =&~\SI{1.9280}{\volt}
\end{align} \end{align}
The ADCs 12bit gives a maximum resolution of \SI{2.1}{\milli\volt}.
\subsection{\SI{48}{\volt} Input Current} \subsection{\SI{48}{\volt} Input Current}
The circuit has to satisfy the following constraints: The circuit has to satisfy the following constraints:
@ -85,6 +87,8 @@ These will contain simplified circuits and their respective equations as well as
\SI{41.7}{\ampere}\cdot \SI{500}{\micro\ohm} \cdot 8\cdot 1.1 =& \SI{0.1833}{\volt} \SI{41.7}{\ampere}\cdot \SI{500}{\micro\ohm} \cdot 8\cdot 1.1 =& \SI{0.1833}{\volt}
\end{align} \end{align}
This results in a maximum resolution of \SI{.18}{\ampere}.
\subsection{9.6V Output Voltage} \subsection{9.6V Output Voltage}
The measurement of \SI{9.6}{\volt} is quite simpler. The measurement of \SI{9.6}{\volt} is quite simpler.
This Circuit consists of a 1:3 Voltage Divider. This Circuit consists of a 1:3 Voltage Divider.
@ -120,48 +124,59 @@ These will contain simplified circuits and their respective equations as well as
\subsection{1.8V Output Voltage} \subsection{1.8V Output Voltage}
To measure this Voltage the output is directly connected to a pin on the STM32-Chip. This Voltage is measured directly with the STM32-Chip.
But until now the voltages and current could only be measured, now the mechanism for setting a resulting voltage at the \SI{1.8}{\volt} terminals is known. Until now the voltages and currents could only be measured, now the mechanism for setting a resulting voltage at the \SI{1.8}{\volt} terminals is known.
The circuit for generating \SI{1.8}{\volt} can be seen in\autoref{fig:gen18v}. The circuit for generating \SI{1.8}{\volt} can be seen in \autoref{fig:gen18v}.
It consists of a power module and a resulting resistance between two pins, defined by R\(_\text{series}\), R\(_\text{parallel}\) and R\(_\text{pot}\). It consists of a power module and the three resistors R\(_\text{series}\), R\(_\text{parallel}\) and R\(_\text{pot}\).
The resistances job is to set the output to a given voltage of around \SI{1.8}{\volt}. The resistances set the output to a given voltage of around \SI{1.8}{\volt}.
That voltage can be varied based on R\(_\text{pot}\), because this resistance is set via a digital potentiometer\footnote{MCP4152 digital Rheostat~\cite{mcp4152}}. Based on R\(_\text{pot}\) this voltage is varied, because resistance is settable via a digital potentiometer\footnote{MCP4152 digital potentiometer~\cite{mcp4152}}.
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=.55\textwidth]{./tikz/gen18v.pdf} \includegraphics[width=.55\textwidth]{./tikz/gen18v.pdf}
\caption{1.8V supply circuit, featuring a DC-DC Converter, a resistor chain, supply voltage (left) and resulting voltage (right)}% \caption{%
\label{fig:gen18v} Schema of a 1.8V supply circuit. It features a DC-DC Converter, a resistor chain, supply voltage (left) and resulting voltage (V\(_O\)).
\end{figure} }%
\label{fig:gen18v}
\end{figure}
The in \autoref{fig:gen18v} used \SI{1.8}{\volt} converter has a characteristic formula~\cite{pth08t}, and the in this circuit used potentiometer is a linear \SI{10}{\kilo\ohm} rheostat. The in \autoref{fig:gen18v} used \SI{1.8}{\volt} converter has a characteristic output voltage formula~\cite{pth08t}, written in \autoref{eq:vout}.
The in this circuit used \SI{10}{\kilo\ohm} potentiometer is linear.
Therefore equations~\ref{eq:rpot},~\ref{eq:rset} and~\ref{eq:vout} can describe the circuit. Therefore equations~\ref{eq:rpot},~\ref{eq:rset} and~\ref{eq:vout} describe the circuit.
\begin{align} \begin{align}
R_\text{potentiometer} =& P_\text{val} \frac{\SI{10}{\kilo\ohm}}{256} \label{eq:rpot}\\ R_\text{pot} =& P_\text{val} \frac{\SI{10}{\kilo\ohm}}{256} \label{eq:rpot}\\
R_\text{SET} =& \left(\frac{1}{R_\text{potentiometer}} + \frac{1}{R_\text{parallel}}\right)^{-1} + R_\text{series}\nonumber \\ R_S =& \left(\frac{1}{R_\text{pot}} + \frac{1}{R_\text{parallel}}\right)^{-1} + R_\text{series}\nonumber \\
=& \frac{R_\text{potentiometer}\cdot R_\text{parallel}}{R_\text{potentiometer} + R_\text{parallel}} + R_\text{series}\label{eq:rset}\\ =& \frac{R_\text{pot}\cdot R_\text{parallel}}{R_\text{pot} + R_\text{parallel}} + R_\text{series}\label{eq:rset}\\
V_\text{MONITOR\_1V8} =& \frac{\SI{30.1}{\kilo\ohm}}{R_\text{SET} + \SI{6.49}{\kilo\ohm}} \cdot \SI{0.7}{\volt} + \SI{0.7}{\volt} \label{eq:vout} V_\text{MONITOR\_1V8} =& \frac{\SI{30.1}{\kilo\ohm}}{R_S + \SI{6.49}{\kilo\ohm}} \cdot \SI{0.7}{\volt} + \SI{0.7}{\volt} \label{eq:vout}
\end{align} \end{align}
Visualizing the \autoref{eq:rset} results in \autoref{fig:gen18v}, in which the limits of this circuit are visible. Visualizing the \autoref{eq:rset} results in \autoref{fig:beh1v8}, in which the limits of this circuit are visible.
\begin{align} \begin{align}
V_\text{MONITOR\_1V8, min} =&~\SI{1.549}{\volt}\\ V_\text{MONITOR\_1V8, min} =&~\SI{1.549}{\volt}\\
V_\text{MONITOR\_1V8, max} =&~\SI{2.022}{\volt} V_\text{MONITOR\_1V8, max} =&~\SI{2.022}{\volt}
\end{align} \end{align}
\begin{figure}[H] And these extremes will be a limiting factor later on.
\centering Also with 12bit ADCS that results in a maximum resolution of \SI{.8}{\milli\volt}.
\vspace{-1cm}
\hspace*{-.165\textwidth} \begin{figure}[H]
\includegraphics[width=1.3\textwidth]{./data/theory/v18.pdf} \centering
\caption{Expected behavior of 1.8V output voltage vs potentiometer setting}% \vspace{-.5cm}
\label{fig:beh1v8} \hspace*{-.152\textwidth}
\end{figure} \includegraphics[width=1.25\textwidth]{./tikz/v18.pdf}
\caption{%
Expected behavior curve of 1.8V output voltage vs potentiometer setting.
Shown is the complete range of possible settings and their resulting voltage.
The zoomed in partial view shows, that because the setting can only be of integer value any resulting values are also discrete.
A single step can increase the voltage by somewhere between \SI{1.0545}{\milli\volt} and \SI{3.2500}{\milli\volt}
}%
\label{fig:beh1v8}
\end{figure}
\subsection{1.8V Output Current} \subsection{1.8V Output Current}
The circuit for measuring the outgoing current over 1.8V, consists of a current sensing IC, which is Hall sensor based. Each connection (digital and analog) has this IC in series to its load. The outgoing current over 1.8V is measured by a hall sensor, which outputs a voltage to be measured. Each connection (digital and analog) has this sensor in series to its load.
\begin{figure}[H] \begin{figure}[H]
\centering \centering
@ -169,25 +184,26 @@ These will contain simplified circuits and their respective equations as well as
\begin{circuitikz}[scale=2] \begin{circuitikz}[scale=2]
\draw[color=black, thick] \draw[color=black, thick]
(0,0) node[left]{GND} (-1,0) %node[left]{GND}
to [short, o-] (1,0) to [short,f<^=I$_\text{1.8V}$, -] (1,0)
to [] (1,.5) to [] (1,.5)
(0,2) node[left]{1.8V} (-1,2) %node[left]{1.8V}
to [short, o-] (1,2) to [short, f>_=I$_\text{1.8V}$, -] (1,2)
to [] (1,1.5) to [] (1,1.5)
(1.2,1) node[draw=black, regular polygon, regular polygon sides=4, minimum size=2.7cm]{acs758} (1.2,1) node[draw=black, regular polygon, regular polygon sides=4, minimum size=2.7cm]{ACS758}
(1.7,1) (1.75,1)
to [short, *-] (3, 1) node[right, draw=black] {VDD\_1V8\_*}; to [short, *-] (3, 1) node[right, draw=black] {VDD\_1V8\_*};
\end{circuitikz} \end{circuitikz}
} }
\caption{1.8V current sensing circuit, featuring a acs758, hall sensor based current sensing IC, input voltage (left) and output voltage (right)}% \caption{Circuit for measuring 1.8V current. It features a ACS758 hall sensor, input voltage (left) and output voltage (right)}%
\label{fig:mon18i} \label{fig:mon18i}
\end{figure} \end{figure}
The IC is rated for a maximum constant current draw of 100A, and features the following behavior: The hall sensor is rated for a maximum constant current draw of 100A, and features the following behavior:
\begin{align} \begin{align}
I_\text{1.8V, in} \cdot \SI{0.004}{\volt\per\ampere} + \SI{0.12}{\volt} =&~V_\text{MONITOR\_1I8}\\ I_\text{1.8V, in} \cdot \SI{0.004}{\volt\per\ampere} + \SI{0.12}{\volt} =&~V_\text{MONITOR\_1I8}\\
\intertext{By applying the limits of \SI{0}{\ampere} and \SI{100}{\ampere}, the following voltage range can be observed:} \intertext{By applying the limits of \SI{0}{\ampere} and \SI{100}{\ampere}, the following voltage range can be observed:}
@ -195,6 +211,7 @@ These will contain simplified circuits and their respective equations as well as
\SI{100}{\ampere} \cdot\SI{0.004}{\volt\per\ampere} + \SI{0.12}{\volt} =&~\SI{0.52}{\volt} \SI{100}{\ampere} \cdot\SI{0.004}{\volt\per\ampere} + \SI{0.12}{\volt} =&~\SI{0.52}{\volt}
\end{align} \end{align}
These values and the used 12bit ADCs gives a maximum resolution of around \SI{.2}{\ampere}
\section{1.8V Output Regulation} \section{1.8V Output Regulation}
The method for regulating the \SI{1.8}{\volt} output voltage consists of two parts. The method for regulating the \SI{1.8}{\volt} output voltage consists of two parts.
@ -203,7 +220,7 @@ First the voltage, wanted at the output terminal and second the corresponding po
On the other hand, to calculate the voltage to output, it is necessary to classify the connections between the PowerIts output terminals and reticles. On the other hand, to calculate the voltage to output, it is necessary to classify the connections between the PowerIts output terminals and reticles.
\subsection{Potentiometer Mapping} \subsection{Potentiometer Mapping}
Combining Equations~\ref{eq:rpot},~\ref{eq:rset}, and~\ref{eq:vout}, we gather \autoref{eq:fullreg}. This equation maps a given output voltage to a corresponding Potentiometer Setting (reverse to \autoref{fig:beh1v8}). Combining Equations~\ref{eq:rpot},~\ref{eq:rset}, and~\ref{eq:vout}, we gather \autoref{eq:fullreg}. This equation maps a given output voltage to a corresponding potentiometer setting (reverse to \autoref{fig:beh1v8}).
\begin{align} \label{eq:fullreg} \begin{align} \label{eq:fullreg}
P_\text{val} = \frac{% P_\text{val} = \frac{%
@ -222,12 +239,12 @@ On the other hand, to calculate the voltage to output, it is necessary to classi
But it is fundamentally different, as it cannot be used for any neuromorphic computations, but only to test for voltages and currents. But it is fundamentally different, as it cannot be used for any neuromorphic computations, but only to test for voltages and currents.
Its internals are ohmic resistors, which provide a maximum power draw per reticle of what is possible inside a usable wafer module. Its internals are ohmic resistors, which provide a maximum power draw per reticle of what is possible inside a usable wafer module.
\begin{figure}[H] % \begin{figure}[H]
\centering % \centering
\includegraphics[width=.8\columnwidth]{./data/theory/wafer.pdf} % \includegraphics[width=.8\columnwidth]{./data/theory/wafer.pdf}
\caption{Reticle diagram of a wafer in BrainScaleS. All 48 Reticles are shown. This Layout is an approximation of real world positioning. A single reticle has a width of \SI{20.0482}{\milli\meter} and height of \SI{20.145}{\milli\meter}, with additional space in between reticles of \SI{420}{\micro\meter} horizontally and \SI{250}{\micro\meter} vertically~\cite{waferembedding}}% % \caption{Reticle diagram of a wafer in BrainScaleS. All 48 Reticles are shown. This Layout is an approximation of real world positioning. A single reticle has a width of \SI{20.0482}{\milli\meter} and height of \SI{20.145}{\milli\meter}, with additional space in between reticles of \SI{420}{\micro\meter} horizontally and \SI{250}{\micro\meter} vertically~\cite{waferembedding}}%
\label{fig:wafer} % \label{fig:wafer}
\end{figure} % \end{figure}
It has the same layout as its system counterparts and each of the 48 reticles can be accessed, digitally as well as electrically. It has the same layout as its system counterparts and each of the 48 reticles can be accessed, digitally as well as electrically.
@ -243,15 +260,17 @@ On the other hand, to calculate the voltage to output, it is necessary to classi
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=.9\columnwidth]{./tikz/mainpcb_back.pdf} \includegraphics[width=\columnwidth]{./tikz/mainpcb_back.pdf}
\caption{A photograph of the top of the MainPCB (courtesy of Maurice G\"{u}ttler~\cite{waferembedding}). \caption{%
The board has a length and width of 43cm. A photograph of the top of the MainPCB (courtesy of Maurice G\"{u}ttler~\cite{waferembedding}).
Visible in the center are the PowerFETs (Field Effect Transistors) (1) which switch the power supply of each reticle. The board has a length and width of 43cm.
These are controlled via the CURE boards. Visible in the center are the PowerFETs (Field Effect Transistors) (1) which switch the power supply of each reticle.
In yellow the corresponding Reticle and its position is marked. These are controlled via the CURE boards (2).
The CUREs are placed at the 8 central positions (2). In yellow the corresponding Reticle and its position is marked.
The top-left and bottom right corner connectors (3) are for the AnaB boards. All 48 Reticles are shown. A single reticle has a width of \SI{20.0482}{\milli\meter} and height of \SI{20.145}{\milli\meter}, with additional space in between reticles of \SI{420}{\micro\meter} horizontally and \SI{250}{\micro\meter} vertically~\cite{waferembedding}.
The main supply voltages V\(_\text{DDA}\) (red) and V\(_\text{DDD}\) (blue) are generated on the PowerIt and inserted at the marked screw connections.}% The top-left and bottom right corner connectors (3) are for the AnaB boards.
The main supply voltages V\(_\text{DDA}\) (red) and V\(_\text{DDD}\) (blue) are generated on the PowerIt and inserted at the marked screw connections.
}%
\label{fig:mainpcb} \label{fig:mainpcb}
\end{figure} \end{figure}
@ -264,7 +283,10 @@ On the other hand, to calculate the voltage to output, it is necessary to classi
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=.4\columnwidth]{./tikz/reticlepower.pdf} \includegraphics[width=.4\columnwidth]{./tikz/reticlepower.pdf}
\caption{model of the to measure resistances and their currents, \(R_0\) describes the resistance of a connection between the PowerIt Output and up to the FET (depicted as switch), while \(R_1\) is a Resistance between FET and Reticles. The measurement is done between Output Terminals on the PowerIt and pins on a Analog readout board}% \caption{
Model of the to measure resistances and their currents, \(R_0\) describes the resistance of a connection between the PowerIt Output and up to the FET (depicted as switch), while \(R_1\) is a Resistance between FET and Reticles.
The measurement is done between Output Terminals on the PowerIt and pins on a Analog readout board.
}%
\label{fig:retmodel} \label{fig:retmodel}
\end{figure} \end{figure}

BIN
thesis.pdf Normal file

Binary file not shown.

View File

@ -22,6 +22,8 @@
\titleformat*{\section}{\bfseries\Large} \titleformat*{\section}{\bfseries\Large}
\titleformat*{\subsection}{\bfseries\large} \titleformat*{\subsection}{\bfseries\large}
\renewcommand*{\figureautorefname}{figure}
\renewcommand*{\equationautorefname}{equation}
\renewcommand{\listingscaption}{\sffamily Code} \renewcommand{\listingscaption}{\sffamily Code}
\newcommand{\codecaption}[1]{\caption{\parbox[t]{.9\linewidth}{#1}}} \newcommand{\codecaption}[1]{\caption{\parbox[t]{.9\linewidth}{#1}}}
\providecommand*{\listingautorefname}{code} \providecommand*{\listingautorefname}{code}

BIN
tikz/v18.pdf Normal file

Binary file not shown.

12
tikz/v18.tex Normal file
View File

@ -0,0 +1,12 @@
\documentclass{standalone}
\input{./tikzpreamble}
\begin{document}
\begin{tikzpicture}
\node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=\textwidth]{../data/theory/v18.pdf}};
\begin{scope}[x={(image.south east)},y={(image.north west)}]
\node[fill=white] at (.80, .80) {\includegraphics[width=.5\columnwidth]{../data/theory/v18_zoom.pdf}};
\draw[draw=gray] (.381, .525) to (.613, .606);
\draw[draw=gray] (.381, .642) to (.613, 0.990);
\end{scope}
\end{tikzpicture}
\end{document}