correct intro and theory, add setup
This commit is contained in:
parent
6e78e563eb
commit
2818dda23d
Binary file not shown.
|
@ -1,4 +1,5 @@
|
|||
import matplotlib.pyplot as plt
|
||||
import matplotlib.ticker as mpt
|
||||
import matplotlib.cm as cm
|
||||
import numpy as np
|
||||
import wafer
|
||||
|
@ -118,7 +119,7 @@ def gen_48i_theory():
|
|||
def gen_1v8_theory():
|
||||
rpara = 75000
|
||||
rseri = 2*4700
|
||||
xdata = np.arange(0, 256, 4)
|
||||
xdata = np.arange(0, 256, 4, dtype=int)
|
||||
ydata = (xdata / 256 * 10000)
|
||||
ydata = ydata * rpara / (ydata + rpara) + rseri
|
||||
ydata = 30100 / (ydata + 6490) * .7 + .7
|
||||
|
@ -138,10 +139,13 @@ def gen_1v8_theory():
|
|||
vtt.unc_tolatex(vps[2], None, 'theo.tex', name="a")
|
||||
vtt.unc_tolatex(vps[3], None, 'theo.tex', name="c")
|
||||
|
||||
plt.gca().xaxis.set_major_formatter(mpt.FuncFormatter(
|
||||
lambda v, x: '0x{:02x}'.format(int(v))
|
||||
))
|
||||
plt.xlabel("Potentiometer Setting P$_{val}$")
|
||||
plt.ylabel("V$_{1.8V out}$")
|
||||
plt.ylabel("V$_{MONITOR\_1V8}$ / V")
|
||||
|
||||
plt.savefig('v18.pdf')
|
||||
plt.savefig('v18.pdf', transparent=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,33 @@
|
|||
%! TEX root = ../thesis.tex
|
||||
\thispagestyle{empty}
|
||||
|
||||
\begin{center}
|
||||
{\bfseries Abstract}
|
||||
\end{center}
|
||||
\begin{abstract}~\\
|
||||
Accurate measurements and voltage supply is a integral part for any system to work perfectly.
|
||||
In the Human Brain Project framework this thesis will provide a calibration of the BrainScaleS PowerIt Subsystem as well as a regulation mechanism for a BrainScales power supply.
|
||||
|
||||
It will give insight into the internal workings of the PowerIt.
|
||||
Its circuitry will be examined and calibrated, for use in BrainScaleS' monitoring.
|
||||
And a method for regulating one of its power Supplies will be implemented, based on observations done with an experimental setup of a in BrainScales deployed Wafer System.
|
||||
|
||||
This thesis also contains the changes done to the PowerIt Firmware while working on these Problems.
|
||||
The main focus layed on a new interfacing protocol.
|
||||
It can now be used for accessing the calibration and regulation parameters as well as their respective measured values .
|
||||
\end{abstract}
|
||||
|
||||
\begin{center}
|
||||
{\bfseries Zusammenfassung}
|
||||
\end{center}
|
||||
\begin{abstract}~\\
|
||||
Das akkurate messen von und versorgen mit Spannungen ist ein integraler Teil jedweden elektrischen Systems, sodass diese reibungslos funktioniert.
|
||||
Innerhalb des Bereiches des Human Brain Projektes, liefert diese Arbeit die Kalibration des BrainScaleS Teilsystems PowerIt, sowie die Regulierung einer Spannungsversorgung des BrainScaleS.
|
||||
|
||||
Diese Arbeit verschafft einen Einblick in den internen Aufbauu des PowerIt, dabei werden dessen Schaltungen untersucht und kalibriert, sodass diese in der \\System\"{u}berwachung nutzbar sind.
|
||||
Ausserdem lifert diese Arbeit eine Methode der Regulation f\"{u}r eine der Sapnnungsversorgungen.
|
||||
Diese basiert vor allem aif den Beobachtungen mittels eines experimentellen aufbaus eines in BrainScaleS genutzten Wafer Systems.
|
||||
|
||||
Zus\"{a}tzlich enthalten sind die \"{A}nderungen, die an der PowerIt Firmware vorgenommen worden sind.
|
||||
Dabei liegt der Fakus auf einem neuen Protokoll zur kommunikation, welches daf\"{u}r genutzt werden kann die Parameter und Werte der Kalibration und Regulation auszulesen oder zu setzen.
|
||||
\end{abstract}
|
|
@ -0,0 +1,18 @@
|
|||
%! TEX root = ../thesis.tex
|
||||
\chapter*{Statement of Originality (Erkl\"{a}rung)}
|
||||
|
||||
I certify that this thesis, and the research to which it refers, are the product of my own
|
||||
work. Any ideas or quotations from the work of other people, published or otherwise, are
|
||||
fully a knowledged in accordance with the standard referencing practices of the discipline.
|
||||
|
||||
\vspace{3cm}~\\
|
||||
Ich versichere, dass ich diese Arbeit selbstst\"{a}ndig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe.
|
||||
|
||||
\vspace{1cm}~\\
|
||||
Heidelberg, 29. August 2018,
|
||||
|
||||
\vspace{3cm}~\\
|
||||
\begin{center}
|
||||
.........................................................\\
|
||||
(signature)
|
||||
\end{center}
|
|
@ -2,11 +2,36 @@
|
|||
\chapter{Experiments}
|
||||
Now that the theoretical model is complete, experiments can be done to start checking that model and get results to use for in system components.
|
||||
|
||||
\section{Experimental Setup}
|
||||
But before diving into the measurements ashort tour of both experimental setups.
|
||||
THe first setup was used during the calibration phase, while the secon setup was used for creating the regulation model.
|
||||
|
||||
\subsection{Part 1}
|
||||
|
||||
To calibrate a Powerit a setup is required, that can sweep the input voltage, as well as draw different current from the PowerIt (see \autoref{fig:expsetup1}).
|
||||
For that a setup with a bench power supply an electronic load and an external voltmeter are used.
|
||||
Additionally a STM32-Discovery board and a RaspberryPi microcomputer were connected to flash new firmware onto the PowerIt.
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.35\columnwidth]{./pics/setup_ps_el_mm.jpg}
|
||||
\includegraphics[width=.45\columnwidth]{./pics/poweritv1_test_setup_corr.jpg}
|
||||
\caption{Left: Keithley K2100 voltmeter (top), PS9080 bench power supply (middle) and EL9000 electronic load (bottom; Right: PowerIt with connected STM32-Discovery board (left), and Raspberry PI (top). as well as power supply connection (cables at top ow PIT)}%
|
||||
\label{fig:expsetup1}
|
||||
\end{figure}
|
||||
|
||||
To now calibrate the board the bench supply could be controlled, to sweep through a voltage range, or in a similar fashio the electronic load could sweep through different current draw scenarios.
|
||||
This setup includes cable connections to voltmeter, power supply and load as to be able to control them with a piece of software.
|
||||
|
||||
\subsection{Part 2}
|
||||
|
||||
To obtain the required measurements for creating a regulation model the second setup was used.
|
||||
%TODO: add picture for wafer setup
|
||||
|
||||
\section{Characterization}
|
||||
|
||||
The first experiments to run are the characterization of hardware behavior. These will then result in a PowerIt Calibration, which later then can be used as basis for creating a regulation method.
|
||||
|
||||
\subsection{sampling time}
|
||||
\subsection{Sampling Time}
|
||||
First up was selecting an optimal number of cycles for which the adc will probe a to it connected pin, like described in \autoref{sec:adc}.
|
||||
|
||||
In this case the uncalibrated measurement of input voltage was taken as example, and repeated with each of the possible 8 settings.
|
||||
|
|
104
parts/intro.tex
104
parts/intro.tex
|
@ -5,57 +5,75 @@
|
|||
|
||||
\section{The BrainScale System}
|
||||
|
||||
The BrainScale Wafer System~\cite{hbpguidebook}, developed and used in the electronic visions Group at Heidelberg University is a neuromorphic hardware implementation.\\~\\
|
||||
For this thesis the following core components are of importance:
|
||||
\begin{itemize}
|
||||
\item mixed-signal ASICs, named HICANNs, structured in packs of 8 into Reticles
|
||||
\item Control Units for Reticles, short CURE Boards
|
||||
\item analog breakout Boards, AnaB for short
|
||||
\item and power supply, called PowerIt.
|
||||
\end{itemize}
|
||||
The BrainScale Wafer System~\cite{hbpguidebook}, developed and used in the electronic visions group at Heidelberg University is a neuromorphic hardware implementation.\\~\\
|
||||
For this thesis the following core components are of importance:
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.9\textwidth]{pics/waferscale_system.png}
|
||||
\caption{The BrainScaleS wafer-scale hardware system, marked are the main components comprising a single wafer system.~\cite{hbpguidebook-brainscales}}\label{fig:wss}
|
||||
\end{figure}
|
||||
\begin{itemize}
|
||||
\item mixed-signal ASICs, named HICANNs, structured in packs of 8 into reticles
|
||||
\item Control Units for Reticles, short CURE boards
|
||||
\item Analog Breakout boards, AnaB for short
|
||||
\item and power supply, called PowerIt.
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.9\textwidth]{pics/waferscale_system.png}
|
||||
\caption{The BrainScaleS wafer-scale hardware system, marked are the main components comprising a single wafer system.~\cite{hbpguidebook-brainscales}}\label{fig:wss}
|
||||
\end{figure}
|
||||
|
||||
\section{About the PowerIt Subsystem}
|
||||
|
||||
The main subject of this thesis is the PowerIt board (\autoref{fig:pitteststand}). It functions as power supply inside of the WaferScale System (\autoref{fig:wss}).
|
||||
In which it is providing the Wafer with 1.8V and the FPGAs with 9.6V. Its maximum rated power draw is 2kW.~\cite{poweritupgrade}
|
||||
The main subject of this thesis is the PowerIt board (\autoref{fig:pitteststand}). It functions as power supply inside of the WaferScale system (\autoref{fig:wss}).
|
||||
In which it is providing the wafer with \SI{1.8}{\volt} and the FPGAs with \SI{9.6}{\volt}. Its maximum rated power draw is \SI{2}{\kilo\watt}.~\cite{poweritupgrade}
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=.7\textwidth]{pics/poweritv2_teststand_2}
|
||||
\caption{PowerIt Board, top view, receiving 48V as input (top left) and outputting 9.6V (top and bottom) as well as 1.8V (analog: top left, bottom right; digital: top right, bottom left)}\label{fig:pitteststand}
|
||||
\end{figure}
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=.7\textwidth]{pics/poweritv2_teststand_2}
|
||||
\caption{PowerIt board, top view, receiving \SI{48}{\volt} as input (
|
||||
%TODO: color
|
||||
) and outputting \SI{9.6}{\volt} (
|
||||
%TODO: color
|
||||
) as well as \SI{1.8}{\volt} (analog:
|
||||
%TODO: color
|
||||
; digital:
|
||||
%TODO: color
|
||||
)}\label{fig:pitteststand}
|
||||
\end{figure}
|
||||
|
||||
The brain of these PowerIt boards is a STM32 Chip\footnote{STM32F405RGT~\cite{stm32f405xx}} which runs a custom firmware based on ChibiOS~\cite{chibios}.
|
||||
The PowerIt, while providing \SI{9.6}{\volt} and \SI{1.8}{\volt}, also is able to measure the following values:
|
||||
|
||||
\begin{itemize}
|
||||
\item input voltage and current
|
||||
\item \SI{1.8}{\volt} output voltage and current
|
||||
\item and the \SI{9.6}{\volt} output Voltage
|
||||
\end{itemize}
|
||||
|
||||
which can then be used inside the firmware.
|
||||
|
||||
While the input voltage is given from outside it is still changeable if the power supply is able to vary its output voltage.
|
||||
Additionally the \SI{9.6}{\volt} are a set voltage obtained by the power supply modules\footnote{5:1 Bus converter IB0xxE096T48xx, 500W each}, which divide the input volatge by 5.
|
||||
Lastly the \SI{1.8}{\volt} output voltage is variable.
|
||||
|
||||
The Brain of these PowerIt Boards is a STM32 Chip\footnote{STM32F405RGT~\cite{stm32f405xx}} which runs a custom Firmware based on ChibiOS~\cite{chibios}.
|
||||
The PowerIt, while providing 9.6V and 1.8V, also is able to measure the following Values:
|
||||
\begin{itemize}
|
||||
\item input Voltage and current
|
||||
\item 1.8V output voltage and current
|
||||
\item and the 9.6V output Voltage
|
||||
\end{itemize}
|
||||
Which can then be used inside the Firmware.
|
||||
|
||||
\newpage
|
||||
\section{Contents on Detail}
|
||||
\begin{itemize}
|
||||
\item Upgrade the PowerIt Firmware to be able to calibrate all on board measurements, voltages and currents.
|
||||
\section{Contents in Detail}
|
||||
|
||||
This requires the Firmware to handle calibration changes on the fly, (each PowerIt requires its own configuration, which needs to be changed after the Firmware is running).
|
||||
\item Provide a communication interface for changing those parameters at runtime.
|
||||
The first goal was to be able to change the calibration parameters.
|
||||
While this can be done at compiletime, these changes are board specific.
|
||||
Therefore they either need to be changed, before compiling, which would require a compilation per board.
|
||||
Or else the need to be able to change during runtime.
|
||||
For mainly maintainability reasons the second way was choosen.
|
||||
|
||||
But these calibration changes could not be transferred to the PowerIt using the old communication protokol, referred to as PItCOMM version 1.
|
||||
A updated protocol was needed and it had to be able to accept not only the beforementioned values, but also any additional information or configuration.
|
||||
|
||||
It is required to have write access to all coefficients (defining the degree of polynomial is done at compile time).
|
||||
\item Provide access to more parameters within the PowerIt while unifying the protocol used.
|
||||
And while at it the protocol, now PItCOMM version 2, was made to be somewhat compliant with the SMBus specifications.
|
||||
This was accomplished with a virtual memory map, which maps every parameter to a specific location in a virtual memeory.
|
||||
In this memory, any value which needed to be accessible, be it measurement, calibration or static board information, is mapped (see \autoref{registerbuffer}).
|
||||
|
||||
Collect all writable, readable and static parameters in a single interface using PItCOMM v2, creating a mapping for reference to those values.
|
||||
\item Calibrate the onboard measurement circuits, using a database containing uniquely mappable values.
|
||||
|
||||
Characterizing the circuits, providing a default for fallback and a Database file, readable by the BrainScaleS Monitoring System and the Person calibrating each Board.
|
||||
\item Provide a regulation mechanism for stable, modifiable output at its endpoints.
|
||||
|
||||
The connection between PowerIt and HICANNs can be seen as a non zero Resistance, which requires the 1.8V output to regulate based on experimental data.
|
||||
\end{itemize}
|
||||
Whith this as foundation, the PowerIt could be calibrated.
|
||||
And the calibration parameters were be stored in a database.
|
||||
The Calibration characterizes the voltage measuring circuit, whose voltages are either coming into or leaving the PowerIt.
|
||||
|
||||
Lastly, with a now calibrated board, a power supplys behavior was observed and corrected for, with a regulation mechanism.
|
||||
|
|
|
@ -117,10 +117,28 @@ Now just following the instructions given, the selected test can be run:
|
|||
|
||||
\section{Regulation}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\hspace*{-.17\columnwidth}
|
||||
\includegraphics[width=1.3\columnwidth]{./data/theory/reg.pdf}
|
||||
\caption{theretical potentiomete settings for meausured current }%
|
||||
\label{fig:regtheo}
|
||||
\end{figure}
|
||||
\subsection{Distance Wafer Resistance Model (DWRM)}\label{sec:dwrm}
|
||||
|
||||
Although the through SWRM gained functions approximate the real world, it is not exact enough.
|
||||
In a wafer, the distance between reticles and voltage connector (see \autoref{fig:mainpcb}) are resulting in additional resistance.
|
||||
|
||||
Therefore we adapt the DWRM after Circuit~\ref{fig:retmodelshell} in which each different Distance requires additional Resistors.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.5\columnwidth]{tikz/reticlepower_2}
|
||||
\caption{Modified model of the to measure resistances and their currents.
|
||||
Similar to SWRM \(R_0\) describes the resistance of a connection between the PowerIt Output, up to the FET (depicted as switch), while \(R_1\) is a Resistance between FET and Reticles. But additionally \(R_{0+}\) described a Resistance, that depends on the distance between reticle and voltage connector.
|
||||
The measurement is done between output terminals on the PowerIt and pins on a Analog readout board}%
|
||||
\label{fig:retmodelshell}
|
||||
\end{figure}
|
||||
|
||||
With this model the voltage is now expected to change depending on the reticles distance instead of being the same. The distances inside a wafer are visualized in \autoref{fig:retmodelrdist}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\hspace*{-.14\columnwidth}
|
||||
\includegraphics[width=1.2\columnwidth]{../pitstop/20180821/reticel_rtheo.pdf}
|
||||
\caption{Distances of reticles to the nearest voltage supplying connection for DWRM, distance is in reticle-side length}%
|
||||
\label{fig:retmodelrdist}
|
||||
\end{figure}
|
444
parts/theory.tex
444
parts/theory.tex
|
@ -1,278 +1,282 @@
|
|||
%! TEX root = ../thesis.tex
|
||||
\chapter{Theory}
|
||||
This Chapter will be discussing the fundamental principles used in the experiments. These will contain simplified circuits and their respective Equations as well as component behavior as specified in their respective datasheets by their Manufacturer
|
||||
This chapter will be discussing the fundamental principles used in the experiments.
|
||||
These will contain simplified circuits and their respective equations as well as component behavior as specified in their respective datasheets by their manufacturer
|
||||
|
||||
\section{Hardware Component Behavior}
|
||||
Before discussing the experimental results it needs to be clear what circuitry is used in these experiments and what behavior we expect.
|
||||
Keeping in mind, that these are theoretical values and will most likely not be exactly the same as those found in actual hardware, as all values given will always be within some error as defined by their manufacturer.
|
||||
|
||||
Each of the three voltage regimes that will be observed on the PowerIt Board, 48V 9.6V and 1.8V, has a voltage- and in the cases of 48V and 1.8V also a current-measurement circuit. Additionally we have a temperature sensor built into the STM32 Chip.
|
||||
\subsection{48V Input Voltage}\label{sec:mon48v}
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.9\textwidth]{./tikz/mon48v.pdf}
|
||||
\caption{Circuit for measuring the 48V input Voltage, consisting of input potential (left), two resistors as voltage divider, one fully differential isolation amplifier (left), one operational Amplifier (right), output voltage as well as the connection to the STM32-Chips input pin (right)}%
|
||||
\label{mon48v}
|
||||
\end{figure}
|
||||
Before discussing the experimental results it needs to be clear what circuitry is used in these experiments and what behavior we expect.
|
||||
Keeping in mind, that these are theoretical values and will most likely not be exactly the same as those found in actual hardware, as all values given will always be within some error.
|
||||
|
||||
The circuits for measuring input voltage and current are the most complex, because for Voltage measurement the circuit needs to
|
||||
\begin{itemize}
|
||||
\item divide our input voltage into a usable potential range
|
||||
\item decouple the input (48V) from signal potential (3.3V)
|
||||
\item amplify the voltage, to be in the STM32-Chips Voltage range of 0--3.3V
|
||||
\end{itemize}
|
||||
Each of the three voltage regimes that will be observed on the PowerIt board, \SI{48}{\volt}, \SI{9.6}{\volt} and \SI{1.8}{\volt}, has a voltage- and in the cases of \SI{48}{\volt} and \SI{1.8}{\volt} also a current-measurement circuit.
|
||||
Additionally there is a temperature sensor built into the STM32 chip.
|
||||
|
||||
The already implemented Cicuit can be seen in \autoref{mon48v}.
|
||||
It consists of a 1:240 Voltage Divider, a full differential isolation amplifier taking in the roughly 200mV (nominal voltage range), and amplifying it by a factor of 8 (\(r_\text{diffOpAmp}\)~\cite{diffopamp}).
|
||||
It is also decoupling the input and output voltages, so our 48V and 3.3V circuit parts are electricly insulated.
|
||||
The remaining operational amplifier provides difference to single ended Conversion with an amplification or 1.1 (\(r_\text{OpAmp}\))
|
||||
\subsection{ADC Calibration}\label{sec:adc}
|
||||
The measurements will be done by the STM32-Chip, which uses 12bit ADCs.
|
||||
A single ADC will be switching between all connected pins.
|
||||
This Behavior can be problematic in regards to measuring accurately.
|
||||
The timing used to measure a single pin can be programmatically set from 3 up to 480 clock ticks\footnote{this clock is the internal adc clock, with a frequency of \SI{159}{\hertz}}
|
||||
|
||||
This circuit results in the following equation for calculating the input voltage from a pin voltage:
|
||||
\subsection{48V Input Voltage}\label{sec:mon48v}
|
||||
|
||||
\begin{align}
|
||||
V_\text{48V in}\cdot\frac{R_1}{R_1+R_2} \cdot r_\text{diffOpAmp} \cdot r_\text{OpAmp} =&~V_\text{MONITOR\_48V}\nonumber\\
|
||||
\Leftrightarrow \quad \frac{V_\text{MONITOR\_48V}}{r_\text{diffOpAmp}\cdot r_\text{OpAmp}}\cdot\frac{R_1+R_2}{R_1} =&~V_\text{48V in}
|
||||
\intertext{and the extremes, when assuming 48V\(\pm 10\%\) are}
|
||||
V_\text{MONITOR\_48V, min} = \SI{43.2}{\volt}\cdot\frac{1}{240+1}\cdot 8\cdot 1.1 =&~\SI{1.5774}{\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}
|
||||
The circuits for measuring input voltage and current are the most complex.
|
||||
For voltage measurement the circuit needs to
|
||||
|
||||
\begin{itemize}
|
||||
\item divide our input voltage into a usable potential range
|
||||
\item decouple the input (\SI{48}{\volt}) from signal potential (\SI{3.3}{\volt})
|
||||
\item and amplify the voltage, to be in the STM32-Chips Voltage range of up to \SI{3.3}{\volt}.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{48V Input Current}
|
||||
The already implemented cicuit can be seen in \autoref{mon48v}.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.9\textwidth]{./tikz/mon48i.pdf}
|
||||
\caption{Circuit for measuring the 48V input Current, consisting of the powerit Input Circuit, one shunt-resistor, one full diff isolating Amplifier, one operational amplifier, output potential, as well as the connection to the STM32-Chip input pin}%
|
||||
\label{mon48i}
|
||||
\end{figure}
|
||||
It consists of a 1:240 voltage divider, a full differential isolation amplifier taking in the roughly \SI{200}{\milli\volt} (nominal voltage range), and amplifying it by a factor of 8 (\(r_\text{diffOpAmp}\)~\cite{diffopamp}).
|
||||
It is also decoupling the input and output voltages, so our \SI{48}{\volt} and \SI{3.3}{\volt} circuit parts are electrically insulated.
|
||||
The remaining operational amplifier provides difference to single ended conversion with an amplification or 1.1 (\(r_\text{OpAmp}\))
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.9\textwidth]{./tikz/mon48v.pdf}
|
||||
\caption{Circuit for measuring the \SI{48}{\volt} input voltage, consisting of input potential (left), two resistors as voltage divider, one fully differential isolation amplifier (left), one operational Amplifier (right), output voltage as well as the connection to the STM32-Chips input pin (right)}%
|
||||
\label{mon48v}
|
||||
\end{figure}
|
||||
|
||||
|
||||
%In case of the current measurement circuit we require the following:
|
||||
THe circuit has to satisfy the following constraints:
|
||||
\begin{enumerate}
|
||||
\item use a shunt resistor, with minimal heat dissipation
|
||||
\item still providing a good resolution also within the STM32-Chips Specifications
|
||||
\end{enumerate}~\\\\
|
||||
To accomplish that, the circuit is measuring the voltage over a small (\(\SI{500}{\micro\ohm}\)) shunt Resistor, while a current is flowing, resulting in a proportionality, by Ohms Law. The obtained Voltage is then decoupled and amplified by a factor of 8, as well as converted from a difference to single ended Voltage, with a amplification factor of 1.1.
|
||||
This circuit results in the following equation for calculating the input voltage from a pin voltage:
|
||||
|
||||
Here we use the same Amplifiers as in \autoref{sec:mon48v} and so we can use the following equation for our input current:
|
||||
\begin{align}
|
||||
I_\text{48V IN}\cdot R_\text{shunt} \cdot r_\text{diffOpAmp} \cdot r_\text{OpAmp} = V_\text{48I pin}\nonumber\\
|
||||
\Leftrightarrow\quad \frac{V_\text{48I pin}}{R_\text{shunt}} \cdot \frac{1}{r_\text{diffOpAmp}\cdot r_\text{OpAmp}} = I_\text{48V IN}
|
||||
\end{align}
|
||||
\begin{align}
|
||||
V_\text{48V in}\cdot\frac{R_1}{R_1+R_2} \cdot r_\text{diffOpAmp} \cdot r_\text{OpAmp} =&~V_\text{MONITOR\_48V}\nonumber\\
|
||||
\Leftrightarrow \quad \frac{V_\text{MONITOR\_48V}}{r_\text{diffOpAmp}\cdot r_\text{OpAmp}}\cdot\frac{R_1+R_2}{R_1} =&~V_\text{48V in}
|
||||
\intertext{and the extremes, when assuming \SI{48+-4.8}{\volt} are}
|
||||
V_\text{MONITOR\_48V, min} = \SI{43.2}{\volt}\cdot\frac{1}{240+1}\cdot 8\cdot 1.1 =&~\SI{1.5774}{\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}
|
||||
|
||||
And applying the extrema of 0A and 41.7A, a voltage range from 0V to:
|
||||
\begin{align}
|
||||
\SI{41.7}{\ampere}\cdot \SI{500}{\micro\ohm} \cdot 8\cdot 1.1 =& \SI{0.1833}{\volt}
|
||||
\end{align}
|
||||
can be observed.
|
||||
\subsection{\SI{48}{\volt} Input Current}
|
||||
|
||||
\subsection{9.6V Output Voltage}
|
||||
This Circuit consists of a a simple 1:3 Voltage Divider.
|
||||
The circuit has to satisfy the following constraints:
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\begin{itemize}
|
||||
\item use a shunt resistor, with minimal heat dissipation
|
||||
\item while still providing a good resolution within the STM32-Chips specifications
|
||||
\end{itemize}
|
||||
|
||||
\resizebox{.55\columnwidth}{.12\paperheight}{%
|
||||
\begin{circuitikz}[scale=2]
|
||||
\draw[color=black, thick]
|
||||
To accomplish that, the circuit is measuring the voltage over a \SI{500}{\micro\ohm} shunt Resistor, while a current is flowing.
|
||||
By Ohms Law that results in a linear proportionality between current an the obtained voltage.
|
||||
Which is then decoupled and amplified by a factor of 8, as well as converted from a difference to single ended voltage, with a amplification factor of 1.1.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.9\textwidth]{./tikz/mon48i.pdf}
|
||||
\caption{Circuit for measuring the \SI{48}{\volt} input current, consisting of the powerit Input circuit, one shunt-resistor, one full diff isolating Amplifier, one operational amplifier, output potential, as well as the connection to the STM32-Chips input pin}%
|
||||
\label{mon48i}
|
||||
\end{figure}
|
||||
|
||||
(0,0) node[left]{GND}
|
||||
to [short, o-] (1,0)
|
||||
to [R, l_={R1 1k}] (1,1)
|
||||
Here the same amplifiers as in \autoref{sec:mon48v} is used and so we can apply the following equation for our input current:
|
||||
|
||||
(0,2) node[left]{9.6V}
|
||||
to [short, o-] (1,2)
|
||||
to [R, l={R2 3k}] (1,1)
|
||||
to [short, *-] (3, 1) node[right, draw=black] {MONITOR\_10V};
|
||||
\end{circuitikz}
|
||||
}
|
||||
\begin{align}
|
||||
I_\text{48V IN}\cdot R_\text{shunt} \cdot r_\text{diffOpAmp} \cdot r_\text{OpAmp} = V_\text{48I pin}\nonumber\\
|
||||
\Leftrightarrow\quad \frac{V_\text{48I pin}}{R_\text{shunt}} \cdot \frac{1}{r_\text{diffOpAmp}\cdot r_\text{OpAmp}} = I_\text{48V IN}
|
||||
\end{align}
|
||||
|
||||
The current range is from \SI{0}{\ampere} up to \SI{41.7}{\ampere} (= \SI{2}{\kilo\watt} / \SI{48}{\volt})and gives a resulting observable voltage range from \SI{0}{\volt} to:
|
||||
|
||||
\end{figure}
|
||||
\begin{align}
|
||||
\SI{41.7}{\ampere}\cdot \SI{500}{\micro\ohm} \cdot 8\cdot 1.1 =& \SI{0.1833}{\volt}
|
||||
\end{align}
|
||||
|
||||
And the following equation can be used to calculate that voltage:
|
||||
\begin{align}
|
||||
V_\text{10V PIN} = \frac{V_\text{10V IN} \cdot R_1}{R_1 + R_2}
|
||||
\end{align}
|
||||
\subsection{9.6V Output Voltage}
|
||||
The measurement of \SI{9.6}{\volt} is quite simpler.
|
||||
This Circuit consists of a 1:3 Voltage Divider.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
\subsection{1.8V Output Voltage}
|
||||
\resizebox{.55\columnwidth}{.12\paperheight}{%
|
||||
\begin{circuitikz}[scale=2]
|
||||
\draw[color=black, thick]
|
||||
|
||||
To measure this Voltage the output is directly connected to a pin on the STM32-Chip.
|
||||
(0,0) node[left]{GND}
|
||||
to [short, o-] (1,0)
|
||||
to [R, l_={R1 1k}] (1,1)
|
||||
|
||||
Until now the voltages and current could only be measured, now the mechanism for setting a resulting Voltage at the 1.8V Terminals is known.
|
||||
\autoref{fig:gen18v} is the circuit for generating 1.8V.
|
||||
It consists of a power module and a resulting resistance between two pins, defined by R$_\text{series}$, R$_\text{parallel}$ and R$_{pot}$.
|
||||
The Resistances job is to set the output to a given voltage of around 1.8V, but we can vary R$_\text{pot}$, because this resistance is set vie a digital potentiometer.
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\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)}%
|
||||
\label{fig:gen18v}
|
||||
\end{figure}
|
||||
(0,2) node[left]{9.6V}
|
||||
to [short, o-] (1,2)
|
||||
to [R, l={R2 3k}] (1,1)
|
||||
to [short, *-] (3, 1) node[right, draw=black] {MONITOR\_10V};
|
||||
\end{circuitikz}
|
||||
}
|
||||
\caption{Circuit for measuring 9.6V output voltage. Consisting of a voltage divider with 1:4 ratio, input voltage (left) and output voltage (right)}%
|
||||
\label{fig:mon10v}
|
||||
\end{figure}
|
||||
|
||||
The in \autoref{fig:gen18v} used 1.8V Converters have a characteristic formula~\cite{pth08t}, and the in this circuit used Potentiometer is a linear 10k$\Omega$ Rheostat resulting in the following equations:
|
||||
To describe that circuit the following equation can be used:
|
||||
\begin{align}
|
||||
\frac{V_\text{9.6V IN} \cdot R_1}{R_1 + R_2} =&~V_\text{MONITOR\_10V}\\
|
||||
\Leftrightarrow \frac{V_\text{MONITOR\_10V}}{R_1} \cdot \left( R_1+R_2\right) =&~V_\text{9.6V IN}
|
||||
\end{align}
|
||||
|
||||
\begin{align}
|
||||
R_{potentiometer} =& P_{val} \frac{10k\Omega}{256} \label{eq:rpot}\\
|
||||
R_{SET} =& 1 / \left(\frac{1}{R_{potentiometer}} + \frac{1}{R_{parallel}}\right) + R_{series}\nonumber\\
|
||||
=& \frac{R_\text{potentiometer}\cdot R_\text{parallel}}{R_\text{potentiometer} + R_\text{parallel}} + R_\text{series}\label{eq:rset}\\
|
||||
V_\text{MONITOR\_1V8} =& \frac{30.1 k\Omega}{R_{SET} + 6.49 k\Omega} \cdot 0.7V + 0.7V\label{eq:vout}
|
||||
\end{align}
|
||||
|
||||
|
||||
%This equation is in contrast to all previous behavior models not of a linear nature but proportional to $\frac1x$ as visualized in \autoref{fig:beh1v8}
|
||||
\autoref{eq:vout} is visualized in \autoref{fig:gen18v}.
|
||||
Note that this Equation is proportional to \(\frac 1x\)
|
||||
\subsection{1.8V Output Voltage}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\hspace*{-.165\textwidth}
|
||||
\includegraphics[width=1.3\textwidth]{./data/theory/v18.pdf}
|
||||
\caption{Expected behavior of our output voltage by setting the potentiometer}%
|
||||
\label{fig:beh1v8}
|
||||
\end{figure}
|
||||
\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.
|
||||
To measure this Voltage the output is directly connected to a pin on the STM32-Chip.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\resizebox{.55\columnwidth}{.12\paperheight}{%
|
||||
\begin{circuitikz}[scale=2]
|
||||
\draw[color=black, thick]
|
||||
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.
|
||||
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}\).
|
||||
The resistances job is to 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}}.
|
||||
|
||||
(0,0) node[left]{GND}
|
||||
to [short, o-] (1,0)
|
||||
to [] (1,.5)
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\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)}%
|
||||
\label{fig:gen18v}
|
||||
\end{figure}
|
||||
|
||||
(0,2) node[left]{1.8V}
|
||||
to [short, o-] (1,2)
|
||||
to [] (1,1.5)
|
||||
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} Reheostat.
|
||||
|
||||
(1.2,1) node[draw=black, regular polygon, regular polygon sides=4, minimum size=2.7cm]{acs758}
|
||||
Therefore equations~\ref{eq:rpot},~\ref{eq:rset} and~\ref{eq:vout} can describe the circuit.
|
||||
\begin{align}
|
||||
R_\text{potentiometer} =& 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 \\
|
||||
=& \frac{R_\text{potentiometer}\cdot R_\text{parallel}}{R_\text{potentiometer} + 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}
|
||||
\end{align}
|
||||
|
||||
(1.7,1)
|
||||
to [short, *-] (3, 1) node[right, draw=black] {VDD\_1V8\_*};
|
||||
\end{circuitikz}
|
||||
}
|
||||
\caption{1.8V current sensing circuit, featuring a acs758, hall sensor based current sensing IC, input voltage (left) and output voltage (right)}%
|
||||
\label{fig:mon18i}
|
||||
\end{figure}~\\
|
||||
The IC is rated for a maximum constant current draw of 100A, and has the following behavior:
|
||||
\begin{align}
|
||||
I_\text{1.8V, in} \cdot \SI{0.004}{\volt\per\ampere} + \SI{0.12}{\volt} =&~V_\text{MONITOR\_1I8\_*}
|
||||
\intertext{which gives for the extremes:}
|
||||
\SI 0\ampere \cdot\SI{0.004}{\volt\per\ampere} + \SI{0.12}{\volt} =&~\SI{0.12}{\volt}\\
|
||||
\SI{100}{\ampere} \cdot\SI{0.004}{\volt\per\ampere} + \SI{0.12}{\volt} =&~\SI{0.52}{\volt}
|
||||
\end{align}
|
||||
Visualizing the \autoref{eq:rset} results in \autoref{fig:gen18v}, in which the limits of this circuit are visible.
|
||||
|
||||
\section{ADC Calibration}
|
||||
\begin{align}
|
||||
V_\text{MONITOR\_1V8, min} =&~\SI{1.549}{\volt}\\
|
||||
V_\text{MONITOR\_1V8, max} =&~\SI{2.022}{\volt}
|
||||
\end{align}
|
||||
|
||||
As mentioned beforehand, the actual hardware will differ in behavior from its theoretical counterpart.
|
||||
Therefore it is possible to say that all signals with a significant difference of behavior ($\approx 5\%$) will need to be corrected.
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\vspace{-1cm}
|
||||
\hspace*{-.165\textwidth}
|
||||
\includegraphics[width=1.3\textwidth]{./data/theory/v18.pdf}
|
||||
\caption{Expected behavior of 1.8V output voltage vs potentiometer setting}%
|
||||
\label{fig:beh1v8}
|
||||
\end{figure}
|
||||
\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.
|
||||
|
||||
To calibrate these readouts we need to employ some simple actions.
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\resizebox{.55\columnwidth}{.12\paperheight}{%
|
||||
\begin{circuitikz}[scale=2]
|
||||
\draw[color=black, thick]
|
||||
|
||||
(0,0) node[left]{GND}
|
||||
to [short, o-] (1,0)
|
||||
to [] (1,.5)
|
||||
|
||||
(0,2) node[left]{1.8V}
|
||||
to [short, o-] (1,2)
|
||||
to [] (1,1.5)
|
||||
|
||||
(1.2,1) node[draw=black, regular polygon, regular polygon sides=4, minimum size=2.7cm]{acs758}
|
||||
|
||||
(1.7,1)
|
||||
to [short, *-] (3, 1) node[right, draw=black] {VDD\_1V8\_*};
|
||||
\end{circuitikz}
|
||||
}
|
||||
\caption{1.8V current sensing circuit, featuring a acs758, hall sensor based current sensing IC, input voltage (left) and output voltage (right)}%
|
||||
\label{fig:mon18i}
|
||||
\end{figure}
|
||||
|
||||
The IC is rated for a maximum constant current draw of 100A, and features the following behavior:
|
||||
\begin{align}
|
||||
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:}
|
||||
\SI 0\ampere \cdot\SI{0.004}{\volt\per\ampere} + \SI{0.12}{\volt} =&~\SI{0.12}{\volt}\\
|
||||
\SI{100}{\ampere} \cdot\SI{0.004}{\volt\per\ampere} + \SI{0.12}{\volt} =&~\SI{0.52}{\volt}
|
||||
\end{align}
|
||||
|
||||
\subsection{serial ADC readout}\label{sec:adc}
|
||||
The measurements will be done by the STM32-Chip, which uses 12bit ADCs.
|
||||
A single ADC will be switching between all connected pins.
|
||||
This Behavior can be problematic in regards to measuring accurately.
|
||||
The timing used to measure a single pin can be programmatically set from 3 up to 480 clock ticks\footnote{this clock is the internal adc clock, with a frequency of \SI{159}{\hertz}}
|
||||
|
||||
\section{1.8V Output Regulation}
|
||||
For regulating the Output the method used is a relatively simple one.
|
||||
The voltage, wanted at the output terminal, will be calculated and then a corresponding potentiometer setting can be extracted, which changes the voltage produced (see \autoref{fig:gen18v}).
|
||||
The second part is already done beforehand and then available as a lookup table\footnote{mV-Scale, from 1.549V to 2.022V} to the firmware.
|
||||
On the other hand, to calculate the voltage to output, it is necessary to classify the connections between the PowerIts output terminals and the reticle.
|
||||
The method for regulating the \SI{1.8}{\volt} output voltage consists of two parts.
|
||||
|
||||
First the voltage, wanted at the output terminal and second the corresponding potentiometer setting to use for that voltage
|
||||
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}
|
||||
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}
|
||||
P_\text{val} = \frac{%
|
||||
R_\text{par} \left[ \left( \frac{0.7V \cdot 30.1k\Omega}{V_{O}-0.7V} - 6.49k\Omega \right) - R_\text{ser}\right]
|
||||
}{%
|
||||
R_\text{par} + \left( \frac{0.7V \cdot 30.1k\Omega}{V_{O}-0.7V} - 6.49k\Omega \right) - R_\text{ser}
|
||||
}\cdot
|
||||
\frac{256}{10k\Omega}
|
||||
\end{align}
|
||||
|
||||
This mapping will be converted into a lookup table before the PowerIt firmware is initiated.
|
||||
|
||||
\subsection{Power Wafer}
|
||||
To test the 1.8V Regulation the so called Power Wafer is going to be used, it can be controlled similar to a in BrainScales used, functional, Wafer module.
|
||||
But it is fundamentally different, as it cannot be used for computation, but only to test for voltages and currents.
|
||||
Its internals behave like ohmic resistors, which provides us with a maximum power draw per Reticle of what is possible inside a usable wafer module.
|
||||
To test the \SI{1.8}{\volt} regulation the so called PowerWafer is going to be used.
|
||||
It can be controlled similar to a in BrainScaleS used, functional, Wafer module.
|
||||
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.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.8\columnwidth]{./data/theory/wafer.pdf}
|
||||
\caption{reticle diagram of a wafer in BrainScaleS. All 48 Reticles are shown}%
|
||||
\label{fig:wafer}
|
||||
\end{figure}
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.7\columnwidth]{./data/theory/wafer.pdf}
|
||||
\caption{Reticle diagram of a wafer in BrainScaleS. All 48 Reticles are shown}%
|
||||
\label{fig:wafer}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.7\columnwidth]{./pics/waferpcb.png}
|
||||
\caption{part of the mainpcb on which a wafer is placed, visible are the 48 Reticles and two terminals each for 1.8V Digital (blue) and Analog (red), which correspond to the output terminals on a PowerIt}%
|
||||
\label{fig:mainpcb}
|
||||
\end{figure}
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.7\columnwidth]{./pics/waferpcb.png}
|
||||
\caption{Part of the main pcb on which a wafer is placed, visible are the 48 Reticles and two terminals each for 1.8V Digital (blue) and Analog (red), which correspond to the output terminals on a PowerIt, a reticles dimensions are \SI{2.0077}{\centi\meter} by \SI{2.0077}{\centi\meter}}%
|
||||
\label{fig:mainpcb}
|
||||
\end{figure}
|
||||
|
||||
It has the same layout as its system counterparts and each of the 48 Reticles can be accessed, digitaly as well as electricaly.
|
||||
Each Reticle is connected to its corresponding CURE Board.
|
||||
Those can read voltages of each reticle, but not at the same position as an AnaB.
|
||||
They read right before \(R_1\) in \autoref{fig:retmodel}.
|
||||
It has the same layout as its system counterparts and each of the 48 reticles can be accessed, digitally as well as electrically.
|
||||
Each reticle is connected to its corresponding CURE board.
|
||||
Those can read voltages of each reticle, but not at the same position as an AnaB.
|
||||
They read right before \(R_1\) in \autoref{fig:retmodel}.
|
||||
|
||||
Another specialization of the Power wafer is, that all reticles analog and digital 1.8V lines are connected directly to pins on the Analog Readout Boards~\cite{anabpower}. There it is possible to measure a voltage, which is the one after the load resistors in \autoref{fig:retmodel}
|
||||
Another specialization of the PowerWafer is, that all reticles analog and digital \SI{1.8}{\volt} lines are connected directly to pins on the analog readout boards~\cite{anabpower}. There it is possible to measure a voltage, which is the one after the load resistors in \autoref{fig:retmodel}
|
||||
|
||||
\subsection{Simple Wafer Resistance Model (SWRM)}\label{sec:swrm}
|
||||
|
||||
The circuit in \autoref{fig:retmodel} can be used, as a first step, to describe the connections powering Reticles inside a wafer.
|
||||
To describe the reistances on such a wafer module, a model is needed.
|
||||
For that the circuit in \autoref{fig:retmodel} can be used.
|
||||
This naive model will be referenced as SWRM (Simple Wafer Resistance Model) from here.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\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}%
|
||||
\label{fig:retmodel}
|
||||
\end{figure}
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\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}%
|
||||
\label{fig:retmodel}
|
||||
\end{figure}
|
||||
|
||||
SWRM allowes for two fixed resistance values and their respective currents. The current flowing through $R_1$ will be either 0 or a constant current $I_{ret}$. The current through $R_0$ will change depending on the number of reticles that are powered $n_{ret}$
|
||||
The SWRM circuit consists of two fixed resistance values and their respective currents as approximations of a real world system.
|
||||
It assumes that the connection to the nearest voltage connector is equal (electrically) for all reticles.
|
||||
|
||||
\begin{align}
|
||||
I_{ges} = n_{ret} \cdot I_{ret}
|
||||
\end{align}
|
||||
inside the code used for Regulation, \autoref{eq:fullreg} will be used to create a lookup table, while \autoref{eq:vout2} will be used at runtime, for which \autoref{eq:vdip} and~\ref{eq:voff} are needed.
|
||||
In the SWRM, the current flowing through \(R_1\) will be either 0 or a constant current \(I_\text{ret}\).
|
||||
And the current through \(R_0\) will change depending on the number of reticles that are powered \(n_\text{ret}\)
|
||||
|
||||
Therefore the voltage dip \(V_\text{dip}\) as measured by a Voltmeter (see \autoref{fig:retmodel}) can be described with \autoref{eq:vdip}
|
||||
\begin{align}
|
||||
I_{ges} = n_{ret} \cdot I_{ret}
|
||||
\end{align}
|
||||
|
||||
\begin{align} \label{eq:vdip}
|
||||
V_\text{dip} =&\ V_{R_1} + V_{R_0} \nonumber\\
|
||||
=&\ R_1 \cdot I_\text{ret} + R_0 \cdot I_\text{ges} \nonumber\\
|
||||
=&\ I_\text{ret} \cdot \left( R_1 + R_0 \cdot n_\text{ret} \right)
|
||||
\end{align}
|
||||
Therefore the voltage drop \(V_\text{dip}\) as measured by a voltmeter (see \autoref{fig:retmodel}) can be described with \autoref{eq:vdip}
|
||||
|
||||
Combining Equations~\ref{eq:rpot},~\ref{eq:rset}, and~\ref{eq:vout}, we gather \autoref{eq:fullreg}. This equation is a reversed function of the one given by the 1.8V supplying IC (see \autoref{fig:gen18v})
|
||||
\begin{align} \label{eq:vdip}
|
||||
V_\text{dip} =&\ V_{R_1} + V_{R_0} \nonumber\\
|
||||
=&\ R_1 \cdot I_\text{ret} + R_0 \cdot I_\text{ges} \nonumber\\
|
||||
=&\ I_\text{ret} \cdot \left( R_1 + R_0 \cdot n_\text{ret} \right)
|
||||
\end{align}
|
||||
|
||||
\begin{align} \label{eq:fullreg}
|
||||
P_\text{val} = \frac{%
|
||||
R_\text{par} \left[ \left( \frac{0.7V \cdot 30.1k\Omega}{V_{O}-0.7V} - 6.49k\Omega \right) - R_\text{ser}\right]
|
||||
}{%
|
||||
R_\text{par} + \left( \frac{0.7V \cdot 30.1k\Omega}{V_{O}-0.7V} - 6.49k\Omega \right) - R_\text{ser}
|
||||
}\cdot
|
||||
\frac{256}{10k\Omega}
|
||||
\end{align}
|
||||
|
||||
inside the code used for Regulation, \autoref{eq:fullreg} will be used to create a lookup table, while \autoref{eq:vout2} will be used at runtime, for which \autoref{eq:vdip} and~\ref{eq:voff} are needed.
|
||||
|
||||
\begin{align} \label{eq:voff}
|
||||
V_\text{dip} =& V_O - V_\text{off}\\
|
||||
\Rightarrow V_O =& I_\text{ret} \cdot \left( R_1 + R_0 \cdot n_\text{ret} \right) + V_\text{off}\label{eq:vout2}
|
||||
\end{align}
|
||||
|
||||
\subsection{Distance Wafer Resistance Model}
|
||||
|
||||
Although the through SWRM gained functions are useful for determinig a theoretical Regulation procedure, it is still not near the realworld scenario.
|
||||
In a wafer, the distance between reticles and voltage connector (see \autoref{fig:mainpcb}) are resulting in additional resistance, proportionally.
|
||||
|
||||
Therefore we adapt the DWRM after Circuit~\ref{fig:retmodelshell} in which each different Distance requires additional Resistors.
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\includegraphics[width=.5\columnwidth]{tikz/reticlepower_2}
|
||||
\caption{retpow2}%
|
||||
\label{fig:retmodelshell}
|
||||
\end{figure}
|
||||
|
||||
With this model the voltage is now expected to change depending on the reticles distance instead of being the same. The distances inside a wafer are visualized in \autoref{fig:retmodelrdist}
|
||||
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
\hspace*{-.14\columnwidth}
|
||||
\includegraphics[width=1.2\columnwidth]{../pitstop/20180821/reticel_rtheo.pdf}
|
||||
\caption{Distances of reticles to the nearest voltage supplying connection for DWRM, distance is in reticle-side length}%
|
||||
\label{fig:retmodelrdist}
|
||||
\end{figure}
|
||||
\begin{align} \label{eq:voff}
|
||||
V_\text{dip} =& V_O - V_\text{off}\\
|
||||
\Rightarrow V_O =& I_\text{ret} \cdot \left( R_1 + R_0 \cdot n_\text{ret} \right) + V_\text{off}\label{eq:vout2}
|
||||
\end{align}
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
\begin{titlepage}
|
||||
\begin{center}
|
||||
\Large\textbf{Department of Physics and Astronomy\\
|
||||
University of Heidelberg}
|
||||
|
||||
\vspace{17cm}
|
||||
|
||||
\normalsize
|
||||
Bachelor Thesis in Physics\\
|
||||
submitted by\\
|
||||
\vspace{0.5cm}
|
||||
\Large\textbf{Patrick Nisblé}\\
|
||||
\normalsize
|
||||
\vspace{0.5cm}
|
||||
born in Mannheim (Germany)\\
|
||||
\vspace{0.5cm}
|
||||
\Large\textbf{2018}
|
||||
\normalsize
|
||||
|
||||
\newpage
|
||||
~
|
||||
\newpage
|
||||
|
||||
|
||||
|
||||
\huge\textbf{Calibration of BrainScaleS PowerIt Subsystem and Regulating a BrainScaleS Power Supply}
|
||||
|
||||
\vspace{17cm}
|
||||
|
||||
\normalsize
|
||||
This Bachelor Thesis has been carried out by Patrick Nisblé at the\\
|
||||
Electronic Visions Group\\
|
||||
Kirchhoff Institute for Physics\\
|
||||
Ruprecht-Karls-Universität Heidelberg\\
|
||||
under the supervision of\\
|
||||
Prof. Dr. Karlheinz Meier
|
||||
|
||||
\vfill
|
||||
\end{center}
|
||||
\end{titlepage}
|
Binary file not shown.
After Width: | Height: | Size: 1.2 MiB |
Binary file not shown.
After Width: | Height: | Size: 1.4 MiB |
BIN
thesis.pdf
BIN
thesis.pdf
Binary file not shown.
41
thesis.tex
41
thesis.tex
|
@ -5,13 +5,18 @@
|
|||
\sisetup{separate-uncertainty}
|
||||
\input{../pitstop/20180819/res.tex}
|
||||
|
||||
\usepackage{a4wide}
|
||||
\usepackage{fontawesome}
|
||||
\pretitle{\centering \huge \bfseries }
|
||||
\posttitle{\par\vspace{0.5em}}
|
||||
\preauthor{\begin{center}\Large}
|
||||
\postauthor{\end{center}}
|
||||
\predate{\par\large\centering}
|
||||
\postdate{\par\vspace{3cm}}
|
||||
\usepackage{noindentafter}
|
||||
% \pretitle{\centering \huge \bfseries }
|
||||
% \posttitle{\par\vspace{0.5em}}
|
||||
% \preauthor{\begin{center}\Large}
|
||||
% \postauthor{\end{center}}
|
||||
% \predate{\par\large\centering}
|
||||
% \postdate{\par\vspace{3cm}}
|
||||
\NoIndentAfterEnv{itemize}
|
||||
\NoIndentAfterEnv{figure}
|
||||
\NoIndentAfterEnv{align}
|
||||
|
||||
\titleformat{\chapter}{\bfseries\huge\color{myteal}}{\thechapter}{.5em}{}
|
||||
\titleformat*{\section}{\bfseries\Large\color{myteal}}
|
||||
|
@ -20,29 +25,25 @@
|
|||
\author{Patrick Nisblé}
|
||||
\title{\color{myteal}Calibration and Regulation of BrainScaleS' PowerIt Subsystems}
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\thispagestyle{empty}
|
||||
|
||||
\begin{abstract}
|
||||
This Thesis will address Calibration and Regulation of the in BrainScaleS used power delivery Board, PowerIt.
|
||||
Its circuitry will be examined and calibrated, for use in BrainScaleS' monitoring and a method of regulating the 1.8V Output Terminal will be implemented.
|
||||
|
||||
This thesis also contains the changes done to the PowerIt Firmware while working on these Problems.
|
||||
\\\\
|
||||
|
||||
Diese Arbeit befasst sich mit de Kalibration und Regulation der PowerIt Komponenete des BrainScale Systems. Die Schaltungen werden untersucht und kalibriert, damit sie in der Systemüberwachung von nutzen sein können.
|
||||
|
||||
Ausserdem enthält diese Arbeit die Änderungen, die dabei auf die PowerIt Firmware angewendet werden.
|
||||
\end{abstract}
|
||||
%\maketitle
|
||||
\pagenumbering{Roman}
|
||||
\include{parts/title}
|
||||
|
||||
\include{parts/abstract}
|
||||
\setcounter{tocdepth}{1}
|
||||
\tableofcontents
|
||||
\newpage
|
||||
\pagenumbering{arabic}
|
||||
\include{parts/intro}
|
||||
\include{parts/theory}
|
||||
\include{parts/experiments}
|
||||
\include{parts/results}
|
||||
\include{parts/outlook}
|
||||
|
||||
\newpage
|
||||
\pagenumbering{Alph}
|
||||
\bibliographystyle{ieeetr}
|
||||
\bibliography{../../github/ubib/ubib.bib}
|
||||
\newpage
|
||||
\include{parts/declaration}
|
||||
\end{document}
|
||||
|
|
Binary file not shown.
|
@ -13,7 +13,9 @@
|
|||
(0,3.2) node[right] {V$_\text{ss}$ = 1.8V}
|
||||
to [R, l={$R_0$}, v_>=$I_{ges}$, o-] (0,1.5)
|
||||
to [nos, *-] (0,1)
|
||||
to [R, l={$R_1$}, v_>=$I_{ret}$, -o] (0,-.7) node[right] {GND}
|
||||
to [R, l={$R_1$}, v_>=$I_{ret}$, -] (0,-.5)
|
||||
to (0, -.8) node[draw=black, fill=white]{reticle}
|
||||
to [short, -o] (0,-1.2) node[right] {GND}
|
||||
|
||||
(0,1.5)
|
||||
to [] (.6,1.5)
|
||||
|
@ -26,8 +28,6 @@
|
|||
to [R, l={$R_1$}, -] (1.2,-.5)
|
||||
|
||||
(1.2,1.5)
|
||||
to [] (1.5, 1.5) node[right]{...}
|
||||
;
|
||||
|
||||
to [] (1.5, 1.5) node[right]{\ldots};
|
||||
\end{circuitikz}
|
||||
\end{document}
|
||||
|
|
Binary file not shown.
|
@ -13,7 +13,9 @@
|
|||
(0,3.2) node[right] {V$_\text{SS}$ = 1.8V}
|
||||
to [R, l={$R_0$}, v_>=$I_{ges}$, o-] (0,1.5)
|
||||
to [nos, *-] (0,1)
|
||||
to [R, l={$R_1$}, v_>=$I_{ret}$, -o] (0,-.7) node[right] {GND}
|
||||
to [R, l={$R_1$}, v_>=$I_{ret}$, -o] (0,-.5)
|
||||
to (0,-.8) node[draw=black, fill=white]{reticle}
|
||||
to [short, -o] (0,-1.2) node[right] {GND}
|
||||
|
||||
(0,1.5)
|
||||
to [R, l={$R_{0+}$}] (1,1.5)
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
%PDF-1.4
|
||||
%† Ǽ
|
||||
1 0 obj
|
||||
<< /Pages 2 0 R /Type /Catalog >>
|
||||
endobj
|
||||
8 0 obj
|
||||
<< /ExtGState 4 0 R /Font 3 0 R /Pattern 5 0 R
|
||||
/ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /Shading 6 0 R
|
||||
/XObject 7 0 R >>
|
||||
endobj
|
||||
10 0 obj
|
||||
<< /Annots [ ] /Contents 9 0 R
|
||||
/Group << /CS /DeviceRGB /S /Transparency /Type /Group >>
|
||||
/MediaBox [ 0 0 576 288 ] /Parent 2 0 R /Resources 8 0 R /Type /Page >>
|
||||
endobj
|
||||
9 0 obj
|
||||
<< /Filter /FlateDecode /Length 11 0 R >>
|
||||
stream
|
||||
xœ½–OkÜ0Åïúsl/Úù£‘FÇ,m÷Üv¡‡ÒS²Iº¤…4Ð|ýŽ•mp<>¡ÆYcùéÍ<C3A9>‡m‚s ¸„³ŸÏð¾ùx?ïúìGÐ’}|h#›ù^ÆûnÃîÊ—>ùŠC(B1[÷YL—ÙÃeÆ*1%Ÿúºþºi<BÿhJ¹[Ê}»_'ø?awÅÝÔٌڌR4õ‰½8s5”ʤÅÍïÞ<C3AF>~¿>}:ìáú)kL5ù½ÞÞ¨Ô; ŸÃGxü»:——
mDÆ»ìîüCR4R×v؇ÞúsØa÷<61>€Ž·<C5BD>(EÉ”<C389>¥ÃêmYf…ãMxãzøŽgxl†þ+£ˆYüúJëÐÌJ.A“k¬‚ÆbÍÄ„<C384>nņ%Ç,‚j}#£Ò*6󒨰‡L9©(ñ”MÙ,7\9²Û(uhd(c3+¹„MKYÍ9›øëiÊf³ÜH*±ªH}#£Ò*6ó’ØHKYE3ᜦll³Ü$”(‰„‡/Ũ´ŠÍ¼ä6-e¦X<C2A6>^£Ù,6I-VÂ’ÒÐÇPZ‡fVršÔBVª<56> •)›ºYlÔ¿–É<E28093>²Ž~0úÒ*6ó’ØhYåbU^±ésóè¡ùo
|
||||
endstream
|
||||
endobj
|
||||
11 0 obj
|
||||
458
|
||||
endobj
|
Loading…
Reference in New Issue