Forum: FPGA, VHDL & Co. Drehgeber-Auswertung mit hilfe von Mealy-Automat


von abel_beginner (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hab hier im Anhang eine Aufgabenstellung. Ich soll die Signale eines 
Drehgebers auswerten, aber zuerstmal Zustandsdiagramm zeichnen.

Also 00/rechts heißt z.b., dass wenn der Eingang 00 ist, das der Ausgang 
dann "rechts" ist.

00 --> Phi1Phi2

Eine Rechtsdrehung wird gemacht bei: 10 auf 11, 11 auf 01, 01 auf 00 und 
00 auf 10.
Eine Linksdrehung wird gemacht bei: 01 auf 11, 11 auf 10, 10 auf 00 und 
00 auf 01.

Stimmt mein Diagramm? Naja und Zustand Reset kann ja überall hingehen, 
man weiß halt dann auch nicht ob links oder rechts.

Aber geht hier beim mealy-automat ein Pfeil auf den Zustand selbst? Geht 
das?

mfg

abel_beginner

von Achim S. (Gast)


Lesenswert?

Die Aufgabenstellung verlangt als Ausgang einen Vier-Bit Wert 
("Helligkeit" mit Wertebereich 0..15). Dein aktuelles Zustandsdiagramm 
liefert als Ausgänge bisher nur die Steuersignale zur Erzeugung dieses 
Wertes.

Wenn du direkt den Helligkeitswert ausgibst wirst du auch sehen, wozu 
der Reset gut ist (in deiner aktuellen Beschreibung hat der Reset nicht 
wirklich eine Funktion. Zudem ist Reset eigentlich ein Eingang. Du 
behandelst Reset schon als Zustand, aber ich sehe nirgends in deinem 
Diagramm den Taster S1, der Reset steuern soll).

abel_beginner schrieb:
> Stimmt mein Diagramm?

Die eingezeichneten Übergänge zwischen S0..S3 sind ok. Allerdings sind 
sie nicht vollständig:
- was passiert z.B., wenn du in S0 bist, und die Eingänge springen auf 
10? (Ich weiß: du erwartest diesen Übergang nicht, aber was soll die 
Logik machen, wenn er trotzdem auftritt?)
- was passiert, wenn du in S0 bis und die Eingänge bleiben auf 01? (Das 
beantwortet dann auch gleich deine folgende Frage:)

abel_beginner schrieb:
> Aber geht hier beim mealy-automat ein Pfeil auf den Zustand selbst? Geht
> das?

von chris (Gast)


Lesenswert?

Hmm wie soll man beim Stat_Diagramm ausgänge einzeichnen? Das geht doch 
immer im Kreis?

Oder soll ich bei jedem Zustand einfach einen "output" machen? Also ein 
Enable --> ein zähler kann zählen, wenn enable da ist.

Oder wie siehst du das?

von Achim S. (Gast)


Lesenswert?

chris schrieb:
> Hmm wie soll man beim Stat_Diagramm ausgänge einzeichnen?

Ein State-Diagramm ohne Ausgänge wäre ziemlich sinnlos, weil die 
Außenwelt nichts vom Durchlaufen der States mitkriegen würde. In deinem 
Diagramm sind die Ausgänge "links" und "rechts", also das, was bei den 
Übergängen neben dem Schrägstrich steht.

chris schrieb:
> Oder soll ich bei jedem Zustand einfach einen "output" machen?

Beim Moore-Automat stehen die Ausgänge in den States (weil sie nur von 
den States abhängen). Bei deinem Mealy-Automat hängen die Ausgänge 
zusätzlich auch von den Eingängen ab. Deshalb müssen sie an den 
Übergängen stehen, nicht in den States.

Du könntest dein bisherigen Ausgänge "links" und "rechts" ergänzen um 
"counter_enable" und "counter_reset" und den Zähler außerhalb der FSM 
implementieren. Oder du schreibst an die Übergänge "counter <- 
counter+1", "counter <- counter-1" und "counter <- 0", wenn diese 
Schreibweise deinem Betreuer/Dozenten ausreicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.