This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Current consumption of nRF52 SoC differs widely between chips

Hello,

for current consumption measurement of our PCBs, I created a special software. This software does boot up, puts SPI FLASH in power down and go to sleep forever. All unused pins are disabled / not initialized which shall be the lowest power state of the GPIOs (disconnected). The remaining used pins are all set on output.

I measure the following values between 3 PCBs:

- 3,4 µA
- 2,7 µA
- 2,4 µA

The highest difference is 42 %.

Then I removed all parts to find out, which part on the PCB could be the one, which causes the difference on current consumption. As I had removed all parts except the nRF52 SoC, I also swapped the SoC. Finally I found out, the difference on current consumption swapped with the SoC. So the SoC is causing the difference on current consumption although the software is identical.

Questions:

1. Is this normal, having around 1 µA  ( = ±42 %) difference between the SoCs?

2. SPI peripheral is uninitialized before going to sleep. Do I also have to deinitialize some GPIOs set by the Nordic SPI driver, although I did not initialize them by myself?

Thank you!
Regards

  • Hi,

    1. I would need to discuss the variation with some colleagues of mine that are currently not in office due to the Easter holidays. I'll return with an answer regarding this after the holidays next week.
    2.  Only the MISO pin is uninitialized when the SPI driver is uninitialized. What is the output if you read the GPIO registers with the nrfjprog command: nrfjprog --memrd 0x50000700 --n 0x7

    Best regards

    Jared 

  • Hi Jared,

    1. OK, I will wait.

    2. The command you showed me did not work, but I know what your intention was and corrected the command:

    C:\Users\XXX>nrfjprog --memrd 0x50000700 --n 128
    0x50000700: 00000002 00000002 00000002 00000003   |................|
    0x50000710: 00000003 00000002 00000003 00000002   |................|
    0x50000720: 00000003 00000002 00000002 00000003   |................|
    0x50000730: 00000001 00000003 00000003 00000003   |................|
    0x50000740: 00000003 00000002 00000003 00000002   |................|
    0x50000750: 00000003 00020000 00000002 00000002   |................|
    0x50000760: 00000002 00000002 00000002 00000002   |................|
    0x50000770: 00000002 00000002 00000002 00000003   |................|

    @0x50000730: This is GPIO 12 and there is the SCK connected
    @0x50000754: This is GPIO 21 and there is the interrupt sensing input for a button with an external pull-down

    Is this sufficient for your investigation?

    Thanks & Regards

  • Hi Andre,

    1.  The variation in the current consumption in sleep is normal distributed with the specified value in the product specification being the expected value.  The variation of 1 µA is within what is accepted and is not considered to be a failed sample.
    2. Yes, sorry it seems that i forgot to write the number of bytes properly. 

    Best regards

    Jared 

Related