Hallo,
für ein Projekt benötige ich ein Latch, welches 8 Datenleitungen beim
Zugriff auf eine bestimmte Adresse (D406) zwischenspeichert, welches
aber auch per Taster manuell gesetzt werden kann.
Wenn der Taster gedrückt wird, soll OUT_D0 gesetzt werden, wird der
Taster erneut gedrückt, soll OUT_D1 gesetzt und OUT_D0 gelöscht werden.
Wird der Taster erneut gedrückt, soll OUT_D2 gesetzt und OUT_D0/D1
gelöscht werden. Das ganze weiter bis OUT_D7.
Diese Taster-Logik raubt mir schon seit Tagen die Nerven, ich komme
einfach nicht weiter.
Vielleicht hat jemand eine Idee dazu?
Leider sind die vergebenen PINs und Signale alle festgelegt, so daß es
keine Änderung an diesen geben darf.
Da die Latch-Funktion im GAL per Register erfolgt, bekommt das GAL
seinen Clock-Impuls bei jedem Zugriff auf die Adresse bzw. beim
Tastendruck.
Hier das Listing:
CHIP DUALMOD1 GAL22V10 REGISTERED_MODE
CLK_IN
PHI0 (ist ein 1.77Mhz Clock)
D406
D0
D1
D2
D3
D4
D5
D6
D7
GND
ENABLE
KEY
OUT_D0
OUT_D1
OUT_D2
OUT_D3
OUT_D4
OUT_D5
OUT_D6
OUT_D7
CLK_OUT
VCC
CLK_OUT = /D406 * /PHI0 * ENABLE
+ /KEY * /PHI0;
/OUT_D0 := /D406 * /D0
+ /KEY * ?????;
/OUT_D1 := /D406 * /D1
+ /KEY * OUT_D2;
/OUT_D2 := /D406 * /D2
+ /KEY * OUT_D3;
/OUT_D3 := /D406 * /D3
+ /KEY * OUT_D4;
/OUT_D4 := /D406 * /D4
+ /KEY * OUT_D5;
/OUT_D5 := /D406 * /D5
+ /KEY * OUT_D6;
/OUT_D6 := /D406 * /D6
+ /KEY * OUT_D7;
/OUT_D7 := /D406 * /D7
+ /KEY * OUT_D0;
Vielen Dank schonmal im Voraus!
Gruß,
Wolfram
naja, so ähnlich.. leider gibt es nur die Möglichkeit mit einem Taster, so daß dies die einzige Variante sein kann, daß jeder Ausgang nur alleine aktiv wird. Es dürfen nicht mehrere Ausgänge gleichzeitig an sein.
hat denn keiner eine idee, wie man das mit dem taster lösen könnte? mfg, Wolfram.
Wolfram Fischer schrieb: > hat denn keiner eine idee, wie man das mit dem taster lösen könnte? Entprellung Und blöderweise hast du nur noch 2 Flipflops und einen recht schnellen Takt übrig, so dass eine Tasterentprellung mit den verbleibenden 2 Flipflops im GAL nicht mehr sinnvoll möglich ist. Insbesondere, wenn hinterher noch eine Flankenerkennung folgen muss... Mit sowas bekommst du bei einem Tastendruck incl. Prellen dann gern ein paar Glitches am CLK_OUT: CLK_OUT = /D406 * /PHI0 * ENABLE + /KEY * /PHI0;
hi, das entprellen mach ich mit nem rc-glied, sollte kein problem sein.. 2 freie FlipFlops? reichen die nicht zur umschaltungvon wenigstens out0 und out1? gruß, wolfram.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.