Forum: Mikrocontroller und Digitale Elektronik Aufwärts/Abwärtszähler mit Gal 16v8


von Matthias M. (estel)


Lesenswert?

Guten tag,
ich wollte mit hilfe eines GAL-16V8 ein Auf-, Abwärtszähler Realisieren. 
Der Umfang soll dabei 0-19 (20) sein. Der GAL soll einen 
Richtungseingang und Zähleingang haben. Als Ausgabe dachte ich mir das 
jeweils das Bit durch eine Diode dagestellt werden soll.

Das Problem was sich mir jetzt stellt ist das ich nicht weiß wie ich das 
ganze in einer Schaltung umsetzte bzw. wie ich den GAL programmieren 
soll.

Kann mir da jemand bitte helfen?

von Ulrich (Gast)


Lesenswert?

Wo soll man beim erklären anfangen?

Kleine Testfrage:
Wieviel FFs benötigt die Schaltung? Bevor du das nicht richtig 
beantworten kannst, solltest du dich noch ein bissele in das Zeugs 
einlesen.

Wenn du die richtige Antwort bringst geht meine Hile eventuell 
weiter....;-)

von Matthias M. (estel)


Lesenswert?

5 D-Flipflops.
Für jedes BIT eines.

Weil man mit den FF bis 2 hoch n zählen kann.

von Ulrich (Gast)


Lesenswert?

Sehr schön ;-)

Weißt du auch das du eine "kombinatorische Logik" für die Rückkopplung 
benötigst? Falls ja dann bist du ja schon sehr gut für die Aufgabe 
vorbereitet. Und weißt wie die Schaltung im Gal auszusehen hat.

Du könntest dein Design mit notepad direkt in die jedec-Datei schreiben. 
So habne wir das in der Berufsschule bei so wenig verwendeten Gattern 
noch gemacht. Im Betrieb haben wir dann noch ein bissele mit dem Synario 
rumgemacht.

Gal Programmieren würde ich mit einem Programmiergerät ;-)

Ansonsten noch ein guter Tipp von mir falls du dir eventuell noch einen 
anderen Chip aussuchen kannst. Nimm einen CPLD aus der 9500 Reihe von 
xilinx. Die lassen sich leichter programmieren und man arbeitet mit der 
exact gleichen Entwicklungsumgebung wenn man später auf FPGAs 
umsteigt...
Außerdem eventuell billiger und stromsparender

von Peter D. (peda)


Lesenswert?

Schaltungseingabe ist mir zu kompliziert.

Zähler macht man am einfachsten mit einem Sequenzer:
1
Name      x;
2
Partno    ;
3
Date      ;
4
Revision  ;
5
Designer  ;
6
Company   ;
7
Assembly  ;
8
Location  ;
9
Device    g16v8;
10
11
12
/**  Inputs  **/
13
14
Pin 1           = clock;
15
Pin 2           = up_xdown;
16
Pin 3           = reset;
17
18
/**  Outputs  **/
19
20
Pin [18, 17, 16, 15, 14] = [CT4..0];
21
22
23
/** Definition **/
24
25
FIELD count   = [CT4..0];       /* Index = Bitposition! */
26
27
/** Logic Equations **/
28
29
Sequenced count {
30
$Repeat i = [0..19]
31
32
Present 'd'{i}
33
34
if !reset & up_xdown Next 'd'{(i+1)%20};
35
36
if !reset & !up_xdown Next 'd'{(i+19)%20};
37
38
if reset Next 'd'{0};
39
40
$Repend
41
}


Peter

von Matthias M. (estel)


Lesenswert?

...das Programmiergerät wird mir gestellt.

Das andere Problem was ich nach wievor habe ist wie die Schaltung 
ingesamt aussehen zusehen hat. Also was ich am GAL anschließen muss. Ich 
hab hier mein kleines Mikrocontrollerboard... der erste Pin für den Takt 
( wie soll ich den erzeugen). Also um ganz genau zusein such ich halt 
ein Schaltplan nachdem ich das alles zusammenbauen ( bzw. bestellen ) 
kann. Könnt ihr (du) mir helfen?

PS: danke für die hilfe bis jetzt.

von Ulrich (Gast)


Lesenswert?

Der Takt ist der Zähltakt. Also die FFs reagieren auf deinen Zähltakt.

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
Noch kein Account? Hier anmelden.