NPM1300 adc interrupts and IBAT questions

In the specs of npm1300 PS, it is suggested that the ADC can measure VBAT, VBAT_7V range, NTC, DIE_TEMP, VSYS, IBAT. However, in the interrupt configuration reported in 7.7.1.4 there are also entries for VSET1 and VSET2 (buck outputs). Is it possible to measure those as well? How?

Also, I'm confused about the current measurement functionality. There is a specific TASK for IBAT measurement. However, there is also the ADCIBATMEASEN register to "enable" IBAT measurement. My understanding is that this functionality transforms the normal VBAT into a VBAT+IBAT sequential measurement, where the VBAT interrupt is raised only after both VBAT and IBAT are measured. However, it is still not clear if 1) this feature only works for VBAT auto measure (with timer) 2) if this is compatible with VBAT burst measurement

Thank you for the clarifications!

Parents
  • Following up, more clarifications are needed. 

    1. ADCVBAT2RESULTMSB and ADCVBAT3RESULTMSB seem to contain IBAT and VBUS measurements. Are the corresponding LSBs found in the ADCGP1RESULTLSBS register, in the last two fields as well?
    2. ADCCONFIG is very unlcear. BURSTENABLE's description is "Trigger a single/4 consecutive measurements". Does this register generate the trigger? Does the trigger need to be generated by still with the TASKVBATMEASURE register? When VBATAUTOENABLE is selected, does the host need to issue a first trigger?
    3. Is it possible to have ADC auto measurements in burst mode? If so, what happens to potential IBAT and VBUS measurements issued manually? Can they be lost, overwritten by VBAT burst measurements?
  • Seems VBATAUTOENABLE starts the acquisitions right away, to answer my question.

    For some reason, though, VBAT measurements seem to oscillate with +-5LSBs, not 1. I assume the ADC values are unsigned? 

    uint16_t vbat = ((uint16_t)reg[0] << 2) | (lsbs1.vbat_resultlsb & 0x03);
Reply Children
No Data
Related