|
Bitte beachte die Copyrighthinweise.
GAL
1 Aufgabenstellung
· Aufbau eines elektronischen Würfels mittels des GAL-Bausteines 16V8
2 Aufbau mit Funktionsgenerator
2.1 Prinzip
Der Clock für den GAL wird von einem Funktionsgenerator zur Verfügung gestellt. Solange ein Taster gedrückt ist, schaltet der GAL der Reihe nach alle Würfelergebnisse durch. Durch die Wahl einer ausreichend hohen Frequenz kann das Auge nicht folgen und beim Loslassen ergibt sich eine Zufallszahl.
LED-Zuordnung
Würfelzahl |
Leuchtende LEDs |
1 |
4 |
2 |
1,7 |
3 |
1,4,7 |
4 |
1,3,5,7 |
5 |
1,3,4,5,7 |
6 |
1,2,3,4,5,6,7 |
2.2 Schaltung
Obwohl Pin 11 im Programm als OE bezeichnet wird, handelt es sich um einen (Output Enable), der mit Masse verbunden werden muss.
Pin 19 wurde im Programm mit Hellrun bezeichnet.
2.3 Software
Das Programm realisiert nebenstehendes Flussdiagramm.
Im ersten Teil werden die verwendeten Aus- und Eingänge deklariert.
W1 bis W7 sind die Leuchtdioden, die an die Ausgänge geschaltet werden und die Würfelzahlen zeigen. REGISTERED bedeutet, dass die Änderungen erst bei der nächsten Taktflanke übernommen werden.
Es können maximal 8 Ausgänge zwischen Pin 12 - 19 verwendet werden.
Pin 1 (Clock), Pin 11 (OE), Pin 10 (GND) und Pin 20 (UB) sind immer gleich belegt und können nicht verändert werden.
Der Eingang HELLRUN wird zum Würfeln verwendet. Ist er HIGH, werden die Würfelzustände nach der Reihe durchgeschaltet. Die LOOP wird einmal pro Clocksignal durchlaufen. Aufgrund des aktuellen Zustands der Ausgänge wird der nächste Zustand ausgegeben.
Wird HELLRUN LOW, wird der aktuelle Zustand nicht verändert.
Das Zeichen * bedeutet AND, das Zeichen / eine Negierung.
Zu beachten ist, dass das Declaration Segment genau eingeben werden muss.
Wird /HELLRUN nicht ausgewertet, funktioniert das Programm nicht, da der Compiler diese Zustände wegoptimiert.
Wurfel.pds
;PALASM Design Describtion
;---------------Declaration Segment--------------------
TITLE ELEKTRONISCHER WUERFEL
PATTERN
REVISION V1.0
AUTHOR SCHNAB
COMPANY HTL KARLSTEIN
DATE 06/03/98
CHIP GAL16V8 PALCE16V8
;---------------Pin Declaration------------------------
PIN 1 CLK ; INPUT
PIN 10 GND ; INPUT
PIN 11 OE COMBINATORIAL ; INPUT
PIN 18 W1 REGISTERED ; OUTPUT
PIN 12 W2 REGISTERED ; OUTPUT
PIN 13 W3 REGISTERED ; OUTPUT
PIN 14 W4 REGISTERED ; OUTPUT
PIN 15 W5 REGISTERED ; OUTPUT
PIN 16 W6 REGISTERED ; OUTPUT
PIN 17 W7 REGISTERED ; OUTPUT
PIN 19 HELLRUN COMBINATORIAL ; INPUT
PIN 20 VCC ; INPUT
;---------------Boolean Equation Segment---------------
EQUATIONS
if (HELLRUN) then
begin
if (W1*W2*W3*/W4*W5*W6*W7) then ;if Anzeige vorher war 6 -> Anzeige auf 1
begin
W1=0
W2=0
W3=0
W4=1
W5=0
W6=0
W7=0
end
if (W4*/W1*/W2*/W3*/W5*/W6*/W7) then ;if Anzeige vorher war 1 -> Anzeige auf 2
begin
W1=1
W2=0
W3=0
W4=0
W5=0
W6=0
W7=1
end
if (W1*/W2*/W3*/W4*/W5*/W6*W7) then ;if Anzeige vorher war 2 -> Anzeige auf 3
begin
W1=1
W2=0
W3=0
W4=1
W5=0
W6=0
W7=1
end
if (W1*/W2*/W3*W4*/W5*/W6*W7) then ;if Anzeige vorher war 3 -> Anzeige auf 4
begin
W1=1
W2=0
W3=1
W4=0
W5=1
W6=0
W7=1
end
if (W1*/W2*W3*/W4*W5*/W6*W7) then ;if Anzeige vorher war 4 -> Anzeige auf 5
begin
W1=1
W2=0
W3=1
W4=1
W5=1
W6=0
W7=1
end
if (W1*/W2*W3*W4*W5*/W6*W7) then ;if Anzeige vorher war 5 -> Anzeige auf 6
begin
W1=1
W2=1
W3=1
W4=0
W5=1
W6=1
W7=1
end
end
if (/HELLRUN) then
begin
W1=W1
W2=W2
W3=W3
W4=W4
W5=W5
W6=W6
W7=W7
end
3 Aufbau ohne Funktionsgenerator
Der Clock sollte nun intern erzeugt werden.
Hierzu wurden zwei weitere Ausgänge benötigt. Da W1 und W7 bzw. W3 und W5 immer gleichzeitig geschaltet sind, wurden diese zusammengefasst.
Die beiden Inverter werden durch den GAL realisiert.
Über R und C wird die Frequenz bestimmt.
z.B.: f = 1kHz
Aus zeitlichen Gründen konnte diese Aufgabe nicht mehr realisiert werden.
4 Interpretation der Messergebnisse
GAL- bzw. PAL-Bausteine stellen eine einfache Möglichkeit dar, mit einem einzigen IC komplexe Aufgaben zu lösen.
Nachteilig gegenüber normalen ICs ist hierbei sicher, dass sie zuerst programmiert bzw. gebrannt werden müssen