The EMF32 micro-controller series from Silicon Labs, apart from featuring a smart interface, is also ultra-low power and USB enabled. Going by the name of Happy Gecko, this micro-controller is based on the ARM Cortex M0+ core. It uses autonomous peripherals and an advanced system for managing energy usage. That keeps the total energy usage in most applications so low that the controller can source power comfortably for a year from energy-harvesting arrangements or from a single battery.With the CPU core operating at speeds close to 25MHz, the core peripherals include comparators, 1Msps, 12-bit ADC, a current DAC, counter/timers, GPIO and serial buses such as I2C and USB. It supports encrypted firmware updates over USB with an onboard AES acceleration engine. Users have different memory options for up to 8KB of RAM and 64KB of Flash in a series of pin-compatible family members.
The designers of Happy Gecko have employed a variety of techniques for keeping its energy consumption to the minimal levels. Not only does its circuit design feature only 130uA for every MHz when active, the MCU can trade power for functionality through five energy modes. Therefore, developers have the ability to choose the mode consuming the lowest amount of power at any given time.
Apart from intelligent peripherals, the MCU also offers a peripheral reflex system with six channels. That allows several routine functions to execute without involving the CPU. For instance, an onboard comparator is available to monitor an input voltage, triggering an ADC to take sample as the signal crosses a threshold. The ADC in turn, stores the value in memory using a DMA channel. All this happens without the CPU coming out of its sleep mode. When the CPU needs to be active, its high clock rate ensures that it accomplishes the necessary actions in minimal time and it can return to its sleep mode quickly. Only 2µs are necessary to wake up the CPU from its slumbering state.
For the Happy Gecko, the low-energy USB interface is its key feature. However, this operates only as an endpoint device. That means the device does not require an external USB crystal and automatically synchronizes its internal oscillator to the incoming data. The endpoint device has its own dedicated RAM and an integrated PHY layer with a 5V LDO regulator and resistor. The interface remains in its low power mode, waking up only when it detects activity on the bus different from the idle time following a USB start-of-frame.
Silicon Labs offers a starter kit for the Happy Gecko. This is mbed-compatible and comes with a built-in USB debugger. The internal current measurement makes it very easy for developers to correlate the energy use of the CPU with their code.
Silicon Labs also offers an IDE to support the CPU, called the Simplicity Studio. The IDE features a pin out design tool that makes it easy to handle the configurable IO pins of the device. It also has a real-time energy profiler for synchronizing code to the minimal energy consumption of the micro-controller.