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.

BQ76942: Raw ADC measurements register filled 0's

Part Number: BQ76942
Other Parts Discussed in Thread: EV2400

Tool/software:

Hi TI team,

I am currently working on the calibration of the BQ76942 chip. However, I have encountered an issue when attempting to read the raw ADC measurements. Specifically, when I try to access the 16-bit counts from register 0xF081, the output consistently shows as zeros.

I am using the example code provided on the BQ76942 commercial page, and I have carefully followed the instructions, but the problem persists.

Please advise on what might be causing this issue or suggest any potential solutions ?

Regards,

Janardhan 

  • Hello Janardhan,

    When you said you have carefully followed the instructions, are you referring to the instructions in the BQ769x2 Calibration and OTP Programming Guide?

    Best Regards,
    Alexis

  • Dear Alexis,

    Yes, I am following the  BQ769x2 Calibration and OTP Programming Guide, referred to the example Python code in it.

    Regards,

    Janardhan

  • Hello Janardhan,

    Thank you for clarifying. Is this occurring when you are trying to follow the voltage calibration steps or the current calibration steps or both? And just to make sure, you have not made any changes to the example code? Can you share your schematic/setup as well?

    Best Regards,
    Alexis

  • Hi Alexis,

    Sorry for delayed replay. Yes, this is occurring when i am trying to follow the voltage calibration steps, using the example code provided in the product page. But now the problem is different. Now I cannot access the BQ76942 via I2C lines. i am not getting any response from the chip. in debugging process, i tried to change the IC too, but i could not get the response. Please find the attached PDF for the circuit.

    SmartBMS_1.pdf.

    Regards,

    Janardhan.

  • Hello Janardhan,

    Based on the pdf you have sent; it looks like you constantly have the TS2/WAKE pin pulled low. While this would usually wake up your device if it was in SHUTDOWN mode, if the TS2 pin is held LOW after the SHUTDOWN sequence is initiated, you enter a “SOFT SHUTDOWN” mode, which can disable serial communications.

    Please follow this FAQ for more information regarding it and how to exit it: BQ76952 What is the Soft SHUTDOWN state FAQ

    Best Regards,
    Alexis

  • Hi Alexis,


    Thanks for identifying the problem, now I can communicate with the IC. But the discharge FET is not getting ON, I checked all the parameters, which may cause the DSG pin to disable. But everything looks fine, which means no PF or protection is enabled. and the CP pin is also at VCC+11V, the same voltage can be measured at the CHG pin. Is there any parameter that can disable the DSH pin? 

    Regards,

    Janardhan.

  • Hello Janardhan,

    Glad that was able to help. Can you share what your setup/procedure along with your .gg file regarding this new issue? 

    Best Regards,
    Alexis

  • Hi Alexis,

    I'm using a ST microcontroller with an I2C connection to operate the BQ76942. Please tell me if I'm wrong, but I believe EV2400 will be used to generate the ".gg" file. Alternately, can I share the configuration parameters?

     

    Regards,

    Janardhan

  • Hi Alexis,

    In the current design implementation using the BQ76942 battery monitoring IC, I encountered an issue related to FET state control and voltage measurement accuracy. The design is configured for a 6S battery as per the schematic, where the unused pins are tied to adjacent pins of the IC. The Vcell Mode register was set to 0x21F, which successfully turned on the MOSFETs, allowing them to be controlled by HOST commands.

    However, with this configuration (Vcell Mode register set to 0x21F), incorrect voltage readings are observed for the PACK, STACK, and LD voltage measurements. When the Vcell Mode register is set to any value other than 0x21F, the STACK voltage is measured correctly, but the MOSFETs remain in the OFF state.

    The primary concern revolves around whether calibration is required for the BQ76942 IC when connecting fewer than 10 cells (in this case, 6 cells), or if additional circuit modifications or design changes are necessary to resolve the measurement discrepancies and ensure proper FET operation.

    This issue raises the question of whether calibration is a mandatory step in such scenarios or if specific changes to the existing design are required to support the current battery configuration.

    I will be available online today to resolve this issue as soon as possible and am hoping for a quick response or guidance to expedite the solution.

    Regards,

    Janardhan

  • Hello Janardhan,

    I understand you can’t share your .gg file then. Please share with me all the config parameters you have changed. If you are having voltage measurement accuracy issues, it is recommended to follow the calibration steps to help with that.

    Do you know if this inaccuracy is happening during balancing or not? If it’s happening during balancing, Section 2.5 Voltage Measurement Accuracy During Balance in the Cell Balancing with BQ769x2 Battery Monitors application note may help.

    As for proper MOSFET operation, I would like to look at your configuration to see if anything there could be causing it. In my understanding, the Vcell Mode does not control the FETs or enable the HOST to control them commands so I’m unsure how they are relating for your situation. Table 13-32. FET Options Register Field Descriptions in the BQ76942 Technical Reference Manual helps explain the FET control options a bit more. Do you know if any Safety Alerts that were enabled when the FETs remain off?

    Best Regards,
    Alexis

  • Hi Alexis,

    1. All the cells are balanced, and I can assure you that cell balancing is not performed. Even though the cell voltages are fine, they are correct.

    2. My assumption is that the Vcell Mode register is for selecting the VCx pins, where the cells are connected. based on this cell, voltage protection is enabled. As per the data sheet, if any cell goes under voltage or over voltage, Chip Reefer's to this register and conforms the cell voltage. because shorted cells are measured as 0's. If Chip concludes that any cell is in an undervoltage state, definitely the discharge MOSFET will be turned OFF and the charge MOSFET will be turned ON. In my case, the charge FET is ON, but the discharge FET is in OFF condition. Correct me if I am wrong.

    	CommandSubcommands(SET_CFGUPDATE);
    
    	BQ76942_SetRegister(PowerConfig, 0x2A93, 2);
    	BQ76942_SetRegister(REG0Config, 0x00, 1);
    	BQ76942_SetRegister(REG0Config, 0x00, 1);
    	BQ76942_SetRegister(HWDRegulatorOptions, 0x00, 1);
    	BQ76942_SetRegister(CFETOFFPinConfig, 0x06, 1);
    	BQ76942_SetRegister(DFETOFFPinConfig, 0x06, 1);
    	BQ76942_SetRegister(ALERTPinConfig, 0x0E, 1);
    	BQ76942_SetRegister(TS1Config, 0x07, 1);
    	BQ76942_SetRegister(TS2Config, 0x00, 1);
    	BQ76942_SetRegister(TS3Config, 0x07, 1);
    	BQ76942_SetRegister(DAConfiguration, 0x01, 1);
    	BQ76942_SetRegister(VCellMode, 0x021F, 2);
    	BQ76942_SetRegister(CC3Samples, 0x80, 1);
    	BQ76942_SetRegister(ProtectionConfiguration, 0x0000, 2);
    	BQ76942_SetRegister(EnabledProtectionsA, 0xBC, 1);
    	BQ76942_SetRegister(EnabledProtectionsB, 0x00, 1);
    	BQ76942_SetRegister(EnabledProtectionsC, 0x00, 1);
    	BQ76942_SetRegister(CHGFETProtectionsA, 0x98, 1);
    	BQ76942_SetRegister(CHGFETProtectionsB, 0x00, 1);
    	BQ76942_SetRegister(CHGFETProtectionsC, 0x40, 1);
    	BQ76942_SetRegister(DSGFETProtectionsA, 0xA4, 1);
    	BQ76942_SetRegister(DSGFETProtectionsB, 0x00, 1);
    	BQ76942_SetRegister(DSGFETProtectionsC, 0x00, 1);
    	BQ76942_SetRegister(BodyDiodeThreshold, 0x50, 1);
    	BQ76942_SetRegister(EnabledPFA, 0x00, 1);
    	BQ76942_SetRegister(FETOptions, 0x0D, 1);
    	BQ76942_SetRegister(ChgPumpControl, 0x01, 1);
    	BQ76942_SetRegister(MfgStatusInit, 0x0040, 2);
    	BQ76942_SetRegister(BalancingConfiguration, 0x03, 1);
    	BQ76942_SetRegister(MinCellTemp, 0xEC, 1);
    	BQ76942_SetRegister(MaxCellTemp, 0x3C, 1);
    	BQ76942_SetRegister(MaxInternalTemp, 0x3C, 1);
    	BQ76942_SetRegister(CellBalanceInterval, 0x1E, 1);
    	BQ76942_SetRegister(CellBalanceMaxCells, 0x6, 1);
    	BQ76942_SetRegister(CellBalanceMinCellVCharge, 0x0E10, 2);
    	BQ76942_SetRegister(CellBalanceMinDeltaCharge, 0x0A, 1);
    	BQ76942_SetRegister(CellBalanceStopDeltaRelax, 0x0A, 1);
    	BQ76942_SetRegister(ShutdownCellVoltage, 0xA5A, 2);
    	BQ76942_SetRegister(ShutdownStackVoltage, 0x5DC, 2);
    	BQ76942_SetRegister(CUVThreshold, 0x37, 1);
    	BQ76942_SetRegister(CUVDelay, 0x130, 2);
    	BQ76942_SetRegister(CUVRecoveryHysteresis, 0x2, 1);
    	BQ76942_SetRegister(COVThreshold, 0x86, 1);
    	BQ76942_SetRegister(COVDelay, 0x130, 2);
    	BQ76942_SetRegister(COVRecoveryHysteresis, 0x2, 1);
    	BQ76942_SetRegister(OCCThreshold, 0x0B, 1);
    	BQ76942_SetRegister(OCCDelay, 0x7F, 1);
    	BQ76942_SetRegister(OCD1Delay, 0x7F, 1);
    	BQ76942_SetRegister(SCDThreshold, 0x07, 1);
    	BQ76942_SetRegister(SCDDelay, 0x01, 1);
    	BQ76942_SetRegister(SCDRecoveryTime, 0xFF, 1);
    	BQ76942_SetRegister(OCDLRecoveryTime, 0xFF, 1);
    	CommandSubcommands(EXIT_CFGUPDATE);

    Regards,

    Janardhan.

  • Hello Janardhan,

    1. Thank you for letting me know.

    2. That is correct, which is why I was asking if any Safety Alerts were triggered/enabled since the VCell Mode doesn’t directly control whether or not the FETs are enabled or not. They can affect the protections that affect FETs. Knowing the specific protection that is triggered should help narrow it down.

    Thank you for sharing your config file. 

    Best Regards,
    Alexis

  • Hi Alexis,


    1. Do you find anything suspicious in the attached file?

    2. Regarding Stack, Pack and LD wrong voltage, why are the voltages measuring wrong when ever the VCell mode is configured to 6 cells, and why are the voltages measuring correct when ever the  VCell mode is set to 0x0000?

    Please find the attached images for your reference.

     .

    Regards,

    Janardhan.

  • Hello Janardhan,

    I would try to calibrate the STACK, PACK, and LD voltage following the BQ769x2 Calibration and OTP Programming Guide now and see if that helps.

    Best Regards,
    Alexis

  • Hi Alexis,

    Thanks for your help, now the voltages are measuring correctly after calibrating them.

    Regards,

    Janardhan Babu M