\chapter{Hardware SPU} \label{cha:hardware}

V tejto časti práce sa budeme zaoberať návrhom hardwaru SPU jednotky pozostávajúcej z nasledujúcich častí:
\begin{enumerate}
  \item[-] MCU jednotka, 
  \item[-] vstup zvukového signálu:
  \begin{enumerate}
  	\item[-] analógový,
  	\item[-] digitálny,
  \end{enumerate}
  \item[-] dátový vstup a výstup.
\end{enumerate}

\section{Bloková schéma zariadenia}
Na obr. \ref{pic:SPU_schema_hardware} je znázornená bloková schéma jednotky. Tá sa skladá zo vstupných a výstupných blokov a bloku pre riadenie a spracovanie signálu. 

\begin{figure}[hbtp]
	\centering
		\includegraphics[width=\columnwidth]{../blokova_schema/blokova_schema}
	\caption{Bloková schéma hardwaru SPU}
	\label{pic:SPU_schema_hardware}
\end{figure}

Centrom SPU je blok označený ako MCU (mikrokontrolérová jednotka). Blok je realizovaný vývojovým kitom STM32F4Discovery  od firmy STMicroelectronics, ktorý je osadený mikrokontrolérom STM32F407VG s jadrom ARM Cortex M4F \cite{RM0090}. Tento procesor sa stará o riadenie, smerovanie vstupov a spracovanie audia.

Jednotka má tri vstupy zvukového signálu: symetrický a nesymetrický analógový vstup a digitálny optický vstup. Analógové vstupy zdieľajú spoločný AD prevodník. Z toho dôvodu je použitý prepínač (konkrétne CD4052B \cite{cd4052} od Texas Instruments) na aktivovanie iba jedného vstupu. 

Za vstupmi sa nachádzajú prevodníky s výstupom v štandarde I$^2$S (Inter-IC Sound). 

Napájanie je realizované 10 VA transformátorom s 2 x 9 V výstupom a stabilizátormi na +8 V, -8 V a +5 V. Na získanie napätia 3.3 V je využitý stabilizátor osadený na kitu STM32F4Discovery.

Digitálne dátové rozhranie je realizované pomocou ethernetu. Použitý mikrokontrolér obsahuje rozhranie na úrovni MAC vrstvy a preto je ešte doplnený blok PHY ETHERNET s čipom realizujúcim fyzickú vrstvu sieťového rozhrania.

Na ovládanie zariadenia je možné využiť infračervené rozhranie alebo software v PC. IrDA rozhranie komunikuje s riadiacou jednotkou pomocou interného protokolu firmy Bang \& Olufsen.

Jednotku ja ďalej možno softwarovo rozšíriť o ovládanie pomocou dotykového TFT displeja.

\subsection{MCU}
Ako MCU jednotka je s výhodou použitý vývojový kit od firmy STMicroelectronics STM32F4Discovery. Jeho cena neprevyšuje cenu samostatného pro\-ce\-so\-ru STM\-32F4V07VG a odpadá nutnosť kupovať externý programátor. Programovanie mikrokontroléra prebieha cez mini USB.

Čip je založený na architektúre ARM Cortex M4F s maximálnou hodinovou frekvenciou jadra 168 MHz. F v názve Cortex M4F znamená, že jadro obsahuje jednotku pre hardwarovú podporu počítania s číslami s pohyblivou desatinnou čiarkou (FPU -- Floating Point Unit). Najpoužívanejšiu DSP operáciu MAC (Multiply and ACcumulate) zvláda vykonať za jeden hodinový cyklus. V mikrokontroléru sa nachádza 1~MB flash pamäte a 192~kB SRAM. \cite{UM1472}

STM32F4Discovery je osadený procesorom v púzdre LQFP100 a väčšina pinov je vyvedená na užívateľsky prístupné vývody. Z príslušenstva dostupného na kitu je okrem mikroprocesora využívaný stabilizátor na 3.3 V a programátor.

Mikrokontrolérová jednotka sa využíva na spracovanie audia, zostavovanie UDP datagramov určených pre externé reproduktory a TCP paketov pre komunikáciu s PC, riadenie z IrDA prijímača a zobrazovanie na displeji.

\subsection{IrDA prijímač}
IrDA prijímač a komunikačné rozhranie je duševným vlastníctvom firmy Bang \& Olufsen a preto tu nie je možné uverejniť podrobnosti o spôsobe jeho funkcie.

\subsection{LCD}
Pre ďalšie verzie systému bola jednotka doplnená o dotykový TFT 3.2" LCD displej s rozlíšením 320 x 240 pixelov. Pomocou neho bude možné nastavovať a monitorovať systém, podobne ako je to realizované pomocou ovládacieho software z PC.

Displej je pripojený k MCU pomocou FSMC (Flexible Static Memory Controller) rozhrania, čo je v podstate rozhranie na komunikáciu so synchrónnymi a asynchrónnymi pamäťami typu SRAM, ROM, FLASH a PSRAM. Driver displeja, SSD1289, je s týmto rozhraním plne kompatibilný \cite{ssd1289}.

Na displeji je odporová dotyková fólia, na ktorú je pripojený AD prevodník ADS7843 \cite{ads7843} s SPI rozhraním, pomocou ktorého je prenášaná informácia o mieste dotyku do MCU jednotky na ďalšie spracovanie.