USBD starting up lowers board's overall current draw

Hi,

Our custom board using the nRF52840 with SDK 15.0.0 experiences a higher current draw if it starts up without the USBD module enabled at some time.  The first screenshot is when I power up and no USB is present, so USBD doesn't start up:

As you can see, there is a baseline current draw of around 600uA.  If I power up with USB attached and then remove USB after USBD has started, I get the following current draw:

This time the baseline current draw is less than 100uA.  I should note that I have to leave the USB in long enough to let the USBD start running, then I can remove the USB cable.  If I remove USB before it starts, it goes back to the current draw as when it powered up without USB.  If I comment out the USBD, it draws the high current even if I started it up with USB, so it appears to be a difference in something USBD does when it runs.  Shutting down USBD after it has started leaves that change in place.

I am initializing the DCDC regulators for both Vdd and Vddh, and I have changed the defines in sdk_config.h to 1 so that the USBD also uses them and doesn't undo using the DCDC regulators.

Has anyone else come across something similar or know what the USBD changes that could cause this.  I am wondering if it changes a pin's configuration or state that stops the extra current draw, but I cannot find anything like that.

Thanks for any ideas,

Kraig

Parents
  • Hi,

    I can't say that I've seen this before. Maybe something else in your code is effected when you comment out the USBD part. Have you tried flashing a development kit with your project? Do you measure the same with the dk?

    regards

    Jared

  • Something else about this high current draw problem: Reflashing the processor with the same code resolves the problem.

    I was troubleshooting a unit that had the same problem Kraig described. I saved the image using the nRF Connect programmer, than loaded an image onto it which resolved the issue. I then reloaded the saved image onto it expecting the problem to reappear but it didn't reappear.

    Is there any non-volatile state in the nRF52840 that would not get saved in the image file when using nRF Connect Programmer. To narrow it down any state that could affect GPIO configuration?

    Also, loading firmware via the DFU bootloader does not resolve the problem. Only flashing it seems to resolve the problem.

Reply
  • Something else about this high current draw problem: Reflashing the processor with the same code resolves the problem.

    I was troubleshooting a unit that had the same problem Kraig described. I saved the image using the nRF Connect programmer, than loaded an image onto it which resolved the issue. I then reloaded the saved image onto it expecting the problem to reappear but it didn't reappear.

    Is there any non-volatile state in the nRF52840 that would not get saved in the image file when using nRF Connect Programmer. To narrow it down any state that could affect GPIO configuration?

    Also, loading firmware via the DFU bootloader does not resolve the problem. Only flashing it seems to resolve the problem.

Children
No Data
Related