Automaten

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Automaten
Ich schreib die Aufgabe mal in Kurzfassung:

Süßigkeitenautomat: Erlaubt Einwurf von 5 und 10cent münzen, es gibt keine Wechselfunktion und zuvielbezahltes geld wird behalten
Es gibt Lollis für 10 und Kaugummis für 15 cent, man muss immer erst einen Knopf zur Auswahl für die beiden drücken und anschliessend geld einwerfen, bis genug drin ist.
Man kann das geld rauslassen, solange noch nicht genug eingeworfen wurde.
Sobald genug eingeworfen wurde wird im Nächsten Takt, das Teil rausgeworfen und der Automat kehrt in den Grundzustand zurück.

Ich hab da irgendwie so meine Probleme.
Also ich hab da 3 Zustande, nämlich Grundzustand, Lolli und Kaugummi rausgelesen, als Eingaben gibts die Auswahl Lolli, Kaugummi, Geld zruück, und münzeinwurf .

Jetzt mal exemplarisch fürn Lolli. Ich bin im Grundzustand, mache die Eingabe für Lolli und wechsel in den Zustand Lolli.
Für Geldeinwurf bleib ich im Zustand Lolli. ABER: Wie zeichne ich denn in meinen Automatengraphen ein, wenn genug geld eingeworfen wurde und er die Ausgabe machen soll und wieder in den Ausgangszustand wechseln?
Lässt sich das in nen Graphen mit 3 Zuständen einbauen?

Oder bräuchte ich noch zusätzliche Zustände die mir angeben wieviel Geld eingeworfen wurde? also zustände 5 cent 10 cent für lolli, und 5, 10, 15 fürn kaugummi zusätzlich?


Die Information, dass 5 Cent eingeworfen wurden, muss irgendwo gespeichert werden. Wenn ein Zustand keinen Zustand halten darf, dann bleibt nichts anderes übrig, als einen eigenen Zustand zu spendieren. Es muss allerdings für den Lolli nur der 5 Cent und für den Kaugummi nur 5 und 10 Cent Zustand hinzugefügt werden, bei 10 Cent wird der Lolli ja direkt ausgegeben, dito für den Kaugummi bei 15 Cent.


Unklar bei der Spezifikation ist noch, was passiert, wenn man im Grundzustand - also ohne zuvor eine Auswahl zu treffen - Geld einwirft. Würde das jetzt mal so interpretieren, dass er das Geld dann auch schluckt, weil von einer automatischen Geldrückgabe ohne Drücken des Rückgabeknopfes keine Rede ist. Auch ist nicht ganz klar, ob und wie man seine Auswahl nachträglich noch ändern kann und ob der Rückgabeknopf in jedem Fall eine Zustandsänderung herbeiführt. Einerseits steht davon nix in der Angabe, andererseits wärs ziemlich blöd wenn es nicht so wäre.

Ich schieb diese Unklarheiten jetzt mal auf deine Kurzzusammenfassung :wink:

Als Zustände hätte ich auch gesagt:

  1. Grundzustand
  2. Auswahl: Loli (0 Cent)
  3. Auswahl: Loli (5 Cent)
  4. Auswahl: Kaugummi (0 Cent)
  5. Auswahl Kaugummi (5 Cent)
  6. Auswahl: Kaugummi (10 Cent)

Ok, dann hab ichs verstanden.
Ja der Text ist da echt sehr lückenhaft finde ich auch. Aber ich vermute doch mal, dass bei Geld zurück in den Grundzustand gesprungen wird.
Eigtl müsste mit geld zurück aus jedem zustand in den grundzustand gesprungen werden. Sonst wär der Automat ja am Arsch, wenn jemand was einwirft udn weggeht.


Falls sie schon jmd gemacht hat: Auf was kommt ihr bei der Aufgabe 3 von der März 07 Klausur?


a) Mealy

b) viel zeichnen ^^ (8 Zustände Grundzustand und 1-7€ von jedem geht jeweils ein Pfeil zum Vorgänger und zum Vorvorgänger, Ausnahmen: Grundzustand und Zustand1)

c) 8 Zustände => 3 Bit

d) 2 Ausgaben => 1 Bit

e)

s4 s3 s2 s1 s0
0 00000
1 00011
2 01110
3 01111
4 10110
5 10111
6 11110
7 11111

f) A2 = s2T2

Alle Angaben wie immer ohne Gewähr :wink:


wie gibt man denn Wahlmöglichkeiten an, bei dem September07 Automat, wenn ich schon 2 Euro drin habe und mein Geld zurück will, steht in der Angabe dass der Automat rausgeben kann was er will, also 2 1er oder ne 2er. Kann ich da einfach eine Möglichkeit spezifizieren? Also sagen, dass der Automat dann immer ne 2er rausgibt. Ich hab ja da quasi für eine Eingabe, 2 Ausgabemöglichkeiten, kann ich das überhaupt so einbringen in meinen Graphen? Oder will mir der Text einfach nur sagen, dass ich einfach immer ne 2er Münze rausgeben kann?

Würde man die Lampe, die immer leuchtet wenn ne 2 oder 3 Euro eingeworfen wurden, als Ausgabe sehen, die stattfindet wenn man von den anderen Zuständen aus in den 2 oder 3er wechselt? Oder könnte man einfach den 2 und 3 Euro zustand als “Lampenzustände” sehen, so kann man die Lampe ja direkt über die Zustände ansteuern.


Erstmal der Automat von März 07:
a) melay richtig

b) ja das is sogar noch bisi mehr zeichnen^^ hinzukommt: je eine schliere an den zuständen für die Eingabe “Geldschein und Taste gleichzeitig” (siehe Angabe!) und natürlich die Übergänge, wenn man 5 Euro rein tut. also von: 0-> 5, 1-> 6, 2-> 7, 3 → 7, 4-> 7, 5-> 7, 6->7 bei 7-> 7 schreibt man das an die bereits vorhandene Schliere mit einem “Oder” -Zeichen: v

c) jo klar

d) Also 2 Ausgaben ist sicher falsch. Du hast zumindest noch eine “keine Ausgabe” - Ausgabe. Was willst du denn sonst an die Pfeile im Graphen schreiben, wenn du z.b. in Zustand 0 eine Taste drückst, oder diese ungültige Eingangskombination aus der Angabe hast? Ich persönlich komme auf 10 verschiedene Ausgaben, was dann 4 Bit entspräche. Weiß aber nicht ob das stimmt:

e) jap genau hab ich auch so

f) Hier hab ich: (T2 & q2) v (T2 & q3)

Meine Ein und Ausgaben sind:

E1: 5 Euro rein
E2: Taste 1 oder beide Tasten gleichzeitig drücken
E3: Taste 2 drücken
E4: Restliche ungültige Kombination (5 Euro und eine Taste oder alles 3 gleichzeitig)

Ausgaben:

  1. Beide Lichter gehen an (Immer bei E1)
  2. Keine Ausgabe (Zustand 0 und E2-4)
  3. 2€ Ausgabe und 2€ Licht aus (z.b. Zustand 3 und E3)
  4. 2€ Ausgabe und beide Lichter aus (Zustand 2 und E3)
  5. 2€ Ausgabe und kein Licht aus (z.b. Zustand 7 und E3)
  6. 1€ Ausgabe und kein Licht aus (z.b. Zustand 7 und E2)
  7. 1€ Ausgabe und 2€ Licht aus (Zustand 2 und E2)
  8. 1€ Ausgabe und beide Lichter aus (Zustand 1 und E2)
  9. keine Ausgabe und 1€ Licht an (Zustand 1 und E4)
  10. keine Ausgabe und beide Lichter an (z.b. Zustand 5 und E4)

geldschein und taste gleichzeitig gibt aber keine reflexive schleife, denn der geldschein wird ja trotzdem eingelesen. man braucht da einfach bei den übergängen von 0-5 1-6 etc, nen S und T1 T2 sind dontcare


@ Basti: [quote]f) Hier hab ich: (T2 & q2) v (T2 & q3)[/quote]

Was ist q2 und q3??


Ich hab für die f) wenn man die Wertetabelle folgendermassen aufstellt 2 1 0 T2 , hab ich als DMF T2&1 und T2& 0


Man soll ja im Gegensatz zur e) von einer minimalen Zustandskodierung ausgehen. Also eine Zustandskodierung mit 3 Bit. Die einzelnen Bits hab ich eben q1 bis q3 genannt um Verwechslungen mit der Zustandskodierung aus Aufgabe e) zu vermeiden. Die Tabelle zu dieser Aufgabe sieht bei mir dann so aus:

q3 q2 q1   T2 A2
0  0  0    1   0
0  0  1    1   0
0  1  0    1   1
0  1  1    1   1
1  0  0    1   1
1  0  1    1   1
1  1  0    1   1
1  1  1    1   1
-  -  -    0   0

Zu lesen: Wenn man im Zustand 0 oder 1 die Taste 2 drückt, bekommt man keine 2 Euro. In allen anderen Zuständen schon. Drückt man die Taste 2 nicht, bekommt man auch keine 2 Euro (egal in welchem Zustand man sich befindet).
Wenn ich das in ein Symmetriediagramm übertrag komm ich auf eben diese Minimalform.


Ich würd mal noch gern den Automaten aus 09 2005 Aufgabe 4 zur Diskussion stellen, falls da überhaupt wer durchgeblickt hat. Vor allem der vorgegebene Graph bereitet mir Freude ;D


Also die Klausur hab ich leider nicht…

Ich würd aber gern Sept. 2007 Aufgabe 2 zur Diskussion stellen :smiley:


Bild: http://img18.imageshack.us/img18/5576/flipflops.jpg

Erklärung:

Erste Tabelle is die für ein normales JK-FF, die darunter ist die Version mit dem D-FF.

Q(t+1) ist das Ausgangssignal nach der Eingabe, Q(t) das Signal davor.

Du brauchst hier als drittes Eingangssignal den alten Ausgangswert vom D-FF, damit du je nach Belegung von J und K invertieren bzw. speichern kannst.

Das ergibt dann ein Symmetriediagramm mit 8 Feldern und schließlich ne Schaltung mit einer Rückkoppelung.


a und b sind simpel

c)
Imho ist das einfach die JK Tabelle, man soll ja Quasi ein D flipflop über JK ansteuern, sodass das Q dem eines JK FF entspricht.
Naja und da D = Q ist, hat man einfach.

Q  J  K  Qn+1  = D
0  0  0  0
0  0  1  0
0  1  0  1
0  1  1  1
1  0  0  1
1  0  1  0
1  1  0  1
1  1  1  0

also (-Q + -K )(J+Q)

das is dann ((Q nor 0) nor (K nor 0) ) nor (J nor Q) )


@Mago: Die komplette September 05 Klausur bringt mich zum verzweifeln.

Aus der Automatenaufgabe werd ich gar nicht schlau. VHDL muss ich mir wohl das mit der generischen Strukturbeschreibung doch nochmal anschauen (dacht das wär nicht so wichtig, aber anscheinend muss man wirklich jeden Furz können, was da in den Folien steht).
Aufgabe 2a): Strukturausdruck aufstellen → KNF → Symmetriediagramm → die 2 Werte aus der Angabe wegstreichen → KMF ablesen → hinkritzeln?
b) und c) überhaupt keinen Plan. Was muss man denn dazu wissen, um sowas lösen zu können?

Aufgabe 1 auch total komisch außer die e) und f).

Oh man sowas macht mir echt Angst :confused:


Ne bei der 2a, machste dir einfach n Symmetriediagramm mit den 1stellen die du aus der Funktion rauslesen kannst, und machst noch zwei 1en bzw dontcares an die Stellen, die angegeben sind, und liest dann einfach ne DMF raus.
Bei der 2b) siehste ja dass die Funktion -123 oder 1-23 oder 12-3 ist , dann müsst dir halt überlegen, nen inverter kannste daraus herstellen, indem du 2 mal ne 1 und deinen eingang reinleitest. weil 1und1undnichtX ist dsa selbe wie nichtX . ein and Gatter kannst du daraus konstruieren indem du ne 0 und zwei Literale als eingang hast, da die null ja invertiert wird, wird sie zur 1 und 1&A&B = A&B
Und aus “and” und “not” kann man bekanntlich alles konstruieren.
Und bei der c) kriegste einfach 8 punkte nochmal zusätzlich geschenkt, dafür dass du die b gemacht hast :wink:

1a) Ist meiner Meinung nach 2^13 +2^13 = 2*(2^13) = 2^14 , also insgesamt 8 Sekunden
b) 2^13 pro Sekunde, also 2^13 Hertz
c) Das is das selbe wie in ner 07er Klausur , das sind einfach Trits, und man hat 2 bits, 3^2 = 9 und das halt alles angeben
d) 20 Codierungen in Trits wär 3^3 also 3 Trits, 20 in Binär, bräuchte man 5 Bits, also 2 gespart.

Bei der g) wüsst ich aber auch gern die Lösung. Welches Zahlensystem ist genauer, Einerkomplement oder IEEE mit 7bit Exponent, und ab welchem Wert ist eine genauer als die andere? Hab keinen Schimmer wie ich da rangehen soll.


Ok gar nicht so schwer eigentlich. Aber das wär einfach nicht meine Klausur gewesen. März 06 Klausur konnt ich Aufgabe 1, 3 und 4 komplett lösen :slight_smile: Mich würd trotzdem die Automatenaufgabe 2 noch interessieren. Was habt ihr da so als Lösung?

Bin mir total unsicher aber ich hätte jetzt mal auf 16 Zustände getippt, jeweils durchnummeriert und für jede Zahl einen “geraden” und einen “ungeraden” Zustand. Kommt eine 0 als Eingang, springt der Zustand vom geraden in den nächsten gerade bzw. vom ungerade in den nächsten ungeraden Zustand und umgekehrt bei einer 1. Die letzten beiden Zustände haben als Ausgang dann Y1 = 1 bzw. Y2 = 1. Die restlichen Zustände haben als Ausgang Y1 = Y2 = 0. Somit wär das dann ein Moore Automat. Von den letzten beiden Zuständen führt natürlich auch ein Pfeil wieder zu den ersten beiden.

Kann das in etwa so stimmen oder bin ich total auf dem Holzweg? Ansteuerfunktion würd dadurch nämlich ziemlich aufwändig^^