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...
lass ihn doch einfach bis 16 zählen von 0 bis 7 geht cs und cp auf 1 und von 8 bis 15 auf 0.
Ich glaube das ist eher anders herum gemeint: Ein Doppelwechsel je AD-Clock, oder? Damit braucht man einen Zähler bis 15 (deine 4 FFs) wobei das FF 2 (also die 1) den Takt des AD-Conversters treiben muss. Eigentlich sind es nur 4 JK-FFs, wobei das erste das toggelnde ist
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.
@ 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.
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;
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.
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.
Die Spitze sollte dich nicht stören, die ist in der Praxis nicht mehr vorhanden. Jetzt Brenn den GAL und schau dir das mit dem Oszilloskop an. Alles wird gut, wirst schon sehen.
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.