Initial Commit and Notes from HS24

This commit is contained in:
2025-02-24 08:06:04 +01:00
parent 2475ac9866
commit 1a445ee6fe
898 changed files with 24179 additions and 1 deletions

View File

@@ -0,0 +1,7 @@
\chapter{Automaten}
\input{def.tex}
\input{entwurf_analyse.tex}
\input{garagenautomat_vertiefung.tex}
\input{fortgeschritten.tex}
\input{zaehler.tex}

View File

@@ -0,0 +1,56 @@
\section{Was sind Automaten?} \label{sec:auto}
\subsection{Definition und Grundlagen}
\dfn{Automat}{
Ein Automat beschreibt ein System, welches auf sein Eingang reagiert und ein Ausgang produziert, der von dem Eingangssignal und von dem momentanen Zustand des Systems abhängt. \cite{Luisier2024} Ein typisches Beispiel für ein Automaten sind Schaltwerke.
\\
Wenn wir von Automaten sprechen, reden wir hauptsächlich von endlichen Automaten. Endliche Automaten haben nur die möglichkeit endlich viele Eingänge, Ausgänge und gespeicherte Zustände zu haben. Unendliche Automaten gibt es nicht.
}
Bei den Automaten unterscheiden wir zwischen synchrone und asynchrone Automaten.
\\
\subsubsection*{Synchrone Automaten}
Bei synchrone Automaten haben alle Speicherelemente (Flipflops) das gleiche Taktsignal. Daraus folgt, dass interne Zustandsänderungen synchron mit dem Taktsignal laufen.
\includegraphics[width=\linewidth]{fig/Fig_33.png} \cite{Luisier2024}
\subsubsection*{Asynchrone Automaten}
In vergleich zu synchrone Automaten haben die Speicherelemente in asynchrone Automaten nicht das gleiche Taktsignal. Eine Zustandsänderung wird durch die Eingangssignale initiiert.
\\
\\
Ein endlicher Automat wird durch ein 6-Tupel charakterisiert:
\begin{tabular}{ p{0.2\linewidth} p{0.8\linewidth} }
$X = (x_1, x_2, ... , x_e)$ & Eingabealphabet mit $e$ Eingängen $x_i$, die durch binäre Eingangsvariablen $\{ 0,1 \}$ repräsentiert werden. \\
$Y = (y_1, y_2, ... , y_b)$ & Ausgabealphabet mit $b$ Ausgängen $y_i$, die als Bits mit Wert $\{ 0,1 \}$ dargestellt werden. \\
$Z = (z_1, z_2, ... , z_m)$ & Zustandsmenge mit $m$ inneren Zustansvariablen $z_i$, die einen Wert $z_i$, die einen Wert $\{ 0,1 \}$ haben können. Insfesamt gibt es $n_m = 2 ^{m}$ Zustände. \\
$Z_0 \in Z$ & Anfangszustand \\
$f_{c 1}: (X_n, Z_n) \rightarrow Z_{n+1}$ & Übergangs-, Überführungsfunktion \\
$f_{c 1}: (X_n, Z_n) \rightarrow Y_n$ & Ausgangs-, Ausgabefunktion \\
\end{tabular}
\subsection{Automatentypen: Mealy vs. Moore}
\dfn{Mealy Automat}{
Ein Mealy Automat ist ein endlicher Automat, dessen Ausgang abhängig ist vom Eingang $X_n$, sowie den momentanen Zustand $Z_n$. Der Folgezustand $Z_{n+1}$ ist abhängig vom momentanen Zustand sowie dem Eingang.
\includegraphics[width=\textwidth]{fig/Fig_34.png} \cite{Luisier2024}
}
\dfn{Moore Automat}{
Im Vergleich zum Mealy Automat ist der Ausgang vom Moore Automat nur abhängig vom momentanen Zustand $Z_n$. Der Folgezustand $Z_{n+1}$ ist wie beim Mealy Automat abhängig vom momentanen Zustand, sowie dem Eingang.
\includegraphics[width=\linewidth]{fig/Fig_35.png} \cite{Luisier2024}
}
Eine weitere Art von Automat ist der Medwedjew Automat. Dieser unterscheidet sich vom Moore Automat dadurch, dass sein Ausgang gleich dem momentanen Zustand ist. Der Folgezustand ist wie beim Mealy Automat abhängig vom momentanen Zustand und dem Eingang.
\includegraphics[width=\textwidth]{fig/Fig_36.png} \cite{Luisier2024}
\nt{
Medwedjew Automaten haben eine grosse Relevanz für Zähler.
}

View File

@@ -0,0 +1,44 @@
\section{Entwurf und Analyse von Automaten}
\subsection{Zustandsdiagramm, Folgezustandstabelle}
Automaten können auf verschiedenen Weisen beschrieben werden.
\begin{itemize}
\item Ausgangs- und Übergangsfunktionen
\item Zustandsfolgetabellen (Folgezustandstabelle)
\item Zustandsdiagramme oder Zustandsgraphen
\item Karnaugh Diagramme
\end{itemize}
In den meisten Fällen fängt man mit dem Zustandsdiagramm, da dieser sehr schnell generiert werden kann. Aus dem Zustandsdiagramm kann die Folgezustandstabelle konstruiert werden. Wenn diese vorhanden ist, kann ein Karnaugh-Diagramm für jede innere Zustandsvariable und für jeden Ausgang aufgesetzt werden. Damit werden die Gleichungen der Ausgangs- und Übergangsfunktionen minimiert. Am Ende wird ein Schaltwerk erzeugt. \cite{Luisier2024} Es ist aber auch möglich, dass der umgekehrte Fall auftritt.
\dfn{Zustandsdiagramm}{
Ein Zustandsdiagramm ist eine graphische Darstellung der Funktion von Automaten, die aus Knoten und gericheteten Kanten besteht.
\includegraphics[width=\linewidth]{fig/Fig_26.png} \cite{Luisier2024}
Die Knoten bezeichnen die internen Zustände, die Kanten den Übergang zwischen zwei Zuständen. Die Eingangskombination $e$, die die Zustandsänderung bewirkt, und der Ausgang $a$ werden an der jeweiligen Kante vermerkt. \cite{Luisier2024}
\includegraphics[width=\linewidth]{fig/Fig_27.png} \cite{Luisier2024}
Wichtig zu erwähnen ist, dass bei Moore Automaten die Knoten sowohl die internen Zustände als auch die Ausgänge bezeichnen.
}
\dfn{Folgezustandstabelle}{
Folgezustandstabellen zeigen alle möglichen Kombinationen eines Automaten an. Die Anzahl Reihen einer Folgezustandstabelle ist $2 ^{e + m}$, wobei $e$ die Anzahl Eingangsbits und $m$ die Anzahl Zustandsbits ist. Die Anzahl Spalten beträgt $e + 2m + b$, wobei $b$ die Anzahl Ausgangsbits ist.
}
\subsection{Eingangs-, Ausgangs-, Zustandsvariablen}
Um einen Automaten zu entwerfen kann man das folgende Kochrezept befolgen.
\begin{enumerate}
\item Zustandsmenge bestimmen, daraus folgt die Anzahl der Zustandsvariablen und der erforderlichen D-Flipflops
\item Definition der Ein- und Ausgangsvariablen, Kodierung
\item Darstellung der Zustandsfolge in einem Zustandsdiagramm
\item Aufstellung der Zustandsfolgetabelle
\item Bestimmung der minimierten Ausgangs- und Übergangsfunktionen mit der Hilfe von KV-Diagrammen
\item Prüfung auf unbenutzte Zustände
\item Konstruktion des Schaltplans anhand der Schaltfunktion
\end{enumerate} \cite{Luisier2024}

View File

@@ -0,0 +1,7 @@
\section{Fortgeschrittene Automateneigenschaften}
\subsection{Gekoppelte Automaten}
In einigen Fällen ist es geeigneter komplexe Automaten aus mehreren Teilautomaten aufzubauen. Diese sind oft übersichtlicher.
\includegraphics[width=\linewidth]{fig/Fig_29.png} \cite{Luisier2024}

View File

@@ -0,0 +1,8 @@
\section{Garagenautomat: Vertiefung}
\subsection{Mealy $\leftrightarrow$ Moore Umwandlung}
Mealy und Moore Automaten lassen sich \textbf{immer} ineinander umwanden. \cite{Vasylyev2024} Wichtig dabei zu erwähnen ist, dass sich das zeitliche Verhalten der Eingangs- und Ausgangssignale sich ändert aufgrund von ihren verschiedenen Eigenschaften (Kapitel \ref{sec:auto}). Mealy Automaten sind sehr anfällig für Störungen, da ihr Ausgang abhängig ist vom Eingang und momentanen Zustand. Der Eingang ist nicht abhängig vom Taktsignal. Bei einer Störung am Eingang besteht die Möglichkeit, dass ein Ausgang beschaltet wird aber der Zustand nicht aktualisiert wird.
\\
\\
Um dieses Problem zu bekämpfen könnte man den Eingang mit dem Taktsignal Synchronisieren.

View File

@@ -0,0 +1,61 @@
\section{Zähler}
\subsection{Asynchronzähler}
In Kapitel \ref{sec:ffcirc} haben wir gelernt, dass man T-Flipfops verketten kann, um $n$-Bit Dualzähler zu erstellen. Das Problem mit diesen sogenannten Asynchronzähler ist die Zeitverzögerung der T-Flipflops. Je mehr Bits der Dualzähler hat, desto mehr T-Flipflops haben wir und desto länger braucht der letzte T-Flipflop zum Schalten für den MSB. Deshalb müssen bei Asynchronzähler die maximale Taktfrequenz des Taktsignals berücksichtigt werden. Dies limitiert die Geschwindigkeit des Dualzählers.
\subsection{Modulo-$n$ (mod-$n$) Zähler}
In manchen Fällen möchte man nicht das volle Pottential von Asynchronzähler verwenden. Man möchte nur bis zu einer bestimmten Dualzahl hochzählen. In diesem Fall kommen Modulo-$n$ Zähler ins Spiel. Wie die $n$-Bit Dualzähler bestehen Modulo-$n$ Zähler aus T-Flipfops mit dem Unterschied, dass die T-Flipflops einen Reset Eingang haben. Die Ausgänge der T-Flipflops sind mit einem AND Gatter verbunden. Sobald die Zahl $n+1$ am Ausgang liegt, werden die Reset-Eingänge von den Flipflops beschaltet und der Zähler fängt wieder bei 0 an. Soll der Zähler bei einer anderen Zahl anfangen zu zählen, so muss bei den Flipflops mit einem Set-Eingang gearbeitet werden.
\begin{minipage}{0.15\linewidth}
\includegraphics[width=\linewidth]{fig/Fig_13.png} \cite{Luisier2024}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\begin{center}
\begin{circuitikz}[european]
\draw (0,0) node[flipflop T, dot on notQ, add async SR](tff1){}
(tff1.pin 3) --++(left:10mm) node[point, label=180:CLK] {}
(tff1.pin 6) --++(right:10mm) --++(down:17mm) --++(right:5mm)
node[flipflop T, dot on notQ, anchor=pin 3, add async SR](tff2){}
(tff2.pin 6) --++(right:10mm) --++(down:17mm) --++(right:5mm)
node[flipflop T, dot on notQ, anchor=pin 3, add async SR](tff3){}
(tff3.pin 6) --++(right:5mm) --++(up:20mm) node[point, label=90:$\text{Q}_{III}$] {}
(tff3.pin 6) --++(right:5mm) --++(up:5mm) --++(right:5mm)
node[and port, number inputs=3, anchor=in 3](and){}
node [notcirc, left] at (and.bin 1) {}
(and.in 1) --++(left:80mm)
(and.in 2) --++(left:42.5mm)
(and.out) --++(down:35mm) --++(left:115.5mm)
(tff1.down) --++(down:4mm)
(tff2.down) --++(down:4mm)
(tff3.down) --++(down:4mm);
\path[draw] (tff1.pin 6) --++(right:5mm) --++(up:20mm) node[point, label=90:$\text{Q}_I$] {};
\path[draw] (tff2.pin 6) --++(right:5mm) --++(up:20mm) node[point, label=90:$\text{Q}_{II}$] {};
\end{circuitikz}
\end{center}
\end{minipage}
\subsection{Synchronzähler}
Beim Asynchronzähler ist das Taktsignal der Flipflops immer vom vorherigen Ausgang des Flipflops abhängig (ausser beim ersten Flipflop). Im Gegensatz zu dem haben die Flipflops von Synchronzähler das gleiche Taktsignal und schalten gleichzeitig. Synchronzähler werden meistens als Medwedjew-Automaten implementiert.
\begin{minipage}{0.5\linewidth}
\includegraphics[width=\linewidth]{fig/Fig_13.png} \cite{Luisier2024}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\includegraphics[width=\linewidth]{fig/Fig_14.png} \cite{Luisier2024}
\end{minipage}
\nt{
Rückwärtszähler können auch durch Medwedjew-Automaten realisiert werden. Es muss zusätlich ein weiterer Eingang hinzugefügt werden, welcher die Zählrichtung bestimmt.
\includegraphics[width=0.25\linewidth]{fig/Fig_15.png} \cite{Luisier2024}
}
\nt{
In Kapitel \ref{sec:ffcirc} haben wir gesehen, dass T-Flipflops als Freqenzteiler fungieren können. Dies kann auch mit einem Medwedjew-Automaten und ein AND Gatter realisiert werden. Das AND Gatter ist mit einem T-Flipflop verbunden, welcher beschaltet wird, sobald die Zahl erreicht wird.
\includegraphics[width=\textwidth]{fig/Fig_16.png} \cite{Luisier2024}
}