Archiv nach Schlagworten: Xmega

avrdude 5.9 ist fertig

Nach vielen Wochen intensiven Diskutierens auf der Mailingliste wurde nun avrdude 5.9 freigegeben. Neben vielen Bugfixes werden auch wieder einige neue Mikrocontroller und Programmer unterstützt. Ganz neu ist die Unterstützung für AVR32.

Neue Controller

  • AVR32A0512 (JTAGMKII only)
  • ATmega32U4
  • ATtiny4
  • ATtiny5
  • ATtiny9
  • ATtiny10

Neue Programmer

  • BusPirate
  • Arduino
  • JTAGICEmkII and AVR Dragon in PDI mode (ATxmega devices)
  • STK600 and AVRISP mkII in TPI mode (ATtiny4/5/9/10)

Download und compilieren für Debian Systeme wird im avrdude Tutorial beschrieben

Update

Nachdem ich mit den bisherigen Versionen kein Glück mit den Xmega hatte scheint die aktuelle Version endlich zu funktionieren. Getestet habe ich mit dem ATxmega128A1 und dem ATxmega32A4. Beide Tests verliefen bisher erfolgreich.

Neue Xmega Datenblätter

ATxmega128A3

ATxmega128A3

Auf der Webseite von Atmel sind zwei neue Xmega Datenblätter zu finden. ATxmega256D3/192D3/128D3/64D3 und ATxmega128D4/64D4/32D4/16D4

Ein erster Blick in die Datenblätter lässt vermuten, dass es sich um LowCost Varianten der ATxmega32A4 und ATxmega128A3 handeln könnte.

Statt fünf bzw sechs USARTs finden sich nur zwei bzw drei. Ebenso gibt es weniger 16 Bit Timer. Die AD Wandler wandeln statt mit schnellen 2Msps nur mit 200ksps. Der DAC fehlt komplett, ebenso wie die AES/DES Crypto Engine. Beim ATxmega_D4 wurde wohl auch auf JTAG verzichtet.

Immerhin hat Atmel nicht am Speicher gespart. Der ATxmega128D3 enthält wie der ATxmega128A3 neben 128kByte Flash 8kByte RAM und 2kByte Eeprom.

Ziel scheint wohl eine deutliche Reduzierung der DIE Größe und damit eine Kostenreduzierung zu erzielen. Neuerungen gibt es keine.

Xmega Multi Bootloader xmmbl

Derzeit arbeite ich an einem Bootloader für die Xmega Controller. Dazu modifiziere ich die AppNote AVR1605.

Warum noch ein Bootloader? Der Bootloader soll nicht nur an einem fest definierten USART auf eingehende Daten lauschen sondern auf beliebig vielen, also im Extremfall alle acht USARTs vom ATxmega128A1. Außerdem soll der Bootloader auch andere Xmega außer dem ATxmega128A1 unterstützen.

Eine erste Version funktioniert bereits. Bisher jedoch nur mit einem USART. Außerdem springt der Bootloader derzeit nach einem Reset nicht automatisch in die Applikation sondern wartet, bis Daten über die serielle Schnittstelle eintreffen (was derzeit auch so beabsichtigt ist). Die finale Version soll verschiedene Startup Verhalten bekommen.

Xmega: weitere Eindrücke. Der ATxmega32A4

Seit ein paar Tagen habe ich ATxmega32A4 Controller in der Hand. Durch die kleinere Bauform lassen sie sich vor allem beim Prototyping besser handeln und man kann leichter damit experimentieren. Also habe ich nochmal neu Fahrt aufgenommen und habe erste richtige Programmierversuche unternommen. Für die Experimente verwende ich meine SMD Adapterplatine auf Lochraster.

Weiterlesen »

Atmel AVR Xmega, ein Wolf im Schafspelz

Vor ein paar Tagen habe ich die ersten ATxmega128A1-AU erhalten. Seit dem beschäftige ich mich mit den Datenblättern. Die Daten und Features sind unglaublich, wenn man bedenkt das es sich dabei immer noch um einen 8 Bit Controller handelt.

  • Bis zu 32MHz
  • 4 interne Oszillatoren von 32kHz bis 32MHz
  • bis zu 16MByte externes SRAM oder SDRAM
  • 4 DMA Kanäle
  • 8 Kanal Event System
  • 2 AD-Wandler mit je 8 Kanälen und 2MS/s bei 12 Bit Auflösung
  • 2 DA-Wandler mit 12 Bit und 1MS/s
  • 8 USARTs
  • 4 TWI Schnittstellen
  • 4 SPI Schnittstellen
  • 8 16 Bit Timer/Counter
  • AES und DES Crypto Engine

Das sind eigentlich Werte von 16 Bit Mikrocontrollern, aber warum macht man so etwas? Ich denke um in den Marktbereich von 16 Bit Controllern einzudringen ohne das sich die Entwickler an einen neuen Controller gewöhnen müssen und neue Werkzeuge benötigen. Der Kern der Xmega hat sich zu den normalen AVR kaum verändert. Auch die Werkzeuge wie Compiler und Programmer kann man weiter verwenden.

Ein paar Nachteile hat das natürlich auch. Die Peripherie der Xmega hat eigentlich nicht mehr viel mit den klassischen AVR gemeinsam. Nicht einmal die IO-Ports sind unverändert. Es gibt allein für die IO-Ports jetzt 18 Register. Von der guten alten 5V Technik und den DIP Gehäusen müssen wir uns auch verabschieden.

Was den Xmega noch fehlt sind große Schnittstellen wie USB, CAN und Ethernet. Ich denke aber das vor allem CAN recht bald folgen wird.

Der ATxmega128A1-AU ist bei mir inzwischen verfügbar.