Ich habe mir einen ATxmega384C3 zugelegt. Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8361-8-and-16-bit-AVR-XMEGA-Microcontrollers-ATxmega384C3_Datasheet.pdf diesen habe ich auf eine passende Adapterplatine gelötet; zu heiß geworden ist er aber ziemlich sicher nicht. Nachdem ich einen 32Mhz Crystal an PR0/PR1 angeschlossen hatte sowie eine die 3,3V Stromversorgung an Pin 24/25 angeschlossen hatte, ergab sich folgendes Problem: an den anderen VCC's ergaben sich Spannungen zwischen 1,8 und 3,3V und der integrierte USB-DFU-Bootloader http://www.atmel.com/Images/doc8429.pdf meldete sich am Rechner nicht, obwohl PE5 mit GND verbunden war. Durchgemessen habe ich alle Pins; Lötbrücken gibt es keine. Was habe ich vergessen/falsch gemacht? oder ist einfach der Controller defekt?
Dschorim schrieb: > eine die 3,3V Stromversorgung an Pin 24/25 angeschlossen Nur dort? Du musst Vcc und GND an alle Pins mit diesem Namen anlegen. Und jedes GND-Vcc Pärchen braucht seinen eigenen Blockkondensator (nicht umsonst sind die so hübsch beieinander: 14-15, 24-25, 34-35, 44-45, 52-53, 60-61).
:
Bearbeitet durch Moderator
Mehr ist das nicht... Ich hab halt keine 3,3V Stromversorgung in Fritzing gefunden...
Das heißt ich soll die selben 3,3 V über je einen Kondensator an die einzelnen GND-Vcc-Pärchen anschließen? Wie groß müssen die Kondensatoren sein?
Kondensatoren am Quarz fehlen. Abblock Kondensatoren fehlen. Grüsse, René
Jorim B. schrieb: > Wie groß müssen die Kondensatoren sein? 100nF. Grüsse, René PS: am Quarz ca. 22pF oder 27pF
Jorim B. schrieb: > Das heißt ich soll die selben 3,3 V über je einen Kondensator an die > einzelnen GND-Vcc-Pärchen anschließen? Ja, so wie es im Datenblatt steht... > Wie groß müssen die Kondensatoren sein? Naja, bei der Leitungslänge von den anschlüssen zu den Pads sind die natürlich nahezu wirkungslos. Sieh dir einfach mal an, wofür die Abblockkondensatoren da sind. Und überlege dann, ob das mit 3cm langen Leitungen noch so tadellos funktioniert: http://www.lothar-miller.de/s9y/categories/14-Entkopplung René H. schrieb: > PS: am Quarz ca. 22pF oder 27pF PS, auch dazu ein Wort: http://www.lothar-miller.de/s9y/categories/33-Quarz Dann ist leicht zu erkennen, dass der µC auf diesem Adapterboard nur suboptimal anschließbar ist...
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Dann ist leicht zu erkennen, dass der µC auf diesem Adapterboard nur > suboptimal anschließbar ist... Naja, der Quarz ist so weit weg... das dürfte eh ein problem sein. Grüsse, René
Das heißt so... die Stromversorgung dann halt an alle gnd-vcc-pärchen.
Nein, schau Dir Lothars Link an. Bitte lese auch Lothars Post genau durch. Schau hier in den Artikel nach, wie es gemacht wird. Grüsse, René
Lothar M. schrieb: > Sieh dir einfach mal an, wofür die Abblockkondensatoren da sind. Und > überlege dann, ob das mit 3cm langen Leitungen noch so tadellos > funktioniert: > http://www.lothar-miller.de/s9y/categories/14-Entkopplung So wie sich dass ließt braucht der Keramikkondesator vier Beinchen (zwei mal In; zwei mal Out). Die haben aber doch nomalerweise nur zwei Beinchen
http://www.atmel.com/Images/doc8278.pdf Grüsse, René Jorim B. schrieb: > So wie sich dass ließt braucht der Keramikkondesator vier Beinchen (zwei > mal In; zwei mal Out). Die haben aber doch nomalerweise nur zwei > Beinchen Wie kommst Du denn da drauf? (also auf die vier Anschlüsse)
Jorim B. schrieb: > So wie sich dass ließt braucht der Keramikkondesator vier Beinchen (zwei > mal In; zwei mal Out). Ja, richtig, wenn man sich die Ursachen mal komplett durchüberlegt überlegt, ist es so. Lies einfach mal die verlinkten Threads zum Thema auch noch durch, dann müssen wir das hier nicht nochmal durchkauen. > Die haben aber doch nomalerweise nur zwei Beinchen Dann sieh dir das Bild auch noch an. Und sieh zu, dass du es in der Praxis möglichst annähernd so machst, auch wenn du es nicht genau so machen kannst. Und wenn du meinst, es ginge anders besser oder einfacher oder "ausreichender", dann mach es so... René H. schrieb: > Wie kommst Du denn da drauf? (also auf die vier Anschlüsse) Naja, die Kondensatoren im Atmel-Dokument brauchen nur 3 Anschlüsse: 2xPlus und einmal GND... ;-)
:
Bearbeitet durch Moderator
Max external Clock 16MHz. ApplicationNote_AVR1003.pdf, 2.2 Viel Erfolg.
Josef H. schrieb: > Max external Clock 16MHz. Richtig. Der ATXmega kann keinen 32 MHz Quarz "treiben". Will man 32MHz haben so muss man mit kleinerer Frequenz starten und die PLL programmieren um auf 32MHz zu kommen.
Zusätzlich: Die USB-Buchse braucht auch noch eine Masseverbindung (und vermutlich noch einen Pullup auf einer USB-Datenleitung um die USB-Datenrate festzulegen).
Schaltplanleser schrieb: > Will man 32MHz haben so muss man mit kleinerer Frequenz > starten und die PLL programmieren um auf 32MHz zu kommen Oder man verzichtet gleich ganz auf den Quarz und arbeitet mit dem für viele (die meisten) Zwecke ausreichenden internen 32 MHz run-time calibrated and tuneable oscillator oder mit dem 2MHz run-time calibrated oscillator- womit die Xmegas ab Einschalten auch aktiv sind.
Robert schrieb: > mit dem für > viele (die meisten) Zwecke ausreichenden internen 32 MHz Ja, bis dann der nächste Thread aufpoppt: Atxmega startet zwar aber die UART-Übertragung arbeitet nicht korrekt.
Schaltplanleser schrieb: > Ja, bis dann der nächste Thread aufpoppt Die Xmegas gibts nun schon viele Jahre, einen solchen Thread aber noch nicht :) Wenn es keine ultrahohen UART-Frequenzen werden sollen ist auch der interne Takt beim Xmega für diesen Zweck hinreichend stabil.
Das heißt, ohne externen Quarz (ich habe vor den internen zu verwenden) sieht dass dann so aus
Robert schrieb: > Wenn es keine ultrahohen UART-Frequenzen werden sollen ist auch der > interne Takt beim Xmega für diesen Zweck hinreichend stabil. Die prozentuale Abweichung ist unabhängig von der absoluten Geschwindigkeit. 5% Fehler sind sowohl bei 9600 wie auch bei 11520 zu viel...
Jorim B. schrieb: > sieht dass dann so aus Die Elkos gehören direkt an den Spannungsregler und nicht "irgendwo" hin.
Josef H. schrieb: > Max external Clock 16MHz. > > ApplicationNote_AVR1003.pdf, 2.2 > > Viel Erfolg. Laut Datenblatt geht "External Clock" bis 142 MHz, natürlich nur mit Prescaler damit der Takt dann <= 32 MHz ist. Also sollte ein Quarzoszillator gehen. Beim Quarz ist halt bei 16 MHz Schluss. Gruß JackFrost
Schau mal ins Datenblatt des Spannungsregler, welche Kondensatoren der braucht und wo sie platziert werden müssen.
Lothar M. schrieb: > Robert schrieb: > Wenn es keine ultrahohen UART-Frequenzen werden sollen ist auch der > interne Takt beim Xmega für diesen Zweck hinreichend stabil. > > Die prozentuale Abweichung ist unabhängig von der absoluten > Geschwindigkeit. 5% Fehler sind sowohl bei 9600 wie auch bei 11520 zu > viel... Natürlich. Aber je geringer die Baudrate bei gegebener Taktfrequenz desto genauer die Justierung. Insofern sind hohe Baudraten mit höherem Fehler behaftet und die Kommunikation wird damit empfindlicher für Taktschwankungen.
Es gibt noch einen Grund, warum geringe Baudraten weniger kritisch sind: Die Verzerrungen des Signals durch die Leitung. Die Bits werden zeitlich in ihrer Mitte abgetastet. Je höher die Bitrate ist, umso warscheinlicher geraten verzerrte Flanken (Pegelwechsel) in den Moment der Abtastung. Ich habe viel mit XMega128 Chips bei 32Mhz R/C Oszillator gebastelt, immer mit 115200 Baud. Das klappt, aber nicht so zuverlässig, dass ich es verkaufen würde. Der Oszillator driftet schon recht stark, wenn sich die Temperatur des Chips verändert. Beste Ergebnisse erreichte ich mit folgender Initialisierungssequenz:
1 | // Set clock source to 32Mhz using the internal R/C Oscillator.
|
2 | OSC.CTRL|=OSC_RC32MEN_bm; |
3 | while (!(OSC.STATUS & OSC_RC32MRDY_bm)); |
4 | CCP=CCP_IOREG_gc; |
5 | CLK.CTRL=CLK_SCLKSEL_RC32M_gc; |
6 | // Synchronize to the calibrated 32kHz oscillator (needed for the UART)
|
7 | OSC.CTRL&=(~OSC_RC2MEN_bm); |
8 | OSC.CTRL|= OSC_RC32KEN_bm; |
9 | while (!(OSC.STATUS & OSC_RC32KRDY_bm)); |
10 | OSC.DFLLCTRL &= ~OSC_RC32MCREF_bm; |
11 | DFLLRC32M.CTRL |= DFLL_ENABLE_bm; |
Stefan U. schrieb: > Ich habe viel mit XMega128 Chips bei 32Mhz R/C Oszillator gebastelt, > immer mit 115200 Baud. Die hätte ich jetzt schon zu den "ultrahohen" Baudraten gerechnet :) Die vielverwendete 9600er Baudrate langt für die Anbindung von Peripherie i.d.R. doch aus und begrenzt vor allem die MC Belastung- bzw. ermöglicht mehr parallel laufende Verbindungen samt (mehr) zugehörigem Interruptcode gerade bei den bis zu 8 UARTS der Xmegas. Wenn man sich dann mit seiner Schaltung nicht ständig zwischen Winterfrost und Saunahitze bewegt ist das mit 9600 Baud eine todsichere Sache. Quarze sind hier nur noch für spezielle Anwendungen interessant... Für die gegenwärtige Einarbeitungs-Bastelphase des TE auf jeden Fall nur zusätzliche Fehlerquelle!
> Für die gegenwärtige Einarbeitungs-Bastelphase des TE auf > jeden Fall nur zusätzliche Fehlerquelle! Allerdings. Zum Basteln reicht der R/C Oszillator normalerweise aus und hat den Vorteil, dass er immer und ohne zusätzliche Bauteile zuverlässig funktioniert.
Kondensatoren mit so langen Zuleitungen wie bei dir wirken eher kontraproduktiv. also lass sie besser weg. J
kondimaster schrieb: > Kondensatoren mit so langen Zuleitungen wie bei dir wirken eher > kontraproduktiv. also lass sie besser weg. > > J Nur die Elkos oder auch die Keramikkondensatoren?
Stefan U. schrieb: > Schau mal ins Datenblatt des Spannungsregler, welche Kondensatoren der > braucht und wo sie platziert werden müssen. Ich verwende letztenendes keinen einzelnen Spannungsregler sonder ein fertigs Stroimversorgungsmodul mb102; das hat schon einen elko von Haus aus dabei.
kondimaster schrieb: > Kondensatoren mit so langen Zuleitungen wie bei dir wirken eher > kontraproduktiv. Ist das einfach so? Oder kannst du diese Aussage auch begründen? Ralf schrieb: > Aber je geringer die Baudrate bei gegebener Taktfrequenz desto genauer > die Justierung. Welche Justierung?
>Ist das einfach so? Die erhöhte Induktivität der Leiterbahn kann eine Antennenwirkung verstärken. Wenn dann mit Ferrit in Reihe um die HF-Ströme klein zu halten. Aber das weist du doch alles ;) Für den TO: http://www.ti.com/lit/ml/slyp173/slyp173.pdf Gruß J
Dschorim schrieb: > der integrierte USB-DFU-Bootloader > http://www.atmel.com/Images/doc8429.pdf meldete sich am Rechner nicht, Moment... die Xmegas werden doch ohne Bootloader ausgeliefert. Den DFU müsstest du schon selbst da rein schießen...
Die XMegas habe alle eine interne DFLL. Diese kann automatisch zur Laufzeit mit einem Uhrenquarz kalibriert werden und den R/C-Oszillator stetig nachregeln. Das ist die zuverlässigste und zugleich flexibelste Variante, einen XMega zu takten. Man hat alle Freiheiten bei den möglichen Taktraten, die komplett und ohne Einschränkung zur Laufzeit umgestellt werden können und das hochgenau.
Knut B. schrieb: > Man hat alle Freiheiten bei den > möglichen Taktraten Die hat man immer. > die komplett und ohne Einschränkung zur Laufzeit > umgestellt werden können Das kann man immer. > und das hochgenau Das braucht man selten.
Naja, nicht ganz. Wenn man einen 4Mhz-Quarz nimmt, kann man die Frequenz nur in einem 4Mhz-Raster über die PLL verstellen. Bei einem 16Mhz-Quarz hat man nur 2 feste Grundfrequenzen und natürlich die Teiler davon. Wenn man die DFLL mit dem internen R/C kombiniert, dann kann man den Regelfaktor auch krumm benutzen und damit auf alle Frequenzen des R/C-Kalibrierrasters tunen. Somit kann man die Taktrate fein an die gewünschten Erfodernisse anpassen. Als "Abfallprodukt" hat man dann noch eine asynchrone RTC, die im Sleep weiterlaufen und die CPU wecken kann. Klar, braucht man nicht immer, ist aber nice to have und kostet nicht viel.
:
Bearbeitet durch User
>> Man hat alle Freiheiten bei den >> möglichen Taktraten >Die hat man immer. Frei bist du, aber der Baudratenfehler auch: http://www.gjlay.de/helferlein/avr-uart-rechner.html >> die komplett und ohne Einschränkung zur Laufzeit >> umgestellt werden können >Das kann man immer. Einige Mc lesen ihre Clock-Konfiguration beim Booten von den Beschaltung spezieller Eingangspins. >> und das hochgenau >Das braucht man selten. Kann aber sein: http://www.gjlay.de/helferlein/avr-uart-rechner.html Gruß J
Timmo H. schrieb: > Dschorim schrieb: >> der integrierte USB-DFU-Bootloader >> http://www.atmel.com/Images/doc8429.pdf meldete sich am Rechner nicht, > Moment... die Xmegas werden doch ohne Bootloader ausgeliefert. Den DFU > müsstest du schon selbst da rein schießen... Über PDI, oder? was anderes lässt der Xmega C ja nicht zu... http://www.atmel.com/Images/Atmel-8466-AVR-AT01607-XMEGA-C-Schematic-Checklist_Application-Note.pdf
Ich habe den Controller über einen Atmel ICE mit dem Bootloader versorgt, jetz funktioniert alles. Danke für die hilfreichen Tipps.
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.