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.

BQ40Z60: BTP Output Pin not working

Part Number: BQ40Z60

Hi,

I have configured the BTP Function on the alternative LED Pin 12 as I have currently used Pin 14 for the Precharge FET.

Settings:

BTP_EN = 1

BTP_POL = 0

LED3BTPALT = 1 (As I want to use Pin 12 as BTP Output)

PCHGBTP = 0 (As I want to use Pin 14 for the Precharge FET)

Init Discharge SET = 300mAh

Init Charge Set = 1000mAh (I set this higher than the capacity as I do not want an BTP event during charging, only if the remaining capacity during discharge drops below 300mAh.)

Whatever I do, the BTP Pin 12 remains LOW.

Also, the BTP_INT status in Operation Status A remains always set (red).

Please explain what I have to do to get this feature working.

Thanks,

Fred

  • Hi Fred,
    After you made your changes, did you issue the reset command (0x41)? Try that and then repeat your test so we know if that works

    thanks
    Onyx
  • Hi Onyx,

    Yes, I performed a Reset via the command button.

    I can change the polarity of the BTP pin 12 and the polarity of the pin does change after a reset. The Pin assignment seems to work.

    However, the BTP_INT bit in Operation Status A is always set and I never saw it changing to green.

    Please advise how I can reset this flag.

    Perhaps please give me an example on how to configure the device so that BTP_INT is asserted if the capacity goes below 300mAh and is reset if the device is charging or the capacity goes above 300mAh.

    Thanks,

    Fred

  • Hi Fred,

    pls follow the instruction listed in the TRM.

    We will also test this on our end to ensure it works. Let me know how your own test goes.

    thanks

    Onyx

  • Also, How are you testing the functionality? Are you actually discharging down the battery past the thresholds? I believe a method you could use to quickly test after you have all your settings completed and correct, is to use a power supply and adjust the voltage accordingly to so the capacity goes above or below the capacity threshold and issue a reset command so the capacity gets updated to a value corresponding to the voltage you are testing at.

    thanks
    Onyx
  • Hi Onyx,

    Thanks for your info. I read the section in the user manual you are referring to.

    My current settings are:

    BTP_EN = 1
    BTP_POL = 0
    LED3BTPALT = 1
    PCHGBTP = 0
    Init Discharge SET = 300mAh
    Init Charge Set = 10000mAh

    The problem I am having with the bq40z60 is that once the BTP_INT flag in "Operation Status A" is set, it can only be cleared via a device reset command.

    My intended functionality is that it should be cleared as soon as the battery is charging or is charged above 300mAh. I do not want to reset the device to clear this flag. It sets correctly after the remaining capacity drops below 300mAh but it never clears again.

    There are contradictory statements regarding the function of the "Init Charge Set" parameter in the user manual:

    According to Page 90, BTP_INT is set when the relative battery charge exceeds "Init Charge Set".

    • OperationStatus()[BTP_INT]is set when:
    – Current > 0 and RemCap > “clear” threshold (“charge set threshold”). This threshold is initialized at
    reset from Settings.BTP.Init Charge Set.

    According to Page 142, BTP_INT is cleared when the relative battery charge exceeds "Init Charge Set".

    11.40 0x4B InitChargeSet()
    The read/write word command updates the BTP clear threshold that de-asserts the BTP interrupt and
    clears the OperationStatus()[BTP_INT] bit

    Whichever of those statement is true, I want to have BTP_INT set if the remaining battery charge drops below 300mAh and cleared if the the battery is charged above 300mAh. Other options are possible but BTP_INT needs to be cleared at some point without sending a reset or other command to the bq40z60.

    Please suggest a configuration that achieves this functionality.

    Thanks,

    Fred

  • Hi Fred,

    The 

    The snippet above says BTP is supported when you have the settings above followed. From your email, you have PCHGBTP = 0.

    Also, to clarify the error you pointed out above, it will set when it exceeds the threshold and clear when drops below the threshold.

    thanks
    Onyx

  • Hi Onyx,

    The PCHGBTP you are referring to only selects the functionality of pin 14. When I made this board I connected the precharge FET to Pin 14 and configured Pin 12 (LED3BTPALT = 1) as the BTP output. The Precharge function of the BQ40z60 with current firmware is unfortunately not working because of a Firmware bug but this is another story. However, the alternative BTP pin 12 is working fine and follows the state if the BTP_INT flag as it should be. I do not see a reason why PCHGBTP should be low as this is only affecting the pin but not the actual BTP_INT flag.

    The BTP_INT Flag is set when the remaining capacity drops below INT_DISCHARGE_SET or rises above INT_CHARGE_SET. If the remaining charge is between those thresholds, I can only clear the BTP_INT flag by sending a RESET Command.THE BTP_INT FLAG DOES NOT CLEAR AUTOMATICALLY - Please explain why?

    Thanks,

    Fred