[gta02-core] Telit 2.8 V logic

Werner Almesberger werner at openmoko.org
Wed Aug 19 12:37:19 CEST 2009


The Telit GSM module (the GE865 in our case) uses 2.8 V logic.
That's a voltage we don't have in our system yet.

One possibility would be to add level shifters and to supply them
from the currently unused LDO3. After PMU reset, LDO3 is set to
3.3 V but it's turned off, so that's safe.

Another option would be to just use a few resistors to divide our
3.3 V down to acceptable levels. The questions here are whether
this actually works and whether the current leaked through those
resistors would be acceptable.

		2442, 1.8 V	2442, 3.3 V	GE865, 2.8 V
	
Vil(max)	0.63 V		0.8  V		0.5  V
Vih(min)	1.17 V		2.0  V		2.1  V
Vih(max)	2.1  V		3.6  V		3.0  V
Vol(max)	0.39 V		0.4  V		0.35 V
Voh(min)	1.16 V		2.4  V		2.2  V
Voh(max)	1.89 V		3.3  V ?	3.0  V
Iil		32.85 uA (max)	10 uA (max)	1 uA (typ)
Iih		45.18 uA (max)	10 uA (max)	1 uA (typ)

First let's see if we can connect modem outputs directly to the
CPU. To protect again accidental out-out conflicts, I'd add a
4.7 kOhm series resistor.

2.8 V -> 1.8 V:

    Vil(max): MODEM.Vol(max)+CPU.Iil*(R+5%) = 0.51 V, OK [0.63]
    0.35+32.85*.0047*1.05

    Vih(min): MODEM.Voh(min)-CPU*Iih*(R+5%) = 1.98 V, OK [1.17]
    2.2-45.18*.0047*1.05

2.8 V -> 3.3 V:

    Vil(max): MODEM.Vol(max)+CPU.Iil*(R+5%) = 0.38 V, OK [0.8]
    0.335+10*.0047*1.05

    Vih(min): MODEM.Voh(min)-CPU*Iih*(R+5%) = 2.15 V, OK [2.0]
    2.2-10*.0047*1.05

That looks good. Now let's see if we can drive the modem directly
from an 1.8 V output ... no, the modem has a Vih(min) of 2.1 V,
which is way above Voh(min).

For 3.3 V, we need a resistive divider. The larger the resistance,
the less leakage we get. Let's try a 82 kOhm series followed by a
1 MOhm pull-down.

CPU              Divider     Modem
                               Ii
   +----...----[ Rs ]----*----(->)----+
   |                     |            |
   |                    _|_           |
   |                    | |           |
  (Vo)                  |Rp           |
   |                    | |           |
   |                    ---           |
   |                     |            |
   |                     |            |
  ---                   ---          ---

3.3 V -> 2.8 V:

    Vil(max): ... too much math. Let's script this:
    http://svn.openmoko.org/trunk/gta02-core/docs/ecn/ecn0030/v.pl

    Vil(max) = 0.44 V, OK [0.5]
    Vih(min) = 2.12 V, OK [2.1]
    Vih(max): 3.0 V, OK [3.0]

    The current out of the CPU and through the resistors is 3.21 uA.

So that would work. The 3.21 uA would come from TX, RTS, and maybe
DTR. We should have to drive these lines high only when the modem
is not powered off, so we'd have a total of about 10 uA leakage vs.
a consumption of 2.4 mA of the idling modem.

Opinions ?

- Werner



More information about the gta02-core mailing list