Archiv nach Schlagworten: AVR

AVR Studio und WinAVR unter Linux: es läuft

Ich habe mir jetzt einmal die Mühe gemacht und die Version 1.1.43 von wine aus diesem PPA zu installieren. Anschließend habe ich das AVR Studio 4.18 einschließlich SP1 und die aktuelle Version von WinAVR heruntergeladen.

Ich habe alles installieren können und siehe da, es läuft. Was allerdings (noch) nicht funktioniert ist die Programmierung über den AVRISP mkII. Ob man das noch einrichten kann weiß ich zur Zeit nicht. Hier muss man zur Not auf avrdude zurückgreifen.

Weiterhin habe ich festgestellt, dass das AVR Studio schon im Leerlauf etwa 12% CPU Leistung benötigt (auf einem C2D E4300 mit 1,8GHz). Also nicht unbedingt geeignet für den mobilen Betrieb mit einem Laptop.

Ich habe jetzt nicht alle Funktionen getestet. Ich habe lediglich die Installation und das Compilieren mit WinAVR ausprobiert.

Da die Programmierung mittels AVRISP mkII nicht funktioniert bleibt der einzig plausible Grund für die Installation vom AVR Studio unter Linux der Simulator.

Wenn man im Project Wizzard ein neues Projekt anlegt und einen AVR Controller auswählt gibt es jedoch einen kleinen Bug. In den Project Options wird der Controller Typ falsch eingetragen. Hinter dem Namen werden zusätzliche Zeichen eingefügt, die man entfernen muss. Ich weiß jetzt nicht, ob dies an wine liegt oder ein genereller Bug im AVR Studio ist.

PS: Der Simulator scheint nicht zu funktionieren. Beim Versuch, ein Programm zu debuggen, hängt sich das AVR Studio komplett auf

Bugfix Update avrdude 5.10

In die Version 5.9 hat sich ein Bug eingeschlichen. Offensichtlich werden Intel HEX Dateien mit mehr als 128kB nicht korrekt verarbeitet.

Daher wird empfohlen, ein Update durchzuführen. Weitere Informationen hier

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.

Angekündigt: ATtiny2313A und ATtiny4313

Endlich tut sich etwas bei den ATtiny2313. Gestern hat Atmel ein neues Datenblatt veröffentlicht.

Der ATtiny2313 ist ein kleiner, universeller Controller ohne AD Wandler. Leider gab es diesen bisher nur mit 2kB Flash. Mit dem Datenblatt kündigt Atmel zum einen den Wechsel auf die neuen A-Typen an. Gleichzeitig gibt es eine Version mit 4kByte Flash und je 256 Byte Eeprom und SRAM.

Die neuen Controller arbeiten mit einer Spannung von 1,8-5,5V und von 0-20MHz.

  • 0-4MHz @ 1,8-5,5V
  • 0-10MHz @ 2,7-5,5V
  • 0-20MHz @ 4,5-5,5V

Die Migration Note listet die Unterschiede zwischen dem ATtiny2313 und dem ATtiny2313A auf. Neben leichten Unterschieden in den Spannungsleveln der Resetleitung haben sich auch einige Register geändert oder sind neu hinzugekommen. Die Signatur der ATtiny2313 ist jedoch unverändert.

Wann die neuen Mikrocontroller verfügbar sein werden steht noch nicht fest. Wie immer wird es aber wohl einige Monate dauern, bis die Mikrocontroller in Stückzahlen erhältlich sein werden.

Die neuen A-Typen der Atmel AVR Mikrocontroller

Seit einiger Zeit gibt es neue Datenblätter für die AVR Mikrocontroller von Atmel, vor allem für die Klassiker wie ATmega32. Die neuen Typen wurden um ein “A” nach der Typennummer ergänzt. Also beispielsweise ATmega32A. Gleichzeitig fällt die Zahl für die Taktfrequenz weg. Ein neuer ATmega32 im DIP Gehäuse heißt daher jetzt vollständig ATmega32A-PU.

Der Grund liegt darin, dass Atmel den Fertigungsprozess optimiert hat und die AVR in einer feineren Struktur fertigt, so dass mehr Die‘s auf einen Wafer passen, wodurch die Fertigungskosten gesenkt werden können.

Gleichzeitig sinkt der Strombedarf. So braucht der ATmega32A bei 3V und 1MHz nur 0,6mA im Active Mode. Ein ATmega32L braucht bei gleichen Bedinungen 1,1mA. Ebenso sinkt der Strombedarf im Idle Mode.

Ein weiterer Vorteil der A-Typen ist, dass sie über den vollen Spannungsbereich arbeiten können. Es gibt also keine Unterscheidung mehr zwischen normaler Version und Low Voltage Version wie beim ATmega32 und ATmega32L. Der ATmega32A arbeitet von 2,7-5,5V und einem Takt von 0-16MHz. Die Einschränkung eines redizierten Taktes bei reduzierter Spannung existiert jedoch weiterhin. Bei 3,3V Versorgungsspannung sind weiterhin maximal 8MHz spezifiziert.

Die Erweiterung “A” ist jedoch nicht bei allen Mikrocontrollern vorhanden. Typen wie der ATmega328P-PU fehlt der Zusatz, obwohl sie ebenfalls mit dem neuen Die ausgestattet sind. Dies liegt daran, dass es keinen Vorgänger gibt. Hier hätte Atmel der Übersichtlichkeit zuliebe ebenfalls den Zusatz anhängen können.

Erste Mikrocontroller wie der ATtiny13A oder der ATmega32A sind bereits verfügbar und auch günstiger als die alten Typen. Mittelfristig wird Atmel wohl die komplette Palette umstellen. Die neuen Typen sind voll kompatibel zu ihren Vorgängern. Die Migration Note am Beispiel des ATmega32 zeigt die Unterschiede und listet den Stromverbrauch der alten und neuen Typen detaillierter auf.

Auch für Bastler hat es einen Vorteil: es reduziert den Lagerbedarf. Wenn man vorher für unterschiedliche Anwendungen einen Standard Typ und einen Low Voltage Typ auf Lager haben musste reicht jetzt nur ein Mikrocontroller.

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.

Neue Version des AVR Fuse Calculator – leider :(

Vor einiger Zeit wurde der AVR Fuse Calculator erneut aktualisiert. In diesem Fall muss ich jedoch sagen, dass es keine Verbesserung ist.

Zum einen empfinde ich es als weniger übersichtlich, da sich die Seite jetzt in die Länge zieht. Was vorher bequem komplett auf meinem Laptop Display dargestellt wurde ist jetzt fast 3 Bildschirmseiten lang, bei gleicher Auflösung.

Was ich auch sehr schade finde ist die fehlende Möglichkeit, die Einstellungen in der URL zu übergeben. Bisher war es möglich, die Einstellungen für einen bestimmten Controller in einem Link wie diesem zu speichern und so auf die Seite verweisen, so dass sich jeder einen Überblick verschaffen konnte.

Beide Eigenschaften wurden für die optische Aufwertung und die Einbindung in ein CMS aufgegeben. Schade, denn die alte Version fand ich besser.

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 »

Neues AVR Datenblatt von Atmel: ATmega16U4 und ATmega32U4

Atmel hat ein neues Datenblatt veröffentlicht. ATmega16U4/ATmega32U4. Diese Controller besitzen eine USB 2.0 Full-/Low-Speed Schnittstelle, mehrere Timer und PWM sowie einen 12 Kanal/10 Bit ADC. Das RAM wurde beim ATmega16U4 auf 1,25kByte und beim ATmega32U4 auf 2,5kByte vergrößert.

Leider gibt es die neuen Controller nur noch in TQFP44 und MLF44 und sind nicht pinkompatibel zu normalen ATmega16/32. Wann es die neuen Controller geben wird steht wie immer in den Sternen.