QN9021 current consumption in Deep Sleep mode?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

QN9021 current consumption in Deep Sleep mode?

832 Views
rodri
Contributor II

Hi,

I am working with QN9021 in SOC Mode, implementing a Quintic private profile in Server Role.

The highlights of my project configuration are:

driver_config.h :

#define __AHB_CLK       CLK_32M /*!< AHB clock frequency */
#define __APB_CLK       CLK_32M /*!< APB clock frequency */
#define __BLE_CLK       CLK_16M /*!< BLE clock frequency */

usr_config.h :

#define CFG_DC_DC
#define CFG_DEEP_SLEEP
#define CFG_BLE_SLEEP

Hardware design:

  • The hardware I am working with is a propietary one (it is not a evaluation kit) and its power supply is set in such a way VDD and VCC are connected and supplied with same power supply (3V on board).
  • An external 32.768 KHz crystal is connected to XTAL1_32K and XTAL2_32K  pins of QN9021
  • An external 32MHz crystal is connected to XTAL1 and XTAL2 pins of QN9021
  • QN9021 is being driven by a master MCU through SPI bus. Before entering sleep mode, master MCU is setting CLK and MOSI lines to '0'.
  • QN9021 chip select line is connected to 3V through a pull-up resistor (100K) and so, before entering sleep mode, master MCU is setting that line to '1'
  • QN9021 Reset line is held up ('1') by master MCU.

Firmware:

I can see, debugging the board that program is entering deep sleep mode (then, generating a interrupt in a GPIO will wake the device up).

Finally, the question is:

How can I achieve the 2uA of current consumption in deep sleep mode?? Because, with settings mentioned above, I am getting around 60uA and I have tried different options (QN_32K_LOW_POWER_MODE_EN = TRUE and FALSE,  CFG_DC_DC defined and commented, etc) and can not decrease QN9021 power consumption.

Thank you in advance!

Labels (1)
Tags (1)
0 Kudos
1 Reply

413 Views
gerardo_rodriguez
NXP Employee
NXP Employee

Hello Rodrigo Garbi,

Achieving the lowest power can be a little tricky since it depends on a lot of factors like hardware and software. Since you are using a custom board, I can't be sure what is causing your excess current. I tested the demo with the QN9020DK and measured ~2µA. The first thing that comes to mind is to remove #define CFG_DC_DC because your power supply is configured without DC-to-DC converter as shown in Fig 9. QN9021 typical application schematic without DC-to-DC converter in the QN902x datasheet

Try configuring your used GPIOs as inputs.

Try to run the sleep demo located in "C:\QBlue\QN9020\QBlue-1.3.9\Projects\Driver\sleep"  and see if you get different results. You can set the following macros in sleep_example.c to go to deep sleep:

#define TEST_SLEEP_CPU_CLK_OFF FALSE
#define TEST_SLEEP_NORMAL FALSE
#define TEST_SLEEP_DEEP TRUE

Run the demo and press BUTTON1 (P1.4) to go to deep sleep.

Let me know if you managed to reduce your current.

Regards,

Gerardo

0 Kudos