Other Parts Discussed in Thread: BQ25730
Hello,
I'm attempting to create a design using the BQ25731 Battery Charge Controller paired with TPS25750D USB PD controller. The TPS25750D is configured in AlwaysEnableSink Dead Battery Mode, so that VBUS can power up the External MCU. Then the External MCU can configure the USB PD controller to negotiate a higher power draw. Once the voltage and maximum current has been negotiated, the external MCU will then configure the battery charge controller with the maximum voltages/currents from the USB PD controller and battery fuel gauge.
Simplified Block Diagram:
I have two questions:
1. What is the default ChargeCurrent() of the BQ25731 device, as the datasheet has conflicting information.
Ideally for this application, the BQ25731 ChargeCurrent() should be 0A on startup, inhibiting charge until the External MCU configures the maximum permitted ChargeCurrent() by the battery, as well as maximum adapter current in the IIN_HOST register.
However, the datasheet has conflicting information on what the reset behavior is. The description for the ChargeCurrent() register states that upon POR it resets to 0, but the Reset value of the register encodes to 256 mA, which corresponds to the other information I can find online. Additionally, it states that a watchdog event resets the ChargeCurrent to 0, but elsewhere in the datasheet it states that watchdog events reset the current to 256 mA.
If this could be clarified, that would be great.
2. If the ChargeCurrent is in fact 256 mA, how can I configure this to be lower such that it won't break the USB specification for max power draw of 0.5W before negotiation, or ideally configure charge inhibit at startup.
My primary issue with this 256mA default behavior is that at startup, before the MCU has a chance to configure the BQ25731, it will begin charging the battery at 256 mA prior to External MCU intervention. My application uses a 5S battery, which could result in charging at over 5W prior to USB negotiation. However, the maximum permitted current draw before USB negotiation is 0.5W. This violates the USB specification, and could cause overcurrent protections to trigger or possible damage to older USB hosts if the External MCU is unable to configure the BQ25731 fast enough.
Additionally, if a failure occurs and the microcontroller is unable to communicate with the BQ25731 due to electrical or software issues in firmware, the charge controller will begin charging the battery, even if the fuel gauge is reporting that charging should not occur. This may result in additional protections triggering in the external battery pack, causing damage.
Do you have any recommendations for how I can ensure that charge is inhibited in the BQ25731 on startup, and will not begin charging until the External MCU properly configures the device?
Thank you