Forum: FPGA, VHDL & Co. Steuerbit-Erkennung


von Tobi (Gast)


Lesenswert?

Hallo Zusammen!

Ich würde gerne eine Zustandsmaschine in VHDL erstellen die folgendes 
tut:

1. Erkennen von drei seriellen Steuerbits.
2. Zustand umschalten anhand der erkannten Steuerbits
3. Solange im Zustand verbleiben, bis eine bestimmte Zeit (in Takten) um 
ist oder ein Signal gegeben wird wieder in den Zustand zum erkennen der 
Steuerbits zurückzukehren.

Steuerbits und zu verarbeitende Daten kommen hierbei über die gleiche 
Leitung.

Ich habe es bisher so gelöst, dass ich die Steuerbits in ein Register 
schiebe diese und dann mit Hilfe eines Zählers bei definiertem Zählwert 
auslese. Das klappt soweit wunderbar.

Mein Problem ist nun:

Wie kann ich elegant realisieren, dass der Zustand nur dann gewechselt 
wird, wenn ich das auch will. Oder anders: Wie kann ich bestimmen: "Lese 
jetzt wieder Steuerbits und schalte dann in diesen und jenen Zustand um" 
?

Beispiel:
Es soll so aussehen: Eine Bit-Kette kommt herein, die ersten 3 Bits sind 
die Steuerbits, daran anschließend eine "Leerstelle" und dann z.B. 16 
Bits die Auf einen Ausgang geleitet werden sollen. (Ausgabezustand). 
Anschließend soll der Automat wieder zurück in einen Modus schalten bei 
dem er die Steuerbits erkennt....am besten sogar noch ein Reset vorher 
ausführen...


Hoffe die Problematik ist klar geworden. Für Vorschläge und Ideen wäre 
ich sehr dankbar!

Gruß Tobi

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Eine Bit-Kette kommt herein, die ersten 3 Bits sind die Steuerbits
Ist das eine asynchrone Übertragung (wie RS232)
oder eine synchrone (wie SPI)?

> und dann z.B. 16 Bits die Auf einen Ausgang geleitet werden sollen.
Sollen die seriell auf 1 Ausgang ausgegeben werden,
oder auf 16 parallele Ausgänge?

Wie erkennst du den Beginn und das Ende der Bitstroms?

von Tobi (Gast)


Lesenswert?

Danke für die schnelle Antwort!

Die Übertragung soll synchron sein, also ein Bit pro Taktperiode. Es 
soll später über die gleiche Leitung auch eine SPI Kommunikation laufen.
Die Bits sollen parallel auf 16 Ausgänge. Das mache ich mit einem 
Multiplexer und einem Zähler mit dessen Hilfe ich die CE-Eingänge der 
Ausgangs-FF ein und aus schalte.

Die letzte Frage ist eigentlich Teil meines Problems. Der Einfachheit 
halber gehe ich aber davon aus:
Einmal Steuerbits erkennen dauert 4 Takte.
Einmal Ausgabemodus dauert 16 Takte.
Dann geht alles wieder von vorne los. Letztendlich wird es aber 
natürlich noch mehr Zustände geben die auch verschieden lang sein 
können. Ich habe mir etwas vorgestellt, wie ein Signal, dass am Ende des 
Prozesses, also wenn die Arbeit innerhalb eines Zustands sozusagen 
abgeschlossen ist, signalisiert, dass jetzt wieder in den 
Erkennungsmodus umgeschaltet werden kann.

Gruß Tobi

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.