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

Source of 1.0 KHz current spike?

On my nRF52 DK, I'm seeing *something* pull down VCC by about 50 mV once every millisecond (1KHz), and I'm trying to identify its source.  (This is only important because using VCC to drive some sensors.  Yes, I suppose I should create my own voltage source for them, but I'm also trying to keep the parts count down!)

I don't believe the source of this 1KHz signal is from my hardware or software -- I'm suspecting it might be from the ATSAM3U2CA interface MCU.  Does anyone have experience or insights about this?

I'm running a "bare bones" software loop (no soft device, no bluetooth), essentially:

  while(1) {
    if (m_sample_count >= kReportInterval) {
      report_readings();
      m_sample_count = 0;
    }
  }

I have configured NRF_DRV_TIMER_INSTANCE(0) to trigger the ADC at 20KHz and verified that all works.  My code toggles some GPIO pins at 20KHz.  And once a second, I print some data via USB.  My scope tells me that the 1KHz current spikes are asynchronous from my code.  All this leads me to believe that neither my code nor hardware are the source of the 1KHz spikes.

So (to repeat myself): Does anyone have experience or insights about the probably source of these spikes?

Thanks!

Parents
  • You indicated that you're transmitting via USB.  A USB Start Of Frame (SOF) packet is sent by the USB host every 1ms for full speed USB links.  If the MCU is configured to interrupt on SOF events, this may explain additional current draw at 1KHz.  These events would be asynchronous to your application.

    You could try unplugging USB to see if this is the source of the problem.  If you're powering the target via USB, try a 'power only' USB cable without D+/D- connected.

Reply
  • You indicated that you're transmitting via USB.  A USB Start Of Frame (SOF) packet is sent by the USB host every 1ms for full speed USB links.  If the MCU is configured to interrupt on SOF events, this may explain additional current draw at 1KHz.  These events would be asynchronous to your application.

    You could try unplugging USB to see if this is the source of the problem.  If you're powering the target via USB, try a 'power only' USB cable without D+/D- connected.

Children
No Data
Related