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.

BQ27541 Can I hibernate/sleep only on demand?

Other Parts Discussed in Thread: BQ27541-V200, BQ27541-G1

Is there a way to manually disable sleep and hibernate modes while powered up (with or without current), and manually enable hibernate mode just before powering down? I have no need for sleep or full sleep modes. The only way I can think of is to write the Hibernate I and/or Sleep I values in data flash (followed by soft reset) each time to enable and disable sleep and hibernate, but this seems a little clunky.

Thanks,
Chris

 

  • A soft reset is not required for all dataflash changes, and I think the Sleep Current and Hibernate I/V thresholds are checked dynamically from the dataflash so you don't need to reset the gauge if they are updated.  Of course you don't want to wear out your flash (>20k writes).

    There are two ways to enter Hibernate, but you must pass through SLEEP to get there.  The first way is for the host to send the SET_HIBERNATE command which will set the HIBERNATE bit in the CONTROL_STATUS register.  Then the gauge will wait for voltage to be relaxed (<1uV/s change) and the current to be less than Hibernate I before entering Hibernate.  You can always send the CLEAR_HIBERNATE command to cancel it if you don't want to go to HIBERNATE due to relaxation and low currents.

    The other way to enter HIBERNATE will happen whether or not you send the SET_HIBERNATE command.  This is if the voltage is lower than Hibernate V (default is 2550mV) and the battery is relaxed. 

    Currently we recommend disabling Hibernate completely for bq27541-V200 by setting Hibernate I = Hibernate V = 0 so that it can never go to Hibernate via either method.  This is because some customers have recently reported problems upon exit from Hibernate where the voltage and temperature ADC readings are wrong which can cause wrong SOC and gauging readings, as well as updating the Lifetime Dataflash values with these wrong values.  This can happen if the system sends I2C commands to other devices besides the bq27541-V200 or there are glitches on the I2C bus that cause the gauge to briefly wake from Hibernate which can make the ADC timer lose synchronization.  Usually this problem fixes itself in a few seconds but the Lifetime Data will be latched to the wrong values.  This minor risk has been eliminated in bq27541-G1 which will be released imminently.

  • Thank you for your detailed answer. Since the proposed solution requires two flash writes per power cycle, the chip would wear out in 10k power cycles, which is cutting it pretty close for our application. Do you know if this is a conservative rating, with essentially a guarantee of zero errors?

    Are you sure there is no other software way to wake it up from sleep? For example, is there a command, subcommand, or control bit that would cause it to take a reading now, rather than wait for the next sleep reading 20 seconds later? For our application, we need frequent and accurate voltage readings, even when the current is 0.

    We are not concerned about the aberrant readings soon after waking from hibernate, but thanks for the heads up in case we see any strangeness.

    Chris

     

  • My understanding is that 10k write cycles is a very conservative rating and you might be able to go many times that, but I don't think we can guarantee that.

    If you want to force it to take new measurements the only other idea I can think of at the moment is to send a RESET command, but it will reinitialize all simulations.  This requires it to be unsealed.

  • Hello dMax:

                         May i know what does "10k wirte cycles" mean? how about the "20k write cycles"? Is there 30k,40k.....write/read/any cycles?

                         Thanks a lot in advance.

  • In the datasheet under DATA FLASH MEMORY CHARACTERISTICS there is a parameter called "Flash programming write-cycles" which has a minimum value of 20,000 cycles.  That means the flash should not wear out and get any bad bits before it is written to 20,000 times.  The Flash memory is written to periodically during operation of the gauge since it is learning and updating values.  The user can also write and update parameters if desired.

  • Hello dMax: Thank you for your detail explanation. i will check the data sheet for further understanding. thank you.