|
|
Log in / Subscribe / Register

USB charging, part 1: requirements

USB charging, part 1: requirements

Posted Jul 9, 2016 23:37 UTC (Sat) by neilbrown (subscriber, #359)
In reply to: USB charging, part 1: requirements by corsac
Parent article: USB charging, part 1: requirements

> When the battery is dead, can't the bootloader (usually uboot) boot with 2.5mA and actually enumerate USB to get more power?

2.5mA isn't very much. It should be enough to keep memory refreshed while the CPU is suspended, but not much more. It is the sort of current that would allow a keyboard to detect a keypress and send a wake-up to the host to say "please ask me what key is pressed", and maybe to keep a couple of LEDs on. It should let an optical mouse keep the light on just enough to detect some movement so again it can trigger a wake-up

An Arduino microcontroller which is a slow, low-power CPU that cannot run Linux (unless maybe if you trimmed it down a lot) uses around 20-30 mA. An OMAP3 which is a TI processor from a few years ago needs a couple of hundred mA to do anything useful.
There may be more modern processors which get away with less power, the "LITTLE" part of big.LITTLE designs do aim for very low power. They might be able to respond to bus enumeration with under 100mA, but I know no specifics.

If you need a CPU to be involved in negotiating the current (rather than using purpose-built hardware), then you need to be sure of at least a few seconds of a few hundred mA from the battery. If the CPU manages to negotiate 500mA or more in those few seconds it should be fine to boot. If not, it is back to sleep until the battery builds up a more substantial charge.


to post comments

USB charging, part 1: requirements

Posted Jul 11, 2016 0:35 UTC (Mon) by giraffedata (guest, #1954) [Link] (1 responses)

OK, 2.5mA is really niggardly, but what about 100 mA for a second? Isn't that enough time for a boot loader to come up and enough to negotiate more?

USB charging, part 1: requirements

Posted Jul 11, 2016 10:13 UTC (Mon) by neilbrown (subscriber, #359) [Link]

1 second is certainly enough for a u-boot to be loaded and do something useful. I don't know if it is long enough to complete usb negotiation, but I suspect it is.
But for many processors, 100mA isn't enough to execute any instructions, let alone load the boot-loader from nand-flash which is most likely where it is. There maybe be some Linux-capable platforms which can run the boot-loader with only 100mA, but I doubt they are common.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds