Tyrolyean
d620d39bdf
This commit concludes the development phase of this thesis as the deadline set in 10 hours from now comes closer and closer and I want to sleep at one point as well. Probably not gonna be awake until then. Either this is going out well one way or the other we will see... FUCK COMMIT MESSAGES! Signed-off-by: Tyrolyean <tyrolyean@tyrolyean.net>
198 lines
7.1 KiB
TeX
198 lines
7.1 KiB
TeX
\subsection{Hardware peripherals}
|
|
|
|
Planning of the peripherals was done based on the information provided on large
|
|
parts by David Oberhollenzer. A lot of his advice contributed heavily to the
|
|
direction the development went.
|
|
|
|
\subsubsection{Peripheral selection}
|
|
|
|
The selection of the hardware peripherals was done based on implementation
|
|
difficulty, common use in computer systems, relevance in current times and
|
|
whether they were fitting for demonstrative purposes.
|
|
|
|
\paragraph{Serial Communication interface}
|
|
|
|
Serial communication interfaces have been around for a long time. They have been
|
|
used for many different applications from early mouse pointer devices
|
|
\cite{232mouse} to user input terminals\cite{vt100}
|
|
which are far away from the real computer system. They are still very common in
|
|
smaller embedded systems and in the server space, where they are used as a
|
|
simple
|
|
and less error prone way to interface with the operating system and programs
|
|
running there. They are fairly easy to implement as there are interface
|
|
ICs which provide a more generic interface for serial communications
|
|
\cite{pc16550}. Most SOCs
|
|
\footnote{SOC... System on a Chip} have some form of serial communication
|
|
interface. The most common serial interface voltages are 3.3V, 5V and levels
|
|
as per TIA-/EIA-232 specification\cite{rs232}.
|
|
|
|
\paragraph{Parallel Port interface}
|
|
|
|
Parallel ports are absent on most modern computer systems but historically have
|
|
been the high speed interfaces on computers. Early computer systems used
|
|
parallel-ports for expansions and the ISA-Bus
|
|
\footnote{ISA...Industry Standard Architecture} was for some time the main way
|
|
of expansion for PCs
|
|
\footnote{PC in this thesis referrs to Computer Systems using the x86
|
|
Architecture}. Most younger people remember parallel ports as the port for
|
|
printers on their home PCs. A parallel port is easy to implement because it has
|
|
simmilar use of control, data and address lines as a processor uses internally
|
|
anyway\cite{laval_parallel}. Usage of the standard IEEE 1284 port limits the
|
|
design to the signals on this port or makes the use of the signals on this port
|
|
obligatory.
|
|
|
|
\paragraph{Digital to Analog Converter}
|
|
|
|
Digital to Analog Converters (or more commonly DACs) are used on all modern PCs
|
|
for sound output. They have been around for longer and some external sound card
|
|
interfaces have been standardised like AC '97\cite{ac97}. Implementation of a
|
|
standard audio interface requires higher speed connections or more precise
|
|
timing for ac97 for example. Earlier computer systems did not have a sound card
|
|
as it doesn't have important usage for computing and user input tasks and later
|
|
on computer systems only had a PC speaker for diagnostics such as the IBM PC AT
|
|
\cite{ibmpc} which can only procude one specific frequency and does not have a
|
|
DAC. A DAC is not easy to implement as it requires a constant sampling rate and
|
|
a buffer to be of any practical use.
|
|
|
|
\paragraph{Graphical output / GPU}
|
|
|
|
Graphical output on older computer systems such as the EDVAC
|
|
\cite{neumann} was not possible because it requires
|
|
either a heavy load on the processor or dedicated hardware and due to the mostly
|
|
scientific use it was easier to just print the caracters as letters via a
|
|
printer. Drawing characters
|
|
onto a screen is by itself not an easy task as it requires, for example for
|
|
VGA, a Digital to Analog Converter with 25MHz sampling rate and a buffer to
|
|
contain all needed data for one frame or at least parts of it, while the CPU
|
|
renders the frame\cite{vga}. Screen output is one of the, if not the most,
|
|
common form of output on a computer today.
|
|
|
|
\paragraph{Inter Integrated Circuit}
|
|
|
|
Inter Integrated Circuit or IIC for short is a standard for serial transmission
|
|
between Integrated circuits\cite{iic}. This is done on a master-slave basis and
|
|
transmission speed is fairly low in standard 100kBit/s mode. The bus is used
|
|
on many different platforms for many different things including HDMI DDC
|
|
\cite{ddc}. Though there are some IIC ICs which can interface with a parallel
|
|
bus such as the PCA9564 \cite{pca9564} but these are either limited in
|
|
capability or not easy to use and implement. Most people don't have an
|
|
understanding of IIC as it is only known in technical fields.
|
|
|
|
\paragraph{Utility analysis}
|
|
|
|
Among the above mentioned processor peripherals from the criteria mentioned
|
|
before a utility analysis was performed. To do this, different points have been
|
|
credited for the criteria mentioned which can be seen in Table
|
|
\ref{tab:utility_base}. The multipliers in Table \ref{tab:utility_base} have
|
|
been applied to the points and the sums in Table \ref{tab:utility_result}
|
|
resulted. Based on this
|
|
result the DAC and Serial Communication interface were chosen as peripherals.
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\resizebox{\textwidth}{!}{
|
|
\begin{tabular}{ |l||c|c|c|c|c|}
|
|
\hline
|
|
Criteria & serial port & parallel port & DAC & GPU & IIC\\
|
|
\hline
|
|
\hline
|
|
implementation & 0 & 0 & 1 & 4 & 2\\
|
|
\hline
|
|
common use & 2 & 1 & 3 & 3 & 1\\
|
|
\hline
|
|
relevance & 2 & 1 & 3 & 3 & 1\\
|
|
\hline
|
|
demonstrative & 2 & 1 & 3 & 2 & 1\\
|
|
\hline
|
|
|
|
\end{tabular}
|
|
}
|
|
\caption{utility analysis base points for peripherals}
|
|
\label{tab:utility_base}
|
|
\end{table}
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\begin{tabular}{ |l|c|}
|
|
\hline
|
|
Criteria & multiplier \\
|
|
\hline
|
|
\hline
|
|
implementation & -2\\
|
|
\hline
|
|
common use & 1\\
|
|
\hline
|
|
relevance & 2\\
|
|
\hline
|
|
demonstrative & 3\\
|
|
\hline
|
|
|
|
|
|
\end{tabular}
|
|
\caption{utility analysis multipliers for peripherals}
|
|
\label{tab:utility_mul}
|
|
\end{table}
|
|
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\resizebox{\textwidth}{!}{
|
|
\begin{tabular}{ |l||c|c|c|c|c|}
|
|
\hline
|
|
Criteria & serial port & parallel port & DAC & GPU & IIC\\
|
|
\hline
|
|
\hline
|
|
implementation & 0 & 0 & -2 & -8 & -4\\
|
|
\hline
|
|
common use & 2 & 1 & 3 & 3 & 1\\
|
|
\hline
|
|
relevance & 4 & 2 & 6 & 6 & 2\\
|
|
\hline
|
|
demonstrative & 6 & 3 & 9 & 6 & 3\\
|
|
\hline
|
|
\hline
|
|
\textbf{SUM} & 12 & 6 & 16 & 7 & 2\\
|
|
\hline
|
|
|
|
\hline
|
|
|
|
\end{tabular}
|
|
}
|
|
\caption{utility analysis results for peripherals}
|
|
\label{tab:utility_result}
|
|
\end{table}
|
|
\subsubsection{Material and Infrastructure cost}
|
|
|
|
The peripherals were mostly constructed with materials currently in stock at
|
|
the Hackerspace Innsbruck. This limitation, while driving development time up,
|
|
reduced the material cost significantly as resistors, capacitors and most
|
|
standard logic ICs were in stock for the purpose of such projects. The materials
|
|
which had to be ordered and were used in the final implementation of the
|
|
peripherals are listed in Table \ref{tab:cost_hw}. Infrastructure usage at the
|
|
Hackerspace is unlimted to anyone who is working on a project and a member of
|
|
the community and free of charge.
|
|
|
|
\begin{table}[H]
|
|
\centering
|
|
\resizebox{\textwidth}{!}{
|
|
\begin{tabular}{ |l|c|c|}
|
|
\hline
|
|
\textbf{Name} & \textbf{Cost} & \textbf{Quantity}\\
|
|
\hline
|
|
\hline
|
|
ADC 8bit RS-COMPONENTS & € 4.16 &3\\
|
|
\hline
|
|
8-bit D-Latch RS-COMPONENTS & € 2.21 &4\\
|
|
\hline
|
|
MAX232 RS-COMPONENTS & € 2.19 &2\\
|
|
\hline
|
|
Quartz, 1,8432 MHz POLLIN & € 0.15 &4\\
|
|
\hline
|
|
\hline
|
|
|
|
\end{tabular}
|
|
}
|
|
\caption{List of ordered components and cost}
|
|
\label{tab:cost_hw}
|
|
\end{table}
|
|
|