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

SAADC on nRF52840 rev2 chips does sample internal VDD channel

Working with Fanstel BT840 module we have discovered that ADC channel VDD reads as zero or produces small mV level result.
nRF52840 chip revision on these modules is QIAA-Dx0.

Please note that same ADC code perfectly samples VDD on Laird BL654 modules built on QIAA-Cx0 chip revision.

ADC configuration is ADC channel 0 setup for Single ended, Internal Reference, 1/6 Gain :

NRF_SAADC->CH[0].PSELP = 0x09;
NRF_SAADC->CH[0].PSELN = 0;
NRF_SAADC->CH[0].CONFIG = 0x00050000;

Best Regards,
Georgi Danielyan

Parents Reply
  • It is single conversion where DMA is set up for single transfer to global buffer.
    Conversion is started triggering NRF_SAADC->TASKS_START = 1; and interrupt is enabled for conversion end event: NRF_SAADC->INTENSET = (1 << 1);
    Note that, external AIN input channels conversions are working without any issues (ADC configuration is same but input channel. DMA buffer is same too).

    Blocking mode conversion on VDD channel does not produce correct result too.

    Also, I would like to remind that we have no issues with AAD0 revision chips running very same code.

    Anyway, I am keeping digging and will post results here if any solution is found 

Children
Related