Hallo Leute, ich bin ein Anfänger in VHDL und ich will einen Automaten zur Ansteuerung einer Fahrzeugampel und einer Fußgängerampel. Die LED's für die beiden Ampeln befinden sich auf dem Demoboard auf der rechten Seite. Im Ruhezustand leuchten die Fahrzeugampel grün und die Fußgängerampel rot. Will ein Fußgänger die Fahrbahn überqueren, so betätigt er die Anforderungstaste S11 (roter Taster). Danach erfolgen folgende Schritte: Fahrzeug-Ampel Fußgänger-Ampel Dauer [s] Phase grün rot unbegrenzt Ruhe gelb rot 2 Nach Anf. für Überq. rot rot 2 rot grün 5 Überquerung rot rot 2 Nach Überquerung rot + gelb rot 2 grün rot unbegrenzt Ruhe kann jemand mir dafür helfen. Danke im Voran
Gast
#3194192
Das Skript der zugehörigen LVA kann das sicherlich...
Hi, Du musst schon sagen, wobei Du Hilfe brauchst. Werde mal ausführlicher wo es klemmt. Kannst Du mir erstmal sagen, was für ein Demoboard das ist? Nur weil es mich interessiert. Und willst Du, das nach dem Tastendruck sofort die KFZ-Ampel auf Gelb springt? Kann man vll. machen, wenn es sich wirklich nur um eine Fußgängerampel handelt. Aber nicht bei einer Kreuzung. Gruß Fabian
Franklin Delano schrieb: > auf dem Demoboard Was ist denn da drauf? > Danach erfolgen folgende Schritte: Du musst also nur einen Automaten machen, der im Ruhezustand auf einen Tastendruck wartet, und dann die erforderlichen Schritte nacheinander abarbeitet. Der Einfachheit halber würde ich an deiner Stelle einen Zähler erzeugen, der auf 1 Sekunde zählen kann. Den da im Ruhezustand zurücksetzen und auf den (einsynchronisierten und gespeicherten) Fussgängertastendruck warten. Und danach im Sekundentakt eine Farbtabelle abarbeiten... Etwas komplizierter wird es dann, wenn die Zeiten flexibler einstellbar gemacht werden sollen, dann empfiehlt es sich einen Zähler für den Maximalwert zu definieren und den jeweils mit der Wartezeit zu laden... Fabian Hoemcke schrieb: > Und willst Du, das nach dem Tastendruck sofort die KFZ-Ampel auf Gelb > springt? Und ich würde nach dem letzten Schritt erst mal den Autos für ein paar definierte Sekunden Grün geben...
Gast
#3194673
Lothar Miller schrieb: > Etwas komplizierter wird es dann, wenn die Zeiten flexibler einstellbar > gemacht werden sollen, dann empfiehlt es sich einen Zähler für den > Maximalwert zu definieren und den jeweils mit der Wartezeit zu laden... Ich würde es gleich so machen, wie Lothar hier schreibt. Neben der FSM gibt es einen Counter, der beim Sprung in den nächsten State mit einem definierten Wert geladen wird. Im Folgestate wird dann einfach so lange gewartet, bis der Counter abgelaufen ist. Dann erfolgt mit dem Sprung in den nächsten State wieder das Laden mit der Dauer für den darauffolgenden State.. usw...
Ich hätte da mal was zum drüber Nachdenken:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.