Weekly Engineering News 36/2008

Werner Almesberger werner at openmoko.org
Thu Sep 11 00:23:58 CEST 2008


Andy Green wrote:
> Don't see why it's problematic other than annoying to blow money on the
> MOSFETs needed to correct not having control of PMU bringup.  We just
> need the MOSFETs to stagger inrush current.

I was just referring to potentially needing several FETs, which
isn't nice for space reasons, etc. Also, you'd need something
that controls these FETs, and what would you use but an MPU ?

I'm not sure you can trust the CPU to come up to a useful state
while IO_3V3 is still disabled. Also, are 1.8V enough to drive
the FET ? At least the PMU would be happy with only 0.8V for a
high on SDA and SCL, so that's compatible with the CPU's 1.8V
domain.

> Hm there is some emergency low VB_SYS volatge state machine transition
> into STANDBY or am I imagining it?  Isn't that why we motorboat with bad
> VB_SYS?  I am not sure this trick will fly.

That's the SYS voltage. Putting the FET between SYS and regulator
inputs should leave the PMU's emergency response team happy while
still cutting power to the regulators.

We have another problem path, and that's the battery charger.
It seems that making C1767 big solves that issue well enough, but
having a little more control wouldn't hurt, of course.

Just a fast and configurable current limiter might be sufficient.
Something like a resistor with a FET in parallel. Then the MPU
could do the bringup as follows:

The bringup sequence would then be like this (in the MPU):

	/* FET is off by default */
	if (battery_is_willing_and_able) {
		set_batt_fet_on();
		goto elsewhere;
	}
	pmu_enable_battery_charger();
	for (i = 0; i != max_current; i++) {
		pmu_charge_current(i);
		set_batt_fet_on();
		nap(a_bit); /* while charging the caps on VB */
	}

So we'd slowly ramp up the battery current until it's safe to
let it run at the maximum.

> So if I
> were you I would also keep one eye on expanding that philosophical
> foothold.

Good point, thanks !

I think we should treat the MPU as a separate small project, so
that it can be done without interference from rapidly changing
requirements of the actual products. Once it's done, it'll be
easy to put into a design and to make any adaptations. That
would also help with the "it would be great, but we don't have
time for this now" situation that's been repeating itself over
and over.

This is similar to the "poverty tax" - if you're not able to
make the upfront investment to do it right, you'll continuously
hemmorrhage money for inadequate solutions, ending up spending
a lot more in total.

- Werner



More information about the devel mailing list