Hello
The battery charger provided by the DA1468x is too slow for my application and I would like to check with you if I can use an external charger while keeping the USB features of the DA1468x.
- Main idea is to use MCP73830 1A that uses 2 GPIOs : enable / status
- This would imply to use the dg_configUSE_USB_CHARGER (0) flag to avoid enabling internal charger and to manually drive gpios to allow enabling the charger
I could figure out that when using dg_configUSE_USB_CHARGER the only callbacks that are called are "usb attached" and "usb enum"
Can you confirm to me that power is available from charger when usb_start_enumeration_cb() is called ?
Are there any way to know the maximum available power after enumeration so I can check I can get 1A from the charger ?
Thank you in advance
Best Regards
嗨,鲍勃,
DA14680 contains a dedicated on-chip charger which allows the chip to natively charge rechargeable batteries over USB. The charger is up to 5.0 V with programmable curves. Please read the 4.1.6 Charger section in the datasheet. There is a dedicated Pre-Charge and Charge SW FSM. If you would like to add changing functionality, you should follow the AN-B-035 document (link is provided below). You should follow standard procedure and the changing should be done over USB.
//www.xmece.com/sites/default/files/an-b-035_da1468x_battery_charging_1v1.pdf
Thanks, PM_Dialog
Hello
Thank you for the application note.
I am targetting an application requiring 7Ah of battery capacity and 6 weeks of autonomy. I am out of spec of the internal battery charger (max 500mAh) so I do need to add an external one. For cost reasons I still wish to use the USB features provided by the DA1468x thus the dg_configUSE_USB_CHARGER (0) match my needs.
我可以测试工程师t it with a set of usb chargers and I coud figure out that most of the time the state machine stays in USB_CHARGER_CONNECT_PENDING state after enumeration ( usb_start_enumeration_cb() is called before that state is reached so I can not use that hook ). I tried to plug the device on samsung chargers, chinese chargers and the result is the same. I tried to plug it on a usb hub and the state machine stays stuck in USB_CHARGER_ATTACHED which means that the hub does not provide charging capacity.
Can you confirm to me that I can rely on this state to manually drive an external battery charger using the following ? I am not sure the USB negotiation is being achieved properly.
if (usb_charger_state >= USB_CHARGER_SDP && usb_charger_state < USB_CHARGER_PAUSED) {
// activate external battery charger
}
Thank you
嗨,鲍勃,
As I mentioned in my previous reply, the procedure you should follow in order to add changing functionality is described in the application note. Where did you find this if-statement? I would suggest you to modify SDK files. The SDK should be used as it is provided.
Thanks, PM_Dialog