This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nrf52 saadc current

Hi

I have noticed that the moment I start SAADC task ("nrf_saadc_task_trigger(NRF_SAADC_TASK_START);"), my CPU current consumption rises by 2 mA! (tested with chip version QFAABA / 1542AB, on PCA 10036 board).

according to Product Specification 0.6.3, "ADC current during ACQuisition and CONVersion35 700 µA".

How can that be explained?

Thanks Yaron

Parents
  • Hi

    I believe the extra current you see is the current drawn by the EasyDMA used by the SAADC. EasyDMA draws about 1.2 mA, and added to the 700 uA SAADC current it sums to ~2 mA. Unfortunately the EasyDMA current is not documented anywhere. Nor is the SAADC driver taking it into account and disabling the EasyDMA feature when not needed. The issue is reported internally and a workaround will be available in the final release of SDK V11.0.0.

  • @Jorgewu I ended up editing the nrf_drv_saadc.c file in the SDK directly. I added TASK_STOP to nrf_drv_saadc_sample_convert() and it works fine without having to use uninit. So here's the code snippet with the added STOP:

    uint32_t timeout = HW_TIMEOUT;
    while (0 == nrf_saadc_event_check(NRF_SAADC_EVENT_END) && timeout > 0)
    {
        timeout--;
    }
    nrf_saadc_task_trigger(NRF_SAADC_TASK_STOP);
    nrf_saadc_event_clear(NRF_SAADC_EVENT_END);
    
Reply
  • @Jorgewu I ended up editing the nrf_drv_saadc.c file in the SDK directly. I added TASK_STOP to nrf_drv_saadc_sample_convert() and it works fine without having to use uninit. So here's the code snippet with the added STOP:

    uint32_t timeout = HW_TIMEOUT;
    while (0 == nrf_saadc_event_check(NRF_SAADC_EVENT_END) && timeout > 0)
    {
        timeout--;
    }
    nrf_saadc_task_trigger(NRF_SAADC_TASK_STOP);
    nrf_saadc_event_clear(NRF_SAADC_EVENT_END);
    
Children
No Data
Related