What are the different software debug functions available with EFM32 MCUs?
EFM32 MCUs use the ARM CoreSight on-chip debug and trace interface. Serial Wire Debug technology (SWD), specifically the Serial Wire Debug Port (SW-DP) for the EFM32, is used as the interface between the on-chip debug module and the development environment on a computer.
All EFM32 devices also include the Serial Wire Output interface, which is a one-wire interface for the Instrumentation Trace Macrocell (ITM). This is a CoreSight module that provides coarse-grained time stamping and software-driven trace information.
Fig: Debug overview - CoreSight system inside EFM32
Serial Wire Debug Port (SW-DP) provides a low pin count bi-directional serial connection to the Debug Access Port (DAP) with a reference clock signal for synchronous operation.
Instrumentation Trace Macrocell (ITM) is an application-driven trace source that supports printf()-style debugging to trace operating system and application events. It is responsible for generating packets based on information from multiple sources.
Serial Wire Output (SWO) module formats and sends the data from the ITM over a one-wire connection to the debugger.
Embedded Trace Macrocell (ETM) module provides full instruction trace for the CPU.
Data Watchpoint and Trace (DWT) unit contains several comparators and counters that can be configured to generate events for the ITM and ETM modules. Features include data breakpoints, data/interrupt triggers, and PC (Program Counter) sampling.
Flash Patch and Breakpoint (FPB) module consists of several address matching tags. When a match occurs, the access can be rerouted from flash to a special part of the SRAM. This allows for patching of flash locations for breakpointing and quick fixes or changes. FPB handles hardware breakpoints for code.
How can I configure the EFM32 UART or USART to operate in asynchronous mode?
UART, or Universal Asynchronous Receive Transit, is a standard for low cost, low speed serial communications over a simple 2-wire (plus ground) interface. It does not specify any electrical characteristics such as signal levels. Instead, several separate electrical interface standards can be applied. The most common of these is RS-232, but there are also some standards that don't use electrical signalling, such as IrDA.
When using the EFM32 UART/USART modules, it is recommended that an HFXO with external crystals be used. This is because the HFRCO is often not precise enough to be used for communications.
Are there any recommendations on USB-capable EFM32 MCU hardware design?
When looking for guidelines on hardware design considerations, it is recommended to know how to connect the USB pins of an EFM32 microcontroller or the general guidelines on PCB design for USB applications. Quick rules-of-thumb for routing and layout also prove useful when thinking of component cost and PCB area.
USB Connection: Most USB-capable EFM32 MCUs are capable of many different USB roles: host, device, or as an OTG dual-role device. The USB 2.0 standard specifies three data rates, but does not need to support all of them.
How can I program an EFM32 or EZR32 through an UART without a debugger?
All USB-enabled EFM32 and EZR32 devices are pre-programmed with a USB or UART bootloader that allows programming through a UART or USB CDC class virtual UART without the need for a debugger. This bootloader uses the established XMODEM-CRC protocol for data upload, so any serial terminal program can be used to communicate with the bootloader.
How can I design hardware for capacitive touch with EFM32 MCUs?
Capacitive sensing technology is used by capacitive sensors to measure proximity, position, and humidity of a conductive target, but also in human device interfaces to measure capacitive change when a finger is nearby. All EFM32 MCUs with analog comparator(s) are capable of capacitive touch, and those with LESENSE (Low Energy Sensor Interface) can use this peripheral to scan several touch pads continuously; waking the CPU only when a touch is detected.
How these touch pads and the printed circuit board (PCB) are designed has a significant impact on the performance of the capacitive touch solution. Parameters such as size and shape of the pads and how the signals are routed affect the signal integrity. For example, proximity detection requires a larger pad or a ring around smaller buttons/sliders. This larger area sets up a stronger electric field, but also needs a larger body of 'virtual ground' to affect the capacitance.
Fig: Proximity Sensing Pad
But regardless of the different button designs, there are also some PCB design guidelines to get the best possible signal-to-noise ratio (SNR) which is universally applicable. For instance, the thickness of the overlay directly affects the SNR that can be achieved for a given touch solution.
How can I use the EFM32 Backup Power Domain and Backup Real Time Counter?
Some EFM32 devices like the Giant Gecko and Leopard Gecko include a backup/reserve power source feature. If a main power brown-out occurs, the MCU can switch to a backup power source that can power 512 bytes of retention memory and a Backup Real-Time Counter (BURTC).
Backup Mode is a low energy mode equivalent to Energy Mode 4 (EM4), the difference being that power is sourced from a backup power supply.
Fig: Backup power domain overview
The Backup Real Time Counter (BURTC) is a real time counter that is available in all energy modes including backup mode. To facilitate this counter, the MCU keeps one oscillator available into Energy Mode 4 and in backup mode.
The BURTC has a timestamp feature and one compare register, BURTC_COMP0.