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: FETS control commnads from host do not work and FULLSCAN or Alert bit is never asserted.

Part Number: BQ76952

Tool/software:

Please experts in the house help! My design is based on the EVM board and for testing i have the following settings as per 

the sample code for STM32. I am a novice, please forgive my desgin quality.

BQ769x2_SetRegister(PowerConfig, 0x2D80, 2);

BQ769x2_SetRegister(REG0Config, 0x01, 1);

BQ769x2_SetRegister(REG12Config, 0x0D, 1);

BQ769x2_SetRegister(DFETOFFPinConfig, 0x00, 1);

BQ769x2_SetRegister(ALERTPinConfig, 0x2A, 1);

BQ769x2_SetRegister(VCellMode, 0x801F, 2);

BQ769x2_SetRegister(EnabledProtectionsA, 0xB8, 1);

BQ769x2_SetRegister(DefaultAlarmMask, 0xF882, 2);

BQ769x2_SetRegister(COVThreshold, 0x55, 1);

BQ769x2_SetRegister(OCCThreshold, 0x05, 1);

BQ769x2_SetRegister(OCD1Threshold, 0x0A, 1);

BQ769x2_SetRegister(SCDThreshold, 0x05, 1);

BQ769x2_SetRegister(SCDDelay, 0x03, 1);

BQ769x2_SetRegister(SCDLLatchLimit, 0x01, 1);

BQ769x2_SetRegister(MfgStatusInit, 0x0050, 2);

BQ769x2_SetRegister(FETOptions,0x3F ,1);

I did not add any thermistor yet. 

if i read the cell voltages OUTSIDE this loop: I get the correct readings

but the Alarm bit or FULLSCAN bit is never asserted. If i vary the voltages from the 

power supply bench i can read all 6 cell voltages correctly and stack voltage.


AlarmBits = BQ769x2_ReadAlarmStatus();
GPIO_PinState buttonState = HAL_GPIO_ReadPin(ALERT_PIN_2_GPIO_Port,ALERT_PIN_2_Pin);
if (AlarmBits & 0x80) { // Check if FULLSCAN is complete. If set, new measurements are available
BQ769x2_ReadAllVoltages();
Pack_Current = BQ769x2_ReadCurrent();
Temperature[0] = BQ769x2_ReadTemperature(TS1Temperature);
Temperature[1] = BQ769x2_ReadTemperature(TS3Temperature);
DirectCommands(AlarmStatus, 0x0080, W); // Clear the FULLSCAN bit
}

If i set the device in TEST mode, FETS control commnad work. Although running CommandSubcommands(DSGTEST);

Any ideas why the fullcan bit is never asserted. Charge FET is always on!  Attached is my design scehmatics. 

  • Silly mistake!!! performing BQ769x2_SetRegister(MfgStatusInit, 0x0050, 2) and after that sending the FET_ENABLE command. Toggle device to TEST_mode.

    The second part if i am correct is the DCH_FET remains on in body diode protection. Still can not toggle it off.

  • Hello Frankline,

    It is important to note that if a parallel FET configuration is used the body diode protection is disabled.

    Can you elaborate on your issue with the FETs?

    Best regards,

    Thomas Rainey 

  • I have four test points on the BQ76952 to monitor the CHG(and PCHG) and DCHG(PDCHG) pin voltages that drive the gates of respective MOSFETS. Currently, I am using a voltage divider circuit to provide the six cells inputs to the BQ.

    In Test mode when i supply say 18 volts (as battery voltage) and send Test commands, I get about 9 volts for the PCHG and PDCHG test point, while CHG is at 36volts but DSG remains at 0.22volts. 

    Changing the supply voltage, the corresponding test point voltages rise according with the PDCHG rising above supply voltage when test commands are sent.

    Same behavoir in Normal mode, all FETS get turned on appropriately except for DCHG pin (test point) that remains at 0.22Volts.

    I can read cell voltages and temperature correctly but the DCHG pin of BQ remains at 0 volts. FETs are enabled in magnufacture_init register.  Alert pin is also asserted.

    Essentially, DCHG pin voltage remains at 0 volts in all modes. Replacing the BQ did not help as well. 

    I expect the discharge to also pin voltage to also be above battery voltage when turned on or what am i missing.

    Any pointer will be appreciated.

    Thank you.

  • Hello Frankline,

    Thank you for your patience. Just to clarify, when you say DCHG pin, do you mean the DSG pin instead? Also, can you use the 0x7F FET Status () command to see what the status of the FET drivers are?

    There is more information regarding this command in Section 12.2.20 FET Status Register the BQ76952 Technical Reference Manual.

    Best Regards,

    Alexis

  • Hello Alexis,

    thank you for the feedback. Just discovered it was a design problem as some FETs have their terminals swapped. I am able to controller the CHG & DCHG FETs now. FET Status returns 01000101.