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.

BQ76952: Is it possible to control the activation of DSG FET and CHG FET independently through instructions(FET_CONTROL())?

Part Number: BQ76952

Currently, when I use the FET_CONTORL() instruction to control the activation of the charging and discharging MOSFETs of the BQ76952, I have encountered the following problems. When I only controlled the activation of one path of MOS, the operation was normal. However, when one set of MOS is turned on first, and then the other set is controlled to be turned on, both sets of MOS will be shut off. The activation method is as follows: First, read the FETstatus. If the charging MOS needs to be activated, then send (FETstatus | 0x01) & 0x0f  through FET_CONTORL(). If the discharging MOS needs to be activated, then send (FETstatus | 0x04) & 0x0f  through FET_CONTROL().
The configurations of other related registers are as follows:

CFETOFF Pin Config:0X00

DFETOFF Pin Config:0X00

ALERT Pin Config:0X2A

DCHG Pin Config:0X00

DDSG Pin Config:0X00

FET Options:0X2E

Mfg Status Init:0X0000

What is the reason for the failure when using the FET_CONTROL() instruction to separately control the activation of the charging and discharging MOSFETs, resulting in the shutdown of both the charging and discharging MOSFETs?

  • 您好,

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待。

  • Hello xiao tao,

    I may have missed something, however, to my understanding of the procedure you sent, by sending 0x0F (1111'b) through FET_CONTROL(), you are turning OFF all the FETs. If you want to turn ON the FETs through the FET_CONTROL() command, you need to write a 0 to the register field. If you write a 0 to the bit, and the FET still remains OFF, then most likely a condition, e.g. a protection triggered, is preventing it from turning ON.

    Section 12.5.6 FET Control Register of the technical reference manual shows the register field description which may be helpful to refer to.

    Best Regards,
    Lydia

  • Hello Lydia

    Thank you for your reply. Through your response, I have solved the aforementioned problem.

    When I used the FET_CONTROL() command before, I set the transmission data based on the 0X7F FET Status(), which is different from the FET Control Register. What I understood from the screenshots is that when controlling the FET switch through the FET_CONTROL() sub-command, the data bits 3 to 0 should match 0X7F with the FET Status. And the corresponding register for FET Status() should be the FET Status Register. However, it is actually correct to use the FET Control Register for control.

    Best Regards,

    xiao tao