mikrocontroller.net

Forum: FPGA, VHDL & Co. Quarz an CPLD


Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich hatte zwar schonmal gefragt, aber wollte es nochmal genau wissen
bzw. ich finde den Beitrag nicht mehr. Und zwar :

Hat jemand bei einem XC9572XL einen Quarz (12.288 MHz) angeschlossen
und zum Schwingen (über einen Inverter) gebracht ?
Ich weiß zwar das Xilinx bei den FPGAs (und auch tlw. CPLDs) keine
Garantie darauf gibt das man mit einem einfachen Inverter einen Quarz
zum schwingen bringen kann, aber prinzipiell müsste es doch
funktionieren (und als Hobby-Selbstbau Lösung sollte es ja wohl auch
hinhauen).
Ich habe einen CPLD (oben besagter XC9572XL) zum laufen gebracht (lässt
sich also programmieren). Meine Frage geht nun dahin ob man den Pinnen,
an denen der Quarz angeschlossen ist, irgendwelche speziellen Buffer
bzw. Attribute (FAST/LOW) zuweisen muß damit das Teil schwingt.
Den Quarz habe ich direkt an die Pins 2&4 angeschlossen und jeden Pin
über einen 33pF Kondensator an Masse angeschlossen. Leider schwingt da
nix.

Gruß
Rene

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#Ich habe einen CPLD (oben besagter XC9572XL) zum laufen gebracht
(lässt
#sich also programmieren).

Du hast wahrscheinlich über JTAG programmiert, das sagt nix ob der
quarz wirklich
schwingt. (Der quarz wird im design, nicht zum Programmieren genutzt,
vor dem Programmieren weiss der CPLD nicht an welchen Pin der quarz
hängt)

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

Bewertung
0 lesenswert
nicht lesenswert
Mit einem HCU04 geht das zuverlässiger als direkt.

Im Anhang einmal direkt, und einmal mit HCU04.

Feadi

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe genau das gleiche versucht und diese Frage vor etwa einem
Jahr hier auch schon gestellt.
Ich habs dann einfach mal in der Praxis versucht und bei mir hat dann
erstmal auch nichts geschwungen. Dann habe ich mal zwischen Buffer
Eingang und Buffer Ausgang, also parallel zum Quarz einen 10K
Widerstand geschaltet und siehe da, es hat einwandfrei funktioniert.

Da ich haber das ganze für eine professionelle Applikation benötigte
und auf der Xilinx Webseite las, dass es keine Funktionsgarantie dafür
gibt, habe ich mich für eine Quarzoszi entschieden, für den
Hobby-Bereich sollte es jedoch gut genug sein.
Bei mir war es übrigens auch der XC9772XL, beim Webpack hatte ich fast
ausgewählt.
Du kannst ja mal verschiedene Widerstände versuchen.

Gruß Volker

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@fpgaküchle :

mir ist klar das jtag und clock-quelle für die designs nichts
miteinander zu tun hat und das jtag seinen eigenen clock mitbringt. mir
gehts um ein einfaches design (nach möglichkeit keine, oder wenige
weitere bauteile) zum testen. und weil ich keinen 12.288 MHz Quarzoszi
habe wollte ich es mal so probieren.

@feadi:

mir ist schon klar das es damit stabiler wird, mein problem ist das ich
keinen HCU habe. würde auch ein HC gehen ? (wegen den 12MHz ?)
wie unzuverlässig ist denn die lösung ohne HCU ? läuft der nur ganz
sporadisch an oder hat der größere aussetzer ?

aber mir ist was anderes aufgefallen und da könnte evtl. das problem
liegen. und zwar habe ich den widerstand ziwschen dem quarz vergessen
(patsch). ich glaube der ist essentiell. :-(

gruß
rene

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo volker,

erstmal danke für die infos. also der widerstand ist dann also
essentiell für die funktion dieses oszillators.
werds nachher mal ausprobieren.

gruß
rene

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die AN588 vom www.microchip.com lässt sich recht ausfürlich über
Quarzoszillatoren aus. In einer früheren Fassung empfahl man einen
"dreckigen"
Kohleschichtwiderstand zu nehmen. Dessen thermischen Rauschen würde das
Anschwingen unterstützen.

Wie sieht es mit der Frequenzstabilität aus? Vielleicht sollte man bei
einem (einfachen) Oszillator das Design mit einer 10% höheren Frequenz
constrainen.
Nicht das Temperatur und Altersunterschiede zu einer höheren taktung
und so zu metastabilen Zuständen führen.

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nur zur Info, hier noch der Link zu meiner damaligen Frage

http://www.mikrocontroller.net/forum/read-9-195796.html#new

Volker

Autor: Feadi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also der HCU ist schon notwendig, das U steht für Unbuffered, das ist
die Voraussetzung damit ein Quarz richtig daran schwingt.

Feadi

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@TheMason


hat es funktioniert oder nicht?

Volker

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@volker :

ich habs mit 10k/47k parallel zum quarz probiert, aber geschwungen hat
da leider nix.

insofern mal ne frage : ich hatte den widerstand vom ausgang des
inverters zum quarz hin weggelassen (also nicht den parallel widerstand
sondern den reihenwiderstand (siehe schaltplan quarz.jpg von feadi).
kann es evtl daran liegen ? weiterhin hatte ich (nicht wie bei der
schaltung von feadi) nicht den dedizierten clockeingang benutzt sondern
irgendeinen pin. kann das evtl auch ne ursache sein (von wegen
schmitt-trigger an den clock-eingängen).

bisher hatte ich quarzschaltungen immer mit einem 7404 gemacht (aber
dann auch nicht mehr als 2 MHz, und es hat immer funktioniert).
muß bei dem ganzen thema noch etwas mehr forschen (speziell was cplds
angeht).

werde mir mal ne testschaltung mit hc/hcu/hct aufbuen und dann
versuchen das ganze an einen cpld zu pappen bzw. mit nem cpld zu
machen.

gruß
rene

Autor: Feadi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Widerstand ist schon notwendig, damit der Kristall richtig schwingen
kann.
Der Quarz mit den Kondensatoren bildet einen Schwingkreis. Ein idealer
Schwingkreis schwingt ewig weiter, wenn man ihn einmal anregt. In der
Praxis hat er aber immer Verlust, welcher die Schwingung dämpft. Um die
Schwingung aufrecht zu halten muss man nur so viel Energie reinstecken
wie verloren geht. Damit man die Schwingung nicht verfälscht darf man
aber nicht zu viel Energie reinstecken, dafür ist der Widerstand da.

Verbinde einfach mal einen solchen Schwingkreis(Quarz mit
Kondensatoren) mit einem Rechtecksignal (z.B. aus einem AVR), erst mit
Widerstand, dann ohne. Mit dem Oszi dann die Schwingung messen. Mit
Widerstand müsste sie viel besser aussehen. Als Widerstand würde ich
1k-10k probieren.

Feadi

Autor: Feadi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, habe vergessen zu sagen:
Parralel zum Quarz müssen 1M-10Mohm, das hilft dem Quarz beim
anschwingen.

Feadi

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@feadi,

danke für die infos. werds nachher evtl. mal probieren (wenn ich zeit
habe).

gruß
rene

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.