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.