Forum: Mikrocontroller und Digitale Elektronik Taktquelle Xmega: int. RC oder ext. XTAL?


von Sascha (Gast)


Lesenswert?

Ich experimentiere gerade mit dem ATxmega128.

Bei den ATmegas hatte ich immer einen externen Schwingquarz als 
Taktquelle genommen.

Die Xmegas haben ja ein viel komplexeres Clock system mit mehr 
Moeglichkeiten.

Ich bin am ueberlegen, ob ich entweder

1. Einen externen Schwingquarz mit 16 MHz an den Controller haenge und 
die Frequenz dann mit der PLL auf 32 MHz verdopple

oder

2. Den internen 32 MHz RC-Oszillator nutze und den dann mittels dem 
internen "factory-calibrated" 32 kHz-RC-Oszillator zur Laufzeit 
kalibriere

Ich habe mir vorher nie darueber irgendwelche Gedanken gemacht.

An den Xmega sollen per SPI ein Display, ein ENC28J60,  usw. 
angeschlossen werden. Ausserdem eine USB-Schnittstelle zur 
Erstkonfiguration (soll auf dem Hostrechner eine serielle Schnittstelle 
emulieren, wo man dann per Terminal-Emulator ein Menue oder eine Shell 
bekommt; entweder mit externen RS232-USB-Wandler-chip oder mit der im 
Xmega intergrieten USB-Funktion [k.A. ob das geht; habe ich mir noch 
nicht angesehen]).
Dann braeuchte ich noch eine Uhr, aber der xmega hat ja einen RTC...


Wuerdet ihr trotzdem einen externen Quarz dranhaengen?
Der interne RC-Ozillator hat laut Datenblatt eine Genauigkeit von 1%...

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Der Xmega hat keine integrierte USB-Funktion. Daher der Standard-Rat, 
statt wild rumzuträumen und zu sabbern, Datenblatt und Manual lesen und 
Projekt vernünftig planen.

von Egon 64 (Gast)


Lesenswert?

xmega hat einen RTC = Real Time Counter nicht Real Tim Clock


Gruß Egon

von Sascha (Gast)


Lesenswert?

Egon 64 schrieb:
> xmega hat einen RTC = Real Time Counter nicht Real Tim Clock

Ich habe ja auch nicht behauptet dass es eine Clock ist.

Mit dem Counter kann ich aber relativ einfach eine Uhr realisieren.
Da der Counter von dem "relativ" genauen 32kHz-Oszillator gespeist wird, 
ist die Genaugikeit des "Haupttaktes" dafuer nicht relevant.

von Sascha (Gast)


Lesenswert?

Hannes Jaeger schrieb:
> Der Xmega hat keine integrierte USB-Funktion. Daher der Standard-Rat,
> statt wild rumzuträumen und zu sabbern, Datenblatt und Manual lesen und
> Projekt vernünftig planen.

Oh ja, da hast du recht.

Ich werde ersteinmal sowieso das ganze per RS232 realisieren.
Das ist nur eine Konfiguratonsschnittstelle, wo man initial einige 
Parameter (IP-Adresse, etc.) einstellen kann.
Da kommt dann spaeter ein RS232-USB-Wandler-IC davor und gut ist ;)

von Avr N. (balze)


Lesenswert?

Hallo Sascha,

Sascha schrieb:
> 1. Einen externen Schwingquarz mit 16 MHz an den Controller haenge und
> die Frequenz dann mit der PLL auf 32 MHz verdopple
>
> oder
>
> 2. Den internen 32 MHz RC-Oszillator nutze und den dann mittels dem
> internen "factory-calibrated" 32 kHz-RC-Oszillator zur Laufzeit
> kalibriere

Beim 128A1 gibt es ein Problem mit der DFLL.
Steht auch im Errata (doc8067.pdf) Seite 93.

Ich habe versucht DFLL zum Laufen zu bringen. Es ist mir nicht 
gelungen.

Ich wuerde das naechste mal auf jeden Fall wieder eine externe 
Taktquelle vorsehen.

Meine Anwendung macht unter anderem eine Drehzahlmessung, die jetzt 
leider nicht so funktioniert wie ich mir das gedacht habe :(
Der kalibrierte 32 MHz RC-Osc. lief jedenfalls bei mir schon gut 3% 
daneben (bei Raumtemperatur).

MfG,

Balze aka AVR Noob

von Peter D. (peda)


Lesenswert?

Für die UART sollte man einen Quarz benutzen, für ne Uhr muß man einen 
Quarz benutzen.

Ob den Hauptquarz oder nen Uhrenquarz, hängt davon ab, ob 
Batteriebetrieb gewünscht ist.

Uhrenquarze sind in der Regel temperaturempfindlicher als CPU-Quarze.
Auch ist dann das Nachregeln des Haupttaktes für die UART etwas 
aufwendiger.


Peter

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
Noch kein Account? Hier anmelden.