From: Bernhard Urban Date: Fri, 26 Mar 2010 00:40:20 +0000 (+0100) Subject: statemachine: pc-komm X-Git-Tag: spec-abgabe1~13 X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=hwmod.git;a=commitdiff_plain;h=18f4eaeabbee9f0a9c75ba66a53c6df1de41f755 statemachine: pc-komm --- diff --git a/spec/TODO b/spec/TODO index bfa6b7b..7008177 100644 --- a/spec/TODO +++ b/spec/TODO @@ -16,9 +16,9 @@ Testf 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) diff --git a/spec/sm/alu.pdf b/spec/sm/alu.pdf index 20cf4a2..cf2a268 100644 Binary files a/spec/sm/alu.pdf and b/spec/sm/alu.pdf differ diff --git a/spec/sm/alu.tex b/spec/sm/alu.tex index fcb5554..c3accfe 100644 --- a/spec/sm/alu.tex +++ b/spec/sm/alu.tex @@ -21,15 +21,15 @@ \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} diff --git a/spec/sm/parser.pdf b/spec/sm/parser.pdf index 190dfca..0b2784b 100644 Binary files a/spec/sm/parser.pdf and b/spec/sm/parser.pdf differ diff --git a/spec/sm/pckomm.pdf b/spec/sm/pckomm.pdf new file mode 100644 index 0000000..e205225 Binary files /dev/null and b/spec/sm/pckomm.pdf differ diff --git a/spec/sm/pckomm.tex b/spec/sm/pckomm.tex new file mode 100644 index 0000000..cdfd1a6 --- /dev/null +++ b/spec/sm/pckomm.tex @@ -0,0 +1,30 @@ +\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} diff --git a/spec/spec.tex b/spec/spec.tex index c4ec0ef..212f5d7 100644 --- a/spec/spec.tex +++ b/spec/spec.tex @@ -328,6 +328,23 @@ TODO: not our business? \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}