发布日期:2022-05-30 点击率:79
Cell phones have created a headache for engineers. Consumers have come to expect high-speed, high-resolution, fully-featured devices that will work all day off a tiny battery. This is an unreasonable expectation, but it is one now shared across the consumer, industrial, and medical industries. More than an expectation, it is now a design requirement.
The answer to achieving that starts at the architectural level, and to that end more and more embedded devices today are based on the ARM? Cortex?-M series of processor cores. Low-power MCU vendor Energy Micro, now part of Silicon Labs, has based their whole 32-bit MCU product line around the Cortex-M series architecture, ranging from the Cortex-M0-based Zero and Tiny Geckos; to the Cortex-M3-based Gecko, Leopard, and Giant Geckos; to the Cortex-M4-based Wonder Gecko. These are well-ARMed little Geckos.
Energy Micro's EFM32WG-STK3800 Wonder Gecko Starter Kit takes a 48 MHz ARM Cortex-M4 core with FPU and DSP extensions and surrounds it with a host of sensors and other peripherals (Figure 1). In this article, we will install the kit and all the software tools and then use the energy profiler to explore the capabilities of EFM32?WG series MCUs.
Figure 1: EFM32 Wonder Gecko architecture (Courtesy of Silicon Labs).
The ARMs race
With so many vendors standardizing on the ARM architecture, there would seem to be limited room for product differentiation, but that is definitely not the case. For starters, Energy Micro’s EFM32 Wonder Geckos add all the Cortex–M4 options: a single-precision floating point unit (FPU); DSP extensions; and an eight-region memory protection unit (MPU). In addition, the EFM32WG990F256 that is included in the starter kit comes with 256 Kbytes of Flash, 32 Kbytes of RAM, an integrated LCD controller, 12-bit ADC, 12-bit DAC, hardware AES encryption, 12-channel DMA controller, and the list goes on. Basically the Wonder Gecko is a full-featured high-end Cortex-M4.
A key differentiator is Energy Micro’s detailed focus on low power, which usually takes a backseat to speed and functionality in Cortex-M4 designs. Wonder Geckos have five operating modes (Figure 2):
Run Mode (EM0): Current consumption is 160 μA/MHz.
Sleep Mode (EM1): Current consumption is 45 μA/MHz.
Deep-Sleep Mode (EM2): Current consumption is 900 nA and wakeup time to EM0 is 2 μs.
Stop Mode (EM3): Current consumption is 600 nA and wakeup time to EM0 is 2 μs.
Shutoff Mode (EM4): Current consumption is 20 nA and wakeup time to EM0 is 160 μs.
Figure 2: EFM32 energy modes (Courtesy of Silicon Labs).
With low-power sensor applications in mind, Wonder Geckos include a Low-Energy Sensor Interface (LESENSE) that provides a configurable and energy-efficient way of controlling up to 16 external analog sensors without involving the CPU. This generic low-energy sensor interface works in the 900 nA deep-sleep mode and enables autonomous monitoring of virtually any type of analog sensor control scheme including capacitive, inductive, and resistive sensors. LESENSE can be set up to monitor sensor values and take action via the peripheral reflex system (PRS) to either pass this information along to other peripherals or wake up the CPU only if programmable thresholds are exceeded, therefore avoiding recurring, energy-wasting CPU wake-ups (Figure 3).
Figure 3: EFM32 Low-Energy Sensor Interface (LESENSE) (Courtesy of Silicon Labs).
The Peripheral Reflex System in EFM32 MCUs makes it possible to directly connect one peripheral to another without involving the CPU. Using the PRS, a peripheral can produce signals which other peripherals can consume, instantly reacting to events while the CPU is sleeping. For example, the ADC could wake up periodically, sample input from a sensor, detect whether it is within certain parameters, and only wake the CPU if further processing is needed. The PRS minimizes the amount of time the CPU spends in active mode, which can greatly reduce the overall energy profile of an application.
Checking out the starter kit
The EFM32 Wonder Gecko Starter Kit provides a convenient platform for evaluating the capabilities of EFM32WG MCUs in a variety of applications using the onboard light, L/C, and touch sensors. The LESENSE demo is especially interesting, since it takes advantage of the advanced energy-monitoring system and Simplicity Studio's outstanding energy-aware profiler software.
The Advanced Energy Monitor (AEM) uses two current-sense amplifiers to measure the voltage drop over a small series resistor in the supply line; it then translates that into a current rating that is displayed by the energy-aware profiler. Each amplifier is adjusted for current measurement in a specific range; together they are able to measure currents ranging from 0.1 μA to 250 mA, a 114 dB dynamic range. Each time the kit is started up, the AEM is automatically calibrated, compensating for the offset error in the sense amplifiers.
The kit includes the board; IAR Systems Embedded Workbench for Energy Micro; a 30-day evaluation version of Atollic? TrueSTUDIO? for ARM, a C/C++ compiler, and debugger development suite for ARM MCUs; and the usual USB cable.
There is no setup involved with the board, but downloading and setting up all the software can take a while. First you need to download Energy Micro's Simplicity Studio from the company’s website. Simplicity Studio contains numerous tools including energyAware Battery, energyAware Commander, energyAware Designer, and energyAware Profile, this last item by itself being worth the price of admission. Also included are reference manuals, datasheets, API documentation, application notes, kit documentation, and numerous other resources. Simplicity Studio also contains example code for all Energy Micro kits, though it relies on third-party compilers and linkers to generate the object code that the energyAware profiler in turn analyzes and graphically displays.
Next I installed IAR embedded workbench from the CD-ROM that comes with the kit. When you do this you have a choice between the code limited (32K) version or a time-limited (30-day) full version. I chose the latter to be able to take advantage of the 256 Kbytes of onboard RAM.
Running the various demo programs could not be easier. Start Simplicity Studio, click on the Demo icon, and you have a choice of 30 demo programs. Double-click on any one of them to download a binary image to the MCU and start running the program. The energyAware Profiler automatically starts up, giving you a real-time graphical indication of the current drain as well as the contribution that each code module is making to the power profile.
Working with the code takes a bit more effort. Click on Examples in Simplicity Studio, select the kit, and then the program you wish to examine. Clicking on Source and Simplicity passes this information to Embedded Workbench, which displays the project files in its source browser. Alternatively, you can skip Simplicity Studio and start Embedded Workbench instead, selecting the appropriate project from the Example Projects button on the Information Center screen. once in Embedded Workbench, make the project, click the Download/Debug button, then press Go to run the program.
While you can debug the program in Embedded Workbench, you need to run Simplicity Studio separately in order to monitor its operation. Having first built the touchscreen program in Embedded Workshop, I then opened the energyAware Profiler from Simplicity Studio, selected Wonder Gecko, selected Ffile/Load Object File, and clicked on the Run icon. As I drew my finger across the touchscreen interface I could watch the current consumption go from approximately 1 μA in deep-sleep mode (spec = 900 nA) to about 7 mA in active mode (160 μA/MHz x 48 MHz). Checking the energy profile, LCD_SyncBusyDelay was consuming 87 percent of the energy and CAPLESENSE_getSliderPosition only 5 percent (Figure 4 and the accompanying photo). With one code module consuming 90 percent of the energy, this is the first place I would look to see how to make the code more efficient.
Figure 4: EnergyAware Profiler tracking the touchscreen program.
Summary
The Energy Micro Wonder Gecko Starter Kit provides a flexible platform for exploring the capabilities of a fast Cortex-M4 MCU that manages to retain very impressive low-power credentials. The energy-profiling software in particular gives embedded developers considerable insight into the trade-offs required in optimizing code performance on a granular level.
For more information on the parts discussed in this article, use the links provided to access product information pages on the Digi-Key website.
下一篇: 断路器、隔离开关、接
上一篇: 索尔维全系列Solef?PV