www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Welchen Quarz für XMEGA?


Autor: Detlev T. (detlevt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ihr seit schuld, dass ich mich jetzt auf die XMEGA einstellen muss. ;-)

Gleich die erste Frage: AVR1003 
(http://www.atmel.com/dyn/resources/prod_documents/...) wegen 
der Takterzeugung habe ich jetzt durch und weiß, was alles geht.

Aber was ist davon zu empfehlen?

Auf den internen RC-Generator mag ich mich (noch?) nicht verlassen, 
Kalibrierung hin der her. Also muss wohl ein Quarz her.

Sollte man da tendenziell eher eine kleine Quarzfrequenz (z.B. 1 MHz) 
nehmen und dann ggf einen hohen Multiplikationsfaktor via PLL? Oder eher 
eine hohe Quarzfrequenz und einen niedrigen Faktor? Gehen wir einmal 
davon aus, ich will auf jeden Fall die vollen 32MHz.

Was ist da stabiler (Quarz eingeschlossen)? Wie sind da eure 
Erfahrungen?

Danke für eure Hilfe.

Gruß, DetlevT

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Detlev T. schrieb:
> Sollte man da tendenziell eher eine kleine Quarzfrequenz (z.B. 1 MHz)
> nehmen und dann ggf einen hohen Multiplikationsfaktor via PLL? Oder eher
> eine hohe Quarzfrequenz und einen niedrigen Faktor? Gehen wir einmal
> davon aus, ich will auf jeden Fall die vollen 32MHz.

Der Quarz sollte einen geradzahligen Teiler oder ein geradzahliges 
Vielfaches von dem haben, was Du später als CPU-Frequenz haben willst. 
Dabei spielt nur die Grundgenauigkeit des Quarzes eine Rolle, nicht der 
Faktor der PLL oder des Prescalers. Ein guter 8Mhz Quarz solle ohne 
weiteres zu bekommen sein und ist daher auch gut anwendbar. Wenn Du 
spezielle Frequenzen für Audio-Streaming oder Bilderzeugung brauchst, 
muss der Quarz halt auf diese Frequenz, einen Teiler oder ein Vielfaches 
davon resonant sein. Übertakten des XMega ist übrigens auf bis etwa 
38MHz möglich.

Autor: wt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn Du das max. Frequenz möchtest, sollst Du auch max. mögliche (16MHz) 
nehmen.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wt schrieb:
> wenn Du das max. Frequenz möchtest, sollst Du auch max. mögliche (16MHz)
> nehmen.

Unsinn. Das macht nur mehr Probleme beim Platinendesign. Und es steigert 
den Strombedarf der Oszillatorstufe.

Autor: Joe G. (feinmechaniker) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Detlev T. schrieb:
> Was ist da stabiler (Quarz eingeschlossen)? Wie sind da eure
> Erfahrungen?

Detlev T. schrieb:
> Aber was ist davon zu empfehlen?

Es spricht aus meiner Sicht zunächst nichts gegen einen 32.768 kHz 
Quarz.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joe G. schrieb:
> Es spricht aus meiner Sicht zunächst nichts gegen einen 32.768 kHz
> Quarz.

Lies das ErrataSheet.

Autor: Detlev T. (detlevt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Knut Ballhause schrieb:
> Unsinn. Das macht nur mehr Probleme beim Platinendesign. Und es steigert
> den Strombedarf der Oszillatorstufe.

So wie es aussieht, brauche ich wohl eine Taktfrequenz von 30MHz (wg. 
UART). Würdest du mir dann also zu dem Extrem 1MHz-Quarz und Faktor 30 
raten?

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zuerst einmal: Solange man keine zeitkritischen Abläufe im Programm hat, 
kann man ohne weiteres den internen RC-Oszillator verwenden.
"genauer" braucht man bei besser als einige Prozent, bei Zeit- und 
Frequenzmessungen, bei asynchroner Datenübertragung wie RS232.

Quarze sind im Bereich zwwischen 4MHz und 16 MHz am leichtesten zu 
fertigen. In diesem Frequenzbereich sind die Preise am niedrigsten, die 
Daten am besten einzuhalten, die Zahl der Bauformen am größten.

Für die Frequenz sind zwei Varianten vorzuziehen: entweder eine feste 
ganzzahlige Frequenz wie z.B. 4, 8 oder 12 MHz oder eine Frequenz die 
ein ganzzahliges Vielfaches der üblichen seriellen 
Übertragungsgeschwindigkeiten enthält, sogenannte Baudrate-Quarze, z.B. 
11,59 MHz

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Detlev T. schrieb:
> So wie es aussieht, brauche ich wohl eine Taktfrequenz von 30MHz (wg.
> UART)

Was ist das denn für´n UART? DMX512?!

Detlev T. schrieb:
> Würdest du mir dann also zu dem Extrem 1MHz-Quarz und Faktor 30
> raten?

Nö, wahrscheinlich würde ich 6Mhz und Faktor 5 nehmen. Oder 10Mhz und 
Faktor 3. Aber das UART gestattet einen fraktionalen Teiler, deshalb ist 
es möglich, fast jede Baudrate aus fast jeder CPU-Frequenz zu teilen, 
grob gesagt.

Autor: Detlev T. (detlevt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Ergänzung/Erläuterung:
Ich muss UARTs bei 19.2, 38.4 und 625 kbps betreiben. Letzteres erzwingt 
nach meinem Verständnis eine durch 5 teilbare MHz-Zahl. Richtig?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Detlev T. schrieb:
> Letzteres erzwingt
> nach meinem Verständnis eine durch 5 teilbare MHz-Zahl

Nein. Es erzwingt eine 8- oder 16-fach höhere CPU-Frequenz oder deren 
Vielfache. Bei Benutzung des fraktionalen Teilers auch 1...6/7 davon.

Autor: Joe G. (feinmechaniker) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Knut Ballhause schrieb:
> Lies das ErrataSheet.

Habe ich was übersehen? Die 32 KHz synchronisieren die internen 32 MHz.

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um eine Vorstellung zu bekommen, wie die Baudrate-Quarz-Frequenzen 
entstehen: schau einmal im Datenblatt des atmega8 nach, Seite 159 ff, 
eventuell auch die Seiten dort über die Berechnung der Taktfrequenz usw. 
- oder im Datenblatt der UART eines anderen Kontrollers.

Autor: wt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Knut Ballhause schrieb:
>
> Unsinn. Das macht nur mehr Probleme beim Platinendesign. Und es steigert
> den Strombedarf der Oszillatorstufe.

Wenn ich 4-8MHz im Design verbauen kann, werde ich auch mit 16MHz 
genauso zurecht kommen.
Strombedarffrage ist nur dann zu betrachten, wenn das System extrem 
sparsam ausgelegt werden muss, sonst fällt nicht ins Gewicht.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joe G. schrieb:
> Die 32 KHz synchronisieren die internen 32 MHz.

Offiziell schon, aber die DFLLs sind fehlerhaft. Nicht komplett, aber so 
lala.. Und 4...10Mhz Quarze sind oft billiger und mindestens so genau, 
wie Uhrenquarze, wenn nicht genauer. Kommt halt drauf an. Der Uhrenquarz 
läuft noch im PowerSave, kann den XMEGA also wecken, was der XTAL nicht 
kann.

Autor: Manuel Weikert (wanie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

um das Thema nochmal aufzufrischen:
Ich bin ebenfalls neu in dem Gebiet Xmega und mache gerade meine ersten 
Gehversuche.
Bin positiv überrascht von den vielen Neuerungen der Xmegas, im 
vergleich zum "guten alten" ATmega.

Mit den Manual's bin ich nun ziemlich durch, aber eine Frage ist 
immernoch offen:
Beim Xmega kann (lt. specs) als externe clock max. 16MHz angeschlossen 
werden, welche dann aber durch PLL nochmal multipliziert werden kann, 
richtig? Ich kann also nicht einfach einen 32MHz Quarz anschliesen?

Im XMEGA A MANUAL steht unter Punkt 7.2:
Four different reference clock sources can be chosen as input to the 
PLL:
• 2 MHz internal oscillator
• 32 MHz internal oscillator divided by 4
• 0.4 - 16 MHz Crystal Oscillator
• External clock

Heißt das nun das man, sobald auf Basis eines externen Taktes die PLL 
zum Einsatz kommt, dann ein quartz OSZILLATOR benötigt wird, oder kann 
man auch einen normalen Quarz (16MHz * PLL-faktor2) benutzen?


PS: Bei meiner Anwendung geht es um sehr Zeitkritische dinge wie 
Frequenzerzeugung, deshalb möchte ich einen quarz.

Gruß
Manuel

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
32MHz-Quarz geht sowieso nicht, das gibts nur in Oberwelle und der 
Oszillator des Kontrollers kommt nur mit Grundwelle zurecht.

Weil oberhalb 16MHz die Grundwellenquarze etwas schwierig herzustellen 
sind, hat man den Oszillator auf max. 16MHz festgelegt. Da dieser auch 
Eingang für den externen Takt ist, bleibts auch da bei den 16 MHz.

Für genaue Taktfrequenz bei Frequenzerzeugung ist der Oszillator des 
Kontrollers wahrscheinlich nicht ausreichend. Einfache externe 
Oszillatoren für Digitaltakt ebenfalls nicht. Da wäre ein diskret 
aufgebauter Oszillator eher angebracht.

Autor: Manuel Weikert (wanie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter R. schrieb:
> Weil oberhalb 16MHz die Grundwellenquarze etwas schwierig herzustellen
> sind, hat man den Oszillator auf max. 16MHz festgelegt. Da dieser auch
> Eingang für den externen Takt ist, bleibts auch da bei den 16 MHz.

Ok, danke für die Antwort.
Das heißt ich kann einen normalen 16MHz Quarz (keinen Quarz-Oszillator) 
an XTAL1 - XTAL2 anschließen, wie ich es auch vom ATmega gewoht bin?

Ein diskret aufgebauter Oszillator wäre das non-plus-ultra.
Würde es gerne zuerst mit einer Quarzlösung testen.

Gruß
Manuel

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter R. schrieb:
> 32MHz-Quarz geht sowieso nicht, das gibts nur in Oberwelle und der
> Oszillator des Kontrollers kommt nur mit Grundwelle zurecht.

Seit wann gibt's die nicht mehr?
bis 200 MHz Grundton z.B.
http://www.foxonline.com/pdfs/fd.pdf

> Weil oberhalb 16MHz die Grundwellenquarze etwas schwierig herzustellen
> sind, hat man den Oszillator auf max. 16MHz festgelegt. Da dieser auch
> Eingang für den externen Takt ist, bleibts auch da bei den 16 MHz.

> Für genaue Taktfrequenz bei Frequenzerzeugung ist der Oszillator des
> Kontrollers wahrscheinlich nicht ausreichend. Einfache externe
> Oszillatoren für Digitaltakt ebenfalls nicht. Da wäre ein diskret
> aufgebauter Oszillator eher angebracht.

Was heißt genau? 10 ppm, Temperatur, Grundkalibrierung? Gibt's in fast 
jeder Form und Größe.
20 ppb
http://www.conwin.com/datasheets/cx/cx207.pdf
oder gleich die "Atomtaschenuhr" (< 1 ppb)
http://www.symmetricom.com/products/frequency-refe...

Autor: Mick M. (highlow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manuel Weikert schrieb:
> Das heißt ich kann einen normalen 16MHz Quarz (keinen Quarz-Oszillator)
> an XTAL1 - XTAL2 anschließen, wie ich es auch vom ATmega gewoht bin?

ja ;)

Autor: Manuel Weikert (wanie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat wunderbar funktioniert.
Gab zuerst noch kleine Fragezeichen, mit den Registern die für 
Clockauswahl zuständig sind, hat sich aber dann schnell geklärt.
Hat mich einfach ein wenig verwirrt, das im Datenblatt 
"Quarz-Oszillator" steht, obwohl damit scheinbar auch ein normaler Quarz 
gemeint ist.

Finde es genial, dass man nun die Taktquelle im Programmablauf selbst 
ändern kann, und diese nichtmehr in die fuses geschrieben werden muss.

PS: Mit dem Quarz bin ich gerade noch so im Toleranzbereich der 
erzeugten Frequenz, werd mir also den diskreten Oszillator erstmal 
sparen. ;-)

Gruß
Manuel

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]
  • [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.