dipl/sections/DP/plan.tex

199 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}