nrf52840 i2s power consumption

I have a custom board using a nRF52840.

A part of the configuration is a Analog Devices MAX98357AEWL+T Class D amplifier which is driven by i2s0.

When the board is idle (just advertising) current consumption per my power profiler is 68 micro-amps -  a higher value than I expected.

If I remove i2s0 from the configuration by:

        1. taking it out of app_overlay       and

         2. modifying the firmware where appropriate

Idle current consumption drops to 38 micro-amps - a value closer to my expectations.

It appears that Power Management is not imppplememted on i2s.

Is there any way I can get the lower consumption with i2s enabled.

Parents
  • Hello,

    The current consumption values you refer to does not correspond to any known peripheral I can think of.

    I am wondering if the problem here may simply be floating inputs, which can cause excessive current if they are not at a defined logic level.

    Kenneth

  • The I2S peripheral is powered down when the device is idling.

    I've put together several versions of my firmware - they reside in a zip file on my google drive at 

    drive.google.com/.../view

    There are four versions:

    1 lockbox-is-1 - my current firmware - with the addition of a ten second sleep at the very top of main() and the addition of a sixty second sleep immediatly after all the peripherals are opened.

    2. lockbox-is-2 - the same firmware with the i2s0 initialization removd

    3. lockbox-is-3 - the same fiermware with all i2s0 code removed

    4 lockbox-is-4 - the same firmware with all i2s code removed, i2s0 removd from app.overlay and CONFIG_I2S

    For each version I:

               loaded each version onto our PCB for 150 seconds and captured the current with my Power Profiler with a                                                      sampling rate of 100 samples/second.

               saved the profiler results as a .ppk2 file named POWERPRIFILER1 and as a .csv file named BOOTUP.

    I summarized the CSV files into spreadsheet - I2S CURRENT TESTING FOR NORDIC. This spreadsheet is on my google drive at

    https://docs.google.com/spreadsheets/d/13bBbr4XCRTQ8V1-vXlyV0t3kAvGFp3nb/edit?usp=sharing&ouid=100786264736292206564&rtpof=true&sd=true

    There are seeral analyses in the sheet:

    1. A comparison of IS-1 and IS-3 current draw for the entire test. (I2-2 and IS-4 are pretty much duplicates of IS-1 and IS-3.)

    2. A comparison of curent draw during the ten second k_sleep at the very top of main()

    3. A comparison of current draw during the sixxty second k_sleep after all the devices are initialized

    4. A comparison of current draw after my entire initialization code has run (by this time blue tooth has been initialized and is advertising every twoseconds.

    There is interesting data at the beginnings of both the third and fourth anayses. You can see that when i2s0 is in place it takes several seconds for current to settle.

    Hope this helps with diagnosing the problem.

    Kent Overton

Reply
  • The I2S peripheral is powered down when the device is idling.

    I've put together several versions of my firmware - they reside in a zip file on my google drive at 

    drive.google.com/.../view

    There are four versions:

    1 lockbox-is-1 - my current firmware - with the addition of a ten second sleep at the very top of main() and the addition of a sixty second sleep immediatly after all the peripherals are opened.

    2. lockbox-is-2 - the same firmware with the i2s0 initialization removd

    3. lockbox-is-3 - the same fiermware with all i2s0 code removed

    4 lockbox-is-4 - the same firmware with all i2s code removed, i2s0 removd from app.overlay and CONFIG_I2S

    For each version I:

               loaded each version onto our PCB for 150 seconds and captured the current with my Power Profiler with a                                                      sampling rate of 100 samples/second.

               saved the profiler results as a .ppk2 file named POWERPRIFILER1 and as a .csv file named BOOTUP.

    I summarized the CSV files into spreadsheet - I2S CURRENT TESTING FOR NORDIC. This spreadsheet is on my google drive at

    https://docs.google.com/spreadsheets/d/13bBbr4XCRTQ8V1-vXlyV0t3kAvGFp3nb/edit?usp=sharing&ouid=100786264736292206564&rtpof=true&sd=true

    There are seeral analyses in the sheet:

    1. A comparison of IS-1 and IS-3 current draw for the entire test. (I2-2 and IS-4 are pretty much duplicates of IS-1 and IS-3.)

    2. A comparison of curent draw during the ten second k_sleep at the very top of main()

    3. A comparison of current draw during the sixxty second k_sleep after all the devices are initialized

    4. A comparison of current draw after my entire initialization code has run (by this time blue tooth has been initialized and is advertising every twoseconds.

    There is interesting data at the beginnings of both the third and fourth anayses. You can see that when i2s0 is in place it takes several seconds for current to settle.

    Hope this helps with diagnosing the problem.

    Kent Overton

Children
No Data
Related