statemachine: pc-komm
authorBernhard Urban <lewurm@gmail.com>
Fri, 26 Mar 2010 00:40:20 +0000 (01:40 +0100)
committerBernhard Urban <lewurm@gmail.com>
Fri, 26 Mar 2010 00:41:35 +0000 (01:41 +0100)
spec/TODO
spec/sm/alu.pdf
spec/sm/alu.tex
spec/sm/parser.pdf
spec/sm/pckomm.pdf [new file with mode: 0644]
spec/sm/pckomm.tex [new file with mode: 0644]
spec/spec.tex

index bfa6b7b2922403933e09719aeba1cd55e20cc5d1..7008177f3255c3c0058bf67863c32e766a133e7d 100644 (file)
--- 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)
index 20cf4a2b3603dbe5096c20e65e53f918de677b7d..cf2a2687ea49222b016c196828ac8890c46b627f 100644 (file)
Binary files a/spec/sm/alu.pdf and b/spec/sm/alu.pdf differ
index fcb55540661a595702bbecc94709262f59d29c5c..c3accfea04af12879c92b8182287d2c0adc4ecde 100644 (file)
 
 \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}
index 190dfca4b4deb4640a4b2418f681d02841f4debd..0b2784bdacfff28e7ef8619c3be84845f2ad57b9 100644 (file)
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 (file)
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 (file)
index 0000000..cdfd1a6
--- /dev/null
@@ -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}
index c4ec0efa45cbd8b27256c3486488a68b686e26ed..212f5d7146920fef65a9617faef2c80cdb56631b 100644 (file)
@@ -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}