• Keine Ergebnisse gefunden

Aufgabe 6: Ampelsteuerung G. Kemnitz, C. Giesemann, TU Clausthal, Institut für Informatik 4. Juni 2015

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe 6: Ampelsteuerung G. Kemnitz, C. Giesemann, TU Clausthal, Institut für Informatik 4. Juni 2015"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Aufgabe 6: Ampelsteuerung

G. Kemnitz, C. Giesemann, TU Clausthal, Institut für Informatik 4. Juni 2015

Zusammenfassung

Aus einer verbalen Funktionsbeschreibung einer Ampelsteuerung ist ein Ablaufgraph zu entwickeln. Der entwickelte Ablaufgraph ist durch einen Automaten in VHDL nachzubilden, zu simulieren, als Schaltung zu synthetisieren und zu testen.

1 Zielfunktion und Aufstellen des Ablaufgraphen

Beschreiben Sie folgende verbale Funktionsbeschreibung durch einen Ablaufgraphen:

Im Anfangszustand haben die Fuÿgänger rot und die Autos grün. Wenn ein Fuÿgänger den Knopf betätigt, schaltet die Autoampel nach einem Takt auf gelb, einen Takt später auf rot. Zwei Takte, nachdem die Autos rot haben, schaltet die Fuÿgängerampel für fünf Takte auf grün, danach wieder auf rot. Die Autos behalten nun noch drei Takte rot, dann noch einen Takt rot-gelb. Die Autos sollen nun mindestens fünf Takte grün haben, bevor ein neuer Zyklus beginnen darf.

Zur Entwicklung eines Ablaufgraphen ist es zweckmäÿig, zuerst die Zustände und die unter- schiedlichen möglichen Eingaben zu zählen und dann erst den Graphen zu zeichnen.

Die bisherige Funktionsbeschreibung ist nicht vollständig. Sie beschreibt beispielsweise nicht, was passieren soll, wenn ein Fuÿgänger den Knopf betätigt, während sich die Steuerung nicht im Grundzustand bendet. Ergänzen Sie folgende Funktionen in Ihrem Graphen:

Wenn ein Fuÿgänger den Knopf drückt, wenn er zwar schon wieder rot hat, die Am- pel jedoch ihren Zyklus noch nicht beendet hat, soll sich die Ampel den Knopfdruck merken und automatisch im Anfangszustand den nächsten Zyklus starten. Bendet sich die Fuÿgängerampel in der Grünphase bzw. steht diese unmittelbar bevor, soll der Knopfdruck ignoriert werden.

Ein sicherheitskritisches System wie eine Ampel muss bei einer Funktionsstörung, z.B. wenn eine rote Glühlampe kaputt geht, in einen Zustand übergehen, in dem wenig Schaden entstehen kann.

Ergänzen Sie in Ihrem Graphen:

Wenn eine Störung auftritt, soll die Fuÿgängerampel sofort abschalten und die Ampel für die Autos dauerhaft gelb blinken. Dieser Zustand kann nur durch Neuinitialisierung verlassen werden.

Die Taktperiode soll etwa 2s betragen. Die Fuÿgängertaste sei BTND. Ein Fehler soll durch den Druck auf Taster BTNU signalisiert werden. Die Neuinitialisierung soll über Taste BTNS erfolgen.

Entprellen nicht vergessen! Der für die Schaltung zu verwendende Takt muss vorher aus dem 100 MHz Eingabetakt erzeugt werden. Die Ampelsteuerung besitz folgende Entity-Beschreibung:

1

(2)

entity Ampelsteuerung is port(

clk : in std_logic;

reset : in std_logic; -- Neuinitialisierung

signal_in : in std_logic; -- Fussgaengerknopf gedrueckt fehler_in : in std_logic; -- In Fehlerzustand uebergehen pkw : out std_logic_vector(2 downto 0); -- Fuer Rot, Gelb, Gruen fuss : out std_logic_vector(1 downto 0); -- Fuer Rot und Gruen

signal_out : out std_logic; -- Anzeige Fussgaengerknopf gedrueckt zustand : out std_logic_vector(3 downto 0);-- Anzeige Zustand

fehler_out : out std_logic -- Anzeige Fehler end entity;);

2 Gesamtschaltung und Test

Abbildung 1 zeigt die zu entwerfende Gesamtschaltung, der auch die Einträge für die ucf-Datei zu entnehmen sind. Die LEDs benden sich auf der Ansteckbaugruppe Ampelsteuerung/Zahlenschloss am Stecker B1.

G1 H3 J7 J6 L7 K6 F2 U16 V16 U15 V15 Ampelsteuerung

clk reset signal in fehler in

V10 B8 A8 C9

pkw(2) pkw(1) pkw(0) fuss(1) fuss(0) signal out fehler out zustand(0) zustand(1) zustand(2) zustand(3) Takt-

teiler BTND

BTNU BTNS GCLK

LD0 LD1 LD2 LD3 AUTO GN AUTO GE AUTO RT

FUSS RT FUSS GN SIGNAL LD DUOLED RT

Abbildung 1: Gesamtschaltung

1. Schreiben Sie eine VHDL-Beschreibung für die Ampelsteuerung auf Grundlage der Beschrei- bung des Vorabschnitts.

2. Schreiben Sie einen Testrahmen für Ihre Ampelsteuerung. Verwenden Sie einen 2 Sekunden Basistakt und orientieren Sie sich an Abbildung 2.

3. Programmieren Sie den Schaltkreis auf der Versuchsbaugruppe und testen Sie die Schaltung.

3 Abnahmekriterien

• Automatengraph auf Papier

• Simulationsergebnis (vgl. Abbildung 2)

• Vorführbare Schaltung auf der Baugruppe 2

(3)

reset

001 010 100 110

10 01

pkw fuss clk

001 000 010 000 010

00

10 10

001

signal out fehler in signal in

Abbildung 2: Simulationsvorgaben

3

Abbildung

Abbildung 1 zeigt die zu entwerfende Gesamtschaltung, der auch die Einträge für die ucf-Datei zu entnehmen sind

Referenzen

ÄHNLICHE DOKUMENTE

Kemnitz · Institut für Informatik, TU Clausthal (TV_F6) 22.. Fehlerorientierte Wichtung.

Kemnitz· Institut für Informatik, TU Clausthal (IW-F2) 25...

Entwerfen Sie ein weiteres Testprogramm, dass beim Start den Text "Aufgabe 1.1:" auf der Konsole ausgibt und dann in einer Endlosschleife die Schalterwerte einliest und auf

Schreiben und Testen Sie ein Programm, dass in einer Endlosschleife immer auf eine über die Schal- ter einzustellende Anzahl von Eingabezeichen von der Konsole wartet und diese

Bauen Sie einen integrierten Logikanalysator in ihr System ein, der die Anschlusssignale des Debug- Moduls aufzeichnet und untersuchen Sie, wie Prozessor und Debug-Modul bei einem

Der Abtastprozess für die Schalter soll mit dem in Aufgabe 1 bestimmten Takt arbeiten und der Prozess zum Weiterstellen der Leuchtdiodenausgaben mit einer Taktfre- quenz von

Zu jedem Zeitpunkt lassen sich nur die Anzeigewerte für eine Zier ausgeben. Um vier Ziern darstellen zu können, müssen diese zyklisch immer nacheinander angezeigt werden. Ein

Die in diesem Abschnitt zu entwerfende Schaltung soll einen Takt, acht Schaltereingänge für die Zierneingabe, einen Tasteneingang für das Rücksetzsignal, vier Leuchtdiodenausgänge