Forum: Mikrocontroller und Digitale Elektronik Richtiger Quarz für XMEGA


von Heinrich (Gast)


Lesenswert?

Hi Leute!

Bin gerade dabei, meinen ersten Stromlaufplan mit einem Xmega zu 
entwerfen.
Leider kenne ich mich bis dato bei der Quarz-Einheit zu wenig aus.

Bei den Megas habe ich meist einen 16MHZ-Quarz verwendet, weil der 
externe genauer ging und bei Temperaturschwankungen ebenfalls stabiler 
war, als der interne.
Wollte ich eine möglichst schnelle serielle Kommunikation, dann 
verwendete
ich einen 14,7456-Quarz, um die krummen Baudraten zu erhalten.

Beim Xmega weiß ich nun nicht, welchen Quarz ich verwenden soll, sodass 
einerseits krumme Baudraten wie 921600 möglich sind und der µC auch noch 
so schnell wie möglich rechnent.

Danke, tschüüüü

von ich (Gast)


Lesenswert?

Der Xmega bietet deutlich bessere Einstellungen für die Wahl der 
Baudrate.
Da ist es ziemlich egal welcher Quarz angeschlossen wird.
Dazu gibt es eine ausführliche Application Note von Atmel, inklusive 
einer Excel Tabelle die die Notwendigen Teilfaktoren berechnet.

von ich (Gast)


Lesenswert?

921600 Baud sind bei 16MHz oder auch 32MHz (ohne interne PLL) mit einer 
Genauigkeit von -0,08% einstellbar.

von Heinrich (Gast)


Lesenswert?

Danke,
grundsätzlich, ist die interne 32MHZ-Clock-Source brauchbar oder ist 
eher ein externer Quarz vorzuziehen?

Die Genauigkeit des internen Quarzes des alten Mega8-Prozessors war sehr 
temperaturabhängig. Bei Temperaturschwankungen konnte man am Oszi 
erkennen, wie sich die gesendeten Bits der UART verlängerten oder 
verkürzten, bis das Empfangsteil die Daten nur noch als Datenmüll 
interpredierte.

Verwendet ihr Entwickler bei euren Platinen einen externen Quarz oder 
tut's der interne?

Dann habe ich noch eine Frage: Im AVR-XMEGA-A Manual steht bei den 
Features "PLL with internal and external clock options with 1 to 31x 
multiplication", aber weiter unten in der Zeichnung sehe ich keinen 
Multiplizierer, sondern nur Teiler (Prescalers). Habe ich da etwas 
falsch verstanden?


Schönen Dank.

von Heinrich (Gast)


Lesenswert?

Danke, habs schon gesehen, die PLL ist für Multiplikation 
verantwortlich.

von ich (Gast)


Lesenswert?

Ich würd einen externen Oszillator vorsehen, ist ja kein großer Aufwand.
Ich komme bisher mit dem internen 32MHz aus, jedoch hab ich noch nichts 
mit den UARTs gemacht.

von Heinrich (Gast)


Lesenswert?

Okay danke, dann mach ich das so mit den Quarzen ;-)

Ich werde den XMEGA16A4A verwenden.
Das Block-Diagramm zeigt, dass jeder Port mehrere Schnittstellen 
unterstützt, z.B. UARTD0:1, TCD0:1, SPID
Ich finde jedoch leider nirgends eine Pinzuordnung, z.B.
UARTD-RX = PORTD.0
UARTD-TX =PORTD.1
SPID-MISO = PORTD.2
usw.

Könnt ihr mir bitte helfen, ich finde die Stelle im Datenblatt nicht.

Schöne Grüße

von g457 (Gast)


Lesenswert?

Für den xm16a4: Kapitel 30.2 "Alternate Pin Functions" im Datenblatt 
[1]. Mit einem überzähligen 'a' hinten dran finde ich nichts adäquates.

HTH

[1] http://www.atmel.com/dyn/resources/prod_documents/doc8069.pdf

von Heinrich (Gast)


Lesenswert?

Vielen Dank.

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.