Schaltwerk mit Gal 16V8

Gast #438356
Lesenswert?

Servus zusamm....

Ich habe folgendes Problem. Ich möchte mit einem Gal ein Schieberegister 
(74HCT4094) und einen AD Wandler (TLC 549) steuern. Der AD Wandler 
braucht acht Takte damit sein binärer Wert komplett ausgegeben ist. Ich 
habe jetzt im Gal ein Zähler mit q3,q2,q1,q0 realisiert. dieser zählt 
bis acht und fängt wieder von vorne an. mein problem ist jetzt das meine 
ausgänge cs und cp pro Zahl einmal auf 1 und einmal auf 0 gehen sollen. 
hab keine ahnung wie ich das in meiner wahrheitstabelle verarbeiten 
soll?? Bin für jede Hilfe dankbar...
Gast #438502
Lesenswert?

ich würde es mindestens für die Vorüberlegung als statemachine 
aufzeichnen, die Flipflop-Ausgänge schon so sinnvoll verwendet, damit es 
reinpasst. Acht Zählerwerte mit je zwei Ausgangskonfigurationen ergibt 
jedenfalls auf den ersten Blick 16 Zustände, dafür würden 4 Fipflops 
gerade reichen.
Gast #438640
Lesenswert?

@ all danke für eure hilfe

@ tobias

das mit dem zählen funktioniert nicht. kann bei 4 bit nur bis 16 zählen, 
da wären aber erst die 8 bit gesendet. danach muss aber noch eine neue 
wandlung eingeleitet werden und strobe vom schieberegister muss auch 
danach noch gesetzt werden. Dafür brauch ich fünf bit und das ist mir 
zuviel.

@ jürgen

Ein Doppelwechsel is das was ich meine....

@ Christoph

hab schon n folgediagramm gemacht.. aber da ergibt sich folgendes 
problem..

aus 0000 folgt CP 1 und
aus 0000 folgt CP 1.

damit ist cp immer 1. brauche aber eine unterbrechung sonst schaltet der 
ad wandler nicht weiter....

ich habe jetzt einfach den takt doppelt genutzt... einmal schaltet der 
synchron den zähler und zum anderen liegt er an meinen ausgängen cp und 
cs.
Gast #438918
Lesenswert?

brauce nochmal hilfe....
im anhang findt ihr mein diagramm was ispLever erstellt. ich habe eine 
spitze  für dataout wenn strobe auf low geht, und die kriege ich nicht 
weg...theroretisch dürfte die nicht auftauchen weil weder q0,q1,q2 noch 
q3 gesetzt ist.

hier mal meine gleichungen

0  = Q1&Q2&Q3;
Q1  = !Q1&Q2&Q3+Q1&!Q2+Q1&!Q3;
Q2  = Q2&!Q3+!Q2&Q3;
Q3  = !Q0&!Q3+Q2&!Q3+Q1&!Q3;

CSADW_STROBE = Q0&!TAKT2;
CP_DATAOUT = Q2&TAKT2+Q0&TAKT2+Q3&TAKT2+Q1&TAKT2;
Angehängte Dateien:
Gast #438922
Lesenswert?

Ehrlich gesagt habe ich demnach immer noch nicht verstanden was deine 
Statemaschine machen soll. Zeichne doch einfach mal nur das Wavediagramm 
von
CS, CP und Clock auf so dass man daraus eine Lösung ableiten kann.
Je komplexer das ganze ist, desto mehr Register werden benötigt werden. 
Da wird man nicht herumkommen können. Evtl. bietet sich dann doch eher 
ein CPLD an.
Gast #439068
Lesenswert?

Das Diagramm kann man dem Datenblatt des TLC 549 entnehmen.
Da sieht man wie io clock und cs gestuert werden müssen damit das 
serielle byte ausgegeben wird. und das ist alles was ich machen 
möchte...
er macht das ja auch soweit, nur das ich diese eine spitze hab die ich 
mir nicht erklären kann.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren