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

  • Sorry for the delay in my response.  There could very well be another reason unrelated to the USBD.  It is because I can repeatably get a difference in the current draw depending if I let the USBD start up or not that I was focusing on it.

    Unfortunately because the code base runs on our custom board with different pin assignments and chips than what is on the DK board, it would be a significant amount of modifications to make it run on the DK.  I don't think the code would be anywhere near representative, so I don't think it would be worth the effort at the moment.

Reply
  • Sorry for the delay in my response.  There could very well be another reason unrelated to the USBD.  It is because I can repeatably get a difference in the current draw depending if I let the USBD start up or not that I was focusing on it.

    Unfortunately because the code base runs on our custom board with different pin assignments and chips than what is on the DK board, it would be a significant amount of modifications to make it run on the DK.  I don't think the code would be anywhere near representative, so I don't think it would be worth the effort at the moment.

Children
No Data
Related