Tuesday, February 15, 2011

Atmel's XMEGA- What's the deal with 'A' and 'D' families?

Too busy to blog lately. I need to change that. Today I'll be doing lots of gateware builds on a project so I'll have some free-time.

I attended a seminar last week about the picoPower capabilities of Atmel's UC3, Atmega and Xmega processors, and it got me hankering to start working with the Xmegas. It did not, however, give me a good answer to a fundamental question: what the heck is the difference between the 'A' and 'D' family of Xmega parts?

Some Google searches failed to turn up a result, so being a good little creator of value, I thought I'd do the research and make a post about it. For more information about the Xmega in general, EMSL have a good starter article. In short, they are high-ish pin count, 3.3V microcontrollers that add some really nice features to those available in the Atmega parts.

They come in two flavors- 'A' and 'D', with 44, 64 and 100 pin count devices and QFN, BGA, and QFP package options. They also have scalable program memory sizes from 16k up to 256k. The big question I had was, why 'A' versus 'D'?

In short, it's peripheral availability. 'D' devices are lacking a few peripherals:

  • DMA controller
  • Battery backup system (providing dedicated battery backup supply option)
  • 32-bit real-time counter
  • AES and DES cryptography engine
  • EBI (external bus interface- supports SRAM and SDRAM)
  • DAC (non-PWM digital-to-analog conversion)
  • JTAG support
That seems to be the real difference between the two families; obviously it's up to you to determine if this is a limiting factor.

Some of the things I'm most excited about involve the DMA controller, the DAC, and the EBI, so I'll probably be working with the 'A' parts. But that's just me...