Tool/software:
In our project, we utilized the Sensor Controller for periodic battery measurements, specifically every 10 minutes. When the designated measurement time arrives, the main MCU initiates the ADC task in the Sensor Controller and enters standby mode for 150 ms to complete the Battery measurement without any load. Afte that we will introduce RF stress for 8 ms and measure the Battery one more time with high load.
Once the ADC task is activated, the Sensor Controller switches to low power mode and waits for 130 ms to allow the battery to stabilize, especially if there was any high current activity prior to the measurement. Then it switches to Active Mode and battery is then measured.
While monitoring this process with Joulescope, we observed a small current spike during the 130 ms delay. This spike occasionally occurs three times, roughly every 40 ms, and at other times appears twice, once with an 80 ms interval and again with a 40 ms interval. It seems linked to the wakeup of the Sensor Controller.
What could be causing the Sensor Controller to wake up during the 130 ms delay, and what activity might be consuming current during that period? I can confirm that the main MCU remains in standby mode throughout this time.
Please review the attached Joulescope output and the code snippet used for the Sensor Controller ADC task.
Also mostly did not see the wakeup current spike after the first 65ms delay.
// Enter to low-power mode
pwrRequestAndWaitForLowPowerMode();
fwDelayUs(65000);
fwDelayUs(65000);
// Back to active mode
pwrRequestAndWaitForActiveMode();
// Acquire the ADC
fwAcquirePeripheral(PERIPHERAL_ADC);
// Select ADC input
adcSelectIntInput(ADC_INPUT_VDDS);
adcEnableSync(ADC_REF_FIXED, ADC_SAMPLE_TIME_2P7_US, ADC_TRIGGER_MANUAL);
U16 adcval;
// Sample the sensor and store the ADC value
adcGenManualTrigger();
adcReadFifo(adcval);
// Disable the ADC
adcDisable();
// Release the ADC
fwReleasePeripheral(PERIPHERAL_ADC);


