kombiniert werden
Detaillierte Design Description
- o fsm-todo: rs232, pc-komm, alu, display
- o fuer history nur textuelle beschreibung
+ o fsm-todo: rs232, display
fuer abgabe selbst:
-mit \newpage tabellen gscheid formatieren, sodass keine grauslichen
-Seitenumbrueche mitten in der Tabelle sind... (dort wo es halt moeglich ist).
+ o mit \newpage tabellen gscheid formatieren, sodass keine grauslichen Seitenumbrueche mitten in
+ der Tabelle sind... (dort wo es halt moeglich ist).
+ o alles durchlesen (typos, rechtschreibfehler, schlechte formulierung)
\ncline[linestyle=dotted]{res}{idle}
-\ncarc[arcangle=20]{idle}{add}\ncput*[npos=.50]{\shortstack{do\_calc $\uparrow$\\opc == ADD}}
-\ncarc[arcangle=20]{add}{idle}\ncput*[npos=.50]
+\ncarc[arcangle=20]{idle}{add}\ncput*[npos=.50]{\shortstack{do\_calc$\uparrow$\\opc == ADD}}
+\ncarc[arcangle=20]{add}{idle}
-\ncarc[arcangle=20]{idle}{sub}\ncput*[npos=.50]{\shortstack{do\_calc $\uparrow$\\opc == SUB}}
+\ncarc[arcangle=20]{idle}{sub}\ncput*[npos=.50]{\shortstack{do\_calc$\uparrow$\\opc == SUB}}
\ncarc[arcangle=20]{sub}{idle}
-\ncarc[arcangle=20]{idle}{mul}\ncput*[npos=.50]{\shortstack{do\_calc $\uparrow$\\opc == MUL}}
+\ncarc[arcangle=20]{idle}{mul}\ncput*[npos=.50]{\shortstack{do\_calc$\uparrow$\\opc == MUL}}
\ncarc[arcangle=20]{mul}{idle}
-\ncarc[arcangle=20]{idle}{div}\ncput*[npos=.50]{\shortstack{do\_calc $\uparrow$\\opc == DIV}}
+\ncarc[arcangle=20]{idle}{div}\ncput*[npos=.50]{\shortstack{do\_calc$\uparrow$\\opc == DIV}}
\ncarc[arcangle=20]{div}{idle}
\end{document}
--- /dev/null
+\documentclass{minimal}
+\pagestyle{empty}
+
+\usepackage{pstricks}
+\usepackage{pst-node}
+
+\begin{document}
+
+\begin{psmatrix}[mnode=oval, colsep=3cm, rowsep=3cm]
+[mnode=R,name=res]{sys\_res\_n} &
+[name=rwb]{\shortstack{\textbf{rwbyte}\\s++;}} \\
+%
+[name=idle]{\shortstack{\textbf{idle}\\z:=0; s:=0;}} &
+[name=zeile]{\shortstack{\textbf{nzeile}\\z++;\\s:=0;}} \\
+\end{psmatrix}
+
+\psset{arrows=->, shortput=nab}
+
+\ncline[linestyle=dotted]{res}{idle}
+
+\ncarc[arcangle=20]{idle}{zeile}\ncput*[npos=.50]{rx\_new$\uparrow$}
+\ncarc[arcangle=-10]{idle}{zeile}\ncput*[npos=.50]{btn$\uparrow$}
+
+\ncarc[arcangle=40]{zeile}{idle}\ncput*[npos=.50]{$z>50$}
+
+\ncarc[arcangle=25]{zeile}{rwb}\ncput*[npos=.40]{$z\le50$}
+\ncarc[arcangle=25]{rwb}{zeile}\ncput*[npos=.40]{$s>71$}
+
+\nccircle[angleA=0]{rwb}{.70cm}\ncput*[npos=0.5]{$s\le71$}
+\end{document}
\subsection{PC-Kommunikation}
+\begin{figure}[!ht]
+\includegraphics[width=0.7\textwidth]{sm/pckomm.pdf}
+\centering
+\caption{Statemachine f\"ur das Modul PC-Kommunikation}
+\label{fig:pckomm}
+\end{figure}
+
+\begin{itemize}
+\item \textbf{idle}: die internen Variablen \emph{z} und \emph{s} werden zur\"uck gesetzt. \emph{z}
+wird als Zeilencounter verwendet und \emph{s} als Spaltencounter, da der interne Speicher nach und
+nach vollst\"andig auf der seriellen Schnittstelle ausgegeben werden soll.
+\item \textbf{nzeile}: Dieser Zustand wird erreicht wenn die Ausgabe auf die RS232 Schnittstelle
+entweder durch den Button oder durch ein empfangen von einem Byte getriggert wird.
+\item \textbf{rwbyte}: Es wird das Byte an der Stelle \emph{z}/\emph{s} ausgelesen und danach an das
+RS232 Modul weitergegeben und zum PC \"ubertragen. Ist die \"Ubertragung abgeschlossen, wird der
+Spaltencounter erh\"oht.
+\end{itemize}
\subsection{PS/2}