xmega_tutorial.jpg

Xmega Tutorial

Bewertung:  / 9
SchwachSuper 
  • xmega_block_diagram3D

Auf den folgenden Seiten findet Ihr ein kleines Tutorial zu den Microcontrollern der Familie AVR Xmega von Atmel in der Programmiersprache “C”. Der Aufbau der Controller-Familie ist anders aufgebaut als die kleinere ATmega Familie. Hat man jedoch das Grundprinzip einmal verstanden, ist es ganz einfach sich in dem neuem System zurecht zu finden, da alle Ports und Funktionen sehr strukturiert aufgebaut sind. Zudem gibt sind die Namen der Register für Grundfunktionen wie Timer, ADC, Interrupts für jeden Port gleich aufgebaut und unterscheiden sich nur im Buchstaben für den jeweiligen Port.

Neben dem unterschiedlichen Registeraufbau gibt es bei den Xmegas auch noch einen Unterschied in der Programmierung. Verwendete man bei der Atmega und Attiny Familie die ISP-Schnittstelle, so wird bei den Xmegas ein sogenanntes “Programm and Debug Interface” kurz PDI eingesetzt. Dieses Interface benötigt nur zwei Leitungen (PDI_CLK und PDI_Data). Da die Schnittstelle noch relativ neu ist, wird sie von noch nicht jedem Programmer unterstützt. Daher sollte man darauf achten, dass der PDI-fähig ist. Problemlos klappt  dies mit dem hauseigenen Programmer von Atmel dem “Atmel AVR ISP mkII”.

  • xmega_block_diagram2

  • xmega_block_diagram

Zur Programmierung der Xmegas empfehle ich die jeweils aktuelle Version vom AVR Studio (Link zum Download siehe unten). Seit der Version 5 basiert die Oberfläche auf dem Microsoft Visual Studio und bietet so einen sehr großen Komfort für jeden Programmierer. Als Chip verwende ich in meinem Beispielen einen XMega128A3. Da jedoch die Grundfunktionen und Register aller die Xmegas untereinander kompatibel sind, sollten die Programme auch auf allen anderen Controllern der Familie laufen.

Allgemein kann man sagen, dass die Xmega Reihe kaum noch Gemeinsamkeiten mit den bisherigen AVR ATmegas haben. So ist es nicht möglich Programme, welche für einen ATmega geschrieben wurden, auf einen Xmega ohne große Änderungen zu übernehmen. Das gilt auch für so einfach Programme wie ein LED Lauflicht. Das ist zwar auf den ersten Blick sehr aufwendig, aber hat nach genauerem Hinsehen viele Vorteile mit sich gebracht. Zum einen hat Atmel radikal das Chaos in der Namensgebung der Register beseitigt, wodurch die neuen Xmegas wirklich sehr übersichtlich und verständlich geworden sind. Das bedeutet, dass auch die Namensgebung der Register bei jedem Xmega gleich ist und man nicht auf irgendwelche Ausnahmen Rücksicht nehmen muss. Ein weiterer Grund für diesen großen Bruch sind die vielen neuen Funktionen der Xmegas die unbedingt eine neue Struktur erforderten.

Hardware

Die ersten Tests mit den Xmegas habe ich mit dem XmegaStick von Tim Hotfilter gemacht. Die Boards bieten viele verschiedene Features, wie zum Beispiel Ethernet, SD Karte, USB, RS232 und viele IO-Ports für die eigene Ideen. ... somit der Ideale Einstieg in die Welt der Mikrocontroller. Die Boards findet ihr unter folgendem Link: www.atxmega-board.de

Zukunft

Das Tutorial wird nach und nach von mir ergänzt. Wenn ihr Fehler in dem Tutorial findet würde ich mich freuen wenn ihr mir diese mitteilt, damit ich diese korrigieren kann. Wenn jemand eigene Tips, Informationen oder Code-Schnipsel hat, kann er mir diese gern zusenden damit ich sie anschließend in das Tutorial einbinden kann.

Was als nächstes?

Was soll als nächstes in dem Tutorial erscheinen? Wünschen können weiter unten als Kommentar geäußert werden. Alle Meinungen werden berücksichtigt.

Links

AVR Xmega


Datenblatt Xmega

AVR Xmega
AVR Studio
AVR Xmega Overview
Atmel AVR XMEGA AU Manual
ATxmega AU3 Family Complete

Kommentar hinzufügen

Neuste Beiträge

30/08/2016
Es gibt nun endlich ein Update für die Tinyg CNC Controller Hardware und der dazu gehörenden PC Software...
03/09/2015
In den letzten Monaten habe ich lange das CAD Programm und meinen kleinen Ultimaker 3D Drucker gequält....
15/05/2015
Zuerst wurde eine kleine Katze am Computer konstruiert. Der erste Druck mit 0,3mm Schichtstärke war...
06/05/2015
Da beim Ultimaker keine Beleuchtung des Arbeitstisches vorgesehen ist, muss ich mir hier selber eine...
10/03/2015
Nach vielen Überlegungen habe ich mich nun endlich dazu entschieden meinen Machinenpark mit einem 3D...
01/02/2015
Diese Hardware besteht aus einem mächtigem Hardwarecontroller und vier leistungsstarken...
113855