EFM32

EFM32 Gecko MCUs are a family of mixed-signal 32-bit microcontroller integrated circuits from Energy Micro (now Silicon Labs) based on ARM Cortex-M CPUs, including the Cortex-M0+, Cortex-M3, and Cortex-M4.

Overview
EFM32 microcontrollers have a majority of their functionality available down to their deep sleep modes, at sub-microamp current consumption, enabling energy-efficient, and autonomous behavior while the CPU is sleeping.

An example of a deep sleep peripheral on EFM32 is the Low Energy Sensor Interface (LESENSE), which is capable of duty-cycling inductive, capacitive, and resistive sensors while autonomously operating in Deep Sleep mode. Another aspect of the Gecko MCUs is that the peripherals have a direct connection with each other, allowing them to communicate without CPU wake-up and intervention. This interconnect is known as the Peripheral Reflex System (PRS).

Functionality is available at the lower Stop and Shutoff energy modes. The Stop mode includes analog comparators, watchdog timers, pulse counters, I2C links, and external interrupts. In Shutoff mode, with 20–100 nA current consumption, depending on the product, applications have access to GPIO, reset, a real-time counter (RTC), and retention memory.

The EFM32 family consists of several sub-families, ranging from the EFM32 Zero Gecko, based on an ARM Cortex-M0+, to the higher performing EFM32 Giant Gecko and Wonder Gecko, based on Cortex-M3 and Cortex-M4 respectively. EFM32 technology is also the foundation for EFR32 Wireless Geckos, a portfolio of Sub-GHz and 2.4 GHz wireless system on a chip (SoC) devices.

Key properties
The energy efficiency of the EFM32 MCU portfolio stems from autonomous operations in deep sleep modes, low active and sleep currents, and fast wakeup times. EFM32 devices claim to be constructed to reduce development cycles by being pin and software-compatible, scalable across wide application requirements, and compatible with multiple development platforms. The wireless Gecko portfolio (EFR32) shares the same MCU architecture with both software and hardware (pin/package) compatibility.

Features
At a low level, the MCU can be broken down into eight categories: the core and memory, clock management, energy management, serial interfaces, I/O ports, timers and triggers, analog interfaces, and security modules.

Features of the MCU include:


 * Low-energy modes.
 * Peripheral Reflex System (PRS), a peripheral interconnect system with eight triggers to handle task execution without CPU intervention.
 * CPU: ARM Cortex-M series, from the Cortex-M0+ to the Cortex-M4.
 * Clock rate: 4 MHz to 48 MHz.
 * Low frequency and ultralow frequency clocks.
 * Internal voltage regulators.
 * Flash memory: 4 kB to 1024 kB.
 * RAM: 2 kB to 128 kB.
 * Serial digital interfaces: USART, low energy UART, I2C, and USB.
 * Timer and triggers block of the MCU includes a CRYOTIMER, low energy pulse counter (PCNT), and backup real-time-counter (RTC).
 * Analog modules: ADCs, DACs, operational amplifiers, and analog comparators.
 * Hardware cryptographic engines and cyclic redundancy checks (CRCs).
 * Up to 93 General-purpose Input/Output (GPIO) pins.
 * Some variants have LCD controllers.

Design and development resources
Design and development resources include a freeware Integrated Development Environment (IDE), performance analysis tools, configuration tools and utilities, compilers and development platforms, software stacks, reference code and design examples, application notes, training videos, and white papers.

Silicon Labs Simplicity Studio is a freeware, Eclipse-based development platform with graphical configuration tools, energy-profiling tools, wireless network analysis tools, demos, software examples, documentation, technical support and community forums. It also includes compiler tool options, including GCC for ARM, Keil, IAR Embedded Workbench, and other third-party tools.

Tools within Simplicity Studio IDE include the Advanced Energy Monitor (AEM) and the Network Debugger called “Packet Trace”. The Advanced Energy Monitor is an EFM32 tool that allows developers to do energy profiling while their application is running. It also claims to allow direct code correlation to optimize both hardware and software. The Network Debugger is a tool that allows developers to use the wireless Gecko MCUs to trace network traffic and packets throughout nodes on the network.

EFM32 is supported by multiple third-party real-time operating systems (RTOS) and software libraries, drivers, and stacks, like Micro-Controller Operating Systems (uC/OS) (Micrium), FreeRTOS, GNU Chopstx, embOS (Segger), and mbed OS (ARM). In October 2016, Silicon Labs acquired Micrium. In addition to IoT-critical middleware stacks such as TCP/IP, Micrium provides a RTOS that enables embedded IoT designs to handle task management in real-time.

Getting started
EFM32 starter kits are available for evaluation purposes and to gain familiarity with the portfolio. Each starter kit contains sensors and peripherals that help illustrate device capabilities as well as serve as a starting point for application development. Using Simplicity Studio software also grants access to kit information and the ability to program the starter kit with demos and code examples. Most starter kits contain EEPROM with board IDs to enable automated setup when a kit is connected to Simplicity Studio IDE.

Some of the EFM32 kits are ARM mbed-enabled. These kits support ARM mbed out of the box, and are supported in Simplicity Studio development tools and community forums.

Featuring the Giant Gecko MCU with 1024KB of Flash and 93 GPIO, the EFM32 Giant Gecko Starter Kit, shown below, is one of the latest starter kit offerings in the EFM32 family.

Other EFM32 starter kits include:

Energy modes
The EFM32 is designed to achieve a high degree of autonomous operation in the low-energy modes. Multiple ultralow energy modes are available for tuning energy usage and significantly reducing power consumption.

Core technology
EFM32 products can maintain processing with reduced energy consumption. In Active/Run mode, the EFM32 has a base current consumption of 114 μA/MHz while running real-time code with a clock speed of 32 MHz at 3V of power. The EFM32 has a maximum clock speed of 48 MHz, which caps the total power consumption.

Energy consumption of the EFM32 can be reduced by configuring the attached peripherals. In the Active/Run mode, the CPU may interact with all peripherals. Interaction with high-frequency peripherals, those requiring a clock in the megahertz range, can be done in the Active/Run mode and the Sleep mode. Interaction with low-speed peripherals, those requiring a lower-speed clock such as 32 kilohertz, may be done in the Deep Sleep mode and any higher mode. Asynchronous peripherals, those that do not require a clock, may be interacted with in Stop mode and any higher mode.

To further reduce energy consumption, the timing of the interactions of the EFM32 may be grouped together so that the CPU is woken to interact with the peripherals and then, when the interactions and processing has completed, the EFM32 may be put into one of the lower energy modes. The features of Autonomous Peripherals, Peripheral Reflex System, and LESENSE may also be drawn upon to keep the EFM32 in lower energy modes.
 * The Autonomous Peripheral feature ensures that peripheral devices can operate without waking up the CPU. This feature provides direct memory access (DMA) support with up to 16 channels, depending on the EFM32.
 * The Peripheral Reflex System may be configured to work with the Autonomous Peripherals by executing tasks without CPU intervention.
 * LESENSE is an EFM32 feature that allows the MCU to monitor up to 16 sensors in Deep Sleep mode. The EFM32 can do resistive sensing, capacitive sensing, and inductive sensing in this mode.

When needed, the EFM32 can wake up from Deep Sleep mode and engage the CPU in less than two microseconds.

Application examples of low-energy Gecko technology
ADC sensing applications (temperature): In a demonstration with the Wonder Gecko MCU and a standard temperature thermistor, setting the ADC to sample the thermistor every second (at 1 Hz rate) equates to 1.3 μA average current. This would equate to a 220 mA-hr CR2032 coin cell battery lasting for close to 20 years. This same application could be implemented with LESENSE and preset thresholds, instead of using regular time interval ADC samples. In the case of LESENSE and irregular triggers, a threshold trigger rate of 1 Hz would allow the EFM32 to stay in a low energy mode unless the sensor reading crosses a preset threshold.

Low-energy pulse counter for metrology: Using the low energy pulse counter, the EFM32 could also be used in (pulsed) sensing applications. For example, with a magnetic Hall effect sensor, the EFM32 can convert rotational position to quantified speed or flow rate. This is a common situation in water or heat flow metering. The EFM32 can be used in Stop mode (EM3) to count pulses and calculate flow. Operating power consumption in this state could be as low as 650 nA (3Vdc).

History
The EFM32 microcontroller family is one of the two products of Energy Micro. The other being EFR4D Draco SoC radios.
 * In April 2008, Energy Micro announced that it licensed the ARM Cortex-M3 core.
 * In October 2009, Energy Micro announced the EFM32 Gecko MCU family (EFM32G series) based on Cortex-M3.
 * In December 2009, Energy Micro announced development kit for its EFM32 Gecko MCU family.
 * In February 2010, Energy Micro announced EFM32 Tiny Gecko MCUs were announced.
 * In March 2010, Energy Micro announced the EFM32 Tiny Gecko MCU family (EFM32TG series) based on Cortex-M3.
 * In March 2010, Energy Micro announced low cost EFM32 Gecko starter kit.
 * In July 2010, Energy Micro announced the EFM32 Giant Gecko MCU family (EFM32GG series) based on Cortex-M3 for memory heavy applications.
 * In November 2010, Energy Micro announced the Simplicity Studio development suite.
 * In March 2011, Energy Micro announced the EFM32 Zero Gecko MCU family (EFM32ZG series) based on Cortex-M0+ for low cost applications.
 * In September 2011, Energy Micro announced the EFM32 Leopard Gecko MCU family (EFM32LG series) based on Cortex-M3.
 * In April 2013, Energy Micro announced the EFM32 Wonder Gecko MCU family (EFM32WG series) based on ARM Cortex-M4F.
 * In June 2013, Silicon Labs announced the intention to acquire Energy Micro.
 * In July 2013, Silicon Labs completed the acquisition of Energy Micro.

Development tools
The Gecko mbed compiler is available at: https://developer.mbed.org/compiler/#nav:/;