diff --git a/Allgemein/Allgemein.tex b/Allgemein/Allgemein.tex index f044b1e..80fbb48 100644 --- a/Allgemein/Allgemein.tex +++ b/Allgemein/Allgemein.tex @@ -1,5 +1,3 @@ -\newcommand*{\IIC}{I$^2$C} - \pageauthor{Schuh} \section{Allgemeines} \label{sec:allgemeines} diff --git a/Diplomarbeit.tex b/Diplomarbeit.tex index 827d330..f308775 100644 --- a/Diplomarbeit.tex +++ b/Diplomarbeit.tex @@ -57,6 +57,7 @@ \usepackage{hyperref} \usepackage[ngerman]{babel} \usepackage[german]{fancyref} +\usepackage{subfig} % Subfigures \usepackage{htlDT} % HTBL Diplomarbeitsstyle @@ -124,6 +125,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Begin Document \begin{document} +\newcommand*{\IIC}{I$^2$C} +\newcommand*{\IIS}{I$^2$S} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Titlepage, DA database and TOC \maketitle{} \makedadb{pdfs/DADB}{pdfs/DADBErklarung} @@ -133,6 +136,9 @@ \input{Allgemein/Allgemein} \input{Schuh/Core-Modul} \input{Schuh/Basisplatine} +\input{Schuh/USB-to-UART} +\input{Schuh/Audio} +\input{Schuh/Kosten} \input{Mieke/Mieke} diff --git a/Mieke/Tutorial/Tutorial.tex b/Mieke/Tutorial/Tutorial.tex index 10b4b0e..7544832 100644 --- a/Mieke/Tutorial/Tutorial.tex +++ b/Mieke/Tutorial/Tutorial.tex @@ -117,7 +117,7 @@ Als nächstes muss ein \uVision{} Projekt erstellt werden. Projekte dienen zur O \fig{tut-projekt1}{\uVision{} 5: Hauptfenster der IDE}{Hauptfenster der \gls{IDE}}{0.75\textwidth}{Mieke/Tutorial/Screenshots/projekt1} -Nach dem Start der \gls{IDE} ist zunächst ein leeres Fenster zu sehen (\fref{fig:tut-projekt1}). Dieses besteht aus einer Menüleiste ganz oben und den Schnellzugriffsschaltflächen direkt darunter. Auf der linken Seite ist ein noch leerer Projektbaum zu finden und rechts im großen grauen Feld der eigentliche Texteditor für die Source-Files. Darunter befindet sich noch ein Fenster für Log und Compiler Ausgaben, unter diesem die Statusleiste. +Nach dem Start der \gls{IDE} ist zunächst ein leeres Fenster zu sehen, siehe dazu \fref{fig:tut-projekt1}. Dieses besteht aus einer Menüleiste ganz oben und den Schnellzugriffsschaltflächen direkt darunter. Auf der linken Seite ist ein noch leerer Projektbaum zu finden und rechts im großen grauen Feld der eigentliche Texteditor für die Source-Files. Darunter befindet sich noch ein Fenster für Log und Compiler Ausgaben, unter diesem die Statusleiste. \fig{tut-projekt2}{\uVision{} 5: Projekt-Menü}{Projekt-Menü}{0.3\textwidth}{Mieke/Tutorial/Screenshots/projekt2} diff --git a/Schuh/Audio.tex b/Schuh/Audio.tex new file mode 100644 index 0000000..d9ed90d --- /dev/null +++ b/Schuh/Audio.tex @@ -0,0 +1,552 @@ +\section{Audioadapter} +\label{sec:audioadapter} + +Der Audioadapter dient zum Einlesen und Ausgeben von analogen Signalen, wobei bei der Diplomarbeit nur das Einlesen benötigt wird. Die eingelesenen Audiosignale, die von zwei Mikrofonen geliefert werden, werden mittels \gls{ADC} in ein digitales Signal umgewandelt und mittels \IIS{}-Protokoll zum \gls{DSP} übertragen, wo sie dann weiterverarbeitet werden können. Der vorherige Audioadapter (Version 2.1) stammt aus der Diplomarbeit \enquote{Universal Mover} von Georg Amstetter \cite{da:umover} aus dem Jahr 2011/12. Dieser Audioadapter wies allerdings einige Probleme auf. + +\subsection{Nachteile des alten Audioadapters} +Folgende Nachteile des \enquote{alten} Audioadapters führten zur Entwicklung eines neuen Audioadapters: +\begin{itemize} + \item Der Takt für den \gls{DAC} und den \gls{ADC} wird vom Mikrocontroller erzeugt und ist nicht 100\% stabil. Dadurch kann Jitter bei der Abtastrate entstehen. Um dieses Problem zu lösen wurde ein Audiocodec mit \enquote{Crystal Input} gewählt. Der Takt kann direkt auf dem Audioadapter erzeugt werden. Da der \unit{12}{\mega\hertz} Quarz gleich neben dem Audiocodec platziert ist, wird eine stabile Taktversorgung gewährt. + \item Eine weitere Schwäche des \enquote{alten} Audioadapters war der hohe Klirrfaktor (hohe harmonische Störungen). Genaue Messergebnisse sind aus \fref{sec:audio-messergebnisse} zu entnehmen. Um diese Störungen zu minimieren wurde eine 4-fach Multilayer Platine entworfen. + \item Außerdem erfolgt die Eingangsauswahl zwischen Klinke und Cinch beim alten Audioadapter durch softwareseitiges Konfigurieren des \gls{ADC}s, da intern die Multiplexer MUX1 und MUX2 zwischen den Eingängen umschalten, wie in \fref{fig:audio-eingang} erkennbar ist. Somit ist es nicht möglich, während einer Anwendung statt der Klinkenbuchse einfach die Cinchbuchsen als Eingang zu verwenden, ohne die Software zu ändern und den \gls{ADC} erneut zu konfigurieren. Dieses Problem wird beim neuen Audioadapter durch einen \enquote{Analog Switch} gelöst, der jederzeit durch das Setzen eines Jumpers zwischen den Eingängen umschalten kann. +\end{itemize} + +\fig{audio-eingangalt}{Eingänge des alten ADCs}{Eingänge des alten \gls{ADC}s (PCM1870) \cite{ti:pcm1870}}{0.5\textwidth}{Schuh/Pictures/audio-eingangalt} + +\subsection{Aufbau des neuen Audioadapters} +\subsubsection{Blockschaltbild} +Der Audioadapter besteht prinzipiell aus den Ein- und Ausgängen (Klinke und Cinch), aus einem Audiocodec und einem analogen Schalter (Analog Switch – TS5A22364). Mit dem Analog Switch kann zwischen den beiden Eingängen, Klinke und Cinch, gewählt werden. Dazu muss einfach der Auswahl-Jumper entsprechend umgesteckt werden. Der durchgeschaltete Eingang wird mit den analogen Eingängen (linker und rechter Kanal) des Audiocodecs TLV320AIC23B verbunden. Das analoge Signal wird mit einem \gls{ADC} in ein digitales Signal umgewandelt. Die genauere Funktion des Audiocodecs ist unter \fref{sec:audio-codec} erklärt. Nach dem \gls{DAC} erfolgt die Ausgabe auf beide Ausgänge. + +Die Auswahl fiel auf den Audiocodec TLV320AIC23B weil dieser einen \enquote{Crystal Input} besitzt. Dadurch kann die Taktversorgung direkt auf dem Audioadapter durch einen \unit{12}{\mega\hertz} Quarz erfolgen. Außerdem gibt es einen fertigen VHDL-Code, der von Professor Hermann Dum geschrieben und zur Verfügung gestellt wurde, mit dem der Audiocodec über das FPGA-Board BASYS2 konfiguriert werden kann. Ein Entwicklungsmodul mit dem Audiocodec TLV320AIC23B wird auch im Labor verwendet. Dies erleichterte das Design der neuen Schaltung für den Audioadapter, die Testung des fertigen Audioadapters, so wie das Konfigurieren des Audiocodecs über \IIC{} mit dem \gls{ARM} \gls{Minimalsystem}. + +\fig{audio-bsb}{Blockschaltbild der Audioplatine}{Blockschaltbild der Audioplatine}{\textwidth}{Schuh/Pictures/audio-bsb} + +\subsubsection{Schematic} +In \fref{fig:audio-schem} sieht man die gesamte Schaltung des Audioadapters. Die einzelnen Funktionsblöcke werden in den nächsten Punkten genauer erklärt. + +\fig{audio-schem}{Gesamtschematic der Audioplatine}{Gesamtschematic der Audioplatine}{0.75\textwidth}{Schuh/Pictures/audio-schem} + +\subsubsection{Audio Codec TLV320AIC23B \cite{ti:tlv320aic23b}} +\label{sec:audio-codec} +Daten: +\begin{itemize} + \item High Performance Stereo Codec + \item \unit{90}{\deci\bel} \gls{SNR} Multibit Sigma-Delta \gls{ADC} + \item \unit{100}{\deci\bel} \gls{SNR} Multibit Sigma-Delta \gls{DAC} + \item Sample-Frequenz \unit{8}{\kilo\hertz} - \unit{96}{\kilo\hertz} + \item 2-Wire SPI-compatible Serial-Port Protocols + \item \IIS{}-compatible Interface + \item Standard \IIS{}, \gls{MSb} or \gls{LSb} justified data transfer + \item 16/20/24/32 bit Wortbreite +\end{itemize} + +\fig{audio-codec-bsb}{Funktionsblockschaltbild des Audiocodec}{Funktionsblockschaltbild des Audiocodec \cite{ti:tlv320aic23b}}{\textwidth}{Schuh/Pictures/audio-codec-bsb} + +Von den analogen Eingängen wurden nur LLINEIN und RLINEIN verwendet. Der Eingang MICIN ist unbelegt. Die Eingänge können getrennt durch softwareseitige Konfiguration der entsprechenden Register in \unit{1,5}{\deci\bel} Schritten von \unit{+12}{\deci\bel} bis \unit{-34}{\deci\bel} verstärkt bzw. abgeschwächt werden (\fref{fig:audio-codec-bsb}: grün markiert). Von den Ausgängen wurden nur die Headphone-Ausgänge verwendet. Diese können ebenfalls durch Konfiguration der entsprechenden Register verstärkt oder abgeschwächt werden. Dies ist in \unit{1}{\deci\bel} Schritten von \unit{+6}{\deci\bel} bis \unit{-73}{\deci\bel} möglich (\fref{fig:audio-codec-bsb}: blau markiert). Die Konfiguration wird über den Mode-Pin (Pin 22) nach \fref{tab:audio-codec-mode} festgelegt. + +\tab{audio-codec-mode}{Modi des Audiocodec}{Modi des Audiocodec \cite{ti:tlv320aic23b}}{|c|c|}{ + \hline + \textbf{Mode} & \textbf{Interface}\\ + \hline + 0 & \IIC{}\\ + \hline + 1 & SPI\\ + \hline +} + +Im SPI-Modus werden die Daten über SDIN (Pin 23) übertragen. SCLK (Pin 24) ist der serielle Takt. $\overline{CS}$ (Pin 21) wird \texttt{0} wenn die Übertragung eines Datenworts abgeschlossen ist. + +\fig{audio-codec-spi}{SPI-Timing des Audiocodec}{SPI-Timing des Audiocodec \cite{ti:tlv320aic23b}}{0.75\textwidth}{Schuh/Pictures/audio-codec-spi} + +Im \IIC{}-Modus werden die Daten über SDIN (Pin 23) übertragen und der serielle Takt über SCLK (Pin 24). $\overline{CS}$ (Pin 21) stellt die Adresse ein (\fref{tab:audio-codec-iic-addr}) und ist hardwaremäßig auf GND (\texttt{0}) geschaltet. + +\tab{audio-codec-iic-addr}{\IIC{}-Adresse des Audiocodec}{\IIC{}-Adresse des Audiocodec \cite{ti:tlv320aic23b}}{|c|c|}{ + \hline + \textbf{$\overline{CS}$} & \textbf{Adresse}\\ + \hline + 0 & \texttt{0011010}\\ + \hline + 1 & \texttt{0011011}\\ + \hline +} + +\fig{audio-codec-iic}{\IIC{}-Timing des Audiocodec}{\IIC{}-Timing des Audiocodec \cite{ti:tlv320aic23b}}{0.75\textwidth}{Schuh/Pictures/audio-codec-iic} + +Da der Mode-Pin bei der Audioadapterplatine hardwaremäßig auf \texttt{0} gelegt wurde, erfolgt die Konfiguration mit \IIC{} über das Control Interface (\fref{fig:audio-codec-bsb}: rot markiert). Die Audiodatenübertragung erfolgt im Digital Audio Interface über \IIS{} (\fref{fig:audio-codec-bsb}: gelb markiert). Da der Audiocodec bei unserer Anwendung im Master Modus arbeitet (kann im Register \enquote{Digital Audio Interface Format} konfiguriert werden), wird der Takt BCLK, LRCOUT und LRCIN vom Audiocodec erzeugt. + +\fig{audio-codec-pinning}{Pinbelegung des Audiocodec}{Pinbelegung des Audiocodec \cite{ti:tlv320aic23b}}{0.75\textwidth}{Schuh/Pictures/audio-codec-pinning} + +\FloatBarrier +\ltab{audio-codec-pins}{Pinbelegung des Audiocodec}{Pinbelegung des Audiocodec \cite{ti:tlv320aic23b}}{|c|c|p{10cm}|}{ + \hline + \textbf{Name} & \textbf{Pin} & \textbf{Beschreibung}\\ + \hline + AGND & 15 & Analog supply return\\ + \hline + AVDD & 14 & Analog supply input. Voltage level is \unit{3,3}{\volt} nominal\\ + \hline + BCLK & 3 & \IIS{} serial-bit clock. In master-mode: AIC23B generates signal; in slave-mode: DSP generates signal\\ + \hline + BVDD & 1 & Buffer supply input, Voltage range is from \unit{2,7}{\volt} to \unit{3,6}{\volt}\\ + \hline + CLKOUT & 2 & Clock output, buffered version of XTI input, 1x or 1/2x frequency\\ + \hline + $\overline{CS}$ & 21 & Control port input latch/address select. SPI: data latch control/\IIC{}: address pin\\ + \hline + DIN & 4 & \IIS{} format serial data input to the sigma-delta stereo \gls{DAC}\\ + \hline + DGND & 28 & Digital supply return\\ + \hline + DOUT & 6 & \IIS{} format serial data output from the sigma-delta stereo \gls{ADC}\\ + \hline + DVDD & 27 & Digital supply input. Voltage range is \unit{1,4}{\volt} to \unit{3,6}{\volt}.\\ + \hline + HPGND & 11 & Analog headphone amplifier supply return\\ + \hline + HPVDD & 8 & Analog headphone amplifier supply input. Voltage level is \unit{3,3}{\volt} nominal.\\ + \hline + LHPOUT & 9 & Left stereo mixer-channel amplified headphone output. Nominal \unit{0}{\deci\bel} output level is \unit{1}{\volt}$_{RMS}$. Gain of \unit{–73}{\deci\bel} to \unit{6}{\deci\bel} is provided in \unit{1}{\deci\bel} steps.\\ + \hline + LLINEIN & 20 & Left stereo-line input channel. Nominal \unit{0}{\deci\bel} input level is \unit{1}{\volt}$_{RMS}$. Gain of \unit{-34,5}{\deci\bel} to \unit{12}{\deci\bel} is provided in \unit{1,5}{\deci\bel} steps.\\ + \hline + LOUT & 12 & Left stereo mixer-channel line output. Nominal output level is \unit{1}{\volt}$_{RMS}$.\\ + \hline + LRCIN & 5 & \IIS{} DAC-word clock signal. In audio master mode, the AIC23B generates this framing signal and sends it to the \gls{DSP}. In audio slave mode, the signal is generated by the \gls{DSP}.\\ + \hline + LRCOUT & 7 & \IIS{} ADC-word clock signal. In audio master mode, the AIC23B generates this framing signal and sends it to the \gls{DSP}. In audio slave mode, the signal is generated by the \gls{DSP}.\\ + \hline + MICBIAS & 17 & Buffered low-noise-voltage output suitable for electret-microphone-capsule biasing. Voltage level is 3/4 AVDD nominal.\\ + \hline + MICIN & 18 & Buffered amplifier input suitable for use with electret-microphone capsules. Without external resistors a default gain of 5 is provided.\\ + \hline + MODE & 22 & Serial-interface-mode input.\\ + \hline + RHPOUT & 10 & Right stereo mixer-channel amplified headphone output. Nominal 0-dB output level is \unit{1}{\volt}$_{RMS}$. Gain of \unit{–73}{\deci\bel} to \unit{6}{\deci\bel} is provided in \unit{1}{\deci\bel} steps.\\ + \hline + RLINEIN & 19 & Right stereo-line input channel. Nominal 0-dB input level is \unit{1}{\volt}$_{RMS}$. Gain of \unit{-34,5}{\deci\bel} to \unit{12}{\deci\bel} is provided in \unit{1,5}{\deci\bel} steps.\\ + \hline + ROUT & 13 & Right stereo mixer-channel line output. Nominal output level is \unit{1}{\volt}$_{RMS}$.\\ + \hline + SCLK & 24 & Control-port serial-data clock. For SPI and 2-wire control modes this is the serial-clock input.\\ + \hline + SDIN & 23 & Control-port serial-data input. For SPI and 2-wire control modes this is the serial-data input and also is used to select the control protocol after reset.\\ + \hline + VMID & 16 & Midrail voltage decoupling input. \unit{10}{\micro\farad} and \unit{0,1}{\micro\farad} capacitors should be connected in parallel to this terminal for noise filtering. Voltage level is 1/2 AVDD nominal.\\ + \hline + XTI/MCLK & 25 & Crystal or external-clock input. Used for all internal clocks on the AIC23B.\\ + \hline + XTO & 26 & Crystal output. Connect to external crystal when the AIC23B is the master\\ + \hline +} + +\ltab{audio-codec-unusedpins}{Nicht benutzte Pins des Audiocodec}{Nicht benutzte Pins des Audiocodec \cite{ti:tlv320aic23b}}{|c|c|p{10cm}|}{ + \hline + \textbf{Name} & \textbf{Pin} & \textbf{Beschreibung}\\ + \hline + LOUT & 12 & \multirow{2}{10cm}{Die Ausgänge LOUT und ROUT wurden freigelassen, da nur die verstärkbaren/abschwächbaren Ausgänge LHPOUT und RHPOUT verwendet wurden.}\\ + \cline{1-2} + ROUT & 13 &\vspace{1cm}\\ + \hline + MICBIAS & 17 & \multirow{2}{10cm}{MICBIAS und MICIN wurden nicht beschaltet, da für unsere Anwendung nur 2 Eingänge gebraucht werden und der MIC-Eingang einen zusätzlichen Eingang benötigen würde.}\\ + \cline{1-2} + MICIN & 18 &\vspace{1cm}\\ + \hline + CLKOUT & 2 & Der CLKOUT (\unit{12}{\mega\hertz} bzw \unit{6}{\mega\hertz}) wird für keine Anwendung benötigt.\\ + \hline +} + +\tabpdf{audio-codec-reg}{Register des Audiocodec}{Register des Audiocodec \cite{ti:tlv320aic23b}}{0.75\textwidth}{Schuh/Pictures/audio-codec-reg} + +\subsubsection{Analog Switch TS5A22364 \cite{ti:ts5a22364}} +Der TS5A22364 ist ein bidirektionaler, analoger Schalter mit 2 Kanälen. Er wurde ausgewählt, da er im Gegensatz zu anderen analogen Schaltern keine negative Versorgungsspannung benötigt, um trotzdem negative Signale durchzulassen. Die maximale positive Spannung, die er durchlassen kann entspricht VCC, die maximale negative Spannung VCC – \unit{5,5}{\volt}. Das ergibt einen Durchlassbereich von \unit{+3,3}{\volt} bis \unit{-2,2}{\volt} und ist somit ausreichend für die Eingangssignale des Audioadapters. + +\fig{audio-switch-pinning}{Pinbelegung des Analog Switch}{Pinbelegung des Analog Switch \cite{ti:ts5a22364}}{0.75\textwidth}{Schuh/Pictures/audio-switch-pinning} + +\tab{audio-switch-pins}{Pinbelegung des Analog Switch}{Pinbelegung des Analog Switch \cite{ti:ts5a22364}}{|c|c|p{10cm}|}{ + \hline + \textbf{Name} & \textbf{Pin} & \textbf{Beschreibung}\\ + \hline + VCC & 1 & Power Supply\\ + \hline + NO1 & 2 & Normally Open (NO) signal path, Switch 1\\ + \hline + COM1 & 3 & Common signal path, Switch 1\\ + \hline + NC1 & 4 & Normally Closed (NC) signal path, Switch 1\\ + \hline + IN1 & 5 & Digital control pin to connect COM1 to NO1 or NC1, Switch 1\\ + \hline + GND & 6 & Ground\\ + \hline + IN2 & 7 & Digital control pin to connect COM2 to NO2 or NC2, Switch 2\\ + \hline + NC2 & 8 & Normally Closed (NC) signal path, Switch 2\\ + \hline + COM2 & 9 & Common signal path, Switch 2\\ + \hline + NO2 & 10 & Normally Open (NO) signal path, Switch 2\\ + \hline +} + +\fig{audio-switch-bsb}{Funktionsblockschaltbild des Analog Switch}{Funktionsblockschaltbild des Analog Switch \cite{ti:ts5a22364}}{0.75\textwidth}{Schuh/Pictures/audio-switch-bsb} + +Die zwei Audioquellen auf der linken Seite stellen die Eingänge des Audioadapters (Klinke und Cinch) dar. Der Lautsprecher stellt den Ausgang dar, und wiedergibt je nach Input Select eine der beiden Audioquellen. Der interne Shunt Switch verhindert \enquote{Click and Pop} beim Umschalten zwischen den Audioquellen. Der Input Select wurde mit einem Jumper zum Wechseln zwischen GND und VCC realisiert. Welche Jumperstellung welchen Eingang durchschaltet ist auf dem Audioadapter beschrieben und wird hier nochmal mit den nächsten beiden Abbildungen dargestellt. + +Die in \fref{fig:audio-switch-jmp-chinch} gezeigte Jumperstellung verbindet die miteinander verbundenen IN-Pins mit VCC und der Cincheingang wird durchgeschaltet. +Die in \fref{fig:audio-switch-jmp-klinke} gezeigte Jumperstellung verbindet die IN-Pins mit GND und der Klinkeneingang wird durchgeschaltet. + +\begin{figure}[htb] + \centering + \subfloat[Chinch\label{fig:audio-switch-jmp-chinch}]{\includegraphics[width=.4\linewidth]{Schuh/Pictures/audio-switch-jmp-chinch}}\qquad + \subfloat[Klinke\label{fig:audio-switch-jmp-klinke}]{\includegraphics[width=.4\linewidth]{Schuh/Pictures/audio-switch-jmp-klinke}}\qquad + \caption{Analog Switch Jumperpositionen} + \label{fig:audio-switch-jmp} +\end{figure} + +\fig{audio-switch-schem}{Schematic des Analog Switch}{Schematic des Analog Switch}{\textwidth}{Schuh/Pictures/audio-switch-schem} + +\FloatBarrier +Zum Testen des analogen Switches wurde jeweils an einem Kanal der Cincheingänge und an einem Kanal des Klinkeneingangs ein Signal angelegt. Am Cincheingang liegt ein \unit{300}{\milli\volt} Sinussignal mit \unit{1}{\kilo\hertz} an (\fref{fig:audio-switch-oszi1}: gelbes, oberstes Signal). Am Klinkeneingang liegt ein \unit{300}{\milli\volt} Sinussignal mit \unit{2}{\kilo\hertz} an (\fref{fig:audio-switch-oszi1}: blaues, mittleres Signal). + +\fig{audio-switch-oszi1}{Eingangssignale am Analog Switch}{Eingangssignale am Analog Switch}{0.75\textwidth}{Schuh/Pictures/audio-switch-oszi1} + +Das Ausgangssignal ist in den folgenden Abbildungen als unterstes Signal beim Oszilloskop zu sehen. Die Eingangssignale schauen am Oszilloskop, vermutlich durch das Verwenden der T-Stücke am Frequenzgenerator, etwas verrauscht aus. Als erstes wurde der Jumper J1 auf \enquote{Chinch} umgesteckt. + +\fig{audio-switch-oszi2}{Cincheingang am Analog Switch durchgeschaltet}{Cincheingang am Analog Switch durchgeschaltet}{0.75\textwidth}{Schuh/Pictures/audio-switch-oszi2} + +Das Signal am Klinkeneingang wird über den internen Shunt Switch gegen Masse geschaltet. Das Signal vom Cincheingang wird durchgeschaltet und kommt am Ausgang wieder heraus, siehe \fref{fig:audio-switch-oszi2}. Danach wurde der Jumper auf \enquote{Klinke} umgesteckt. + +\fig{audio-switch-oszi3}{Klinkeneingang am Analog Switch durchgeschaltet}{Klinkeneingang am Analog Switch durchgeschaltet}{0.75\textwidth}{Schuh/Pictures/audio-switch-oszi3} + +Nun wurde das Signal am Cincheingang über den internen Shunt Switch gegen Masse geschaltet. Das Signal vom Klinkeneingang wird durchgeschaltet und kommt am Ausgang wieder heraus, siehe \fref{fig:audio-switch-oszi3}. + +\subsubsection{Ein- und Ausgänge} +Es stehen zum Anschließen einer Audioquelle ein Cinch-Eingang und ein Klinken-Eingang zur Verfügung. Die Ausgabe erfolgt ebenfalls entweder über Cinch oder Klinke. + +\begin{figure}[htb] + \centering + \subfloat[Frontansicht\label{fig:audio-io-front}]{\includegraphics[width=.4\linewidth]{Schuh/Pictures/audio-io-front}}\qquad + \subfloat[Draufsicht\label{fig:audio-io-up}]{\includegraphics[width=.4\linewidth]{Schuh/Pictures/audio-io-up}}\qquad + \caption{Audioplatine Ein- und Ausgänge} + \label{fig:audio-io} +\end{figure} + +Die Eingänge befinden sich in der Frontansicht (\fref{fig:audio-io-front}) auf der linken Seite und in der Draufsicht (\fref{fig:audio-io-up}) auf der rechten Seite. Sie sind auf der Platine zusätzlich mit \enquote{IN} beschriftet. Bei den Cinchbuchsen ist die rote Buchse der rechte Kanal und die weiße Buchse der linke Kanal. + +Die Ausgänge befinden sich in der Frontansicht (\fref{fig:audio-io-front}) auf der rechten Seite und in der Draufsicht (\fref{fig:audio-io-up}) auf der linken Seite. Sie sind auf der Platine zusätzlich mit \enquote{OUT} beschriftet. Hier ist ebenfalls bei den Cinchbuchsen die rote Buchse der rechte Kanal und die weiße Buchse der linke Kanal. + +\subsubsection{Schnittstelle zur \gls{Basisplatine}} +Der Audioadapter wird über die Schnittstelle (\fref{fig:audio-conn}: J2) mit der \gls{Basisplatine} verbunden. Die Spannungsversorgungen \unit{+3,3}{\volt} und \unit{+5}{\volt} werden von der \gls{Basisplatine} zur Verfügungen gestellt, wobei nur die \unit{+3,3}{\volt} verwendet werden. + +\fig{audio-conn}{Schnittstelle zur Basisplatine}{Schnittstelle zur \gls{Basisplatine}}{\textwidth}{Schuh/Pictures/audio-conn} + +\tab{audio-conn}{Schnittstelle zur Basisplatine}{Schnittstelle zur \gls{Basisplatine}}{|c|c|p{10cm}|}{ + \hline + \textbf{Pin} & \textbf{NAme} & \textbf{Beschreibung}\\ + \hline + 1 & \unit{+5}{\volt} &\\ + \hline + 2 & \unit{+3,3}{\volt}D & Versorgung für Audiocodec und Analog Switch\\ + \hline + 3 & PB6 = I2C\_SCLK & \IIC{}1, SCLK-Leitung; Taktleitung von \IIC{}1-Interface + Pull-Up\\ + \hline + 4 & PB7 = I2C\_SDIN & \IIC{}1, SDIN-Leitung; Datenleitung von \IIC{}1-Interface + Pull-Up\\ + \hline + 5 & PA4 = I2S\_LRCIN & \IIS{}3, LRCIN; Left-Right-Clock-IN-Leitung von \IIS{}3-Interface\\ + \hline + 6 & PC10 = I2S\_BCLK & \IIS{}3, BCLK; Bit-Clock-Leitung von \IIS{}3-Interface\\ + \hline + 7 & PC12 = I2S\_DIN & \IIS{}3, SIN; Serial-Data-IN-Leitung von \IIS{}3-Interface\\ + \hline + 8 & PB12 = I2S\_LRCOUT & \IIS{}2, LRCOUT; Left-Right-Clock-OUT-Leitung von \IIS{}2-Interface\\ + \hline + 9 & PB13 = I2S\_BCLK & \IIS{}2, BCLK; Bit-Clock-Leitung von \IIS{}2-Interface\\ + \hline + 10 & PB15 = I2S\_DOUT & \IIS{}2, DOUT; Serial-Data-OUT-Leitung von \IIS{}2-Interface\\ + \hline + 11 & PC6 & Not connected\\ + \hline + 12 & DGND & Masse für den Audioadapter\\ + \hline +} + +\begin{warning} + Hinweis: Die Bezeichnungen sind immer aus der Sicht des Audiocodecs (bzw. des Audioadapters) beschrieben. I2S\_DIN sind also die Daten, die der Audiocodec \textbf{empfängt}. +\end{warning} + +\subsubsection{Layout} +In \fref{fig:audio-layout} ist das fertige Layout und die Abmessungen der Platine dargestellt. Geroutet wurde nur am Toplayer (rot) und am Bottomlayer (blau). Die zwei inneren Layer der 4-fach Multilayer Platine sind eine Masse- und eine Versorgungsfläche, jeweils unterteilt in Digital- und Analogteil. + +\fig{audio-layout}{Fertig geroutetes Layout}{Fertig geroutetes Layout}{\textwidth}{Schuh/Pictures/audio-layout} + +\subsubsection{Trennung von digitalen und anlaogen Signalen} +Da der Audiocodec eine analoge und digitale Versorgung hat, sollten sowohl die Versorgungsspannung VCC von \unit{+3,3}{\volt}, als auch die Masse GND in einen digitalen und analogen Teil getrennt werden. Dadurch soll der Analogteil vom Digitalteil entkoppelt werden, um z.B. Störungen durch digitale Schaltvorgänge vom Analogteil fernzuhalten. Wichtig ist, dass der analoge Teil und der digitale Teil räumlich möglichst gut getrennt sind und die Massefläche bzw. die Versorgungsfläche möglichst durchgehend ist, was bei einer Multilayerplatine kein Problem darstellt. Außerdem sollten analoge Signale, also die Audiosignale, über dem analogen Teil geführt werden. Digitale Signale, wie z.B. verschiedene Takte und Steuersignale, sollten über dem digitalen Teil geführt werden. + +\fig{audio-layout-trennung}{GND Layer unterteilt in Analog- und Digitalteil}{GND Layer unterteilt in Analog- und Digitalteil}{\textwidth}{Schuh/Pictures/audio-layout-trennung} +\fig{audio-layout-trennung2}{VCC Layer unterteilt in Analog- und Digitalteil}{VCC Layer unterteilt in Analog- und Digitalteil}{\textwidth}{Schuh/Pictures/audio-layout-trennung2} + +Die GND- und VCC-Kupferflächen sind durch eine Unterbrechung getrennt. Die Unterbrechung wird in \fref{fig:audio-layout-trennung} von der grünen bzw. roten (\fref{fig:audio-layout-trennung2}) Linie, die quer durch die Platine verläuft, dargestellt. Die Layer-Einstellungen können in Altium Designer 14.3 unter \texttt{Design} $\rightarrow$ \texttt{Layer Stack Manager} vorgenommen werden. + +\fig{audio-layout-trennung3}{Altium: Layer Stack Manager}{Altium: Layer Stack Manager}{\textwidth}{Schuh/Pictures/audio-layout-trennung3} + +Im Layer Stack Manager (\fref{fig:audio-layout-trennung3}) sieht man die zwei Signal-Layer (Top Layer und Bottom Layer) und die zwei internen Flächen bzw. Internal Planes (GND-Plane und VCC-Plane). + +Die analoge und digitale Versorgungsspannung wird normalerweise durch eine Spule bzw. durch eine Ferritperle an einem Punkt verbunden. Auch die analoge und digitale Masse wird getrennt und an einem Punkt verbunden. Es wurden dafür mehrere Stellen vorgesehen. Die Verbindung erfolgt durch das Einlöten eines 0 $\Omega$ Widerstands. Eventuell führt das Verwenden einer Ferritperle zu noch besseren Ergebnissen. An welcher Stelle und mit welchem Bauteil (0 $\Omega$ Widerstand oder Ferritperle) die Trennung zwischen Analogteil und Digitalteil zum besten Ergebnis führt, müsste durch Messen getestet werden, was allerdings nicht geschah. + +\subsubsection{Bestückungsplan} +\fig{audio-best-top}{Bestückungsplan Top}{Bestückungsplan Top}{\textwidth}{Schuh/Pictures/audio-best-top} +\fig{audio-best-bottom}{Bestückungsplan Bottom}{Bestückungsplan Bottom}{\textwidth}{Schuh/Pictures/audio-best-bottom} + +\subsubsection{Baugruppen} +In \fref{fig:audio-bau-schem} ist eine Übersicht der wichtigsten Baugruppen des Audioadapters dargestellt und in \fref{fig:audio-bau-schem} der fertigbestückte Audioadapter. + +\fig{audio-bau-schem}{Übersicht Baugruppen}{Übersicht Baugruppen}{\textwidth}{Schuh/Pictures/audio-bau-schem} +\fig{audio-bau-bild}{Fertige Audioplatine}{Fertige Audioplatine}{\textwidth}{Schuh/Pictures/audio-bau-bild} + +\subsubsection{Testen des Audioadapters mit dem FPGA Board Basys2} +Der erste Test des Audioadapters wurde mit dem FPGA Board Basys2 durchgeführt. Da es für diesen Audiocodec bereits eine fertige VHDL Anwendung gibt, musste nur noch eine Adapterplatine gelötet und die Ausgänge im \texttt{.ucf} File geändert werden. + +\subsubsection{Basys2 Adapterplatine} +Um eine kompakte Adapterplatine zu löten wurden die benötigen Ein-/Ausgänge im \texttt{top\_audio\_proc1.ucf} File vom VHDL Projekt \enquote{audiocodec.xise} auf die ersten zwei Stecker (JA und JB) gelegt, siehe \fref{lst:audio-ucf}. + +\lstinputlisting[language={VHDL}, caption=User-Constraints für audiocodec.xise, label=lst:audio-ucf]{Schuh/Listings/top_audio_proc1.ucf} + +Die Adapterplatine wurde nachfolgender Schaltung gelötet, wobei hier nur die zwei relevanten Stecker (JA und JB) gezeichnet wurden. + +\fig{audio-fpga-schem}{Schematic FPGA Adapterplatine}{Schematic FPGA Adapterplatine}{\textwidth}{Schuh/Pictures/audio-fpga-schem} + +\subsubsection{Testaufbau} +\fig{audio-fpga-test}{Testaufbau mit FPGA Board}{Testaufbau mit FPGA Board}{0.75\textwidth}{Schuh/Pictures/audio-fpga-test} + +Nach dem Einschalten des FPGA-Boards muss der Button \texttt{0} gedrückt werden, damit der Audiocodec initialisiert wird. Die Schalter \texttt{0} und \texttt{1} müssen für eine Verstärkung von \unit{0}{\deci\bel} beide auf \enquote{low} sein. + +\subsubsection{Messergebnisse} +Zum Testen wurde an einem Kanal ein Sinus mit einer Frequenz von \unit{1}{\kilo\hertz} und einer Spannung von \unit{500}{\milli\volt}$_{pp}$ angelegt (\fref{fig:audio-mess-oszi1}: gelbes Signal). Der Audiocodec wurde so konfiguriert, dass die Verstärkung \unit{0}{\deci\bel} ist. Am Ausgang kommt wieder dasselbe Signal heraus (\fref{fig:audio-mess-oszi1}: blaues Signal). + +\fig{audio-mess-oszi1}{Messung des Ein-/Ausgangssignal}{Messung des Ein-/Ausgangssignal}{0.75\textwidth}{Schuh/Pictures/audio-mess-oszi1} + +Danach wurde die Verstärkung des Audiocodecs getestet. Dazu wurde der Schalter \texttt{0} auf \enquote{high} umgestellt. Beim erneuten Konfigurieren wurden die Register \enquote{left (\& right) line input channel volume control} auf eine Verstärkung von \unit{6}{\deci\bel} eingestellt. Das Ausgangssignal war doppelt so groß wie das Eingangssignal, siehe \fref{fig:audio-mess-oszi2}. + +\fig{audio-mess-oszi2}{Messung der Verstärkung x2}{Messung der Verstärkung x2}{0.75\textwidth}{Schuh/Pictures/audio-mess-oszi2} + +Außerdem wurde noch ermittelt, wie weit der \gls{DAC} vom Audiocodec aussteuern kann. Dazu wurde der Audiocodec so konfiguriert, dass die Verstärkung \unit{18}{\deci\bel}, also den Faktor 8 beträgt. Das Eingangssignal wurde nun so lange erhöht, bis das Ausgangsignal abgeschnitten wurde. Dies war bei einem Eingangssignal von \unit{450}{\milli\volt}$_{pp}$ der Fall. Das Ausgangssignal wurde erst bei etwa \unit{3,4}{\volt}$_{pp}$ abgeschnitten. Es kann also die gesamte Versorgungsspannung von \unit{3,3}{\volt} ausgenutzt werden, siehe \fref{fig:audio-mess-oszi3}. + +\fig{audio-mess-oszi3}{Abgeschnittenes Ausgangssignal}{Abgeschnittenes Ausgangssignal}{0.75\textwidth}{Schuh/Pictures/audio-mess-oszi3} + +\subsection{Testen der Audioadapterplatine am \gls{Minimalsystem}} +Beim Testen mit dem \gls{ARM} \gls{Minimalsystem} wurden sowohl die Cincheingänge (links und rechts), als auch der Klinkeneingang getestet. Als Eingang wurde ein Sinussignal mit \unit{500}{\milli\volt}$_{pp}$ mit einer Frequenz von \unit{1}{\kilo\hertz} eingespeist. Das Eingangssignal ist in \fref{fig:audio-mini-oszi} auf Kanal 1 (gelb) zu sehen. Das Ausgangssignal ist auf Kanal 2 (blau) zu sehen. Die Register wurden so konfiguriert, dass die Verstärkung \unit{0}{\deci\bel} (x1) beträgt. \fref{fig:audio-mini-oszi} zeigt die Messung, bei dem das Signal beim linken Cincheingang angeschlossen wurde und wieder am linken Cinchausgang gemessen wurde. + +\fig{audio-mini-oszi}{Messung mit Minimalsystem}{Messung mit Minimalsystem}{0.75\textwidth}{Schuh/Pictures/audio-mini-oszi} + +Die Messungen, bei denen das Signal bei einem anderen Eingang angeschlossen wurde, ergaben dasselbe Ergebnis. + +\subsection{Messung der alten und neuen Audioplatine} +\subsubsection{Wichtige Eigenschaften von ADCs und DACs} +Im Folgenden werden wichtige Eigenschaften von \gls{ADC}s und \gls{DAC}s näher erläutert. Die Eigenschaften, die hier angeführt werden, wurden bei der \enquote{alten} und bei der \enquote{neuen} Audioplatine mit dem UPV-Audioanalyzer (\fref{sec:audio-messgerät}) gemessen. + +\subsubsubsection{SNR - Signal to Noise Ratio} +Das Signal zu Rausch Verhältnis beschreibt das Verhältnis zwischen der RMS Amplitude des Ausgangssignals zur RMS Amplitude des Rauschens. Die ersten 9 harmonischen Schwingungen werden nicht in die Berechnung mit einbezogen. + +\eq{audio-snr-1}{ + SNR = 20 * log(\frac{Signalleistung}{Rauschleistung}) +} + +Bei einer Signalamplitude von \unit{1}{\volt} und einer durchschnittlichen Rauschamplitude von \unit{1}{\milli\volt} würde das folgendes S/N Verhältnis ergeben: + +\eq{audio-snr-2}{ + SNR = 20 * log(\frac{\unit{1}{\volt}}{\unit{1}{\milli\volt}}) = \unit{60}{\deci\bel} +} + +Der ideale Signal zu Rausch Abstand lässt sich ungefähr mit folgender Formel berechnen, wobei n die Anzahl der Bit (Auflösung) angibt. + +\eq{audio-snr-2}{ + SNR_{ideal} = \unit{6,02}{\deci\bel} * n - \unit{1,76}{\deci\bel} +} + +\subsubsubsection{Klirrfaktor (THD - Total Harmonic Distortion)} +Die Total Harmonic Distortion (= gesamte harmonische Verzerrung) bzw. der Klirrfaktor beschreibt das Verhältnis der summierten Leistungen der Oberschwingungen zur Leistung der Grundschwingung. + +\fig{audio-thd-schem}{reines Sinussignal}{reines Sinussignal}{0.75\textwidth}{Schuh/Pictures/audio-thd-schem} + +Eine reine Sinusschwingung mit der Frequenz f1 ergibt folgendes das Spektrum, welches in \fref{fig:audio-thd-spec} zu sehen ist. Es ist nur die Frequenz f1 vorhanden und es gibt keine Oberschwingungen. + +\fig{audio-thd-spec}{Spektrum ohne Harmonische}{Spektrum ohne Harmonische}{0.75\textwidth}{Schuh/Pictures/audio-thd-spec} + +\fig{audio-thd-schem2}{Analog-Digital gewandeltes Sinussignal}{Analog-Digital gewandeltes Sinussignal}{0.75\textwidth}{Schuh/Pictures/audio-thd-schem2} + +Wird das reine Sinussignal nun mit einem Analog-Digital Konverter umgewandelt (\fref{fig:audio-thd-schem2}) ergeben sich harmonische Schwingungen, die im Spektrum aussehen, wie in \fref{fig:audio-thd-spec2} gezeigt. + +\fig{audio-thd-spec2}{Spektrum mit Harmonischen}{Spektrum mit Harmonischen}{0.75\textwidth}{Schuh/Pictures/audio-thd-spec2} + +\FloatBarrier +Wie im vorherigen Spektrum ist wieder das Grundsignal f1 (in grün) zu erkennen. Die weiteren Frequenzen f2 bis f9 (in rot und gelb) sind harmonische Schwingungen. Zur Berechnung der THD werden allerdings nur die ersten 6 harmonischen Schwingungen (in rot) benötigt. + +Allgemein werden nichtlineare Verzerrungen in Prozent (Klirrfaktor k) oder in dB (Klirrdämpfung ak) angegeben. + +\eq{audio-thd-1}{ + THD = \frac{\sqrt{v^2(f_2) + v^2(f_3) + \dots + v^2(f_7)}}{v(f_1)} +} + +Das Umrechnen von dB in Prozent bzw. von Prozent in dB erfolgt mit folgenden Formeln: + +\eq{audio-thd-2}{ + k(\%) = 100 * 10^{\frac{a_k(dB)}{20}} +} + +\eq{audio-thd-3}{ + a_{k}(dB) = 20 * \log_{10}(\frac{k(\%)}{100}) +} + +ak(dB) muss bei der Umrechnung als negativer Wert eingesetzt werden. Das Verhältnis zwischen Klirrfaktor und Klirrdämpfung wird in der folgenden Tabelle dargestellt. + +\tab{audio-thd-ratio}{Verhältnis zwischen Klirrfaktor und Klirrdämpfung}{Verhältnis zwischen Klirrfaktor und Klirrdämpfung}{|c|c|}{ + \hline + \textbf{Klirrfaktor [\%]} & \textbf{Klirrdämpfung [dB]}\\ + \hline + 100 & 0\\ + \hline + 10 & -20\\ + \hline + 1 & -40\\ + \hline + 0,1 & -60\\ + \hline +} + +\subsubsubsection{SFDR - Spurious Free Dynamic Range} +SFDR (\enquote{störungsfreier dynamischer Bereich}) ist der Abstand der größten Störung zur Grundschwingung. Die größte Störung kann sowohl eine harmonische Schwingung (wie in der Abbildung dargestellt), als auch Rauschen sein. In \fref{fig:audio-sfdr} sieht man den störungsfreien dynamischen Bereich im Spektrum eingezeichnet. + +\fig{audio-sfdr}{Spurious Free Dynamic Range}{Spurious Free Dynamic Range}{0.75\textwidth}{Schuh/Pictures/audio-sfdr} + +\subsubsubsection{SINAD - Signal to Noise and Distortion} +SINAD ist eine Kombination aus den beiden vorherigen Eigenschaften, SNR und THD. Es beschreibt das Verhältnis zwischen der RMS Amplitude des Ausgangssignals zur RMS Amplitude aller anderen Pegel (Rauschen + Harmonische), ausgenommen Gleichspannung. SINAD wird in dB angegeben und kann mit folgender Formel berechnet werden. + +\eq{audio-sinad}{ + SINAD = 20 * \log{\sqrt{10^{-\frac{SNR}{10}} + 10^{\frac{THD}{10}}}} +} + +\subsubsubsection{ENOB - Effective Number of Bits} +ENOB beschreibt die tatsächliche Auflösung eines \gls{ADC}s bzw. \gls{DAC}s. Zum Beispiel kann ein \gls{ADC} mit 16 Bit Auflösung durch Verzerrungen und Rauschen eine tatsächliche Auflösung von nur 12 Bit haben. + +Die ENOB kann aus der zuvor berechneten SINAD berechnet werden: + +\eq{audio-enob}{ + ENOB = \frac{SINAD - \unit{1,7}{\deci\bel}}{\unit{6,02}{\deci\bel}} +} + +\subsubsection{Messgerät} +\label{sec:audio-messgerät} +Um die Qualität des alten und neuen Audioadapters zu vergleichen, wurden verschiedene Eigenschaften gemessen. Die Messungen wurden mit einem UPV Audioanalyzer von Rohde \& Schwarz durchgeführt. + +\fig{audio-messgerat1}{UPV Audio Analyzer von Rhode \& Schwarz}{UPV Audio Analyzer von Rhode \& Schwarz}{0.75\textwidth}{Schuh/Pictures/audio-messgerat1} + +Mit diesem Messgerät sind zahlreiche Audiomessungen möglich. Der Startbildschirm ist in \fref{fig:audio-messgerat2} dargestellt. + +\fig{audio-messgerat2}{UPV Audio Analyzer Startbildschirm}{UPV Audio Analyzer Startbildschirm}{0.75\textwidth}{Schuh/Pictures/audio-messgerat2} + +In den Fenstern \enquote{Generator Config} und \enquote{Generator Function} können die Einstellungen für das Signal, das beim Audioadapter eingespeist wird, eingestellt werden. Dazu gehören unter anderem die Spannung, die Frequenz, die Signalform und Funktionen wie Frequenzsweep. In den Fenstern \enquote{Analyzer Config} und \enquote{Analyzer Function} wird eingestellt, was gemessen werden soll und wie gemessen wird. Unter den Funktionen kann z.B. THD, SNR, FFT, SINAD und vieles mehr eingestellt werden. Außerdem können diverse Filter, wie z.B. das A-Weighting Filter, das bei der SNR Messung benötigt wurde, eingestellt werden. Im \enquote{Numeric Display} werden die Generatorspannung und das Messergebnis angezeigt. Die Messergebnisse können auch grafisch dargestellt werden, wie bei den folgenden Messergebnissen zu sehen ist. + +\subsubsection{Messergebnisse des alten und neuen Audioadapters} +\label{sec:audio-messergebnisse} +In der Tabelle ist der Klirrfaktor des alten und des Audioadapters bei verschiedenen Eingangsspannungen vergleichbar. Die Messungen wurden bei einer Frequenz von \unit{1}{\kilo\hertz} durchgeführt. Die Eingangsspannung wurde bei dieser und allen folgenden Messungen von \unit{200}{\milli\volt}$_{RMS}$ bis \unit{900}{\milli\volt}$_{RMS}$ in \unit{100}{\milli\volt}-Schritten erhöht. + +\tab{audio-messergebnisse-thd}{Messergebnisse Klirrfaktor}{Messergebnisse Klirrfaktor}{|c|c|c|c|c|}{ + \hline + & \multicolumn{2}{|c|}{alter Audioadapter} & \multicolumn{2}{|c|}{neuer Audioadapter}\\ + \hline + $U_{gen}$ [\milli\volt$_{RMS}$] & THD [dB] & THD [\%] & THD [dB] & THD [\%]\\ + \hline + \hline + 200 & -29,4 & 9,687 & -77,7 & 0,013\\ + \hline + 300 & -28,8 & 10,160 & -77,9 & 0,013\\ + \hline + 400 & -29,5 & 9,611 & -76,8 & 0,014\\ + \hline + 500 & -29,4 & 9,687 & -77,0 & 0,014\\ + \hline + 600 & -28,4 & 10,488 & -79,5 & 0,011\\ + \hline + 700 & -28,3 & 10,572 & -81,4 & 0,009\\ + \hline + 800 & -28,4 & 10,488 & -83,4 & 0,007\\ + \hline + 900 & -27,8 & 11,000 & -83,9 & 0,006\\ + \hline +} + +Normalerweise erhöht sich der Abstand zwischen der Grundschwingung und den harmonischen Schwingungen mit zunehmender Eingangsspannung (solange die Klippgrenze nicht erreicht bzw. überschritten wird). Bei den Ergebnissen des alten Audioadapters ist dies nicht der Fall. Der Klirrfaktor bleibt über den gesamten Eingangsspannungsbereich ähnlich. \fref{fig:audio-messergebnisse-thdold} ist der Klirrfaktor des alten Audioadapters bei einer Eingangsspannung von \unit{900}{\milli\volt}$_{RMS}$ mit einer Frequenz von \unit{1}{\kilo\hertz} grafisch dargestellt. Außerdem wird mit dem Marker der Abstand zur höchsten harmonischen Schwingung, also SFDR, markiert. In \fref{fig:audio-messergebnisse-thdnew} wird der Klirrfaktor des neuen Audioadapters bei der gleichen Eingangsspannung grafisch dargestellt. Außerdem wird wieder SFDR mit dem Marker angezeigt. Der Vergleich zeigt einen deutlich höheren Klirrfaktor des \enquote{alten} Audioadapters, verglichen mit dem \enquote{neuen} Audioadapter. Aus der vorherigen Messtabelle sind folgende Werte für THD bei einer Eingangsspannung von \unit{900}{\milli\volt}$_{RMS}$ zu entnehmen: + +\tab{audio-messergebnisse-thd900}{Messergebnisse Klirrfaktor bei \unit{900}{\milli\volt}$_{RMS}$}{Messergebnisse Klirrfaktor bei \unit{900}{\milli\volt}$_{RMS}$}{|c|c|c|}{ + \hline + $U_{gen}$ [\milli\volt$_{RMS}$] & THD alt [dB] & THD neu [dB]\\ + \hline + 900 & -27,8 & -83,9\\ + \hline +} + +Die höchste Störung liegt beim \enquote{alten} Audioadapter bei \unit{2}{\kilo\hertz} nur \unit{28,243}{\deci\bel} unter der Grundschwingung, während beim \enquote{neuen} Audioadapter die größte Störung bei \unit{6}{\kilo\hertz} \unit{86,288}{\deci\bel} unter der Grundschwingung liegt. + +\fig{audio-messergebnisse-thdold}{THD \& SFDR des alten Audioadapters ($U_{ein}$ = \unit{900}{\milli\volt})}{THD \& SFDR des alten Audioadapters ($U_{ein}$ = \unit{900}{\milli\volt})}{0.75\textwidth}{Schuh/Pictures/audio-messergebnisse-thdold} +\fig{audio-messergebnisse-thdnew}{THD \& SFDR des neuen Audioadapters ($U_{ein}$ = \unit{900}{\milli\volt})}{THD \& SFDR des neuen Audioadapters ($U_{ein}$ = \unit{900}{\milli\volt})}{0.75\textwidth}{Schuh/Pictures/audio-messergebnisse-thdnew} + +\subsubsubsection{SNR} +In der Tabelle ist der Signal-zu-Rausch-Abstand des alten und neuen Audioadapters bei verschiedenen Eingangsspannungen gegenübergestellt. Die Frequenz, mit der gemessen wurde, beträgt \unit{1}{\kilo\hertz}. Außerdem wurde ein A-Weighting Filter verwendet, der beim UPV Audioanalyzer im Fenster \enquote{Analyzer Function} eingestellt wurde. + +\tab{audio-messergebnisse-snr}{Messergebnisse Signal-Rausch-Abstand}{Messergebnisse Signal-Rausch-Abstand}{|c|c|c|}{ + \hline + & alter Audioadapter & neuer Audioadapter\\ + \hline + $U_{gen}$ [\milli\volt$_{RMS}$] & SNR [dB] & SNR [dB]\\ + \hline + 200 & 71,3 & 69,4\\ + \hline + 300 & 74,7 & 69,4\\ + \hline + 400 & 76,9 & 75,7\\ + \hline + 500 & 78,6 & 77,4\\ + \hline + 600 & 80,1 & 79,2\\ + \hline + 700 & 81,4 & 80,1\\ + \hline + 800 & 82,7 & 81,7\\ + \hline + 900 & 84,0 & 82,5\\ + \hline +} + +Bei den Ergebnissen ist zu erkennen, dass der Signal-zu-Rausch-Abstand bei der alten Audioplatine minimal besser ist. Mit der Analyzer Funktion FFT ist in den folgenden zwei Abbildungen das Spektrum dargestellt. Im Spektrum sind sowohl die harmonischen Schwingungen, als auch das Rauschen zu sehen. + +\fig{audio-messergebnisse-snrold}{FFT des alten Audioadapters ($U_{ein}$ = \unit{900}{\milli\volt})}{FFT des alten Audioadapters ($U_{ein}$ = \unit{900}{\milli\volt})}{0.75\textwidth}{Schuh/Pictures/audio-messergebnisse-snrold} +\fig{audio-messergebnisse-snrnew}{FFT des neuen Audioadapters ($U_{ein}$ = \unit{900}{\milli\volt})}{FFT des neuen Audioadapters ($U_{ein}$ = \unit{900}{\milli\volt})}{0.75\textwidth}{Schuh/Pictures/audio-messergebnisse-snrnew} + +\subsubsubsection{SINAD \& ENOB} + +\tab{audio-messergebnisse-enob}{Messergebnisse SINAD \& ENOB}{Messergebnisse SINAD \& ENOB}{|p{0.13\textwidth}|p{0.13\textwidth}|p{0.13\textwidth}|p{0.13\textwidth}|p{0.13\textwidth}|p{0.13\textwidth}|p{0.13\textwidth}|}{ + \hline + & \multicolumn{3}{|c|}{alter Audioadapter} & \multicolumn{3}{|c|}{neuer Audioadapter}\\ + \hline + $U_{gen}$ [\milli\volt$_{RMS}$] & SINAD [dB] gemessen & SINAD [dB] berechnet & ENOB berechnet & SINAD [dB] gemessen & SINAD [dB] berechnet & ENOB berechnet\\ + \hline + \hline + 200 & 22,2 & 29,4 & 3 & 68,7 & 68,80 & 11\\ + \hline + 300 & 25,8 & 28,8 & 4 & 69,8 & 68,83 & 11\\ + \hline + 400 & 22,3 & 29,5 & 3 & 70,1 & 73,20 & 11\\ + \hline + 500 & 22,9 & 29,4 & 3 & 72,3 & 74,19 & 11\\ + \hline + 600 & 22,3 & 28,4 & 3 & 74,5 & 76,34 & 12\\ + \hline + 700 & 22,9 & 28,3 & 3 & 76,0 & 77,69 & 12\\ + \hline + 800 & 22,9 & 28,4 & 3 & 77,0 & 79,46 & 12\\ + \hline + 900 & 23,8 & 27,8 & 3 & 77,8 & 80,13 & 12\\ + \hline +} + +In der Tabelle ist SINAD gemessen und berechnet zu sehen. Auf Grund der hohen harmonischen Störungen beim alten Audioadapter ergibt sich für SINAD ein schlechter Wert. Außerdem wurde aus SINAD die effektive Bitanzahl (ENOB) berechnet. Dieser Wert muss abgerundet werden (z.B. 12,5 Bit $\rightarrow$ 12 Bit). Dies würde beim alten Audioadapter theoretisch ein ENOB von 3 bis 4 ergeben, da sich die harmonischen Störungen stark auf die Berechnung auswirken. Dieser Wert ist allerdings nicht realistisch, da man diese geringe Auflösung beim Signal im Zeitbereich wahrnehmen würde (stufenförmiges Signal). Die ENOB des neuen Audioadapters ergibt einen Wert von 11 bzw. 12 ab einer Eingangsspannung von \unit{600}{\milli\volt}$_{RMS}$. Dieser Wert ist durchaus realistisch. diff --git a/Schuh/Basisplatine.tex b/Schuh/Basisplatine.tex index 272823e..311545e 100644 --- a/Schuh/Basisplatine.tex +++ b/Schuh/Basisplatine.tex @@ -3,7 +3,7 @@ \todo[inline]{Bild einfügen} -\subsection{Allgemeines zur Basisplatine} +\subsection{Allgemeines} \label{sec:basisplatine-allgemeines} Die \gls{Basisplatine} dient dazu dem \gls{Core-Modul} eine umfangreiche, moderne und jederzeit erneuerbare Peripherie bereit zu stellen, um verschiedene Anwendungskonzepte schnell und einfach evaluieren zu können. Darüber hinaus soll mit Hilfe der \gls{Basisplatine} eine Versorgung und Programmierung des \gls{Core-Modul}s möglich sein. Durch Verwendung des Arduino-Shield-Konnektors können alle am Markt verfügbaren Arduino-Shields verwendet werden, daher kann man jederzeit Hardwarekomponenten tauschen oder selbst entwickeln. @@ -174,7 +174,7 @@ Auf der \gls{Basisplatine} wurde ein aus zwölf RGB-LEDs bestehender Ring aufgeb \fig{basisplatine-ledring-timing}{RGB-LED Ring Timing Diagram}{RGB-LED Ring Timing Diagram}{\textwidth}{Schuh/Pictures/Basis-ledring-timing} \subsubsection{Sensor-Selektion} -Da der verbaute Prozessor zu wenig Portleitungen besitzt um alle Sensoren und Module mit einer eigenen Portleitung zu versorgen, werden einige Portleitungen mehrmals verwendet. Um nun einzelne Module oder Sensoren verwenden zu können, müssen diese einsprechend gejumpert werden. Eine dieser Stiftleisten ist der Header (\fref{fig:basisplatine-ssel}, X9), welches es ermöglicht zwischen einem Potentiometer (ADC), Piezo-Summer, einem LFU, einem Infrarotempfänger, einem Temperaturfühler und einem NE555 auszuwählen. +Da der verbaute Prozessor zu wenig Portleitungen besitzt um alle Sensoren und Module mit einer eigenen Portleitung zu versorgen, werden einige Portleitungen mehrmals verwendet. Um nun einzelne Module oder Sensoren verwenden zu können, müssen diese einsprechend gejumpert werden. Eine dieser Stiftleisten ist der Header (\fref{fig:basisplatine-ssel}, X9), welches es ermöglicht zwischen einem Potentiometer (\gls{ADC}), Piezo-Summer, einem LFU, einem Infrarotempfänger, einem Temperaturfühler und einem NE555 auszuwählen. Eine weitere dieser Stiftleisten ist der Header (\fref{fig:basisplatine-ssel2}, X11), welche es ermöglicht zwischen dem Beschleunigungssensor und dem EEPROM auszuwählen. @@ -187,7 +187,7 @@ Auf der \gls{Basisplatine} wurde ein Piezo-Summer (\fref{fig:basisplatine-piezo} \fig{basisplatine-piezo}{Piezo-Summer der Basisplatine}{Piezo-Summer der \gls{Basisplatine}}{0.5\textwidth}{Schuh/Pictures/Basis-piezo} \subsubsection{Potentiometer} -Es wurden zwei Potentiometer R9 und R4 hardwaremäßig auf der \gls{Basisplatine} vorgesehen. Diese sind direkt mit einem ADC-Eingang des Prozessors verbunden. Der Unterschied zwischen den Potentiometern R9 und R4 besteht darin, dass das Potentiometer R4 über einen Jumper auf der Stiftleiste (\fref{fig:basisplatine-poti2}, X40) aktiviert werden muss und dieses an einem anderen Port-Pin angeschlossen ist. Dieser Aufbau wurde deswegen gewählt da damit, damit an den ADC-Eingang auch optional ein anderes Signal angelegt werden kann. +Es wurden zwei Potentiometer R9 und R4 hardwaremäßig auf der \gls{Basisplatine} vorgesehen. Diese sind direkt mit einem \gls{ADC}-Eingang des Prozessors verbunden. Der Unterschied zwischen den Potentiometern R9 und R4 besteht darin, dass das Potentiometer R4 über einen Jumper auf der Stiftleiste (\fref{fig:basisplatine-poti2}, X40) aktiviert werden muss und dieses an einem anderen Port-Pin angeschlossen ist. Dieser Aufbau wurde deswegen gewählt da damit, damit an den \gls{ADC}-Eingang auch optional ein anderes Signal angelegt werden kann. \fig{basisplatine-poti1}{Potentiometer 1 der Basisplatine}{Potentiometer 1 der \gls{Basisplatine}}{0.5\textwidth}{Schuh/Pictures/Basis-poti1} \fig{basisplatine-poti2}{Potentiometer 2 der Basisplatine}{Potentiometer 2 der \gls{Basisplatine}}{0.5\textwidth}{Schuh/Pictures/Basis-poti2} diff --git a/Schuh/Core-Modul.tex b/Schuh/Core-Modul.tex index a6b4a4c..f62ed59 100644 --- a/Schuh/Core-Modul.tex +++ b/Schuh/Core-Modul.tex @@ -3,7 +3,7 @@ \todo[inline]{Bild einfügen} -\subsection{Allgemeines zum Core-Modul} +\subsection{Allgemeines} \label{sec:coremodul-allgemeines} Das \gls{Core-Modul} ist das Herzstück des gesamten \gls{ARM}-\gls{Minimalsystem}s, denn auf diesem befindet sich der Prozessor und alle Komponenten welche für den ordnungsmäßigen Betrieb erforderlich sind. Die einzelnen Port-Pins des Prozessors sind entweder direkt auf dem \gls{Core-Modul} verwendet oder über externe Anschlüsse nach außen geführt. Weiters verfügt das \gls{Core-Modul} über alle nötigen Programmierschnittstellen um unabhängig von der \gls{Basisplatine} oder anderen Programmierplatinen programmiert und verwendet werden zu können. Darüber hinaus kann mit der auf dem \gls{Core-Modul} befindlichen UART-Schnittstelle eine direkte Kommunikation mit anderen Modulen oder einem Terminal aufgebaut werden. @@ -34,7 +34,7 @@ Das \gls{Core-Modul} verfügt über die in \fref{tab:coremodul-schnittstellen} a Als Prozessor für das \gls{Core-Modul} wurde der \gls{cpu} von der Firma \gls{STM} verwendet. Die Key-Features werden in \fref{fig:coremodul-features} zusammengefasst. -\fig{coremodul-features}{Features des Prozessors}{Features des Prozessors \cite{stm:stm32f107rc}}{\textwidth}{Schuh/Pictures/Features} +\fig{coremodul-features}{Features des Prozessors}{Features des Prozessors \cite{stm:stm32f107rc-web}}{\textwidth}{Schuh/Pictures/Features} \subsubsection{Blockschaltbild} \fig{coremodul-cpubsb}{Blockschaltbild des Prozessors}{Blockschaltbild des Prozessors \cite{stm:stm32f107rc}}{0.8\textwidth}{Schuh/Pictures/BSB} @@ -50,28 +50,28 @@ Als Prozessor für das \gls{Core-Modul} wurde der \gls{cpu} von der Firma \gls{S \begin{table}[htb] \centering \includegraphics[width=0.8\textwidth]{Schuh/Pictures/Pinbelegung1} - \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors} + \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors \cite{stm:stm32f107rc}} \label{tab:coremodul-cpupins} \end{table} \begin{table}[htb]\ContinuedFloat \centering \includegraphics[width=0.8\textwidth]{Schuh/Pictures/Pinbelegung2} - \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors} + \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors \cite{stm:stm32f107rc}} \end{table} \begin{table}[htb]\ContinuedFloat \centering \includegraphics[width=0.8\textwidth]{Schuh/Pictures/Pinbelegung3} - \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors} + \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors \cite{stm:stm32f107rc}} \end{table} \begin{table}[htb]\ContinuedFloat \centering \includegraphics[width=0.8\textwidth]{Schuh/Pictures/Pinbelegung4} - \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors} + \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors \cite{stm:stm32f107rc}} \end{table} \begin{table}[htb]\ContinuedFloat \centering \includegraphics[width=0.8\textwidth]{Schuh/Pictures/Pinbelegung5} - \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors} + \caption[Pinbelegung des Prozessors]{Pinbelegung des Prozessors \cite{stm:stm32f107rc}} \end{table} \subsection{Portbelegungsplan} diff --git a/Schuh/Kosten.tex b/Schuh/Kosten.tex new file mode 100644 index 0000000..3036058 --- /dev/null +++ b/Schuh/Kosten.tex @@ -0,0 +1,66 @@ +\section{Stücklisten} +\label{sec:stücklisten} + +\subsection{Core-Modul} +\label{sec:stücklisten-core} +\tabpdf{stücklisten-core}{Stückliste Core-Modul}{Stückliste \gls{Core-Modul}}{0.8\textwidth}{Schuh/Pictures/stuck-core} + +\subsection{Basisplatine} +\label{sec:stücklisten-basis} +\begin{table}[htb] + \centering + \includegraphics[width=0.8\textwidth]{Schuh/Pictures/stuck-basis1} + \caption[Stückliste Basisplatine]{Stückliste \gls{Basisplatine}} + \label{tab:stücklisten-basis} +\end{table} +\begin{table}[htb]\ContinuedFloat + \centering + \includegraphics[width=0.8\textwidth]{Schuh/Pictures/stuck-basis2} + \caption[Stückliste Basisplatine]{Stückliste \gls{Basisplatine}} +\end{table} +\begin{table}[htb]\ContinuedFloat + \centering + \includegraphics[width=0.8\textwidth]{Schuh/Pictures/stuck-basis3} + \caption[Stückliste Basisplatine]{Stückliste \gls{Basisplatine}} +\end{table} + +\subsection{USB-to-UART Adapter} +\label{sec:stücklisten-usbtouart} +\tabpdf{stücklisten-usbtouart}{Stückliste USB-to-UART Adapter}{Stückliste \gls{USB-to-UART} Adapter}{0.8\textwidth}{Schuh/Pictures/stuck-usbtouart} + +\subsection{Audio Adapter} +\label{sec:stücklisten-audio} +\tabpdf{stücklisten-audio}{Stückliste Audio Adapter}{Stückliste Audio Adapter}{0.8\textwidth}{Schuh/Pictures/stuck-audio} + +\section{Kostenkalkulation} +Die Kostenkalkulation für die einzelnen Platinen bezieht sich je auf den Fertigungspreis von einem Stück bei einer Gesamtauflage von hundert Stück. Weiters wurden bei der Kostenkalkulation alle verwendbaren Sensoren und Features berücksichtigt. Darüber hinaus wurde davon ausgegangen, dass jedes Stück einzeln erwerbbar ist und es sich um eine kostenlose Lieferung der einzelnen Bauteile handelt. + +Daraus ergaben sich folgende Preise im Dezember 2017: +\begin{itemize} + \item \gls{Core-Modul}: + \begin{itemize} + \item Leiterkarte: 2,60€ + \item Bauteile: 29,9508€ + \item Summe: 32,5508€ + \end{itemize} + \item \gls{Basisplatine}: + \begin{itemize} + \item Leiterkarte: 7,97€ + \item Bauteile: 181,1938€ + \item Summe: 189,1638€ + \end{itemize} + \item \gls{USB-to-UART}: + \begin{itemize} + \item Leiterkarte: 2,08€ + \item Bauteile: 6,8192€ + \item Summe: 8,8992€ + \end{itemize} + \item Audio Adapter: + \begin{itemize} + \item Leiterkarte: 53,35€ + \item Bauteile: 18,0208€ + \item Summe: 71,3708€ + \end{itemize} +\end{itemize} + +Anhand dieser Preise ergibt sich ein Gesamtpreis von \textbf{301,9846€} für alle Systeme. \ No newline at end of file diff --git a/Schuh/Listings/top_audio_proc1.ucf b/Schuh/Listings/top_audio_proc1.ucf new file mode 100644 index 0000000..c6b9267 --- /dev/null +++ b/Schuh/Listings/top_audio_proc1.ucf @@ -0,0 +1,9 @@ +NET "d_from_codec" LOC = "B2"; # Bank = 1, Signal name = JA1 +NET "BCLK" LOC = "A3" ; # Bank = 1, Signal name = JA2 +NET "lrc_from_codec" LOC = "J3" ; # Bank = 1, Signal name = JA3 +NET "d_to_codec" LOC = "B5" | DRIVE = 2 ; # Bank = 1, Signal name = JA4 + +NET "PIO<76>" LOC = "C6" | DRIVE = 2 | PULLUP ; # Bank = 1, Signal name = JB1 +NET "SCL" LOC = "B6" | DRIVE = 2 ;# | PULLUP ; # Bank = 1, Signal name = JB2 +NET "SDA" LOC = "C5" | DRIVE = 2 ; # Bank = 1, Signal name = JB3 +NET "lrc_to_codec" LOC = "B7" | DRIVE = 2 ; # Bank = 1, Signal name = JB4 diff --git a/Schuh/Pictures/audio-bau-bild.jpg b/Schuh/Pictures/audio-bau-bild.jpg new file mode 100644 index 0000000..28c36bb Binary files /dev/null and b/Schuh/Pictures/audio-bau-bild.jpg differ diff --git a/Schuh/Pictures/audio-bau-schem.png b/Schuh/Pictures/audio-bau-schem.png new file mode 100644 index 0000000..94bb83a Binary files /dev/null and b/Schuh/Pictures/audio-bau-schem.png differ diff --git a/Schuh/Pictures/audio-best-bottom.png b/Schuh/Pictures/audio-best-bottom.png new file mode 100644 index 0000000..b853147 Binary files /dev/null and b/Schuh/Pictures/audio-best-bottom.png differ diff --git a/Schuh/Pictures/audio-best-top.png b/Schuh/Pictures/audio-best-top.png new file mode 100644 index 0000000..16baa44 Binary files /dev/null and b/Schuh/Pictures/audio-best-top.png differ diff --git a/Schuh/Pictures/audio-bsb.pdf b/Schuh/Pictures/audio-bsb.pdf new file mode 100644 index 0000000..b35d10e Binary files /dev/null and b/Schuh/Pictures/audio-bsb.pdf differ diff --git a/Schuh/Pictures/audio-codec-bsb.pdf b/Schuh/Pictures/audio-codec-bsb.pdf new file mode 100644 index 0000000..12820cf Binary files /dev/null and b/Schuh/Pictures/audio-codec-bsb.pdf differ diff --git a/Schuh/Pictures/audio-codec-iic.pdf b/Schuh/Pictures/audio-codec-iic.pdf new file mode 100644 index 0000000..1bc1435 Binary files /dev/null and b/Schuh/Pictures/audio-codec-iic.pdf differ diff --git a/Schuh/Pictures/audio-codec-pinning.pdf b/Schuh/Pictures/audio-codec-pinning.pdf new file mode 100644 index 0000000..d6cfde2 Binary files /dev/null and b/Schuh/Pictures/audio-codec-pinning.pdf differ diff --git a/Schuh/Pictures/audio-codec-reg.pdf b/Schuh/Pictures/audio-codec-reg.pdf new file mode 100644 index 0000000..94ccdce Binary files /dev/null and b/Schuh/Pictures/audio-codec-reg.pdf differ diff --git a/Schuh/Pictures/audio-codec-spi.pdf b/Schuh/Pictures/audio-codec-spi.pdf new file mode 100644 index 0000000..c29979d Binary files /dev/null and b/Schuh/Pictures/audio-codec-spi.pdf differ diff --git a/Schuh/Pictures/audio-conn.pdf b/Schuh/Pictures/audio-conn.pdf new file mode 100644 index 0000000..c8df11e Binary files /dev/null and b/Schuh/Pictures/audio-conn.pdf differ diff --git a/Schuh/Pictures/audio-eingangalt.png b/Schuh/Pictures/audio-eingangalt.png new file mode 100644 index 0000000..a3e7605 Binary files /dev/null and b/Schuh/Pictures/audio-eingangalt.png differ diff --git a/Schuh/Pictures/audio-fpga-schem.png b/Schuh/Pictures/audio-fpga-schem.png new file mode 100644 index 0000000..65b33ca Binary files /dev/null and b/Schuh/Pictures/audio-fpga-schem.png differ diff --git a/Schuh/Pictures/audio-fpga-test.jpg b/Schuh/Pictures/audio-fpga-test.jpg new file mode 100644 index 0000000..0009a45 Binary files /dev/null and b/Schuh/Pictures/audio-fpga-test.jpg differ diff --git a/Schuh/Pictures/audio-io-front.jpg b/Schuh/Pictures/audio-io-front.jpg new file mode 100644 index 0000000..60593d7 Binary files /dev/null and b/Schuh/Pictures/audio-io-front.jpg differ diff --git a/Schuh/Pictures/audio-io-up.png b/Schuh/Pictures/audio-io-up.png new file mode 100644 index 0000000..e4f54dc Binary files /dev/null and b/Schuh/Pictures/audio-io-up.png differ diff --git a/Schuh/Pictures/audio-layout-trennung.png b/Schuh/Pictures/audio-layout-trennung.png new file mode 100644 index 0000000..e56bc6c Binary files /dev/null and b/Schuh/Pictures/audio-layout-trennung.png differ diff --git a/Schuh/Pictures/audio-layout-trennung2.png b/Schuh/Pictures/audio-layout-trennung2.png new file mode 100644 index 0000000..493db0d Binary files /dev/null and b/Schuh/Pictures/audio-layout-trennung2.png differ diff --git a/Schuh/Pictures/audio-layout-trennung3.png b/Schuh/Pictures/audio-layout-trennung3.png new file mode 100644 index 0000000..7a7f2a7 Binary files /dev/null and b/Schuh/Pictures/audio-layout-trennung3.png differ diff --git a/Schuh/Pictures/audio-layout.png b/Schuh/Pictures/audio-layout.png new file mode 100644 index 0000000..aa030d3 Binary files /dev/null and b/Schuh/Pictures/audio-layout.png differ diff --git a/Schuh/Pictures/audio-mess-oszi1.pdf b/Schuh/Pictures/audio-mess-oszi1.pdf new file mode 100644 index 0000000..b24040e Binary files /dev/null and b/Schuh/Pictures/audio-mess-oszi1.pdf differ diff --git a/Schuh/Pictures/audio-mess-oszi2.pdf b/Schuh/Pictures/audio-mess-oszi2.pdf new file mode 100644 index 0000000..0629f8d Binary files /dev/null and b/Schuh/Pictures/audio-mess-oszi2.pdf differ diff --git a/Schuh/Pictures/audio-mess-oszi3.pdf b/Schuh/Pictures/audio-mess-oszi3.pdf new file mode 100644 index 0000000..4b1440a Binary files /dev/null and b/Schuh/Pictures/audio-mess-oszi3.pdf differ diff --git a/Schuh/Pictures/audio-messergebnisse-snrnew.pdf b/Schuh/Pictures/audio-messergebnisse-snrnew.pdf new file mode 100644 index 0000000..5c574e7 Binary files /dev/null and b/Schuh/Pictures/audio-messergebnisse-snrnew.pdf differ diff --git a/Schuh/Pictures/audio-messergebnisse-snrold.pdf b/Schuh/Pictures/audio-messergebnisse-snrold.pdf new file mode 100644 index 0000000..f59913e Binary files /dev/null and b/Schuh/Pictures/audio-messergebnisse-snrold.pdf differ diff --git a/Schuh/Pictures/audio-messergebnisse-thdnew.pdf b/Schuh/Pictures/audio-messergebnisse-thdnew.pdf new file mode 100644 index 0000000..91ffc51 Binary files /dev/null and b/Schuh/Pictures/audio-messergebnisse-thdnew.pdf differ diff --git a/Schuh/Pictures/audio-messergebnisse-thdold.pdf b/Schuh/Pictures/audio-messergebnisse-thdold.pdf new file mode 100644 index 0000000..adeec31 Binary files /dev/null and b/Schuh/Pictures/audio-messergebnisse-thdold.pdf differ diff --git a/Schuh/Pictures/audio-messgerat1.pdf b/Schuh/Pictures/audio-messgerat1.pdf new file mode 100644 index 0000000..7537b8b Binary files /dev/null and b/Schuh/Pictures/audio-messgerat1.pdf differ diff --git a/Schuh/Pictures/audio-messgerat2.pdf b/Schuh/Pictures/audio-messgerat2.pdf new file mode 100644 index 0000000..6a35eea Binary files /dev/null and b/Schuh/Pictures/audio-messgerat2.pdf differ diff --git a/Schuh/Pictures/audio-mini-oszi.pdf b/Schuh/Pictures/audio-mini-oszi.pdf new file mode 100644 index 0000000..31fa36f Binary files /dev/null and b/Schuh/Pictures/audio-mini-oszi.pdf differ diff --git a/Schuh/Pictures/audio-schem.png b/Schuh/Pictures/audio-schem.png new file mode 100644 index 0000000..7fdeaaf Binary files /dev/null and b/Schuh/Pictures/audio-schem.png differ diff --git a/Schuh/Pictures/audio-sfdr.png b/Schuh/Pictures/audio-sfdr.png new file mode 100644 index 0000000..6c4340b Binary files /dev/null and b/Schuh/Pictures/audio-sfdr.png differ diff --git a/Schuh/Pictures/audio-switch-bsb.pdf b/Schuh/Pictures/audio-switch-bsb.pdf new file mode 100644 index 0000000..6204e86 Binary files /dev/null and b/Schuh/Pictures/audio-switch-bsb.pdf differ diff --git a/Schuh/Pictures/audio-switch-jmp-chinch.png b/Schuh/Pictures/audio-switch-jmp-chinch.png new file mode 100644 index 0000000..8f21fb7 Binary files /dev/null and b/Schuh/Pictures/audio-switch-jmp-chinch.png differ diff --git a/Schuh/Pictures/audio-switch-jmp-klinke.png b/Schuh/Pictures/audio-switch-jmp-klinke.png new file mode 100644 index 0000000..ba542b8 Binary files /dev/null and b/Schuh/Pictures/audio-switch-jmp-klinke.png differ diff --git a/Schuh/Pictures/audio-switch-oszi1.pdf b/Schuh/Pictures/audio-switch-oszi1.pdf new file mode 100644 index 0000000..3ff2182 Binary files /dev/null and b/Schuh/Pictures/audio-switch-oszi1.pdf differ diff --git a/Schuh/Pictures/audio-switch-oszi2.pdf b/Schuh/Pictures/audio-switch-oszi2.pdf new file mode 100644 index 0000000..ffb4dae Binary files /dev/null and b/Schuh/Pictures/audio-switch-oszi2.pdf differ diff --git a/Schuh/Pictures/audio-switch-oszi3.pdf b/Schuh/Pictures/audio-switch-oszi3.pdf new file mode 100644 index 0000000..87244cf Binary files /dev/null and b/Schuh/Pictures/audio-switch-oszi3.pdf differ diff --git a/Schuh/Pictures/audio-switch-pinning.pdf b/Schuh/Pictures/audio-switch-pinning.pdf new file mode 100644 index 0000000..53286ac Binary files /dev/null and b/Schuh/Pictures/audio-switch-pinning.pdf differ diff --git a/Schuh/Pictures/audio-switch-schem.pdf b/Schuh/Pictures/audio-switch-schem.pdf new file mode 100644 index 0000000..a4a82ca Binary files /dev/null and b/Schuh/Pictures/audio-switch-schem.pdf differ diff --git a/Schuh/Pictures/audio-thd-schem.png b/Schuh/Pictures/audio-thd-schem.png new file mode 100644 index 0000000..28a0d59 Binary files /dev/null and b/Schuh/Pictures/audio-thd-schem.png differ diff --git a/Schuh/Pictures/audio-thd-schem2.png b/Schuh/Pictures/audio-thd-schem2.png new file mode 100644 index 0000000..eae857e Binary files /dev/null and b/Schuh/Pictures/audio-thd-schem2.png differ diff --git a/Schuh/Pictures/audio-thd-spec.pdf b/Schuh/Pictures/audio-thd-spec.pdf new file mode 100644 index 0000000..bd27987 Binary files /dev/null and b/Schuh/Pictures/audio-thd-spec.pdf differ diff --git a/Schuh/Pictures/audio-thd-spec2.pdf b/Schuh/Pictures/audio-thd-spec2.pdf new file mode 100644 index 0000000..de8ee88 Binary files /dev/null and b/Schuh/Pictures/audio-thd-spec2.pdf differ diff --git a/Schuh/Pictures/stuck-audio.pdf b/Schuh/Pictures/stuck-audio.pdf new file mode 100644 index 0000000..c247596 Binary files /dev/null and b/Schuh/Pictures/stuck-audio.pdf differ diff --git a/Schuh/Pictures/stuck-basis1.pdf b/Schuh/Pictures/stuck-basis1.pdf new file mode 100644 index 0000000..763f357 Binary files /dev/null and b/Schuh/Pictures/stuck-basis1.pdf differ diff --git a/Schuh/Pictures/stuck-basis2.pdf b/Schuh/Pictures/stuck-basis2.pdf new file mode 100644 index 0000000..bb8855d Binary files /dev/null and b/Schuh/Pictures/stuck-basis2.pdf differ diff --git a/Schuh/Pictures/stuck-basis3.pdf b/Schuh/Pictures/stuck-basis3.pdf new file mode 100644 index 0000000..c02cee9 Binary files /dev/null and b/Schuh/Pictures/stuck-basis3.pdf differ diff --git a/Schuh/Pictures/stuck-core.pdf b/Schuh/Pictures/stuck-core.pdf new file mode 100644 index 0000000..16ef4ed Binary files /dev/null and b/Schuh/Pictures/stuck-core.pdf differ diff --git a/Schuh/Pictures/stuck-usbtouart.pdf b/Schuh/Pictures/stuck-usbtouart.pdf new file mode 100644 index 0000000..2bce332 Binary files /dev/null and b/Schuh/Pictures/stuck-usbtouart.pdf differ diff --git a/Schuh/Pictures/usbtouart-bbauteilseite.pdf b/Schuh/Pictures/usbtouart-bbauteilseite.pdf new file mode 100644 index 0000000..d1025f2 Binary files /dev/null and b/Schuh/Pictures/usbtouart-bbauteilseite.pdf differ diff --git a/Schuh/Pictures/usbtouart-ftdi-bsb.pdf b/Schuh/Pictures/usbtouart-ftdi-bsb.pdf new file mode 100644 index 0000000..a0374a0 Binary files /dev/null and b/Schuh/Pictures/usbtouart-ftdi-bsb.pdf differ diff --git a/Schuh/Pictures/usbtouart-ftdi-pin1.pdf b/Schuh/Pictures/usbtouart-ftdi-pin1.pdf new file mode 100644 index 0000000..61238d6 Binary files /dev/null and b/Schuh/Pictures/usbtouart-ftdi-pin1.pdf differ diff --git a/Schuh/Pictures/usbtouart-ftdi-pin2.pdf b/Schuh/Pictures/usbtouart-ftdi-pin2.pdf new file mode 100644 index 0000000..2812a7f Binary files /dev/null and b/Schuh/Pictures/usbtouart-ftdi-pin2.pdf differ diff --git a/Schuh/Pictures/usbtouart-ftdi-pin3.pdf b/Schuh/Pictures/usbtouart-ftdi-pin3.pdf new file mode 100644 index 0000000..52b1f04 Binary files /dev/null and b/Schuh/Pictures/usbtouart-ftdi-pin3.pdf differ diff --git a/Schuh/Pictures/usbtouart-ftdi.png b/Schuh/Pictures/usbtouart-ftdi.png new file mode 100644 index 0000000..d0ba304 Binary files /dev/null and b/Schuh/Pictures/usbtouart-ftdi.png differ diff --git a/Schuh/Pictures/usbtouart-lbauteilseite.png b/Schuh/Pictures/usbtouart-lbauteilseite.png new file mode 100644 index 0000000..ed5e046 Binary files /dev/null and b/Schuh/Pictures/usbtouart-lbauteilseite.png differ diff --git a/Schuh/Pictures/usbtouart-leds.png b/Schuh/Pictures/usbtouart-leds.png new file mode 100644 index 0000000..cdf6dba Binary files /dev/null and b/Schuh/Pictures/usbtouart-leds.png differ diff --git a/Schuh/Pictures/usbtouart-llotseite.png b/Schuh/Pictures/usbtouart-llotseite.png new file mode 100644 index 0000000..29f1c32 Binary files /dev/null and b/Schuh/Pictures/usbtouart-llotseite.png differ diff --git a/Schuh/Pictures/usbtouart-schaltung.pdf b/Schuh/Pictures/usbtouart-schaltung.pdf new file mode 100644 index 0000000..048906e Binary files /dev/null and b/Schuh/Pictures/usbtouart-schaltung.pdf differ diff --git a/Schuh/Pictures/usbtouart-spannung1.png b/Schuh/Pictures/usbtouart-spannung1.png new file mode 100644 index 0000000..def517d Binary files /dev/null and b/Schuh/Pictures/usbtouart-spannung1.png differ diff --git a/Schuh/Pictures/usbtouart-spannung2.png b/Schuh/Pictures/usbtouart-spannung2.png new file mode 100644 index 0000000..6b786a7 Binary files /dev/null and b/Schuh/Pictures/usbtouart-spannung2.png differ diff --git a/Schuh/Pictures/usbtouart-spannung3.png b/Schuh/Pictures/usbtouart-spannung3.png new file mode 100644 index 0000000..e475caf Binary files /dev/null and b/Schuh/Pictures/usbtouart-spannung3.png differ diff --git a/Schuh/Pictures/usbtouart-uart1.png b/Schuh/Pictures/usbtouart-uart1.png new file mode 100644 index 0000000..6f7ff84 Binary files /dev/null and b/Schuh/Pictures/usbtouart-uart1.png differ diff --git a/Schuh/Pictures/usbtouart-uart2.png b/Schuh/Pictures/usbtouart-uart2.png new file mode 100644 index 0000000..cbf2995 Binary files /dev/null and b/Schuh/Pictures/usbtouart-uart2.png differ diff --git a/Schuh/Pictures/usbtouart.png b/Schuh/Pictures/usbtouart.png new file mode 100644 index 0000000..54a9b44 Binary files /dev/null and b/Schuh/Pictures/usbtouart.png differ diff --git a/Schuh/USB-to-UART.tex b/Schuh/USB-to-UART.tex new file mode 100644 index 0000000..06d5fbd --- /dev/null +++ b/Schuh/USB-to-UART.tex @@ -0,0 +1,90 @@ +\section{USB-to-UART} +\label{sec:usbtouart} + +\todo[inline]{Bild einfügen} + +\subsection{Allgemeines} +\label{sec:usbtouart-allgemeines} +Der \gls{USB-to-UART}-Adapter soll dazu dienen einen bidirektionalen Datentransfer mit eine UART-Schnittstelle des \gls{Core-Modul}s oder der \gls{Basisplatine} zu ermöglichen, um diese Daten anschließend weiter zu verarbeiten zu können. Darüber hinaus soll dieses Modul eine einfache Programmierung und Kommunikation mit einem NEXTION-Display ermöglichen. Die Kommunikation zwischen den beiden Endgeräten wird durch den FTDI-Chip FT232RL ermöglicht. Dieser Chip ermöglicht eine Emulation einer seriellen Schnittstelle über den USB. + +\subsection{Schnittstellen} +\label{sec:usbtouart-schnittstellen} + +Der \gls{USB-to-UART}-Adapter verfügt über die in \fref{tab:usbtouart-schnittstellen} angegebenen Schnittstellen, welche wie in \fref{fig:usbtouart-plan} zu sehen platziert sind. + +\tab{usbtouart-schnittstellen}{Schnittstellen des USB-to-UART-Adapter}{Schnittstellen des \gls{USB-to-UART}-Adapter}{|c|p{10cm}|}{ + \hline + \textbf{Schnittstelle} & \textbf{Funktion}\\ + \hline + UART & Senden und Empfangen von Daten vom Terminal oder Controller\\ + \hline + USB-B & Weiterleitung der Daten zum PC\\ + \hline +} + +\fig{usbtouart-plan}{Übersichtsplan des USB-to-UART-Adapter}{Übersichtsplan des \gls{USB-to-UART}-Adapter}{0.75\textwidth}{Schuh/Pictures/usbtouart} + +\subsection{Gesamtschaltung} +\label{sec:usbtouart-schaltung} +\fig{usbtouart-schaltung}{Gesamtschaltung des USB-to-UART-Adapter}{Gesamtschaltung des \gls{USB-to-UART}-Adapter}{0.8\textwidth}{Schuh/Pictures/usbtouart-schaltung} + +\subsubsection{UART} +Die UART-Schnittstelle wurde hardwaretechnisch zweimal ausgeführt, einmal zu der Stiftleiste (\fref{fig:usbtouart-uart1}, X2) und einmal zum Header (\fref{fig:usbtouart-uart2}, X3). Die Stiftleiste (\fref{fig:usbtouart-uart1}, X2) dient zur Kommunikation mit den diversen UART-Interfaces auf der \gls{Basisplatine}, als auch zu Kommunikation mit der UART-Schnittstelle auf dem \gls{Core-Modul}. Der Header (\fref{fig:usbtouart-uart2}, X3) dient zur Programmierung und Kommunikation mit einem NEXTION-Display. + +\fig{usbtouart-uart1}{UART des USB-to-UART-Adapter}{UART des \gls{USB-to-UART}-Adapter}{0.5\textwidth}{Schuh/Pictures/usbtouart-uart1} +\fig{usbtouart-uart2}{UART des USB-to-UART-Adapter für NEXTION-Display}{UART des \gls{USB-to-UART}-Adapter für NEXTION-Display}{0.5\textwidth}{Schuh/Pictures/usbtouart-uart2} + +\subsubsection{Spannungsversorgung} +Die Betriebsspannungsversorgung von \unit{+5}{\volt} sollte prinzipiell nur über die USB-B Buchse (\fref{fig:usbtouart-spannung1}, X1) zur Verfügung gestellt werden. Diese Spannungsversorgung wird auch zur Programmierung und Kommunikation mit einem NEXTION-Display oder mit anderen \unit{5}{\volt} Interfaces benötigt. Zur Überprüfung ob das Modul mit Spannung versorgt wird, wurde die LED (\fref{fig:usbtouart-spannung2}, V4) zur optischen Kontrolle eingebaut. Wenn das Modul mit Spannung über die USB-B Buchse versorgt wird, beginnt diese zu leuchten. + +Es gibt zusätzlich zur Betriebsspannung noch eine vom FTDI-Chip generierte \unit{+3,3}{\volt} Spannungsversorgung, welche zur Kommunikation mit den verwendeten UART-Interfaces auf der \gls{Basisplatine} und dem \gls{Core-Modul} benötigt wird. Der Hardwareaufbau erlaubt es je nach verwendeten Interface, durch Setzen von einem Jumper auf der Stiftleiste (\fref{fig:usbtouart-spannung3}, X4) die Betriebsspannungen für das entsprechende Interface selbst zu wählen. Durch Verbinden des Pin1 mit dem Pin2, wird am Ausgang eine Spannung von \unit{+5}{\volt} ausgegeben. Durch Verbinden des Pin2 mit dem Pin3, wird am Ausgang eine Spannung von \unit{+3,3}{\volt} ausgegeben. + +\fig{usbtouart-spannung1}{Spannungsversorgung des USB-to-UART-Adapter}{Spannungsversorgung des \gls{USB-to-UART}-Adapter}{0.5\textwidth}{Schuh/Pictures/usbtouart-spannung1} +\fig{usbtouart-spannung2}{Spannungsversorgungs-LED des USB-to-UART-Adapter}{Spannungsversorgungs-LED des \gls{USB-to-UART}-Adapter}{0.25\textwidth}{Schuh/Pictures/usbtouart-spannung2} +\fig{usbtouart-spannung3}{Spannungsversorgungs-Jumper des USB-to-UART-Adapter}{Spannungsversorgungs-Jumper des \gls{USB-to-UART}-Adapter}{0.5\textwidth}{Schuh/Pictures/usbtouart-spannung3} + +\subsubsection{Status-LEDs} +Die Status-LEDs (\fref{fig:usbtouart-leds}, V1 und V2) dienen zu optischen Kontrolle, ob Daten zwischen den Sender den Empfänger ausgetauscht werden. Die LED V1 leuchtet, sobald Daten über das Modul gesendet werden. Die LED V2 hingegen zeigt an ob Daten zum Modul gelangen. + +\fig{usbtouart-leds}{Status-LEDs des USB-to-UART-Adapter}{Status-LEDs des \gls{USB-to-UART}-Adapter}{0.5\textwidth}{Schuh/Pictures/usbtouart-leds} + +\subsubsection{FTDI-Chip} +Durch den FTDI-Chip FT232RL wird die eine Verwendung einer seriellen Schnittstelle über USB-Geräte ermöglicht. + +\fig{usbtouart-ftdi}{FTDI-Chip des USB-to-UART-Adapter}{FTDI-Chip des \gls{USB-to-UART}-Adapter}{0.5\textwidth}{Schuh/Pictures/usbtouart-ftdi} + +\subsubsubsection{Blockschaltbild} +Wie anhand des Blockschaltbildes ersichtlich ist, ist bereits ein \unit{3,3}{\volt} LDO-Regulator im FTDI-Chip verbaut, daher kann dieser die Ausgangsspannung von \unit{+3,3}{\volt} selbstständig generieren. + +\fig{usbtouart-ftdi-bsb}{Blockschaltbild des FTDI-Chips}{Blockschaltbild des FTDI-Chips \cite{ftdi:ft232r}}{\textwidth}{Schuh/Pictures/usbtouart-ftdi-bsb} + +\subsubsection{Pinbelegung} +\begin{table}[htb] + \centering + \includegraphics[width=\textwidth]{Schuh/Pictures/usbtouart-ftdi-pin1} + \caption[Pinbelegung des FTDI]{Pinbelegung des FTDI \cite{ftdi:ft232r}} + \label{tab:usbtouart-ftdi-pin} +\end{table} +\begin{table}[htb]\ContinuedFloat + \centering + \includegraphics[width=\textwidth]{Schuh/Pictures/usbtouart-ftdi-pin2} + \caption[Pinbelegung des FTDI]{Pinbelegung des FTDI \cite{ftdi:ft232r}} +\end{table} +\begin{table}[htb]\ContinuedFloat + \centering + \includegraphics[width=\textwidth]{Schuh/Pictures/usbtouart-ftdi-pin3} + \caption[Pinbelegung des FTDI]{Pinbelegung des FTDI \cite{ftdi:ft232r}} +\end{table} + +\subsection{Leiterplattenlayout} +\label{sec:usbtouart-leiterplattenlayout} +\subsubsection{Bauteilseite} +\fig{usbtouart-lbauteilseite}{Layout Bauteilseite des USB-to-UART-Adapters}{Layout Bauteilseite des \gls{USB-to-UART}-Adapters}{0.75\textwidth}{Schuh/Pictures/usbtouart-lbauteilseite} + +\subsubsection{Lötseite} +\fig{usbtouart-llötseite}{Layout Lötseite des USB-to-UART-Adapters}{Layout Lötseite des \gls{USB-to-UART}-Adapters}{0.75\textwidth}{Schuh/Pictures/usbtouart-llotseite} + +\subsection{Bestückungspläne} +\label{sec:usbtouart-bestückungspläne} +\subsubsection{Bauteilseite} +\fig{usbtouart-bbauteilseite}{Bestückungsplan Bauteilseite des USB-to-UART-Adapters}{Bestückungsplan Bauteilseite des \gls{USB-to-UART}-Adapters}{0.75\textwidth}{Schuh/Pictures/usbtouart-bbauteilseite} \ No newline at end of file diff --git a/glossary.tex b/glossary.tex index 712f2a5..3bd941b 100644 --- a/glossary.tex +++ b/glossary.tex @@ -27,7 +27,7 @@ \newdualentry{MMI}{MMI}{Mensch-Maschine-Interface}{ist ein Interface (z.B.: Display, Tastatur) um die Kommunikation von einem Menschen mit einer Maschine zu ermöglichen} -\newdualentry{DSV}{DSV}{Digitale Signalverarbeitung}{ist eine Methodik um ursprünglich analoge Bauelemente wie Filter oder Oszillatoren digital zu realisieren} +\newdualentry{DSV}{DSV}{Digitale Signalverarbeitung}{ist eine Methodik um ursprünglich analoge Bauelemente wie Filter oder Oszillatoren digital zu realisieren, Siehe auch: \gls{DSP}} \newdualentry{GUI}{GUI}{Graphical User Interface}{englisch für \enquote{grafische Benutzeroberfläche}. Teil des \gls{MMI}} @@ -35,6 +35,22 @@ \newdualentry{RTC}{RTC}{Real Time Clock}{zu deutsch: Echtzeituhr, ist eine Uhr, welche durch die hohe Präzision dafür ausgelegt ist Zeitnahmeaufgaben zu erledigen\todo{Stimmt das so??}} +\newdualentry{ADC}{ADC}{Analog-Digital-Converter}{zu deutsch: Analog-Digital-Wandler, ist ein Bauteil, welches Wert- und Zeitkontinuirliche Signale Abtastet und Quantisiert um sie digital weiter verarbeiten zu können} + +\newdualentry{DSP}{DSP}{Digital Signal Processor}{zu deutsch: Digitaler Signalprozessor, wird verwendet um digitalisierte Signale weiterzuverarbeiten} + +\newdualentry{DAC}{DAC}{Digital-Analog-Converter}{zu deutsch: Digital-Analog-Wandler, ist ein Bauteil, welches Wert- und Zeitdiskrete Signale analog ausgibt} + +\newdualentry{SNR}{SNR}{Signal-Noise-Ratio}{zu deutsch: Signal-Rausch-Abstand, gibt an, wie viele \deci\bel zwischen Signal und Rauschen liegen} + +\newdualentry{MSb}{MSB}{Most Significant Bit}{zu deutsch: relevantestes Bit, das Bit mit dem höchsten Wert} + +\newdualentry{LSb}{LSB}{Least Significant Bit}{zu deutsch: irrelevantestes Bit, das Bit mit dem kleinsten Wert} + +\newdualentry{MSB}{MSB}{Most Significant Byte}{zu deutsch: relevantestes Byte, das Byte mit dem höchsten Wert} + +\newdualentry{LSB}{LSB}{Least Significant Byte}{zu deutsch: irrelevantestes Byte, das Byte mit dem kleinsten Wert} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Glossary \newglossaryentry{Debugging}{ name={Debugging}, diff --git a/htlDT.sty b/htlDT.sty index 4425602..a137648 100644 --- a/htlDT.sty +++ b/htlDT.sty @@ -32,6 +32,7 @@ \RequirePackage[edges]{forest} \RequirePackage{subfig} \RequirePackage{SIunits} +\RequirePackage{longtable} %\RequirePackage[ % inner=2cm, @@ -139,6 +140,18 @@ \end{table} } +% \ltab{ref}{descshort}{desclong}{constructor}{content} +\newcommand*{\ltab}[5]{ + { + \centering + \begin{longtable}[htb]{#4} + #5 + \caption[#2]{#3} + \label{tab:#1} + \end{longtable} + } +} + % \tab{ref}{descshort}{desclong}{constructor}{content} \newcommand*{\tab}[5]{ \begin{table}[htb] diff --git a/literatur.bib b/literatur.bib index db5e713..0a73a0c 100644 --- a/literatur.bib +++ b/literatur.bib @@ -3,7 +3,7 @@ title = "Integrierte Entwicklungsumgebung", year = "2018", url = "https://de.wikipedia.org/w/index.php?title=Integrierte_Entwicklungsumgebung&oldid=174180343", - note = "[Online; Stand 14. März 2018]" + urldate = "2018-03-14" } @online{ wiki:ARM, @@ -11,16 +11,16 @@ title = "ARM Limited", year = "2017", url = "https://de.wikipedia.org/w/index.php?title=ARM_Limited&oldid=172245346", - note = "[Online; Stand 14. März 2018]" + urldate = "2018-03-14" } @online{ techradar:ARM, author = "Dan Grabham", title = "From a small Acorn to 37 billion chips: ARM's ascent to tech superpower", url = "https://www.techradar.com/news/computing/from-a-small-acorn-to-37-billion-chips-arm-s-ascent-to-tech-superpower-1167034", - month = "jul", + month = "7", year = "2013", - note = "[Online; Stand 14. März 2018]" + urldate = "2018-03-14" } @online{ wiki:Debugger, @@ -28,7 +28,7 @@ title = "Debugger", year = "2018", url = "https://de.wikipedia.org/w/index.php?title=Debugger&oldid=173107853", - note = "[Online; Stand 14. März 2018]" + urldate = "2018-03-14" } @online{ doku:tutorial, @@ -36,7 +36,7 @@ title = "Keil $\mu$Vision 5 Tutorial", year = "2018", url = "https://git.1750studios.com/diploma-thesis/001_Keil_MDK5_Tutorial", - note = "[Online; Stand 14. März 2018]" + urldate = "2018-03-14" } @online{ arm:CMSIS, @@ -44,7 +44,7 @@ title = "Cortex Microcontroller Software Interface Standard", year = "2018", url = "https://developer.arm.com/embedded/cmsis", - note = "[Online; Stand 14. März 2018]" + urldate = "2018-03-14" } @ARTICLE{ ieee:1149-1, @@ -58,7 +58,7 @@ keywords = "IEEE standards;boundary scan testing;integrated circuit testing;printed circuit testing;IEEE Std 1149.1-2001 Revision;IEEE Std 1149.1-2013;IEEE standard;boundary scan architecture;boundary-scan register;component specific aspects;internal circuits test;printed circuit boards;standard interface;test access port;testability features;Boundary value problems;IEEE standards;Integrated circuits;Printed circuits;Testing;Very high speed integrated circuits;Boundary-Scan Description Language;Boundary-Scan Description Language (BSDL);IEEE 1149.1TM;Procedural Description Language (PDL);VHSIC Hardware Description Language (VHDL);boundary scan;boundary-scan architecture;boundary-scan boundary scan;boundary-scan register;circuit boards;circuitry;integrated circuit;printed circuit boards;test;test access port (TAP);very high speed integrated circuit (VHSIC)", doi = "10.1109/IEEESTD.2013.6515989", ISSN = "", - month = "may" + month = "5" } @online{ wiki:Keil, @@ -66,16 +66,16 @@ title = "Keil (company)", year = "2018", url = "https://en.wikipedia.org/w/index.php?title=Keil_(company)&oldid=822646239", - note = "[Online; Stand 15. März 2018]" + urldate = "2018-03-15" } @online{ techdesignforums:ARM, author = "Edwards, Chris", title = "ARM and the man", year = "2016", - month = "mar", + month = "3", url = "http://www.techdesignforums.com/practice/technique/arm-and-the-man/", - note = "[Online; Stand 15. März 2018]" + urldate = "2018-03-15" } @online{ wiki:C, @@ -83,7 +83,7 @@ title = "C (Programmiersprache)", year = "2018", url = "https://de.wikipedia.org/w/index.php?title=C_(Programmiersprache)&oldid=174856768", - note = "[Online; Stand 15. März 2018]" + urldate = "2018-03-15" } @online{ wiki:C++, @@ -91,7 +91,7 @@ title = "C++", year = "2018", url = "https://de.wikipedia.org/w/index.php?title=C%2B%2B&oldid=174161963", - note = "[Online; Stand 15. März 2018]" + urldate = "2018-03-15" } @online{ arm:CMSISPack, @@ -99,7 +99,7 @@ title = "Pack with Software Components", year = "2018", url = "https://www.keil.com/pack/doc/CMSIS/Pack/html/cp_SWComponents.html", - note = "[Online; Stand 15. März 2018]" + urldate = "2018-03-15" } @online{ wiki:STM, @@ -107,14 +107,78 @@ title = "STMicroelectronics", year = "2018", url = "https://de.wikipedia.org/w/index.php?title=STMicroelectronics&oldid=174221034", - note = "[Online; Stand 15. März 2018]" + urldate = "2018-03-15" } -@online{ stm:stm32f107rc, - author = "STMicroelectronics", +@online{ stm:stm32f107rc-web, + author = "{STMicroelectronics N.V.}", title = "STM32F107RC", subtitle = "Mainstream Connectivity line, ARM Cortex-M3 MCU with 256 Kbytes Flash, 72 MHz CPU, Ethernet MAC, CAN and USB 2.0 OTG", url = "http://www.st.com/en/microcontrollers/stm32f107rc.html", year = "2018", - note = "[Online; Stand 15. März 2018]" + urldate = "2018-03-15" +} + +@manual{ stm:stm32f107rc, + organization = "STMicroelectronics N.V.", + title = "Connectivity line, ARM\textsuperscript{\textregistered}-based 32-bit MCU with 64/256 KB Flash, USB OTG, Ethernet, 10 timers, 2 CANs, 2 ADCs, 14 communication interfaces", + number = "STM32F107xx", + year = "2017", + month = "3", + note = "Rev 10", + url = "http://www.st.com/content/ccc/resource/technical/document/datasheet/e4/f3/1a/89/5a/02/46/ae/CD00220364.pdf/files/CD00220364.pdf/jcr:content/translations/en.CD00220364.pdf", + urldate = "2018-03-16" +} + +@manual{ ftdi:ft232r, + organization = "Future Technology Devices International Limited", + title = "USB UART IC", + number = "FT232R", + year = "2015", + note = "Version 2.13", + url = "http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf", + urldate = "2018-03-16" +} + +@thesis{ da:umover, + author = "Amstetter, Georg and Heiderer, Stefan and Traxler, Christoph", + title = "Universal Mover", + year = "2012", + month = "5", + url = "https://netstorage.htl-hl.ac.at/oneNet/NetStorage/DriveG%40TIDATA/_ARCHIV_201112/DA_Universal-Mover/Dokumentation/Doku_UM_V2.0_FINAL.pdf", + urldate = "2018-03-16", + institution = "HTBL Hollabrunn", + type = "Diplomarbeit", + pagetotal = "250" +} + +@manual{ ti:pcm1870, + organization = "Texas Instruments Incorporated", + title = "16-Bit Low-Power Stereo Audio ADC With Microphone Bias and Microphone Amplifier", + number = "PCM1870", + year = "2017", + url = "https://www.ti.com/lit/ds/symlink/pcm1870.pdf", + urldate = "2018-03-16" +} + +@manual{ ti:tlv320aic23b, + organization = "Texas Instruments Incorporated", + title = "Stereo Audio CODEC, 8- to 96-kHz, With Integrated Headphone Amplifier", + number = "TLV320AIC23B", + year = "2004", + month = "2", + note = "Rev. H", + url = "http://www.ti.com/lit/ds/symlink/tlv320aic23b.pdf", + urldate = "2018-03-16" +} + +@manual{ ti:ts5a22364, + organization = "Texas Instruments Incorporated", + title = "0.65-$\Omega$ Dual SPDT Analog Switches With Negative Signaling Capability", + number = "TS5A22364", + year = "2017", + month = "6", + note = "Rev. H", + url = "http://www.ti.com/lit/ds/symlink/ts5a22364.pdf", + urldate = "2018-03-16" } \ No newline at end of file