Support us and view this ad

可选:点击以支持我们的网站

免费文章

Introduction: The Sub-1µA Challenge with nRF52 SMD Modules The nRF52 series, particularly the nRF52832 and nRF52840, is renowned for its ultra-low power consumption in Bluetooth Low Energy (BLE) applications. However, achieving a sustained sleep current below 1 microampere (µA) with surface-mount device (SMD) modules—such as the MDBT42Q or Raytac MDBT50Q—requires meticulous register-level control beyond the typical SDK abstractions. SMD modules often include additional components like DC-DC inductors, decoupling capacitors, and sometimes a 32.768 kHz crystal, which can introduce leakage paths if not properly managed. This article provides a deep-dive into the hardware and firmware techniques necessary to reach sub-1µA sleep current, focusing on GPIO state management, power mode transitions, and the critical role of the System ON vs. System OFF states. Core Technical Principle: The nRF52 Power Architecture and Leakage Paths The nRF52 has two primary sleep modes: System ON (with wake-up capability via GPIO or RTC) and System OFF (lowest power, wake-up only via specific pins or reset). Achieving sub-1µA typically requires System OFF, but even in this state, GPIOs can draw significant current if configured incorrectly. The key is to understand the pin's internal pull-up/down resistors and the I/O supply domains. Each GPIO has a configurable pull-up (typically 13 kΩ) or pull-down (13 kΩ or 11 kΩ depending on variant). In System OFF, the I/O pins are high-impedance by default, but if a pull resistor is enabled, the leakage through that resistor alone can be tens of microamps: I = VDD / R = 3.0V / 13kΩ ≈ 230 µA. Therefore, all unused GPIOs must be set to no pull and left in a high-impedance state, or explicitly driven to a known voltage (e.g., GND or VDD) if connected to external circuitry. Additionally, the nRF52 SMD modules often expose the DEC1 (decouple) pin for the internal DC-DC converter. If the DC-DC is enabled in sleep mode (which is not recommended), the inductor can oscillate and consume power. The correct approach is to use the DC-DC only in active mode and switch to the LDO regulator in sleep. The register POWER_DCDCEN must be cleared before entering System OFF. Implementation Walkthrough: Register-Level GPIO and Power Management The following C code demonstrates a minimal low-power setup for an nRF52840 SMD module. It configures all GPIOs to a safe state, disables the DC-DC converter, and enters System OFF with a wake-up on a single button pin (P0.13). The key registers are accessed directly via the NRF_POWER and NRF_GPIO peripheral structures. // nrf52_sub1ua_sleep.c #include "nrf.h" #include "nrf_gpio.h" void gpio_configure_for_sleep(void) { // Disable all pull resistors on unused pins // For nRF52840, pins 0..31 and 32.....

继续阅读完整内容

支持我们的网站,请点击查看下方广告

正在加载广告...