corrections (maurice) and spelling

This commit is contained in:
acereca 2018-08-27 17:39:44 +02:00
parent c4f14ac788
commit 3bf501a07e
12 changed files with 52842 additions and 159 deletions

View File

@ -5,29 +5,41 @@
{\bfseries Abstract} {\bfseries Abstract}
\end{center} \end{center}
\begin{abstract}~\\ \begin{abstract}~\\
Accurate measurements and voltage supply is a integral part for any system to work perfectly. %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. The PowerIts main purpose is to measure and supply different voltages.
In the Human Brain Projects BrainScaleS system, it delivers power to all system components.
This thesis will provide a calibration of the PowerIt board as well as a regulation mechanism for its 1.8V power supplies.
It will give insight into the internal workings of the PowerIt. Calibration of this board, will provide more accurate measurements, and allow for later regulation of its 1.8V outputs.
Its circuitry will be examined and calibrated, for use in BrainScaleS' monitoring. First its circuitry will be examined and their behavior tested, from which these circuits can be calibrated.
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. With these calibrations a method for regulating both of its \SI{1.8}{\volt} power supplies will be implemented.
This thesis also contains the changes done to the PowerIt Firmware while working on these Problems. This thesis also contains the changes done to the PowerIt firmware while working on these tasks.
The main focus layed on a new interfacing protocol. The new firmware now has a new protocol for communication over a I\(^2\)C.
It can now be used for accessing the calibration and regulation parameters as well as their respective measured values . It can be used for accessing any calibration parameter or on board measurement.
\end{abstract} \end{abstract}
\vspace{1cm}
\begin{center} \begin{center}
{\bfseries Zusammenfassung} {\bfseries Zusammenfassung}
\end{center} \end{center}
\begin{abstract}~\\ \begin{abstract}~\\
Das akkurate messen von und versorgen mit Spannungen ist ein integraler Teil jedweden elektrischen Systems, sodass diese reibungslos funktioniert. Die Hauptaufgabe des PowerIts ist die Messung von und Versorgung mit verschiedenen Spannungen.
Innerhalb des Bereiches des Human Brain Projektes, liefert diese Arbeit die Kalibration des BrainScaleS Teilsystems PowerIt, sowie die Regulierung einer Spannungsversorgung des BrainScaleS. Es versorgt alle Komponenten im BrainScaleS System des Humen Brain Projekts.
Diese Arbeit liefert eine Kalibration des PowerIt, sowie eine Methode zur Regelung der \SI{1.8}{\volt} Spannungsausg\"{a}nge eines PowerIt.
Zuerst werden daf\"{u}r die verbauten Schaltungen untersucht und auf ihr verhalten getestet und daraus k\"{o}nnen Kalibrationsdaten erfasst werden.
Die sp\"{a}tere Regulierung der \SI{1.8}{\volt} Ausg\"{a}nge h\"{a}ngt dabei von der vorausgegangenen Kalibrierung ab.
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. Zus\"{a}tzlich enth\"{a}llt diese Arbeit die \"{A}nderungen, die an der Firmware vorgenommen worden sind, w\"{a}hrend diese Aufgaben bearbeitet wurden.
Ausserdem lifert diese Arbeit eine Methode der Regulation f\"{u}r eine der Sapnnungsversorgungen. Die neue Firmware enth\"{a}llt nun ein neues protocol f\"{u}r die Kommunikation \"{u}ber einen I\(^2\)C-Bus.
Diese basiert vor allem aif den Beobachtungen mittels eines experimentellen aufbaus eines in BrainScaleS genutzten Wafer Systems. Dieses Protokoll kann dazu genutzt werden auf beliebige Kalibrationsdaten oder Messwerde zuzugreifen.
% Das akkurate Messen von und versorgen mit Spannungen ist ein integraler Teil jedweden elektrischen Systems, sodass diese reibungslos funktioniert.
Zus\"{a}tzlich enthalten sind die \"{A}nderungen, die an der PowerIt Firmware vorgenommen worden sind. % Innerhalb des Bereiches des Human Brain Projektes, liefert diese Arbeit die Kalibration des BrainScaleS Teilsystems PowerIt, sowie die Regulierung einer Spannungsversorgung des BrainScaleS.
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. %
% Diese Arbeit verschafft einen Einblick in den internen Aufbau des PowerIt, dabei werden dessen Schaltungen untersucht und kalibriert, sodass diese in der \\System\"{u}berwachung nutzbar sind.
% Ausserdem liefert diese Arbeit eine Methode der Regulation f\"{u}r eine der Spannungsversorgungen.
% 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 Fokus 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} \end{abstract}

View File

@ -1,8 +1,8 @@
%! TEX root = ../thesis.tex %! TEX root = ../thesis.tex
\chapter{Appendix - Firmware} \chapter{Appendix - Firmware}
\section{Virtual Memory Mapping} \section{Virtual Memory Mapping}
THe biggest Change done to the Firmware was the implemetation of a new communication protocoll. THe biggest Change done to the Firmware was the implementation of a new communication protocol.
This protocoll uses the following table as reference This protocol uses the following table as reference
\begin{figure} \begin{figure}
\centering \centering
@ -15,7 +15,7 @@ This protocoll uses the following table as reference
The Calibration process is based on the PItSTOP Python scripts\footnote{ The Calibration process is based on the PItSTOP Python scripts\footnote{
% TODO: insert repo, and link to docs % TODO: insert repo, and link to docs
\href{https://acereca.ddns.net:11443/acereca/pitstop}{PItSTOP Repo} \href{https://acereca.ddns.net:11443/acereca/pitstop}{PItSTOP repository}
}. }.
These are split into \verb|server| and \verb|aggregator|. While the Server is handling the translation between raw I$^2$C data, and the JSON formatted result, the Aggregator takes this JSON and calculates a calibration. These are split into \verb|server| and \verb|aggregator|. While the Server is handling the translation between raw I$^2$C data, and the JSON formatted result, the Aggregator takes this JSON and calculates a calibration.
@ -41,10 +41,10 @@ then substituting the \verb|rsync| target:
rsync --progress ./*.py /remote.url/ rsync --progress ./*.py /remote.url/
\end{mintylst} \end{mintylst}
, to be your server (should be a RaspberyyPi connected to the PowerIt) , to be your server (should be a RaspberryPi connected to the PowerIt)
\subsection{Running a Test} \subsection{Running a Test}
Runnig the test requires the following commands Running the test requires the following commands
\\ \\
Serverside: Serverside:
\begin{mintylst}{bash} \begin{mintylst}{bash}
@ -59,7 +59,7 @@ Now just following the instructions given, the selected test can be run:
Setting up calibration test for {} Setting up calibration test for {}
Please be sure to: Please be sure to:
- connect the {} to the RaspberryPi running server.py. - connect the {} to the RaspberryPi running server.py.
- connect the PowerIt to the RaspberyPi as described in the documentation - connect the PowerIt to the RaspberryPi as described in the documentation
- and be sure to connect the {} to the {} Terminal. - and be sure to connect the {} to the {} Terminal.
Continue (y/N): y Continue (y/N): y

View File

@ -3,12 +3,12 @@
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. 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} \section{Experimental Setup}
But before diving into the measurements ashort tour of both experimental setups. But before diving into the measurements a short 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. The first setup was used during the calibration phase, while the second setup was used for creating the regulation model.
\subsection{Part 1} \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}). 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. 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. Additionally a STM32-Discovery board and a RaspberryPi microcomputer were connected to flash new firmware onto the PowerIt.
\begin{figure}[H] \begin{figure}[H]
@ -17,14 +17,14 @@ THe first setup was used during the calibration phase, while the secon setup was
\includegraphics[width=.45\columnwidth]{./pics/poweritv1_test_setup_corr.jpg} \includegraphics[width=.45\columnwidth]{./pics/poweritv1_test_setup_corr.jpg}
\caption{% \caption{%
Photographs of the first experimental setup. Photographs of the first experimental setup.
On the left side visible are a Keithley K2100 voltmeter (top), a PS9080 bench power supply (middle) and a EL9000 electronic load (bottom). On the left side visible are a Keithley K2100 voltmeter (top), a Elektro-Automatik PS8080 bench power supply (middle) and EL9080 electronic load (bottom).
On the right side visible are a PowerIt with connected STM32-Discovery board (left), and Raspberry PI (top). On the right side visible are a PowerIt with connected STM32-Discovery board (left), and Raspberry PI (top).
Also in the picture is the power supply connection (cables at top of PowerIt).% Also in the picture is the power supply connection (cables at top of PowerIt).%
}% }%
\label{fig:expsetup1} \label{fig:expsetup1}
\end{figure} \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. To now calibrate the board the bench supply could be controlled, to sweep through a voltage range, or in a similar fashion 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. 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} \subsection{Part 2}
@ -42,7 +42,7 @@ THe first setup was used during the calibration phase, while the secon setup was
This module has a height and length of 50cm and a width of 15cm. This module has a height and length of 50cm and a width of 15cm.
The left side shows the back side of the assembly. The left side shows the back side of the assembly.
Here are the PowerIt (1), CURE (3) and AnaB (2) boards mounted, as well as a RaspberryPi (4) and a STM32-Discovery (5). Here are the PowerIt (1), CURE (3) and AnaB (2) boards mounted, as well as a RaspberryPi (4) and a STM32-Discovery (5).
The right side shows the empty front side of the MainPCB and the wafer heatsink.% The right side shows the empty front side of the MainPCB and the wafer heat sink.%
}% }%
\label{fig:expsetup2} \label{fig:expsetup2}
\end{figure} \end{figure}
@ -129,7 +129,7 @@ The first experiments to run are the characterization of hardware behavior. Thes
\caption{% \caption{%
Calibration of \SI{9.6}{\volt} input voltage. Calibration of \SI{9.6}{\volt} input voltage.
Plotted are measured and reference vs the calculated vin voltage. Plotted are measured and reference vs the calculated vin voltage.
The Calibration sweeps from \SIrange{43.2}{52.8}{\volt}, and the supply mudules divide that into \SIrange{8.64}{10.56}{\volt}. The Calibration sweeps from \SIrange{43.2}{52.8}{\volt}, and the supply modules divide that into \SIrange{8.64}{10.56}{\volt}.
The fit is of second degree and its inverse are the to use calibration coefficients. The fit is of second degree and its inverse are the to use calibration coefficients.
(fit:{\( (fit:{\(
\pyval{poly10v2}V_\text{10V}^2+\pyval{poly10v1}V_\text{10V}+\pyval{poly1v0}=V_\text{MONITOR\_10V} \pyval{poly10v2}V_\text{10V}^2+\pyval{poly10v1}V_\text{10V}+\pyval{poly1v0}=V_\text{MONITOR\_10V}
@ -231,14 +231,14 @@ The first experiments to run are the characterization of hardware behavior. Thes
m_2 =&~\pyval{poly18idigi2}\nonumber m_2 =&~\pyval{poly18idigi2}\nonumber
\end{align} \end{align}
This also show, that both parts are so similar in bahavior, that a single sides observations would have sufficed. This also show, that both parts are so similar in behavior, that a single sides observations would have sufficed.
\section{1.8V Regulation} \section{1.8V Regulation}
As Described beforehand the Output Voltages for both analog and digital can be adjusted to some degree and therefore we can compensate for the dropoff occurring between PowerIt Output Terminals and Reticles. As Described beforehand the Output Voltages for both analog and digital can be adjusted to some degree and therefore we can compensate for the dropoff occurring between PowerIt Output Terminals and Reticles.
To run any test with the PowerWafer, the patterns in \autoref{fig:wpattern} were used. To run any test with the PowerWafer, the patterns in \autoref{fig:wpattern} were used.
Tere are two reasons for that, firstly these patterns distribute the current draw in a regular fashion as to distribute the load between the connectors. There are two reasons for that, firstly these patterns distribute the current draw in a regular fashion as to distribute the load between the connectors.
Secondly, when powering Reticles all of the energy is converted into heat, via the ohmic resistors. Secondly, when powering Reticles all of the energy is converted into heat, via the ohmic resistors.
\begin{figure}[H] \begin{figure}[H]
@ -249,7 +249,7 @@ Secondly, when powering Reticles all of the energy is converted into heat, via t
\end{figure} \end{figure}
And although the copper heat sink and fans (see \autoref{fig:expsetup2}), should be able to handle this heat in theory, when grouping together reticles and powering them, the dissipation does not suffice. And although the copper heat sink and fans (see \autoref{fig:expsetup2}), should be able to handle this heat in theory, when grouping together reticles and powering them, the dissipation does not suffice.
The internal temperature probes (between heatsink and wafer) register well above \SI{50}{\celsius}, when grouping 3 or more reticles. The internal temperature probes (between heat sink and wafer) register well above \SI{50}{\celsius}, when grouping 3 or more reticles.
\subsection{Characterization of Dropoff} \subsection{Characterization of Dropoff}
@ -383,7 +383,7 @@ All white Reticles are not measurable, and those colored in Red and Yellow are t
This results in a distribution, which when combined with the spread of \(R_0\) from \autoref{fig:ret5corr}, gives an approximate range for all reticles voltage drop at a given current draw (\autoref{fig:vrange}). This results in a distribution, which when combined with the spread of \(R_0\) from \autoref{fig:ret5corr}, gives an approximate range for all reticles voltage drop at a given current draw (\autoref{fig:vrange}).
The last values that were measured, came from the CURE boards connected to each reticle. The last values that were measured, came from the CURE boards connected to each reticle.
The voltages obtined from these boards, can be compare to the manually obtained voltages vie AnaB pins. The voltages obtained from these boards, can be compare to the manually obtained voltages vie AnaB pins.
In \autoref{fig:vcure40} these voltages are visualized, in comparison to the AnaB voltages. In \autoref{fig:vcure40} these voltages are visualized, in comparison to the AnaB voltages.
\begin{figure}[H] \begin{figure}[H]

View File

@ -3,48 +3,56 @@
\chapter{Introduction} \chapter{Introduction}
\section{The BrainScale System} \section{The BrainScaleS System}
The BrainScale Wafer System, developed and used in the electronic visions group at Heidelberg University is a neuromorphic hardware implementation~\cite{waferembedding}.\\~\\ The BrainScaleS Wafer System which is visualized in \autoref{fig:wss}, developed and used in the electronic visions group at Heidelberg University is a neuromorphic hardware implementation~\cite{waferembedding}.
For this thesis the following core components are of importance: On this Hardware, mixed-signal ASICs, or also called HICANNs, implement a behavior similar to that of a neuron found in biological systems.
These ASIC chips are placed on a silicon wafer, and grouped into packs of 8, called reticles.
With these Chips complex behavior of biological systems can be simulated.
Focus of this thesis is part of the hardware implementation and only the following components will either be further examined or used later on:
\begin{itemize} \begin{itemize}
\item mixed-signal ASICs, named HICANNs, structured in packs of 8 into reticles \item Control Units for Reticles, short CURe boards
\item Control Units for Reticles, short CURE boards
These boards control the power delivery mechanism for each of the 48 reticles.
\item Analog Breakout boards, AnaB for short \item Analog Breakout boards, AnaB for short
Provided by these boards are direct connections to reticle voltages, two per reticle. These are normally shared between all 8 reticles.
\item and power supply, called PowerIt. \item and power supply, called PowerIt.
\end{itemize} \end{itemize}
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=.9\textwidth]{pics/waferscale_system.png} \includegraphics[width=.7\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} \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} \end{figure}
\section{About the PowerIt Subsystem} \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}). The main subject of this thesis is the PowerIt board, photographed in \autoref{fig:pitteststand}. It functions as power supply inside of the WaferScale system, described before, in which it is e.g. 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}
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] \begin{figure}[h]
\centering \centering
\includegraphics[width=.7\textwidth]{./tikz/powerit.pdf} \includegraphics[width=.7\textwidth]{./tikz/powerit.pdf}
\caption{PowerIt board, top view, receiving \SI{48}{\volt} as input (magenta) and outputting \SI{9.6}{\volt} (green) as well as \SI{1.8}{\volt} (analog: red, digital: blue)}\label{fig:pitteststand} \caption{
Photograph of the PowerIt boards top view.
Its receiving \SI{48}{\volt} as input (magenta) and outputting \SI{9.6}{\volt} (green) as well as \SI{1.8}{\volt} (analog: red, digital: blue)}\label{fig:pitteststand}
\end{figure} \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}. This PowerIt board has a integrated STM32 microcontroller\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: The PowerIt, while providing \SI{9.6}{\volt} and \SI{1.8}{\volt}, also is able to measure the following values:
\begin{itemize} \begin{itemize}
\item input voltage and current \item input voltage and current
\item \SI{1.8}{\volt} output voltage and current \item \SI{1.8}{\volt} output voltage and current each for analog and digital parts of the wafer circuits
\item and the \SI{9.6}{\volt} output Voltage \item and the \SI{9.6}{\volt} output Voltage
\end{itemize} \end{itemize}
which can then be used inside the firmware. 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. The input voltage, nominal, is \SI{48}{\volt} and therefore the input current should not exceed \SI{41.7}{\ampere}
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. 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 voltage by 5.
Lastly the \SI{1.8}{\volt} output voltage is variable. Lastly the \SI{1.8}{\volt} output voltage is variable.
@ -52,25 +60,20 @@
\section{Contents in Detail} \section{Contents in Detail}
The first goal was to be able to change the calibration parameters. The first goal was to be able to change the calibration parameters.
While this can be done at compile time, these changes are board specific. An upgrade for the PowerIt firmware was added to accomodate any calibration parameters.
Therefore they either need to be changed, before compiling, which would require a compilation per board. This was accomplished with a virtual memory map, which maps every parameter to a specific location in a virtual memory.
Or else the need to be able to change during runtime. In this memory, any calibration parameter or measurment value is mapped and can be changed.
For mainly maintainability reasons the second way was choosen.
But these calibration changes could not be transferred to the PowerIt using the old communication protocol, referred to as PItCOMM version 1.
A updated protocol was needed and it had to be able to accept not only the before mentioned values, but also any additional information or configuration.
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}).
With this as foundation, the PowerIt could be calibrated. Calibrating the POwerIt was the next task.
The parameters obtained by the calibration proces were be stored in a database. The calibration characterizes the voltage measuring circuits, whose voltages are either coming into or leaving the PowerIt.
The Calibration characterizes the voltage measuring circuit, 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.
The same thing applies to the input and the \SI{9.6}{\volt} current measuring circuit.
Taking these calibrations as bais, the \SI{1.8}{\volt} power supplys' behavior could be observed. ---
Additionally the electrical behavior of actual hardware both static (no currents) and dynamic (changing currents) could be observed.
Taking these calibrations as basis, the \SI{1.8}{\volt} power supplies' behavior could be observed.
%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. And with these measurements a model was applied and checked for fitting this situation.
Lastly some statements could be made about the complete hardwares bahavior and a first version of a regulation model could be implemented. Lastly some statements could be made about the complete hardwares behavior and a first version of a regulation model could be implemented.

View File

@ -11,7 +11,7 @@
The voltage distribution, as described in figures~\ref{fig:vdiphist} and~\ref{fig:wrdist}, was quantified and the SWRM could be used for creating a worst-case V\(_\text{drop}\) distribution as seen in \autoref{fig:reg}. The voltage distribution, as described in figures~\ref{fig:vdiphist} and~\ref{fig:wrdist}, was quantified and the SWRM could be used for creating a worst-case V\(_\text{drop}\) distribution as seen in \autoref{fig:reg}.
Therefore a first iteration of a usable regulation mechanism could be implemented and verified (see \autoref{fig:postreg}). Therefore a first iteration of a usable regulation mechanism could be implemented and verified (see \autoref{fig:postreg}).
This mechanism allows for a certain degree of regulation until a current threshold is reachd. This mechanism allows for a certain degree of regulation until a current threshold is reached.
This threshold was also agreeing with a beforehand calculated value of around \SI{80}{\ampere} This threshold was also agreeing with a beforehand calculated value of around \SI{80}{\ampere}
For further developing this the more complex DWRM could be used. For further developing this the more complex DWRM could be used.
@ -20,7 +20,7 @@
As to minimize the maximum difference in voltage drop. As to minimize the maximum difference in voltage drop.
This could also factor in the number of active HICANNs per reticle. This could also factor in the number of active HICANNs per reticle.
Additionally the current threshold is restricted by the internaly used resistor chain (described in \autoref{fig:gen18v}). Additionally the current threshold is restricted by the internally used resistor chain (described in \autoref{fig:gen18v}).
If the minimum resistance of that circuit were to be changed, the threshold would move up in current. If the minimum resistance of that circuit were to be changed, the threshold would move up in current.

View File

@ -3,31 +3,6 @@
In this chapter all results from the experiments, as well as reasons will be discussed. In this chapter all results from the experiments, as well as reasons will be discussed.
% \section{Firmware}
% The PowerIt Firmware was updated to allow for the Calibration Procedure (described in \ref{calib}) and the Rgulation of its 1.8V output. That resulted in a new Version of the I2C Protocol between the Monitoring System and PowerIts.
% \subsection{PI2CProto v2}
% The new Commmunication protocoll is based on the old one, and while the from the Host send Commands are compatible with version 1 the returned Message is not.
% And just like in the old Version a Master can send a message to the PowerIt with the in the \verb|command_t| struct described structure:
% \begin{mintylst}{cpp}
% pi2c::command_t tosend { <crc>, 2, <CMD>, <optional_data0>, <optional_data1> };
% \end{mintylst}
% Here the \verb|<CMD>| can be \verb|CMD_SET| for setting a value in the corresponding table (fig. \ref{registerbuffer}), using \verb|<optional_data0>| as address and \verb|<optional_data1>| as value.
% Reading a number of bytes from the table can be accomplished with \verb|CMD_READ|, giving the address to start and number of bytes in that order.
% While reading the complete Table is done with the \verb|CMD_READALL| command.
% THe \verb|<crc>| byte is the CRC8 value of all following bytes inside \verb|command_t|
% \subsection{I2C mapped Register-Table}
% When sending or reading values to or from the PowerIt, the address requireed is one of the 152 bytes documented in this table.
% \input{./tabs/registerbuffer}
\section{Calibration\label{calib}} \section{Calibration\label{calib}}
This calibration process yielded some workflows for use inside the system as well as calibration values for the used PowerIt. This calibration process yielded some workflows for use inside the system as well as calibration values for the used PowerIt.
@ -97,64 +72,7 @@ It is also possible to see a systematic error in \autoref{fig:postcalib10v}.
This error could be corrected, but requires quite some time investment. This error could be corrected, but requires quite some time investment.
It would allow for a reduction of \(\Delta V\), up to a value of \SI{24.456}{\milli\volt}. It would allow for a reduction of \(\Delta V\), up to a value of \SI{24.456}{\milli\volt}.
This result is similar to others, and for all it would be possisble to achieve a bit better fits. This result is similar to others, and for all it would be possible to achieve a bit better fits.
% \subsection{How to calibrate a PowerIt Board}
%
% The Calibration process is based on the PItSTOP Python scripts\footnote{
% TODO: insert repo, and link to docs
% \href{https://acereca.ddns.net:11443/acereca/pitstop}{PItSTOP Repo}
% }.
% These are split into \verb|server| and \verb|aggregator|. While the Server is handling the translation between raw I$^2$C data, and the JSON formatted result, the Aggregator takes this JSON and calculates a calibration.
%
% Using the script any one of the following Values can be tested and calibrated:
% \begin{itemize}
% \item Input Voltage (\verb|pitstop.Aggregator.test_v_48()|)
% \item Input Current (\verb|pitstop.Aggregator.test_i_48()|)
% \item 9.6V Output Voltage (\verb|pitstop.Aggregator.test_v_10()|)
% \item 1.8V Output Voltage (\verb|pitstop.Aggregator.test_v_18()|)
% \item 1.8V Output Current (\verb|pitstop.Aggregator.test_i_18()|)
% \end{itemize}
%
% \subsubsection{Setting up the Test Environment}
% The simplest way to setup your environment consists of cloning the PItSTOP Project onto your Client:
% \begin{mintylst}{bash}
%
% > git clone https://url.to.pitstop
%
% \end{mintylst}
% then substituting the \verb|rsync| target:
% \begin{mintylst}[label={makefile}]{makefile}
% all:
% rsync --progress ./*.py /remote.url/
% \end{mintylst}
%
% , to be your server (should be a RaspberyyPi connected to the PowerIt)
%
% \subsubsection{Running a Test}
% Runnig the test requires the following commands
% \\
% Serverside:
% \begin{mintylst}{bash}
% > python server.py
% \end{mintylst}
% Clientside:
% \begin{mintylst}{bash}
% > python aggregator.py
% \end{mintylst}
% Now just following the instructions given, the selected test can be run:
% \begin{mintylst}{text}
% Setting up calibration test for {}
% Please be sure to:
% - connect the {} to the RaspberryPi running server.py.
% - connect the PowerIt to the RaspberyyPi as described in the documentation
% - and be sure to connect the {} to the {} Terminal.
%
% Continue (y/N): y
%
% What is the Name given to the connected PowerIt? [Bxx]: B05
% \end{mintylst}
\section{Regulation} \section{Regulation}
@ -162,7 +80,7 @@ This result is similar to others, and for all it would be possisble to achieve a
\subsection{Resulting Observation} \subsection{Resulting Observation}
To verify the regulation is working and to see if the prediction in \autoref{fig:regswrm} is correct new values were measured. To verify the regulation is working and to see if the prediction in \autoref{fig:regswrm} is correct new values were measured.
THese Values are the voltages with regulation enabled at different Reticles (see \autoref{fig:postreg}). These Values are the voltages with regulation enabled at different Reticles (see \autoref{fig:postreg}).
\begin{figure}[H] \begin{figure}[H]
\centering \centering
@ -203,7 +121,7 @@ This result is similar to others, and for all it would be possisble to achieve a
In a wafer, the distance between reticles and voltage connector (see \autoref{fig:mainpcb}) are resulting in additional resistance. In a wafer, the distance between reticles and voltage connector (see \autoref{fig:mainpcb}) are resulting in additional resistance.
Therefore the DWRM could be adapted. Therefore the DWRM could be adapted.
Circuit~\ref{fig:retmodelshell} visualizesa model, in which each different distance from the voltage connector, is classified with an additional resistance. Circuit~\ref{fig:retmodelshell} visualizes a model, in which each different distance from the voltage connector, is classified with an additional resistance.
\begin{figure}[H] \begin{figure}[H]
\centering \centering

View File

@ -1,7 +1,7 @@
%! TEX root = ../thesis.tex %! TEX root = ../thesis.tex
\chapter{Theory}\label{ch:theory} \chapter{Theory}\label{ch:theory}
This chapter will be discussing the fundamental principles used in the experiments. 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 These will contain simplified circuits and their respective equations as well as component behavior as specified in their respective data sheets by their manufacturer
\section{Hardware Component Behavior} \section{Hardware Component Behavior}
@ -28,7 +28,7 @@ These will contain simplified circuits and their respective equations as well as
\item and amplify the voltage, to be in the STM32-Chips Voltage range of up to \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} \end{itemize}
The already implemented cicuit can be seen in \autoref{mon48v}. The already implemented circuit can be seen in \autoref{mon48v}.
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 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. It is also decoupling the input and output voltages, so our \SI{48}{\volt} and \SI{3.3}{\volt} circuit parts are electrically insulated.
@ -68,7 +68,7 @@ These will contain simplified circuits and their respective equations as well as
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=.9\textwidth]{./tikz/mon48i.pdf} \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}% \caption{Circuit for measuring the \SI{48}{\volt} input current, consisting of PowerIt, 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} \label{mon48i}
\end{figure} \end{figure}
@ -135,7 +135,7 @@ These will contain simplified circuits and their respective equations as well as
\label{fig:gen18v} \label{fig:gen18v}
\end{figure} \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} Reheostat. 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.
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} can describe the circuit.
\begin{align} \begin{align}
@ -225,7 +225,7 @@ 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=.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 realworld 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}
@ -238,7 +238,7 @@ On the other hand, to calculate the voltage to output, it is necessary to classi
Also on the MainPCB are the AnaB boards. Also on the MainPCB are the AnaB boards.
Note that here lies another specialization of the PowerWafer. Note that here lies another specialization of the PowerWafer.
All reticles' analog and digital \SI{1.8}{\volt} lines are connected directly to pins on the analog readout boards~\cite{anabpower}. 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 aaccess a voltage, which is measured after the load resistors in \autoref{fig:retmodel} There it is possible to access a voltage, which is measured after the load resistors in \autoref{fig:retmodel}
(after \cite{waferembedding}) (after \cite{waferembedding})
\begin{figure}[H] \begin{figure}[H]
@ -257,7 +257,7 @@ On the other hand, to calculate the voltage to output, it is necessary to classi
\subsection{Simple Wafer Resistance Model (SWRM)}\label{sec:swrm} \subsection{Simple Wafer Resistance Model (SWRM)}\label{sec:swrm}
To describe the reistances on such a wafer module, a model is needed. To describe the resistances on such a wafer module, a model is needed.
For that the circuit in \autoref{fig:retmodel} can be used. 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. This naive model will be referenced as SWRM (Simple Wafer Resistance Model) from here.

Binary file not shown.

Binary file not shown.

BIN
tikz/powerit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

52750
tikz/powerit.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 3.9 MiB

View File

@ -1,4 +1,4 @@
\documentclass{standalone} \documentclass[convert={outext=.svg}]{standalone}
\input{./tikzpreamble} \input{./tikzpreamble}
\begin{document} \begin{document}
\begin{tikzpicture} \begin{tikzpicture}