SLUSDF9 June 2020 BQ25790
The integrated 16-bit ADC in the device allows the user to get critical system information for optimizing the behavior of the charger. The ADC control is through the ADC Control register. The ADC_EN bit provides the ability to enable and disable the ADC in order to conserve power dissipation. The ADC_RATE bit allows continuous conversion or one-shot behavior. After a 1-shot conversion finishes, the ADC_EN bit is cleared, and must be re-asserted to start a new conversion. The ADC_AVG bit enables or disables (default) averaging. ADC_AVG_INIT starts average using the existing (default) or using a new ADC value.
To enable the ADC, the ADC_EN bit must be set to 1. The ADC is allowed to operate if either the VAC > 3.4 V or VBUS > 3.4 V or VBAT > 2.9 V is valid. If ADC_EN is set to 1 before VAC1/VAC2, VBUS or VBAT reaches its valid threshold, then the ADC conversion is postponed until one of the power supplies reaches the threshold. If the charger is in HIZ mode, the ADC still can be enabled by setting ADC_EN = 1. At battery only condition, if the TS_ADC channel is enable, the ADC only works when battery voltage is higher than 3.2V, otherwise, the ADC works when the battery voltage is higher than 2.9V.
The ADC_SAMPLE bits control the ADC sample speed, with conversion times of tADC_CONV. If the host changes the sample speed in the middle of an ADC conversion, the ADC conversion stops the channel being converted, and that channel is reconverted at the new rate. At that point, some of the ADC register values might have been converted with one sample rate and others with a different sample rate.
By default, all ADC channels are enabled with 1-shot or continuous conversion mode unless the channel is disabled in the ADC_Function_Disable_0 or ADC_Function_Disable_1 register. If an ADC channel is disabled by setting the corresponding register bit, then the value in that register is from the last valid ADC conversion or the default POR value (all zeros if no conversions have been taken place). If an ADC channel is disabled in the middle of an ADC measurement cycle, the device finishes the conversion of that channel, but not convert the channel at the next conversion cycle. Even though no conversion takes place when all ADC channels are disabled, the ADC circuitry is active and ready to begin conversion as soon as one of the bits in the ADC_Function_Disable_0 or ADC_Function_Disable_1 register is set to 0.
The ADC_DONE_STAT and ADC_DONE_FLAG bits are set when a conversion is complete in 1-shot mode only. This event produces an INT pulse, which can be masked with ADC_DONE_MASK. During continuous conversion mode, the ADC_DONE_STAT and ADC_DONE_FLAG bits have no meaning and remain 0.
ADC conversion operates independently of the faults present in the device. ADC conversion continues even after a fault has occurred (such as one that causes the power stage to be disabled) and the host must set ADC_EN = 0 to disable the ADC. ADC conversion is interrupted upon adapter plug-in and resumes after Input Source Type Detection default VINDPM setting are complete. ADC readings are only valid for DC states and not for transients.
Enabling ADC does not require to bring up REGN, however, when the ADC TS channel is enabled, the charger will turn on the REGN to bias the TS pin. For the ICHG channel, the ADC is able to read the battery pre-charge and fast charge current in forward charging mode when the adapter is present. It also can read the battery discharging current in battery only mode, OTG mode. When the charger is in trickle charge, supplement mode or charge disabled, the ICHG ADC reading is zero. In battery only mode, the battery current sensing amplifier (CSA) default turns off to minimize the quiescent current. Setting EN_IBAT = 1 is necessary to enable the CSA so that the ADC can read back the battery current information.
If the host wants to exit the ADC more gracefully, it is possible to do either of the following: