How to reduce power consumption

Chip model: nRF54L15

NCS version: 3.3.0[nrf]

Problem description: The current remains at 200+ µA even after entering low power consumption mode

Checked items:

DC/DC is enabled (&vregmain)

Unused GPIO has been pulled down

LED pin has been pulled low

ADC has been closed

The debugger has been disconnected

VDD ≥ 2.29V

The sense-edge-mask has been configured

CONFIG_BT=y

CONFIG_BT_BROADCASTER=y

CONFIG_BT_EXT_ADV=y

CONFIG_BT_PER_ADV=y

CONFIG_BT_PER_ADV_RSP=y

CONFIG_BT_DEVICE_NAME="PAwR adv sample"

CONFIG_BT_CENTRAL=y

#CONFIG_BT_CENTRAL=n

CONFIG_BT_GATT_CLIENT=y

#CONFIG_BT_GATT_CLIENT=n

CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER=y

#CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER=n

CONFIG_BT_REMOTE_INFO=y

#CONFIG_BT_REMOTE_INFO=n

CONFIG_ADC=y

CONFIG_HWINFO=y

CONFIG_SPI=n

CONFIG_I2C=n

CONFIG_PWM=n

#CONFIG_WATCHDOG=n

CONFIG_BT_CTLR_PHY_CODED=y

CONFIG_BT_CTLR_ADV_EXT=y

CONFIG_BT_CTLR_TX_PWR_PLUS_8=y

CONFIG_SERIAL=n 

CONFIG_UART_CONSOLE=n

CONFIG_CONSOLE=n

CONFIG_PRINTK=n

CONFIG_BOOT_BANNER=n

CONFIG_EARLY_CONSOLE=n

CONFIG_LOG=n             

CONFIG_USE_SEGGER_RTT=n  

CONFIG_RTT_CONSOLE=n     

CONFIG_LOG_BACKEND_RTT=n 

CONFIG_LOG_MODE_IMMEDIATE=n

# --- low power (reference) ---

CONFIG_TICKLESS_KERNEL=y

#CONFIG_PM=y

CONFIG_PM_DEVICE=y

CONFIG_PM_DEVICE_RUNTIME=y

&gpio1 {

    status = "okay";

    sense-edge-mask = <(1 << 6)>;

    unused_p1_2 { gpio-hog; gpios = <2 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p1_3 { gpio-hog; gpios = <3 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p1_4 { gpio-hog; gpios = <4 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p1_5 { gpio-hog; gpios = <5 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p1_9 { gpio-hog; gpios = <9 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p1_10 { gpio-hog; gpios = <10 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p1_11 { gpio-hog; gpios = <11 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p1_12 { gpio-hog; gpios = <12 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p1_13 { gpio-hog; gpios = <13 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p1_14 { gpio-hog; gpios = <14 GPIO_ACTIVE_HIGH>; output-low; };

};

&gpio0 {

    status = "okay";

    unused_p0_0 { gpio-hog; gpios = <0 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p0_1 { gpio-hog; gpios = <1 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p0_2 { gpio-hog; gpios = <2 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p0_3 { gpio-hog; gpios = <3 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p0_4 { gpio-hog; gpios = <4 GPIO_ACTIVE_HIGH>; output-low; };

};

&gpio2 {

    status = "okay";

    unused_p2_0 { gpio-hog; gpios = <0 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p2_1 { gpio-hog; gpios = <1 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p2_2 { gpio-hog; gpios = <2 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p2_3 { gpio-hog; gpios = <3 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p2_5 { gpio-hog; gpios = <5 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p2_6 { gpio-hog; gpios = <6 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p2_7 { gpio-hog; gpios = <7 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p2_8 { gpio-hog; gpios = <8 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p2_9 { gpio-hog; gpios = <9 GPIO_ACTIVE_HIGH>; output-low; };

    unused_p2_10 { gpio-hog; gpios = <10 GPIO_ACTIVE_HIGH>; output-low; };

};

/* 定义 GPIO 引脚节点 */

/ {

    mybtn: mybtn {

        compatible = "gpio-keys";

        pin_106: pin-106 {

            gpios = <&gpio1 6 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;

            label = "User button"; /* 建议添加 */

        };

    };

    myleden: pin-204 {

        compatible = "nordic,gpio-pins";

        gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;

        status = "okay";

    };

    myledr: pin-107 {

        compatible = "nordic,gpio-pins";

        gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;

        status = "okay";

    };

    myledw: pin-108 {

        compatible = "nordic,gpio-pins";

        gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;

        status = "okay";

    };

    zephyr,user {

        io-channels = <&adc 0>;

    };

};

&adc {

    #address-cells = <1>;

    #size-cells = <0>;

    status = "okay";

    channel@0 {

        reg = <0>;

        zephyr,gain = "ADC_GAIN_1_4";

        zephyr,reference = "ADC_REF_INTERNAL";

        zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;

        zephyr,input-positive = <NRF_SAADC_VDD>;

        zephyr,resolution = <14>;

    };

};

&vregmain {

    status = "okay";

    regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;

};

/* 禁用未使用的外设 */

/* UART */

&uart20 {

    status = "disabled";

};

&uart21 {

    status = "disabled";

};

&uart22 {

    status = "disabled";

};

&uart30 {

    status = "disabled";

};

/* SPI */

&spi00 {

    status = "disabled";

};

&spi20 {

    status = "disabled";

};

&spi21 {

    status = "disabled";

};

&spi22 {

    status = "disabled";

};

/* I2C */

&i2c20 {

    status = "disabled";

};

&i2c21 {

    status = "disabled";

};

&i2c22 {

    status = "disabled";

};

/* PWM */

&pwm20 {

    status = "disabled";

};

&pwm21 {

    status = "disabled";

};

&pwm22 {

    status = "disabled";

};

/* 外部 Flash */

&mx25r64 {

    status = "disabled";

};

/* NFC */

&nfct {

    status = "disabled";

};

/* 温度传感器 */

&temp {

    status = "disabled";

};

Parents Reply Children
Related