This article contains content that is written like an advertisement .(June 2019) |
EFM32 Gecko MCUs [1] are a family of mixed-signal 32-bit microcontroller integrated circuits from Energy Micro (now Silicon Labs) based on ARM Cortex-M [2] CPUs, including the Cortex-M0+, [3] Cortex-M3, [4] and Cortex-M4. [5]
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, [6] based on an ARM Cortex-M0+, [3] to the higher performing EFM32 Giant Gecko [7] and Wonder Gecko, [8] based on Cortex-M3 [4] and Cortex-M4 [5] respectively. EFM32 technology is also the foundation for EFR32 Wireless Geckos, [9] a portfolio of Sub-GHz and 2.4 GHz wireless system on a chip (SoC) devices.
Family | Core | Speed (MHz) | Flash memory (kB) | RAM (kB) | USB | LCD | Communications | Packages | Capacitive sense |
---|---|---|---|---|---|---|---|---|---|
Zero Gecko | ARM Cortex M0+ | 24 | 4,8,16,32 | 2,4 | No | No | I2C, I2S, SPI, UART, USART | QFN24, QFN32, QFP48 | Relaxation oscillator |
Happy Gecko | ARM Cortex M0+ | 25 | 32,64 | 4,8 | No, Yes | No | I2C, I2S, SPI, UART, USART | CSP36, QFN24, QFN32, QFP48 | Relaxation oscillator |
Tiny Gecko | ARM Cortex M3 | 32 | 4,8,16,32 | 2,4 | No | Yes | I2C, I2S, SPI, UART, USART | BGA48, QFN24, QFN32, QFN64, QFP48, QFP64 | Relaxation oscillator |
Gecko | ARM Cortex M3 | 32 | 16,32,64,128 | 8,16 | No | Yes | I2C, SPI, UART, USART | BGA112, QFN32, QFN64, QFP100, QFP48, QFP64 | Relaxation oscillator |
Jade Gecko | ARM Cortex M3 | 40 | 128,256,1024 | 32,256 | No | No | I2C, I2S, SPI, UART, USART | QFN32, QFN48, BGA125 | Capacitance to digital |
Leopard Gecko | ARM Cortex M3 | 48 | 64,128,256 | 32 | Yes | Yes | I2C, I2S, SPI, UART, USART | BGA112, BGA120, CSP81, QFN64, QFP100, QFP64 | Relaxation oscillator |
Giant Gecko | ARM Cortex M3 | 48 | 512,1024 | 128 | Yes | Yes | I2C, I2S, SPI, UART, USART | BGA112, BGA120, QFN64, QFP100, QFP64 | Relaxation oscillator |
Pearl Gecko | ARM Cortex M4 | 40 | 128,256,1024 | 32,256 | No | No | I2C, I2S, SPI, UART, USART | QFN32, QFN48, BGA125 | Capacitance to digital |
Wonder Gecko | ARM Cortex M4 | 48 | 64,128,256 | 32 | Yes | Yes | I2C, I2S, SPI, UART, USART | BGA112, BGA120, CSP81, QFN64, QFP100, QFP64 | Relaxation oscillator |
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.
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:
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 [12] 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, [13] Keil, [14] IAR Embedded Workbench, [15] 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). [16] 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.
EFM32 starter kits are available [17] 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. [18] These kits support ARM mbed [19] 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 (STK) | Part number | Main STK features | LCD type | Battery power option |
---|---|---|---|---|
Pearl Gecko STK (also used for Jade Gecko MCU) | 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 |
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 (including Flash and RAM) functionality. By using the peripheral reflex system (PRS) 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 |
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.
When needed, the EFM32 can wake up from Deep Sleep mode and engage the CPU in less than two microseconds.
ADC sensing applications [20] (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).
The EFM32 microcontroller family is one of the two products of Energy Micro. The other being EFR4D Draco SoC radios.
The Gecko mbed compiler is available at: https://developer.mbed.org/compiler/#nav:/;
A microcontroller or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of NOR flash, OTP ROM, or ferroelectric RAM is also often included on the chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general-purpose applications consisting of various discrete chips.
ARM is a family of RISC instruction set architectures (ISAs) for computer processors. Arm Ltd. develops the ISAs and licenses them to other companies, who build the physical devices that use the instruction set. It also designs and licenses cores that implement these ISAs.
AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.
Atmel ARM-based processors are microcontrollers and microprocessors integrated circuits, by Microchip Technology, that are based on various 32-bit ARM processor cores, with in-house designed peripherals and tool support.
AVR32 is a 32-bit RISC microcontroller architecture produced by Atmel. The microcontroller architecture was designed by a handful of people educated at the Norwegian University of Science and Technology, including lead designer Øyvind Strøm and CPU architect Erik Renno in Atmel's Norwegian design center.
PSoC is a family of microcontroller integrated circuits by Cypress Semiconductor. These chips include a CPU core and mixed-signal arrays of configurable integrated analog and digital peripherals.
Energy Micro ASwas a Norwegian fabless semiconductor company specializing in 32-bit RISC ARM chips. The company focused on ultra low energy consumption MCUs, SoC radios and RF Transceiver. Its EFM32 microcontroller families are based on the ARM Cortex-M0 or M3 processor core with a feature set for low power operation. It was acquired by Silicon Labs in 2013.
Arm Holdings plc is a British semiconductor and software design company based in Cambridge, England, whose primary business is the design of central processing unit (CPU) cores that implement the ARM architecture family of instruction sets. It also designs other chips, provides software development tools under the DS-5, RealView and Keil brands, and provides systems and platforms, system-on-a-chip (SoC) infrastructure and software. As a "holding" company, it also holds shares of other companies. Since 2016, it has been majority owned by Japanese conglomerate SoftBank Group.
Huawei Lite OS is a discontinued lightweight real-time operating system (RTOS) developed by Huawei. It is an open source, POSIX compliant operating system for Internet of things (IoT) devices, released under a three-clause BSD license. Microcontrollers of different architectures such as ARM, x86, and RISC-V are supported by the project. Huawei LiteOS is part of Huawei's '1+8+N' Internet of Things solution, and has been featured in a number of open source development kits and industry offerings.
The ARM Cortex-M is a group of 32-bit RISC ARM processor cores licensed by ARM Limited. These cores are optimized for low-cost and energy-efficient integrated circuits, which have been embedded in tens of billions of consumer devices. Though they are most often the main component of microcontroller chips, sometimes they are embedded inside other types of chips too. The Cortex-M family consists of Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M35P, Cortex-M52, Cortex-M55, Cortex-M85. A floating-point unit (FPU) option is available for Cortex-M4 / M7 / M33 / M35P / M52 / M55 / M85 cores, and when included in the silicon these cores are sometimes known as "Cortex-MxF", where 'x' is the core variant.
STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33. Internally, each microcontroller consists of ARM processor core(s), flash memory, static RAM, debugging interface, and various peripherals.
Mbed is a development platform and operating system for internet-connected devices based on 32-bit ARM Cortex-M microcontrollers. The project was a collaboratively developed by Arm and its technology partners. As of July 2024 Mbed is no longer actively developed by Arm.
XMC is a family of microcontroller ICs by Infineon. The XMC microcontrollers use the 32-bit RISC ARM processor cores from ARM Holdings, such as Cortex-M4F and Cortex-M0. XMC stands for "cross-market microcontrollers", meaning that this family can cover due to compatibility and configuration options, a wide range in industrial applications. The family supports three essential trends in the industry: It increases the energy efficiency of the systems, supports a variety of communication standards and reduces software complexity in the development of the application's software environment with the parallel released eclipse-based software tool DAVE.
LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. The earliest LPC series were based on the Intel 8-bit 80C51 core. As of February 2011, NXP had shipped over one billion ARM processor-based chips.
The Micro Bit is an open source hardware ARM-based embedded system designed by the BBC for use in computer education in the United Kingdom. It was first announced on the launch of BBC's Make It Digital campaign on 12 March 2015 with the intent of delivering 1 million devices to pupils in the UK. The final device design and features were unveiled on 6 July 2015 whereas actual delivery of devices, initially planned for September 2015 to schools and October 2015 to general public, began on 10 February 2016.
Apache Mynewt is a modular real-time operating system for connected Internet of things (IoT) devices that must operate for long times under power, memory, and storage constraints. It is free and open-source software incubating under the Apache Software Foundation, with source code distributed under the Apache License 2.0, a permissive license that is conducive to commercial adoption of open-source software.
In computing, autonomous peripheral operation is a hardware feature found in some microcontroller architectures to off-load certain tasks into embedded autonomous peripherals in order to minimize latencies and improve throughput in hard real-time applications as well as to save energy in ultra-low-power designs.
RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board. Its successor is the RP2350 series.