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üüüü
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.
921600 Baud sind bei 16MHz oder auch 32MHz (ohne interne PLL) mit einer Genauigkeit von -0,08% einstellbar.
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.
Danke, habs schon gesehen, die PLL ist für Multiplikation verantwortlich.
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.