Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ25155: BQ25155 ADC flag

Part Number: BQ25155
Other Parts Discussed in Thread: EV2400,

Hi,

I am currently trying to use/implement driver of the BQ25155 LDO/Charger and I am facing problem and having some questions.

I am using BQ25155EVM/Battery Management Studio with EV2400 and Salae Logic Analyzer in order to debug easily.

1. I would like to know with a single or combinasion of flag or status when the device is charging and what I saw is that there are Charge Done and Constant Voltage Charging Mode but no Constant Current Charging Mode (at least in the datasheet, this bit is marked as reserved but defined in BMS software). A simple combinaison of CV/CC/Done status is ok but I would like to know if Reserved bit CC Charge is really fonctionnal ?

2. I also would like to generate an interrupt each time the ADC Data is Ready throw INT pin (when battery is not charging) so I set LP to High and configure my mask registers, configure ADC_READ_EN, ADC rate to manual and start ADC conversion but unfortunately got no interrupt raised. Maybe I am doing it wrong, maybe it is not possible ? Maybe is there something to do with Global Int Mask, I don't see any revelant information about it

Help appreciated, thanks !

  • Hi Yoann,

    1. I would like to know with a single or combinasion of flag or status when the device is charging and what I saw is that there are Charge Done and Constant Voltage Charging Mode but no Constant Current Charging Mode (at least in the datasheet, this bit is marked as reserved but defined in BMS software). A simple combinaison of CV/CC/Done status is ok but I would like to know if Reserved bit CC Charge is really fonctionnal ?

    For the BQ25155 the CC Charge bit is not functional. However you can identify that charging is taking place by monitoring the the by confirming that Charge Done status is low, that VIN PG status is Good, and the status of the CE pin. If this charging is current limited than the BAT UVLO, VDPPM, VINDPM, Thermal Reg, and Input Current Limit fields can be used to identify that it is. Additionally, the ICHG ADC Channel can provide a reading to determine if charging is limited, this may be the most reliable resource for confirming CC charging.

    2. I also would like to generate an interrupt each time the ADC Data is Ready throw INT pin (when battery is not charging) so I set LP to High and configure my mask registers, configure ADC_READ_EN, ADC rate to manual and start ADC conversion but unfortunately got no interrupt raised. Maybe I am doing it wrong, maybe it is not possible ? Maybe is there something to do with Global Int Mask, I don't see any revelant information about it

    Can you confirm if VIN is present? Interrupts are not generated for the ADC Data Ready since the ADC is constantly running with VIN present so there would be constant INT pulses. 

    The Global INT Mask bit masks all interrupts so setting this bit would prevent any interrupts. Furthermore, once an interrupt is raised, and its flag is set, that particular interrupt will not generate additional pulses until the flag is read / cleared. Typically, following an interrupt pulse, it is a good idea to read the status bits and the flag bits. Reading the flag bits (and thus clearing them) allows additional interrupt pulses to be created on further event occurrences. Can you confirm that you are clearing the ADC Ready flag after the initial conversion? Not clearing it will prevent additional interrupts from generating.

    Best Regards,

    Juan Ospina

  • Hi Juan,

    I was afraid I'd have to read all the flags but ok since I have no choice. It would have been much easier if the CC flag had been available !

    Oh god... I totally misinterpreted the meaning of mask and not mask the interrupt, I had the opposite logic, it's only for that nothing worked...

    All works great now thank you !