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: Sleep mode- Cannot enter into Sleep mode

Part Number: BQ76952
Other Parts Discussed in Thread: BQSTUDIO

Hi

I am trying to enter into sleep mode in BQ7695202. I have also set the necessary registers accordingly.

  1. Settings:Configuration:Power Config[SLEEP] - enabled
  2. 0x0099 Sleep Enable() command given with delay of 1000μs
  3. 0x12 Battery Status()[SLEEP_EN] - This BIT 2 is set(can be seen in Live watch) 
  4. 0x12 Battery Status()[SLEEP] - This BIT 15 is NOT set(can be seen in Live watch) 

I have also SET the following:

  1. Power:Sleep:Sleep Current is set to 100mA
  2. Power:Sleep:Voltage Time is set to 20s
  3. Power:Sleep:Wake Comparator Current is not set(by default 500mA)
  4. Power:Sleep:Sleep Hysteresis Time is not set(by default 10s)
  5. Power:Sleep:Sleep Charger Voltage Threshold is not set(by default 20V)
  6. Power:Sleep:Sleep Charger PACK-TOS Delta is not set(by default 2V)

Even after configuring all these registers to the above values, the device is not entering into the Sleep mode(Battery Status()[SLEEP] is NOT SET).

It is also observed that AFE consumes around 300μA approx. during Normal Mode & the current consumption drops to around 20μA approx. in intervals of 5seconds(while observing this SLEEP bit in Battery Status() is not set).

Are there any other parameters I am missing to set?

Regards

Vaithieswaran.S

  • Hey Vaithieswaran,

    Your power config register configurations look correct.

    There are a few situations in which the device will be blocked from entering sleep mode or will wake up from sleep mode.

    The technical reference manual notes different ways in which the device can be blocked from entering sleep mode.

    You could try lowering your Sleep Charger Voltage threshold to zero and see if the device will go into sleep mode. What is your Top of Stack voltage? With your current configuration, If your top of stack voltage is not over 20V, the device will be blocked from going into sleep mode. 

    If that doesn't help, please send me your BQStudio config file.

    Thanks,
    Caleb

  • I also recommend setting the Settings:Configuration:Power Config[WK_SPD_1:0] bit to '00'. The default value is not optimal, so the TRM was updated a while back to update the recommended settings. 

    Best regards,

    Matt

  • Hi

    The top of the Stack(TOS) is around 53V and all FETs are turned ON and protection was not triggered.

    Also, I am performing the test, not in EVM. So there is no BQStudio config file available.

    We will try changing the Sleep Charger Voltage and update you on the status.

    Thank you 

    Best regards

    Vaithieswaran.S

  • Hi  

    I have performed the test after changing the parameters recommended.

    TOS - 53V
    Pack pin - 48 V
    Sleep hysteresis time is set to default
    Sleep charger voltage is set to 0V
    Power:Sleep: Sleep Charger PACK-TOS Delta is set to default
    SLEEP CURRENT is set to 0xFFFF
    Settings:Configuration:Power Config[WK_SPD_1:0] bit to '00' 
    We are observing the pack is not entering sleep state (sleep en bit is set but sleep status bit is not set).
    Below I have attached the code snippet used for configuring the settings:
    I2C_ReadReg(0x12, RX_2Byte, 2);
    sleep_status = 0x128 & RX_2Byte[1];
    sleep_en = 0x4 & RX_2Byte[0];
    //Sleep charger voltage
    TX_4Byte[0] = 0x4E; TX_4Byte[1] = 0x92; TX_4Byte[2] = 0x00; TX_4Byte[3] = 0x00;  //TX_4Byte[2] = 0xB8; TX_4Byte[3] = 0x0B;
    I2C_WriteReg(0x3E, TX_4Byte, 4);
    delayUS(1000);
    TX_2Byte[0] = Checksum(TX_4Byte, 4); TX_2Byte[1] = 0x06;  // Checksum and Length
    I2C_WriteReg(0x60, TX_2Byte, 2);
    delayUS(1000);
    //SLEEP CURRENT
    TX_4Byte[0] = 0x48; TX_4Byte[1] = 0x92; TX_4Byte[2] = 0xFF; TX_4Byte[3] = 0xFF;  //TX_4Byte[2] = 0xB8; TX_4Byte[3] = 0x0B;
    I2C_WriteReg(0x3E, TX_4Byte, 4);
    delayUS(1000);
    TX_2Byte[0] = Checksum(TX_4Byte, 4); TX_2Byte[1] = 0x06;  // Checksum and Length
    I2C_WriteReg(0x60, TX_2Byte, 2);
    delayUS(1000);
    //Voltage Time
    TX_3Byte[0] = 0x4A; TX_3Byte[1] = 0x92; TX_3Byte[2] = 0x14; //0x0B;//0x07; //0x0B;
    I2C_WriteReg(0x3E, TX_3Byte, 3);
    delayUS(1000);
    TX_2Byte[0] = Checksum(TX_3Byte, 3); TX_2Byte[1] = 0x05;
    I2C_WriteReg(0x60, TX_2Byte, 2);
    delayUS(1000);
    //Power config
    TX_4Byte[0] = 0x34; TX_4Byte[1] = 0x92; TX_4Byte[2] = 0x80; TX_4Byte[3] = 0x29;  //TX_4Byte[2] = 0xB8; TX_4Byte[3] = 0x0B;
    I2C_WriteReg(0x3E, TX_4Byte, 4);
    delayUS(1000);
    TX_2Byte[0] = Checksum(TX_4Byte, 4); TX_2Byte[1] = 0x06;  // Checksum and Length
    I2C_WriteReg(0x60, TX_2Byte, 2);
    delayUS(1000);
    Please let me know if any changes are required in the settings.
    Regards
    Vaithieswaran.S
  • Hi Vaithieswaran,

    It looks like you are using a very old version of the microcontroller code examples. You may want to take a look at the newer examples (with header file) that were updated about a year ago. There is also a video (https://training.ti.com/bq76952-and-bq76942-battery-monitors ) walking through this code example.

    Your Sleep Current setting is not valid. The maximum value that can be set is shown below from the TRM:

    Regards,

    Matt

  • Hi Matt Summa,

    I have tried the configuration settings in the Evaluation Board and the sleep is getting enable and disable in the Evaluation board .The same configuration has been set in the actual board but sleep is not getting enabled or disabled . Attached the logs and image file which are taken from the bqstudio software .

    kindly help to assist 

    Sat Jun 11 18:03:12 IST 2022
    
    Device Version Info = 7695_0_36
    BQZ Device Name = bq76952
    BQZ Firmware Version = 0_36
    
    
    Sample,DateTime,ElapsedTime,ControlStatus,SafetyAlertA,SafetyStatusA,SafetyAlertB,SafetyStatusB,SafetyAlertC,SafetyStatusC,PFAlertA,PFStatusA,PFAlertB,PFStatusB,PFAlertC,PFStatusC,PFAlertD,PFStatusD,BatteryStatus,Cell1Voltage,Cell2Voltage,Cell3Voltage,Cell4Voltage,Cell5Voltage,Cell6Voltage,Cell7Voltage,Cell8Voltage,Cell9Voltage,Cell10Voltage,Cell11Voltage,Cell12Voltage,Cell13Voltage,Cell14Voltage,Cell15Voltage,Cell16Voltage,StackVoltage,PACKPinVoltage,LDPinVoltage,CC2Current,AlarmStatus,AlarmRawStatus,AlarmEnable,IntTemperature,CFETOFFTemperature,DFETOFFTemperature,ALERTTemperature,TS1Temperature,TS2Temperature,TS3Temperature,HDQTemperature,DCHGTemperature,DDSGTemperature,FETStatus,ManufacturingStatus,Cell1VoltageCounts,Cell1CurrentCounts,Cell2VoltageCounts,Cell2CurrentCounts,Cell3VoltageCounts,Cell3CurrentCounts,Cell4VoltageCounts,Cell4CurrentCounts,Cell5VoltageCounts,Cell5CurrentCounts,Cell6VoltageCounts,Cell6CurrentCounts,Cell7VoltageCounts,Cell7CurrentCounts,Cell8VoltageCounts,Cell8CurrentCounts,Cell9VoltageCounts,Cell9CurrentCounts,Cell10VoltageCounts,Cell10CurrentCounts,Cell11VoltageCounts,Cell11CurrentCounts,Cell12VoltageCounts,Cell12CurrentCounts,Cell13VoltageCounts,Cell13CurrentCounts,Cell14VoltageCounts,Cell14CurrentCounts,Cell15VoltageCounts,Cell15CurrentCounts,Cell16VoltageCounts,Cell16CurrentCounts,VREG18,VSS,MaxCellVoltage,MinCellVoltage,BatteryVoltageSum,CellTemperature,FETTemperature,MaxCellTemperature,MinCellTemperature,AvgCellTemperature,CC3Current,CC1Current,CC2Counts,CC3Counts,AccumCharge,AccumChargeFraction,AccumTime,CFETOFFCounts,DFETOFFCounts,ALERTCounts,TS1Counts,TS2Counts,TS3Counts,HDQCounts,DCHGCounts,DDSGCounts,Cell1VoltageatCUVEvent,Cell2VoltageatCUVEvent,Cell3VoltageatCUVEvent,Cell4VoltageatCUVEvent,Cell5VoltageatCUVEvent,Cell6VoltageatCUVEvent,Cell7VoltageatCUVEvent,Cell8VoltageatCUVEvent,Cell9VoltageatCUVEvent,Cell10VoltageatCUVEvent,Cell11VoltageatCUVEvent,Cell12VoltageatCUVEvent,Cell13VoltageatCUVEvent,Cell14VoltageatCUVEvent,Cell15VoltageatCUVEvent,Cell16VoltageatCUVEvent,Cell1VoltageatCOVEvent,Cell2VoltageatCOVEvent,Cell3VoltageatCOVEvent,Cell4VoltageatCOVEvent,Cell5VoltageatCOVEvent,Cell6VoltageatCOVEvent,Cell7VoltageatCOVEvent,Cell8VoltageatCOVEvent,Cell9VoltageatCOVEvent,Cell10VoltageatCOVEvent,Cell11VoltageatCOVEvent,Cell12VoltageatCOVEvent,Cell13VoltageatCOVEvent,Cell14VoltageatCOVEvent,Cell15VoltageatCOVEvent,Cell16VoltageatCOVEvent,CellBalancingActiveCells,CellBalancingPresentTime,LogRowTime(ms),LogStatus
    1,2022-06-11 18:03:16,4.002,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x018C,4051,4054,4040,4054,4046,4057,4051,4050,4050,4054,3946,3948,3948,3948,3963,3959,6406,9,8,15,0x0000,0x06E3,0xF800,30.5,-273.2,-273.2,-273.2,30.1,-273.2,-273.2,-273.2,-273.2,-273.2,0x30,0x0040,5607375,170,5611180,747,5592204,810,5611059,520,5598977,732,5615061,426,5606773,380,5605403,839,5604846,406,5609974,538,5460926,328,5463984,534,5459408,788,5460055,656,5480102,1282,5474325,391,29293,7,4057,3946,6421,30.1,-273.2,30.1,30.1,30.1,15,22,568,675,3,912323839,819,0,0,0,1678798,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0000,0,1253,SUCCESS
    2,2022-06-11 18:03:20,8.002,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x018C,4051,4054,4040,4054,4045,4057,4051,4050,4050,4054,3946,3948,3948,3948,3963,3959,6407,9,8,15,0x0000,0x06E3,0xF800,30.8,-273.2,-273.2,-273.2,30.0,-273.2,-273.2,-273.2,-273.2,-273.2,0x30,0x0040,5607460,766,5611541,1064,5592128,726,5610905,972,5599164,826,5614415,826,5607018,826,5605674,556,5604603,476,5609877,720,5460987,583,5463962,434,5459082,769,5459598,812,5480483,666,5474472,693,29296,7,4057,3946,6421,30.0,-273.2,30.0,30.0,30.0,15,22,764,670,3,912323839,823,0,0,0,1680974,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0000,0,1268,SUCCESS
    3,2022-06-11 18:03:24,12.002,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x818C,4051,4054,4040,4054,4045,4057,4051,4050,4050,4054,3946,3949,3948,3948,3963,3959,6407,9,8,15,0x0000,0x06E2,0xF800,30.5,-273.2,-273.2,-273.2,30.0,-273.2,-273.2,-273.2,-273.2,-273.2,0x30,0x0040,5607574,598,5611546,738,5592485,705,5611033,284,5598917,610,5614500,288,5606636,659,5605351,708,5604910,663,5610007,542,5460620,459,5464133,190,5459279,643,5459679,921,5479943,643,5474149,549,29294,7,4057,3946,6421,30.0,-273.2,30.0,30.0,30.0,15,15,733,660,3,912323839,827,0,0,0,1681363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0000,0,1222,SUCCESS
    4,2022-06-11 18:03:28,16.003,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x818C,4051,4054,4040,4054,4045,4057,4051,4050,4050,4054,3946,3949,3948,3949,3963,3959,6407,13,12,15,0x0000,0x06E2,0xF800,30.1,-273.2,-273.2,-273.2,30.1,-273.2,-273.2,-273.2,-273.2,-273.2,0x30,0x0040,5607525,780,5611507,253,5592191,637,5611001,924,5598938,877,5614635,910,5606839,1078,5605418,389,5604972,341,5610011,542,5460829,357,5464364,772,5459282,699,5459969,548,5480167,630,5474240,687,29293,7,4057,3946,6422,30.1,-273.2,30.1,30.1,30.1,15,15,473,660,3,912323839,831,0,0,0,1677948,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0000,0,1189,SUCCESS
    5,2022-06-11 18:03:32,20.003,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x818C,4051,4054,4040,4054,4045,4057,4051,4050,4050,4054,3946,3948,3948,3948,3963,3959,6407,14,12,7,0x0000,0x06E2,0xF800,30.1,-273.2,-273.2,-273.2,30.1,-273.2,-273.2,-273.2,-273.2,-273.2,0x30,0x0040,5607205,371,5611098,650,5592439,163,5611043,478,5599188,833,5614481,508,5606629,737,5605538,745,5604796,793,5609921,435,5460762,675,5463952,807,5459193,712,5459836,601,5480147,429,5474432,589,29291,6,4057,3946,6421,30.3,-273.2,30.3,30.3,30.3,15,7,621,660,3,912323839,835,0,0,0,1668402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0000,0,1237,SUCCESS
    6,2022-06-11 18:03:36,24.004,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x818C,4051,4054,4040,4054,4045,4057,4051,4050,4050,4054,3946,3948,3948,3948,3963,3959,6407,14,12,7,0x0000,0x06E2,0xF800,30.1,-273.2,-273.2,-273.2,30.3,-273.2,-273.2,-273.2,-273.2,-273.2,0x30,0x0040,5607205,371,5611098,650,5592439,163,5611043,478,5599188,833,5614481,508,5606629,737,5605538,745,5604796,793,5609921,435,5460762,675,5463952,807,5459193,712,5459836,601,5480147,429,5474432,589,29291,6,4057,3946,6421,30.3,-273.2,30.3,30.3,30.3,15,15,621,660,3,912323839,839,0,0,0,1668402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0000,0,1235,SUCCESS
    7,2022-06-11 18:03:40,28.005,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0188,4051,4054,4040,4054,4045,4057,4051,4050,4050,4054,3946,3949,3948,3948,3963,3959,6408,12,11,15,0x0000,0x06E3,0xF800,30.1,-273.2,-273.2,-273.2,30.3,-273.2,-273.2,-273.2,-273.2,-273.2,0x30,0x0040,5607515,912,5611628,754,5592773,659,5611168,1042,5599166,652,5614501,568,5606729,763,5605446,750,5605128,346,5609928,712,5460553,716,5464165,500,5459469,911,5459698,996,5480040,842,5474573,894,29292,6,4057,3946,6421,30.3,-273.2,30.3,30.3,30.3,15,15,640,669,3,912323839,843,0,0,0,1669726,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0000,0,1233,SUCCESS
    8,2022-06-11 18:03:44,32.005,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0188,4051,4054,4040,4054,4045,4057,4051,4050,4050,4054,3946,3948,3948,3948,3963,3959,6407,9,9,30,0x0000,0x06E3,0xF800,30.6,-273.2,-273.2,-273.2,30.3,-273.2,-273.2,-273.2,-273.2,-273.2,0x30,0x0040,5607407,404,5611150,315,5592462,368,5611333,646,5599180,480,5614508,936,5606711,460,5605429,1066,5604728,659,5609920,689,5460953,338,5463922,782,5459110,434,5459527,924,5480099,498,5473970,504,29294,7,4057,3946,6422,30.2,-273.2,30.2,30.2,30.2,15,22,626,618,3,912323839,846,0,0,0,1672091,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0000,0,1203,SUCCESS
    9,2022-06-11 18:03:48,36.005,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0188,4051,4054,4040,4054,4045,4057,4051,4050,4050,4054,3946,3949,3948,3949,3963,3959,6407,8,9,15,0x0000,0x06E3,0xF800,30.6,-273.2,-273.2,-273.2,30.2,-273.2,-273.2,-273.2,-273.2,-273.2,0x30,0x0040,5607644,615,5611287,765,5592062,488,5611166,539,5599008,1004,5614588,659,5606912,568,5605347,643,5604663,605,5609914,700,5460840,821,5463901,756,5459358,474,5460092,778,5480242,758,5474271,736,29264,6,4057,3946,6421,30.2,-273.2,30.2,30.2,30.2,15,22,708,652,3,912323839,851,0,0,0,1671879,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0000,0,1234,SUCCESS
    

  • It looks like the SLEEP bit is showing in the Battery Status register in your log file:

    So the device is able to enter SLEEP mode. Then it exits SLEEP mode. Is this because you sent the SLEEP_DISABLE() command. Another reason the device may wake up from SLEEP by mistake is if the WK_SPD bits in the Power Config register are not set to '00'. I recommend setting these bits to '00' to see if it resolves the issue. Otherwise, it is very sensitive to noise and may wake up with lower pack currents.

    Regards,

    Matt

  • Hi 

    The results attached are performed in the EVM and the sleep function is working fine. But for same settings it is not working in my BMS. In both scenarios I have given same configuration only and WK_SPD is set to 00.

  • Hi Vaithieswaran,

    Are you able to collect a BQStudio log file from your BMS (you can remove the I2C jumpers from the EVM and connect wires from the uC_SCL and uC_SDA signals to your BMS to interface with BQStudio)?

    This will help determine if the issue is with your board or with the software. 

    Regards,

    Matt

  • Hi

    As suggested by you, I tried connecting the BQStuido GUI tool (EVM's controller) to enable sleep mode in our BMS AFE. It worked and Bit 15 (SLEEP) of the Battery Status register got set.

    In doing the same with my BMS controller, I have noticed that Bit 4 (WD) of the Battery Status register is getting set. 

    Why is this bit getting set & will this affect the AFE from entering into SLEEP mode? Also how to resolve this issue?

    Thanks & Regards

    Vaithieswaran.S

  • Hi Vaithieswaran,

    This indicate a internal watchdog timeout. It means the device went through a reset because of the watchdog timer, which is strange.

    Maybe you can capture the communications between your MCU and the device to see if something is causing this, like maybe I2C transactions are not completeing?

    Regards,

    Matt