EFM32
EFM32 Gecko MCUs are a family of mixed-signal 32-bit microcontroller integrated circuits from Energy Micro 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, 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.
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, 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 devices.
Product families
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 shares the same MCU architecture with both software and hardware 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, 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, and backup real-time-counter.
- Analog modules: ADCs, DACs, operational amplifiers, and analog comparators.
- Hardware cryptographic engines and cyclic redundancy checks.
- Up to 93 General-purpose Input/Output pins.
- Some variants have LCD controllers.
Design and development resources
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 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 and software libraries, drivers, and stacks, like Micro-Controller Operating Systems , FreeRTOS, GNU Chopstx, embOS, and mbed OS. 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:
| Starter kit | Part number | Main STK features | LCD type | Battery power option |
| Pearl Gecko STK | SLSTK3401A | USB J-Link Debugger, relative humidity and temperature sensor, 2 user buttons | Memory LCD | Yes |
| Wonder Gecko STK | EFM32WG-STK3800 | USB J-Link Debugger, 32 MB Flash, 20-pin expansion header, ambient light sensor, LC metal sensor, 2 user buttons | 160 segment LCD | Yes |
| Giant Gecko STK | EFM32GG-STK3700 | USB J-Link Debugger, 32 MB Flash, 20-pin expansion header, ambient light sensor, LC metal sensor, 2 user buttons | 160 segment LCD | Yes |
| Leopard Gecko STK | EFM32LG-STK3600 | USB J-Link Debugger, 32 MB Flash, 20-pin expansion header, ambient light sensor, LC metal sensor, 2 user buttons | 160 segment LCD | Yes |
| Gecko STK | EFM32-G8XX-STK | USB J-Link Debugger, 20-pin expansion header, 2 user buttons and cap touch slider | 4x40 LCD | Yes |
| Tiny Gecko STK | EFM32TG-STK3300 | USB J-Link Debugger, LESENSE demo ready, light, LC, and touch sensors, 2 user buttons | 8x20 LCD | Yes |
| Happy Gecko STK | SLSTK3400A | USB J-Link Debugger, 20-pin expansion header, relative humidity and light sensor, 2 user buttons and 2 touch buttons | 128x128 pixel memory LCD | Yes |
| Zero Gecko STK | EFM32ZG-STK3200 | USB J-Link Debugger, 20-pin expansion header, 2 user buttons and 2 cap touch pads | Ultra low power 128x128 pixel memory LCD | Yes |
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.| Energy Mode | State Designation | Characteristics | Power Consumption |
| Active/Run | EM0 | The ARM Cortex-M CPU fetches and executes instructions from Flash or RAM, and all low-energy peripherals can be enabled. EFM32 can quickly enter one of the low-energy modes from this mode, effectively halting the CPU and Flash memory. After a wake up, all low-energy modes return to this mode within 2 μs, making it easy to enter the low-energy mode and return to 32-bit performance when needed. | 114 μA/MHz |
| Sleep | EM1 | The clock to the CPU is disabled, effectively reducing the energy needed for operation while maintaining all low-energy peripheral functionality. By using the peripheral reflex system and DMA, the system can collect and output peripheral data without CPU intervention. This autonomous behavior enables the system to remain in this mode for long periods of time, thereby increasing battery life. Additionally, the low-leakage RAM ensures full data retention. | 48 μA/MHz |
| Deep Sleep | EM2 | EFM32 MCUs offer a high degree of autonomous operation while keeping energy consumption low. The high frequency oscillator is turned off in this mode; however, a 32 kHz oscillator and the real-time clock are available for the low energy peripherals. Since the ARM Cortex-M CPU is not running in this mode, the MCU performs advanced operations in sleep mode. The peripherals run autonomously due to intelligent interconnection of the modules and memory, the wake-up time to EM0 is only 2 μs and low-leakage RAM ensures full data retention in this mode. | 0.9 μA |
| Stop | EM3 | This mode tailors the energy consumption of the EFM32 to maintain a very short wake-up time and respond to external interrupts. In this mode the low-frequency oscillator is disabled, but the low-leakage RAM ensures full data retention and the low-power analog comparator or asynchronous external interrupts can wake-up the device. | 0.5 μA |
| Shutoff | EM4 | In this deepest energy mode available, the EFM32 MCU is completely shut down, and the only way to wake up is with a reset. This energy mode enables further energy savings for applications that do not require a RTC or RAM retention. This mode is available in select low-energy peripherals, including power-on reset and external interrupts | 20 nA |