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.

BQ79616: BQ79616 and BQ79600

Part Number: BQ79616

Hi

I have two questions need your help:

1. Is there a way to confirm that the BQ79600 and BQ79616 are entering the expected shutdown mode?
2. In our BMS system, we require the balance status of each string on each AFE to be read. Currently, I read the remaining balance time for one channel at a time, which requires frequent data transmission. Is there a more efficient and convenient way to determine the balance status of each string of battery cells?
Also, could you please provide the reference program for these two ICs?

Waiting for your reply.

Thanks

Star

  • Hi Star,

    1. Is there a way to confirm that the BQ79600 and BQ79616 are entering the expected shutdown mode?

    If the 600 or 616 are entering shutdown mode, then CVDD & DVDD will be 0V. A GPIO pin can monitor either pin to determine if the IC has entered shutdown mode. CVDD is a 5V pin and DVDD is a 1.8V pin.

    Is there a more efficient and convenient way to determine the balance status of each string of battery cells?

    Since only one cell can be read at a time, the way to get around this is to use the one time read to determine the rest of the times remaining. For example, say one cell is set to 10s & a second cell is set to 30s. If I read cell 1 and that reports 5s remaining, then we know the second cell has 30 - (10 - 5) seconds left. 

    Regards,

    David

  • Thank you for your reply, it helps me a lot.By the way, is it easy to provide a reference procedure, I'm worried that there is something I didn't notice when  i using these ICs

  • You're welcome! What kind of reference procedure are you needing? Is this code related, EVM related, design related? A description of what kind of procedure is needed would help me formulate one.

    Regards,

    David

  • Sorry for not describing it clearly before, I wanted a design related code for reference.

  • Hi Tainxia,

    One possible procedure is listed below. Note: there may be more efficient methods to perform the same thing:

    1. Set all CB_CELL*_CTRL registers to the time that you want. Record these time values

    2. record the highest time set in a variable

    3. When you want to read the cell time remaining, read the CB cell that had the highest time set.

    4. After reading the cell time, use the following equation for each cell: Celln_time_set - (highest_time_recorded - cell_time_read)

    where Celln_time_set is the time that was originally set for that cell, highest_time recorded is step 2, and cell_time_read was the value returned from reading the cell with the highest time set.

    Regards,

    David