GSM power usage / standby time
wally.ritchie at gmail.com
Sat Dec 1 05:32:20 CET 2007
On Nov 30, 2007 10:54 PM, Ian Stirling <OpenMoko at mauve.plus.com> wrote:
> Wally Ritchie wrote:
> > On Nov 15, 2007 10:47 AM, Erland Lewin <erland at lewin.nu> wrote:
> >> I was looking at the power management page on the OpenMoko Wiki, which
> >> says that the GSM part draws 45 mW when idle but connected (that's for
> >> the GTA01, but I think the GTA02 has the same GSM chipset), and that the
> >> bGattery capacity after power supply losses is 3.5 Wh. This would give a
> >> theoretical maximal standby time of about 3 days (in practice lower
> >> because I guess things like RAM refresh will use power too).
> > In GSM idle mode the power consumption should be < 10mW from the
> > modem. This is based on similar devices using this chipset.
> > If all other devices are off or suspended, then the only other thing running
> > would be SDRAM self-refesh and the PMU, both of which are minimal.
> > That being said, we still seem to be a long way from fully working
> > suspend/resume which would put the modem in low power state as well as
> > all other devices.
> Unfortunately, that seems not to be the case.
> Send at at poff to the modem.
> Approximately 100uA being drawn.
> Approximately 50mW being drawn.
> It seems obvious that the current is not being drawn by 'the usual
> suspects' - a bit of the phone not turning off properly, but it must be
> either the modem, or something directly connected to the modem.
50mW sounds about right if the modem is not going into to low power. If I
understand things correctly the SoC and the modem are wired with
RTS to CTS of each other in standard RTSCTS flow control using the
auto flow control (based on FIFO status which is almost a requirement given
that they are only 16 characters deep).
The modem will not suspend unless RTS stays low. In this case the modem
will awaken the SoC on an EINT. If RTS isn't low EINT will never occur which
matches other symptoms people have reported. Assuming there is no activity
on the modem, RTS will normally be high when the suspend occurs.
To suspend properly, the serial port driver is going to have to take
the SoC UART out of
autobaud and program the relevent GPIO bit for RTS to low. This should allow
wakeup from the EINT line and (I hope) a low power state for the modem in
GSM idle. On resume, the driver is going to have to reprogram the full
state (because power off trashes it). I don't see any such code in the driver.
If your example above is a SHUTDOWN instead of SUSPEND, the GPIO pins will not
be holding any state and the RTS may be pulled up from the input on the modem.
If I understand it correctly the only difference between suspend and
power off is the
GPIO pins and the preservation of two internal registers.
More information about the neo1973-hardware