www.mikrocontroller.net

Forum: FPGA, VHDL & Co. [CPLD Design] Frequenzteiler


Autor: Andreas Auer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.

Hab folgendes Problem.... ich hab einen CPLD von Xilinx (XC9500XL
Serie) und möchte darauf einen variablen Frequenzteiler
implementieren.
Der Frequenzteiler ansich ist kein Problem. Variable auf einen
bestimmten Wert setzen und diesen dann runterzählen. Wenn 0 erreicht
wird, toggelt der CLK_OUT Pin (geteilte Clock Frequenz).

Der Nachteil bei diesem Frequenzteiler besteht daran, dass er zumindest
schonmal durch 2 teilt. Und genau das will ich nicht.
Ich brauche einen Frequenzteiler, der die Quarzfrequenz auch ungeteilt,
also 1:1 auf einen Ausgang durchlassen kann!
Geht sowas, und wenn ja, wie (Beispiele bevorzugt in Verilog)?

mfg
Andreas

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zählweise ändern, also VOR dem Dekrementieren auf 0 abfragen und Signal
geben. Wird nun der Counter auf 0 initialisert so wird im Grunde
niemals dekrementiert sondern immer der Clock 1:1 durchgereicht.

Gruß Hagen

Autor: Andreas Auer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja... das funktioniert ja auch nicht...
Ich zähle bzw. überprüfe ja nur bei jeder Taktflanke (posedge). Auch
wenn ich jetzt bei jedem mal den Ausgang toggle, wenn die Taktflanke
kommt, dann habe ich leider auch maximal die halbe Takfrequenz
erreicht.

original:  _____|^^^^^|_____|^^^^^|_____|^^^^^|_____
geteilt:   _____|^^^^^^^^^^^|___________|^^^^^^^^^^^

klar, oder?!

mfg
Andreas

Autor: Jonas H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...mit einem MUX einfach die Quarzfrequenz/Teilerfrequenz nach Bedarf
zum CLK_OUT durchschalten.

Autor: haki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm doch einfach einen Zähler mit restfunktion und prüfe die Ausgänge
mit einer Logik. Prüft die Logil auf 0x00, wird bei jedem Takt der
Zähler resettet. Das Signal, mit dem Du den Zäher resettest, ist
gleichzeitig Dein Ausgangssignal. Dann musst Du nur noch die Logik
variabe machen.

Mattias

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.