www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Schaltwerk mit Gal 16V8


Autor: matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich mein natürlich

aus 0000 folgt cp 1 und
aus 0000 folgt cp 0!

Autor: matze (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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;

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: matze (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.


Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.