Forum: Mikrocontroller und Digitale Elektronik AtXMega Verwendbarkeit


von Mario E. (Firma: Vet. med. Uni Wien) (pfeife)


Lesenswert?

Ich habe bzgl der AtXmegas recherchiert, und da wurde in diversen Foren 
durchgehend die Meinung vertreten, daß der Xmega nett aber ziemlich 
buggy ist. Diese Forenbeiträge sind alle aus dem Jahr 2010.

Ist das noch immer so oder hat sich da was gebessert?

Mario

von spess53 (Gast)


Lesenswert?

Hi

>Ist das noch immer so oder hat sich da was gebessert?

Kannst du selbst nachlesen: In jedem ATXMega-Datenblatt gibt es einen 
Abschnitt 'Errata'.

MfG Spess

von Stefan F. (Gast)


Lesenswert?

> da wurde in diversen Foren durchgehend die Meinung vertreten,
> daß der Xmega nett aber ziemlich buggy ist.

keine Ahnung, was die meinen. Ich habe einen embedded Webserver vom 
Atmega644 auf Xmega128D3 portiert. Dabei bin ich auf keinerlei probleme 
gestoßen.

Bei Xmega schätze ich diese Verbesserungen gegenüber Atmega:

- Volle Taktrate bei 3,3V
- R/C Oszillator ist für serielle kommunikation ausreichend stabil
- I/O Ports haben neben Pull-up's auch Pull-Down's
- Die I/O Ports werden über Strukturen angesprochen, und zwar alle 
gleich. Somit kann man ohne großartige Klimmzüge den namen eines Port 
bei Funktionsaufrufen übergeben, die sämtliche Register des Portes 
nutzt.

Dem Gegenüber stehen für mich zwei Nachteile:

- Der Preis (da kann ich gleich einen ARM nehmen)
- Nicht im PDIP Gehäuse verfügbar (ich löte fast ausschließlich auf 
Lochraster).

Aber Bugs habe ich noch keine gesehen. Die sind sicher irgendwo 
zusammenhängend dokumentiert, schätze ich.

von Michael K. (Gast)


Lesenswert?

So buggy ist der garnicht.
Nur war man von Atmel nicht gewohnt das die Teile genauso schlecht 
funktionierten wie bei anderen Herstellern durchgehend üblich.

Ich habe mit einem sehr frühen D3 gearbeitet und der ADC war ein wenig 
'merkwürdig' aber trotzdem benutzbar.
Bei den aktuellen Typen stehen an genau der Stelle die damals nicht 
funktioniert hat die Einschränkungen die man in Kauf nehmen muss.
Hätte ich das vorher gewusst wäre das auch kein Probem gewesen.
(Unterschiedliche Möglichkeiten bei single ended / differential 
Messungen)
Manchmal war es nur die schechte Doku die Problem gemacht hat.

Mit den 'bugs' ist der noch flexibler einsetzbar als manch alt gedienter 
Chip ohne bugs.
Die 'verwaltung' der chip hardware ist unglaublich übersichtlich und 
folgt einem immer wiederkehrenden Muster durch die gesammte Xmega 
Familie was Typenwechsel sehr einfach macht.

Problematisch ist manchmal das was Atmel an Tools und Software 
abliefert.
Das Studio 6 ist so *rschlahm mit seinem Visual Studio Unterbau das es 
schmerzt.
Programmer / Debugger die diesen und jenen Chip nicht mögen, oder 
Breakpoints die unzuverlässig getriggert werden, sowas eben.

Wenn ich sehe was mir andere Hersteller zumuten ist das nicht 
schlechter, aber eben nicht so gut wie es bei Atmel mal war.

Die AVR Freaks wollen überwiegend erst wechseln wenn der letzte AVR vom 
Band läuft. Die PIC Fans können mit der 'jeder Chip ist anders' Doktrin 
von Mikrochip gut leben und die STM32 Groupies findes sowieso alles 
andere blöd. Die Xmegas kamen erst so spät und mit anfänglichen 
Problemen das sie nun einen schweren Stand haben neue Freunde zu finden.

Die Xmegas gehören zu dem besten was der 8bit Markt zu bieten hat.
Sie sind schnell und übersichtlich und bieten eine sehr flexible 
Hardware mit vielen Schnittstellen.
Es sind nicht die billigsten und haben nicht die höchste Rechenpower, 
bieten aber einen ausgewogenen Mix aus beidem.

Die Hardware + Event System erledigt vieles autonom und Speicherschonend 
was man bei anderen zu Fuß erledigen muß.

Ich setzte trotzdem oft was anderes ein was kleiner oder billiger ist, 
aber wenn es um die Leistungsklasse 'großer AVR' geht ziehe ich die 
Xmegas dem AVR oder diesen verwurstelten 'von hinten durch die Brust ins 
Auge' ARM Typen vor.

von Frank K. (fchk)


Lesenswert?

Fehlerbehaftet waren vor allem die Xmega###A#. Die solltest Du nicht 
verwenden, sondern auf die bereinigten Xmega###A#U zurückgreifen, auch 
wenn Du USB nicht brauchst.

fchk

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Frank K. schrieb:
> Fehlerbehaftet waren vor allem die Xmega###A#. Die solltest Du nicht
> verwenden, sondern auf die bereinigten Xmega###A#U zurückgreifen, auch
> wenn Du USB nicht brauchst.

Die U-Varianten sind vor allem deutlich günstiger als die älteren 
Controller (trotz Zusatz-Peripherie wie USB und manchen kleinenen 
Ergänzungen).

von Michel (Gast)


Lesenswert?

Bei den Xmega-Verbesserungen hast du die mächtigsten / 
leistungsfähigsten vergessen:
- 4 DMA-Einheiten (mit Eventansteuerung)
- Das Eventsystem.
- Timer haben 2 / 4 mächtige Capture-/Compareeinheiten
- AWEX: Halbbrücken-Ansteuerung mit einstellbarer Totzeit
- und etliches mehr

Z.B. kann man unabhängig vom sonstigen Programm:
- mit einem Timer eine DMA anstoßen, die aus einer Sinustabelle
die Werte auf den DAC rausschreibt => Sinusgenerator
- mit einem Timer 3 unabhängige PWM-Ausgänge / betreiben => 
3-Phasen-Halbbrücken!

von Peter D. (peda)


Lesenswert?

Michel schrieb:
> Z.B. kann man unabhängig vom sonstigen Programm:
> - mit einem Timer eine DMA anstoßen, die aus einer Sinustabelle
> die Werte auf den DAC rausschreibt => Sinusgenerator

Wie hier beschrieben, kann das aber recht lange dauern und ist auch 
nicht Jitter frei:

Beitrag "Re: Xmega Pin Zustand effizient spiegeln"

2,6µs bei 32MHz ist ziemlich langsam.

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.