Michał Jonik
2010-01-28 · archive

XMEGA – high-performance low-power microcontrollers

Archived post from 2010, recovered from my old blog. The technology described here is probably out of date. Original at the Internet Archive.

So far I was working on intelligent home prototypes based on megaAVR family. Recently I found some interesting features of quite new XMEGA family. ATXMEGA16A4 is one of the smallest chip in the family and can be bought for less then 4€. Below I picked some features from its specification that may be important for building intelligent home modules.

4KB bootloader

Enough for a smart bootloader supporting collision detection and retransmissions.

Multiple UARTs

Great for μNet Controller which has to interface with PC (one UART) and several μNet buses. ATxmega16A4 has 5 UARTs while ATxmega128A1 has 8.

Four-channel DMA Controller

The XMEGA A4 has a Direct Memory Access (DMA) Controller to move data between memories and peripherals in the data space.

Eight-channel Event System

The Event System is a set of features for inter-peripheral communication. It enables the possibility for a change of state in one peripheral to automatically trigger actions in one or more peripherals. Whose changes in a peripheral that will trigger actions in other peripherals are configurable by software. It is a simple, but powerful system as it allows for autonomous control of peripherals without any use of interrupts, CPU or DMA resources.

Inverted I/O

All port pins have an inverted I/O function. For an input, this means inverting the signal between the port pin and the pin register. For an output, this means inverting the output signal between the port register and the port pin. The inverted I/O function can be used also when the pin is used for alternate functions.

12bit ADC converter

The ADC converts analog voltages to digital values. The ADC has 12-bit resolution and is capable of converting up to 2 million samples per second.

12bit DAC converter

a DAC converts a digital value into an analog signal. The DAC has 12-bit resolution and is capable of converting up to 1 million samples per second.

Multilevel Interrupt Controller

All peripherals can define three different priority levels for interrupts; high, medium or low. Medium level interrupts may interrupt low level interrupt service routines. High level interrupts may interrupt both low and medium level interrupt service routines. Low level interrupts have an optional round robin scheme to make sure all interrupts are serviced within a certain amount of time.

Low power consumption

The device running at 2MHz powered by 3V consumes 1.1mA when active and just 0.3mA when idle. Power saving modes provide even less power consumption.

Hight performance

Up to 32MIPS at 32MHz clock.

The device looks very promising. However it requires new tools. My STK500 development board does not support XMEGA family. STK600 which does support XMEGA costs over 250€.

avrstk600xmega