Remember Luminary Micro’s tagline about offering “32 bits for a buck”? Well, Atmel is now doing approximately the same thing. The company has just launched a whole family of low-end ARM-based microcontrollers with prices starting right around $1 in modest volumes.
Atmel has been in the ARM-based MCU business for quite a while, but this is the first time the company has made really low-end parts. Heretofore, the low end of Atmel’s product line used Cortex-M3 cores. Now the company has jumped two rungs down the ARM architecture ladder, to the very bottom: Cortex-M0+.
(I don’t know about you, but I always confused Atmel with Actel, but now that the latter company is part of Microsemi, that problem is solved. Hooray for acquisitions!)
You’ll recall that the M0+ is sort of a twin to the Cortex-M0, but with lower power consumption and better performance. ARM positions the Plus as the bottom of its product line, even though it really stands somewhat above the non-Plus M0. Got that?
At any rate, the new chips are called SAM D20 and they mark a new low in Atmel’s ARM-based catalog – right where its AVR microcontrollers already sit. What’s happening here?
There’s now some serious overlap between Atmel’s two in-house MCU architectures, AVR and ARM. Once upon a time, AVR was all alone at the low end, while the ARM Cortex-M3 and –A5 devices held down the midrange and high end, respectively. Now that M0+ has entered the mix, Atmel’s got a full range of ARM-based chips, right on top of its existing AVR chips.
Should AVR users be worried? Nah. Atmel is happy to support multiple MCU architectures. Heck, the company still makes four-dozen different 8051 chips, so AVR probably has a long and productive life ahead of it. This is just a way to offer a lower-cost entry point to the ARM family, not an assault on AVR’s home turf.
So what do these new chips look like? Well, for one, they’re really slow. SAM D20 tops out at 48 MHz, so there’s no danger that you’ll waste money on a heat sink. At that speed, external memories have some hope of keeping up with the processor, which is a good thing, because these chips have no caches. There is on-chip flash memory, however: anywhere from 16KB to 256KB. There’s also a lot of on-chip I/O, as befits a microcontroller.
Atmel is particularly proud of its I/O because it’s smarter than usual. The company figures that most people using these new M0+ devices will be concerned about power consumption, so the peripherals were designed with that in mind. And what’s the best way to conserve power on an MCU? Don’t turn it on! The new chips’ peripherals can manage several straightforward tasks all by themselves, without waking the Cortex-M0+ processor core. For example, if an A/D converter samples a sensor, and if the system is supposed to take some action based on the level of that sensor, the A/D converter itself can decide whether the reading is high enough to warrant further action. If the reading is below your threshold, everything goes back to sleep. But if the reading is above the trigger level, the A/D converter will wake the processor and pass along the data for further evaluation. Pretty slick. Atmel calls this “sleepwalking” mode.
Atmel also broke apart the chip’s clock-distribution tree, which further reduces power consumption. Rather than route a single clock signal to all the on-chip devices, it’s fragmented and software-configurable. If you want to sleep most of the chip, for example, but keep the PWM running, you can enable the clock to that feature alone.
Most MCUs come in a zillion different varieties because everyone wants a different mix of peripherals. Atmel helped its cause a bit by making serial peripherals generic. Rather than hard-wire separate I2C, SPI, or USART devices, it treats them all as “serial controllers” and lets the user decide what flavor of serial interface he wants. Thus, one chip can have three SPI ports and no UARTs, or two UARTs and one I2C, and so on. It’s one SKU for Atmel and one datasheet for developers.
Software-development tools from Atmel cost $39, which must be some kind of low-cost record. That includes a real compiler (which works on both ARM and AVR chips), editor, peripheral drivers, communications stacks, and even a cycle-accurate simulator. Atmel likes to point out that the simulator is “bug compatible” with the chip, meaning it’s derived from the actual Verilog design of the chip itself, not from idealized datasheet specifications of how it should work.
There are three different package options for the new D20 family, but, fortunately, there’s no correlation between flash capacity and package type. In other words, you can upgrade and downgrade the flash memory without changing packages, and you can swap packages without necessarily changing memory size. Atmel has observed that most developers like to start with the largest package and the biggest memory capacity, and then trim back the physical and/or logical size as they near production. That’s the reverse of how people used to do it in past years.
At just $1 for the MCU, $39 for the development system (which includes an MCU), and a steady upgrade path to other ARM-based chips, Atmel’s new SAM D20 family looks like a good jumping-off point for a fun and profitable career in embedded development. It’s good to start at the bottom.