Forum: FPGA, VHDL & Co. Ampelsteuerung, LED Frequenz ändern??


von Michael S. (Firma: TGM) (funny_boy)


Angehängte Dateien:

Lesenswert?

hi all.

ich habe ner frage bezüglich LED-Frquenz.

ich habe ein Ampelsteuerung programmiert, Es funktioniert bis jetzt 
alles.

Ich möchte demnächst Frequenz von LED ändern.

Zur zeit ist es so: Es ist wie Ampel, Es läuft alles automatisch ( mit 
Clock), Von grün wird es zuerst gelb und dann Rot, und von Rot wird 
gleich auf Grün gesprungen, und zwischen diese Sprünge wurde bestimmte 
Hz eingestellt.

Ich möchte, mittels ein taste diese Frequenz ändern, dass Grün schneller 
auf gelb ändern usw. und mittels 2te taste genau das umgekehrt, es soll 
langsamer.

Bin noch anfänger in diese Sache.


freue mich auf dem antwort.
Danke Voraus

von Falk B. (falk)


Lesenswert?

@  Michael Schröderhofer (Firma: TGM) (funny_boy)

>Ich möchte, mittels ein taste diese Frequenz ändern, dass Grün schneller
>auf gelb ändern usw. und mittels 2te taste genau das umgekehrt, es soll
>langsamer.

Du musst die Abfrage deiner Tasten in die State Machine einbauen. Etwa 
so.
1
         when stateB=>
2
            if (taste = '0' and (i=100000000)) or (taste='1' and
3
               (i=20000000)) then state <= stateC;

>Bin noch anfänger in diese Sache.

Das Beispiel hat diverse Mängel. Die Zahlen für den Zähler in der State 
Machine sind riesig und unpraktisch. Besser ist es, den sehr schnellen 
Systemtakt in einem separaten Zähler runterzuteilen und dann in der 
State Machine zu verwenden. Stichwort Clock Enable, siehe [[Taktung 
FPGA/CPLD]]. Zweitens sollte man für die State Namen prägnante Namen 
wählen, welche selbsterklärens sind, hier z.B. Phase_Rot, Phase_Gruen 
etc.

MfG
Falk

von Michael S. (Firma: TGM) (funny_boy)


Lesenswert?

danke

Jup, da hast du recht. ich hätte die State-Namen besser nennen sollen.

ich werde, demnächste ändern.

mfg

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.