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.

BQ76920: detect if IC is a BQ76920 vs 30 vs 40?

Part Number: BQ76920
Other Parts Discussed in Thread: BQ76930, BQ76940

Team,

Is there a way to detect if an IC is a BQ76920 or 30 or 40?
AND to detect if the device supports the CRC or not?

The idea would be to run one or multiple commands to determine the exact device being used.
Is it possible?

Thanks in advance,

A.

  • Hi AnBer,

    The BQ769x0 family does not have a register to identify its type to the host.  All devices have all registers common for the family. The design of the part has automatic unused cell configuration with the UV_MINQUAL threshold, so it is important for the host to know how many cells to expect in the pack.  If a cell has completely discharged, the BQ76920 will ignore the cell for undervoltage and it is the host which must recognize the cell is missing.

    There are some behaviors you may recognize from the results.  If there are voltages in registers for cells 11-15 it is a BQ76940, in registers for 6-10 it is likely a BQ76930. If the device has an XREADY it is a BQ76930 or BQ76940 since a BQ76920 does not use that feature.  XREADY indicates a communication issue.  If there are no cell voltages after boot the problem is with communication to the middle group, it could be a BQ76930 or BQ76940.  If there are cell voltages in the bottom group but not the middle or top it is likely a BQ76940 with a communication problem with the top group.  Again the host must know what voltages to expect.

    CRC does not have a defined status bit.  An easy test is to read a register and see if the proper CRC comes back.  CRC is not required to write the read pointer.  If the device is booted and the status register is read, a CRC part will return the CRC byte after the value.  A non-CRC part will return register 1 value which will be 0 after boot.