EFM32

From Wikipedia, the free encyclopedia
Jump to: navigation, search

EFM32 Gecko MCUs[1] are a family of energy-friendly, mixed-signal 32-bit microcontroller integrated circuits from Silicon Labs based on ARM Cortex-M[2] CPUs, including the Cortex-M0+,[3] Cortex-M3[4] and Cortex-M4.[5]

Overview[edit]

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 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:

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 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
Silcion Labs' EFM32

Key properties[edit]

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[edit]

EFM32 microcontroller families are named after Gecko lizards. These chips have a logo of them, inspired by David Attenborough and the BBC camera crew that made a series on amphibians and reptiles.[13] These vertebrates consumes 10% energy of a mammal of similar size. Hence, the Gecko name is used to indicate the ultra-low power characteristics of EFM32 MCUs.[14]

Design and Development Resources[edit]

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[15] 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 ARM’s GCC,[16] Keil®,[17] IAR Embedded Workbench,[18] 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, embOS (Segger), and mbed OS (ARM).[19] 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[20] website.

Getting Started[edit]

EFM32 starter kits are available[21] 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.[22] These kits support ARM mbed[23] 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 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

Energy Modes[edit]

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[edit]

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[edit]

ADC sensing applications[24] (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[edit]

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.[25]
  • In October 2009, Energy Micro announced EFM32 Gecko MCU family (EFM32G series) based on Cortex-M3.[26]
  • 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 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 EFM32 Giant Gecko MCU family (EFM32GG series) based on Cortex-M3 for memory heavy applications.
  • In November 2010, Energy Micro announced Simplicity Studio development suite.
  • In March 2011, Energy Micro announced EFM32 Zero Gecko MCU family (EFM32ZG series) based on Cortex-M0+ for low cost applications.
  • In September 2011, Energy Micro announced EFM32 Leopard Gecko MCU Family (EFM32LG series) based on Cortex-M3.
  • In April 2013, Energy Micro announced EFM32 Wonder Gecko MCU family (EFM32WG series) based on ARM Cortex-M4F.
  • In June 2013, Silicon Labs announced intention to acquire Energy Micro.[27]
  • In July 2013, Silicon Labs completes acquisition of Energy Micro.[28]

Development tools[edit]

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

See also[edit]

References[edit]

  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. ^ Life In Cold Blood; David Attenborough; BBC.
  14. ^ EFM32 Brochure : Why is EFM32 called Gecko
  15. ^ http://www.silabs.com/products/mcu/Pages/simplicity-studio.aspx
  16. ^ https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
  17. ^ http://www2.keil.com/mdk5
  18. ^ https://www.iar.com/iar-embedded-workbench/
  19. ^ https://www.mbed.com/en/platform/mbed-os/
  20. ^ https://www.micrium.com/
  21. ^ http://www.silabs.com/products/mcu/Pages/32-bit-microcontroller-tools.aspx
  22. ^ https://developer.mbed.org/teams/SiliconLabs/
  23. ^ https://www.silabs.com/products/mcu/Pages/mbed.aspx
  24. ^ 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/
  25. ^ https://www.arm.com/about/newsroom/20519.php
  26. ^ http://news.silabs.com/
  27. ^ http://news.silabs.com/press-release/corporate-news/silicon-labs-acquire-energy-micro-leader-low-power-arm-cortex-based-mic
  28. ^ http://news.silabs.com/press-release/corporate-news/silicon-labs-completes-acquisition-energy-micro

External links[edit]

EFM32 Official Documents
ARM Official Documents
EFM32 Starter Kit Videos
EFM32 Training Videos
EFM32 Blog
Other