Archiv nach Kategorien: Mikrocontroller - Seiten 2

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.

AVR Studio 4.18 SP1

AVR Studio

AVR Studio

Servicepack für das AVR Studio 4.18.

Part support
The following new parts have been added to AVR Studio since 4.18:
- ATxmega16D4, ATxmega32D4, ATxmega64D3, ATxmega128D3, ATxmega256D3

New Features
AVR ISP mkII command line SW support for XMEGA device family

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 »

AVR32 Linux BSP 3.0.0

Gestern ist die Version 3.0.0 des AVR32 Linux Board Support Package veröffentlich worden. Aktuell werden die Boards ATSTK1000, ATSTK1002, ATSTK1003, ATSTK1004, ATSTK1005, ATSK1006 und ATNGW100 unterstützt.

Das ISO Image enthält AVR32 GNU Toolchain (2.1 beta), AVR32 Studio (2.1 preview) und AVR32 Buildroot (2.2.1), sowie Datenblätter und Application Notes.

Wie man das ISO Image mounten kann erklärt die Release Note, das Image kann auf dieser Seite heruntergeladen werden.

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.

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.

Neue Version des AVR Fuse Calculator

Als ich heute mal wieder ein paar AVR programmieren wollte und für die Programmierung der Fusebits den AVR Fuse Calculator aufgerufen habe ist mir mit freuden aufgefallen das er ein neues Aussehen hat. Für Optionen die nur einzelne Fusebits betreffen und keine Bitkombinationen werden jetzt Checkboxen verwendet. Das macht die Anwendung wesentlich einfacher. Aber schaut selbst. :)