EFM32

EFM32 Gecko MCUs[1] are a family of energy-friendly, 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]

Overview

EFM32 microcontrollers have a majority of their functionality available down to their deep sleep modes, at sub-microamp current consumption, enabling energy efficient, autonomous behavior while the CPU is sleeping. EFM32 combines this with quick wakeups and efficient processing to reduce the impact of the CPU when code needs to be executed.

A good 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 important aspect of the Gecko MCUs is that the peripherals have a direct connection between each other, allowing them to communicate without CPU wake up and intervention. This interconnect is known as the Peripheral Reflex System (PRS).

Significant 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 product, applications have access to GPIO, reset, a real-time counter (RTC) and retention memory.

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

Product families:

FamilyCoreSpeed (MHz)Flash memory (kB)RAM (kB)USBLCDCommunicationsPackagesCapacitive sense
Zero GeckoARM Cortex M0+244,8,16,322,4NoNoI2C, I2S, SPI, UART, USARTQFN24, QFN32, QFP48Relaxation oscillator
Happy GeckoARM Cortex M0+2532,644,8No, YesNoI2C, I2S, SPI, UART, USARTCSP36, QFN24, QFN32, QFP48Relaxation oscillator
Tiny GeckoARM Cortex M3324,8,16,322,4NoYesI2C, I2S, SPI, UART, USARTBGA48, QFN24, QFN32, QFN64, QFP48, QFP64Relaxation oscillator
GeckoARM Cortex M33216,32,64,1288,16NoYesI2C, SPI, UART, USARTBGA112, QFN32, QFN64, QFP100, QFP48, QFP64Relaxation oscillator
Jade GeckoARM Cortex M340128,256,102432,256NoNoI2C, I2S, SPI, UART, USARTQFN32, QFN48, BGA125Capacitance to digital
Leopard GeckoARM Cortex M34864,128,25632YesYesI2C, I2S, SPI, UART, USARTBGA112, BGA120, CSP81, QFN64, QFP100, QFP64Relaxation oscillator
Giant GeckoARM Cortex M348512,1024128YesYesI2C, I2S, SPI, UART, USARTBGA112, BGA120, QFN64, QFP100, QFP64Relaxation oscillator
Pearl GeckoARM Cortex M440128,256,102432,256NoNoI2C, I2S, SPI, UART, USARTQFN32, QFN48, BGA125Capacitance to digital
Wonder GeckoARM Cortex M44864,128,25632YesYesI2C, I2S, SPI, UART, USARTBGA112, BGA120, CSP81, QFN64, QFP100, QFP64Relaxation oscillator
Silcion Labs' EFM32

Key properties

The important advantage of the EFM32 MCU portfolio is energy efficiency. The energy efficiency stems from autonomous operations in deep sleep modes, low active and sleep currents, and fast wakeup times. Together, these characteristics reduce the integrated energy (power over time) over the lifetime of an application. EFM32 devices are also constructed to reduce development cycles for a variety of products, from smart metering to industrial applications and more. They are pin/software compatible, scalable across wide application requirements, and are compatible with multiple development platforms. Additionally, because the MCU architecture is the common fundamental piece of the wireless Gecko portfolio (EFR32) with both software and hardware (pin/package) compatibility, the EFM32 products offer a simplified pathway to wireless applications.

Features

The EFM32 MCU family has some critical features useful for IoT applications. The major architectural features are the low-energy modes design and the Peripheral Reflex System (PRS), which gives developers a peripheral interconnect system with eight triggers to handle task execution without CPU intervention. 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.

In terms of the core CPU, the EFM32 MCUs integrate the ARM Cortex-M series technology, spanning from the Cortex-M0+ to the Cortex-M4.

To enable the Gecko MCU operation and take advantage of the ultralow power architecture, applications can operate with a main input clock rate of 4 MHz to 48 MHz. To reduce the need for external electronic components, the EFM32 integrates low frequency and ultralow frequency clocks as well. The MCUs also integrate internal voltage regulators for simplified, more compact system designs.

In addition to CPU and clock rate flexibility for specific applications, the EFM32 portfolio offers a broad range of memory resource options, for application storage (Flash), application execution (RAM), and other needs such as RTOS implementation. Devices include internal Flash memory as low as 4 kB and as high as 1024 kB, and RAM as low as 2 kB and as high as 128 kB.

To enable applications to sense, control, and communicate with a single low-power microcontroller, the EFM32 MCUs contain complete analog and digital interfaces. Serial digital interfaces include USART, low energy UART, I2C, and USB. The timer and triggers block of the MCU includes a cryotimer, low energy pulse counter (PCNT), and backup real-time-counter (RTC). Analog modules include ADCs, DACs, operational amplifiers, and analog comparators. For applications that demand heightened security protections, the EFM32 MCUs offer various hardware crypto engines and cyclic redundancy check (CRC). For general I/O, the MCUs feature up to 93 GPIO pins, and several variants feature LCD controllers.

Design and development resources

To quickly design, develop, build, and test EFM32 applications, developers have various resources available to them: a free Integrated Development Environment (IDE), performance analysis tools, configuration tools and utilities, flexible compilers and development platforms, software stacks, reference code and design examples, app notes, training videos, whitepapers, and more.

Silicon Labs Simplicity Studio[13] is a free, 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 flexible compiler tool options, including GCC for ARM,[14] Keil,[15] IAR Embedded Workbench,[16] and other third-party tools.

Two of the most popular development tools within Simplicity Studio IDE are 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 allows for direct code correlation to optimize not just the hardware design, but the software too. The Network Debugger is a tool that allows developers using 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 system (RTOS) and software libraries, drivers, and stacks. A few RTOS solutions that are enabled with the EFM32s are Micro-Controller Operating Systems (uC/OS) (Micrium), FreeRTOS, GNU Chopstx, embOS (Segger), and mbed OS (ARM).[17] In October 2016, Silicon Labs acquired Micrium. In addition to IoT-critical middleware stacks such as TCP/IP, Micrium provides a certified commercial-grade RTOS that enables embedded IoT designs to handle task management in real time, which can be important for some MCU applications and even more essential for wireless applications. Some example projects can be found on the Micrium[18] website.

Getting started

EFM32 starter kits are available[19] 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.[20] These kits support ARM mbed[21] right out of the box, and are supported in Simplicity Studio development tools and community forums.

Featuring the Giant Gecko MCU with 1024 KB 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.

EFM32 Giant Gecko Starter Kit

Other EFM32 starter kits include:

Starter kit (STK)Part numberMain STK featuresLCD typeBattery power option
Pearl Gecko STK (also used for Jade Gecko MCU)SLSTK3401AUSB J-Link Debugger, relative humidity and temperature sensor, 2 user buttonsMemory LCDYes
Wonder Gecko STKEFM32WG-STK3800USB J-Link Debugger, 32 MB Flash, 20-pin expansion header, ambient light sensor, LC metal sensor, 2 user buttons160 segment LCDYes
Giant Gecko STKEFM32GG-STK3700USB J-Link Debugger, 32 MB Flash, 20-pin expansion header, ambient light sensor, LC metal sensor, 2 user buttons160 segment LCDYes
Leopard Gecko STKEFM32LG-STK3600USB J-Link Debugger, 32 MB Flash, 20-pin expansion header, ambient light sensor, LC metal sensor, 2 user buttons160 segment LCDYes
Gecko STKEFM32-G8XX-STKUSB J-Link Debugger, 20-pin expansion header, 2 user buttons and cap touch slider4x40 LCDYes
Tiny Gecko STKEFM32TG-STK3300USB J-Link Debugger, LESENSE demo ready, light, LC, and touch sensors, 2 user buttons8x20 LCDYes
Happy Gecko STKSLSTK3400AUSB J-Link Debugger, 20-pin expansion header, relative humidity and light sensor, 2 user buttons and 2 touch buttons128x128 pixel memory LCDYes
Zero Gecko STKEFM32ZG-STK3200USB J-Link Debugger, 20-pin expansion header, 2 user buttons and 2 cap touch padsUltra low power 128x128 pixel memory LCDYes

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 turning energy usage and significantly reducing power consumption:

  • Energy Mode 0 — Active/Run Mode: 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 EM0, effectively halting the CPU and Flash memory. After a wake up, all low-energy modes return to EM0 within 2 µs, making it easy to enter the low-energy mode and return to 32-bit performance when needed. | Power consumption in EM0: 114 µA/MHz
  • Energy Mode 1 – Sleep Mode: 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 EM1 for long periods of time, thereby increasing battery life. Additionally, the low-leakage RAM ensures full data retention. | Power consumption in EM1: 48 µA/MHz
  • Energy Mode 2 – Deep Sleep Mode: EFM32 MCUs offer a high degree of autonomous operation while keeping energy consumption low. The high frequency oscillator is turned off in EM2; 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 EM2, 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 EM2. | Power consumption in EM2: 0.9 µA
  • Energy Sleep Mode 3 – Stop Mode: Energy Mode 3 (EM3) tailors the energy consumption of the EFM32 to maintain a very short wake-up time and respond to external interrupts. In EM3 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. | Power consumption in EM3: 0.5 µA
  • Energy Sleep Mode 4 – Shutoff Mode: 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. Energy Mode 4 is available in select low-energy peripherals, including power-on reset and external interrupts | Power consumption in EM4: 20 nA

Core technology

To achieve its power and energy-efficiency features, EFM32 products utilize ultralow active and idle power, fast wakeup and processing times, and most important, the ability to intelligently interact with peripherals and sensors autonomously without waking up the CPU and consuming more power.

In active Run Mode, the EFM32 only consumes 114 µA/MHz while running real-life code at 32 MHz and 3V supply. This is also the mode where process time matters, which is one of the main benefits of a 32-bit MCU. Working against power consumption, however, is maximum clock speed. Silicon Labs carefully designs the EFM32s to optimize performance and low power together by designing for maximum clock speed of 48 MHz. MCUs with faster clocks in the 100 MHz+ range will inevitably consume more power in Active Mode.

Beyond the energy savings in Run Mode, the EFM32 is ideal for low duty cycle applications where it can take advantage of operating in lower energy states. The lower energy states are outlined in the section above as EM1 (Sleep), EM2 (Deep Sleep), EM3 (Stop), and EM4 (Shutoff). The Autonomous Peripherals, Peripheral Reflex System, and LESENSE are the core technologies that come into play in the lower energy modes.

The Autonomous Peripheral feature ensures that peripheral devices can operate without waking up the CPU. There is also extensive Direct Memory Address (DMA) support with up to 16 channels, depending on the EFM32.

The Peripheral Reflex System boosts the capability of the Autonomous Peripherals, allowing for flexible configuration to create complex and powerful interconnections that bypass the CPU.

LESENSE is a unique 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.

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

Application examples of low-energy Gecko technology

ADC sensing applications[22] (temperature): In a demonstration with the Wonder Gecko MCU and a standard temperature thermistor, setting the ADC to sample the thermistor every second (@1 Hz rate) equates to 1.3 uA average current. In the real world, 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 still produce average current of 1.5 uA, which equates to 16.85-year battery life.

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 then calculate flow. Operating power consumption in this state could be as low as 650 nA (3Vdc), which has significant (positive) implications for battery-operated meters.

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.[23]
  • In October 2009, Energy Micro announced the EFM32 Gecko MCU family (EFM32G series) based on Cortex-M3.[24]
  • 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.[25]
  • In July 2013, Silicon Labs completed the acquisition of Energy Micro.[26]

Development tools

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

gollark: BAIDICOOT, UNAPPLY THIS!
gollark: CEASE!
gollark: NOOOOOOOOOOOOO!
gollark: We're working on Project PREDESTINED SPECTRE.
gollark: Of course, canonically, most people *are* just true neutral.

See also

References

  1. http://www.silabs.com/products/mcu/32-bit/Pages/32-bit-microcontrollers.aspx
  2. http://www.arm.com/products/processors/cortex-m
  3. https://www.arm.com/products/processors/cortex-m/cortex-m0plus.php
  4. https://www.arm.com/products/processors/cortex-m/cortex-m3.php
  5. https://www.arm.com/products/processors/cortex-m/cortex-m4-processor.php
  6. http://www.silabs.com/products/mcu/32-bit/efm32-zero-gecko/pages/efm32-zero-gecko.aspx
  7. https://www.arm.com/products/processors/cortex-m/cortex-m0plus.php
  8. http://www.silabs.com/products/mcu/32-bit/efm32-giant-gecko/pages/efm32-giant-gecko.aspx
  9. http://www.silabs.com/products/mcu/32-bit/efm32-wonder-gecko/pages/efm32-wonder-gecko.aspx
  10. https://www.arm.com/products/processors/cortex-m/cortex-m3.php
  11. https://www.arm.com/products/processors/cortex-m/cortex-m4-processor.php
  12. https://www.silabs.com/products/wireless/Pages/wireless-gecko-iot-connectivity-portfolio.aspx
  13. http://www.silabs.com/products/mcu/Pages/simplicity-studio.aspx
  14. https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
  15. http://www2.keil.com/mdk5
  16. https://www.iar.com/iar-embedded-workbench/
  17. https://www.mbed.com/en/platform/mbed-os/
  18. https://www.micrium.com/
  19. http://www.silabs.com/products/mcu/Pages/32-bit-microcontroller-tools.aspx
  20. https://developer.mbed.org/teams/SiliconLabs/
  21. https://www.silabs.com/products/mcu/Pages/mbed.aspx
  22. http://new-techeurope.com/2016/06/06/manage-the-iot-on-an-energy-budget%E2%80%8B%E2%80%8B%E2%80%8B%E2%80%8B/
  23. https://www.arm.com/about/newsroom/20519.php
  24. http://news.silabs.com/
  25. "Archived copy". Archived from the original on 2013-06-11. Retrieved 2013-06-07.CS1 maint: archived copy as title (link)
  26. "Archived copy". Archived from the original on 2016-12-02. Retrieved 2016-12-01.CS1 maint: archived copy as title (link)
EFM32 official documents
ARM official documents
EFM32 starter kit videos
EFM32 training videos
EFM32 blog
Other
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.