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
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.
