EmbeddedRelated.com
Forums

5V tolerant i/o pins

Started by onceinfour March 4, 2004
I want to connect the LPC2114 (or other LPC2xxx) to 5V solenoid
drivers (eg. UDN2981's). Can I pull up the outputs of the LPC to 5V
with say 10K, to satisfy the input reqmts of the driver?
And secondly, I cant find a list anywhere in the datasheets of the
LPC pins which are 5V tolerant, I notice some are specified as 3.3V +
0.6V but I cant figure out which ones, can anyone help please.
Michael.



An Engineer's Guide to the LPC2100 Series

onceinfour wrote:
> I want to connect the LPC2114 (or other LPC2xxx) to 5V solenoid
> drivers (eg. UDN2981's). Can I pull up the outputs of the LPC to 5V
> with say 10K, to satisfy the input reqmts of the driver?

Hmmm. You might be able to do that with a diode, to prevent it from
back-feeding current into the internal 3.3v line from the 5v line when
it's trying to pull the line high.

On the other hand, there is a neat circuit to bidirectionally convert
between logic levels, I seem to recall... put a MOSFET between the 3.3v
part and the 5v line (as in, drain to source) and connect the gate of
the FET to 3.3v, or somesuch. I found the circuit while googling for
ways of communicating between 3.3v and 5v I2C.

I'm planning on putting 5v pullups on the I2C lines from the LPC - but
they're pull-down-only, so that's meant to be OK.

> Michael.

ABS



Michael,
All the IO pins on that device are 5V tolerant EXCEPT any that can
be configured as an ADC input. This is lacking in the documentation
and will be remedied. In future devices the analog pins will also be
5V tolerant.

Philips Apps. --- In , "onceinfour" <mmack287@h...> wrote:
> I want to connect the LPC2114 (or other LPC2xxx) to 5V solenoid
> drivers (eg. UDN2981's). Can I pull up the outputs of the LPC to
5V
> with say 10K, to satisfy the input reqmts of the driver?
> And secondly, I cant find a list anywhere in the datasheets of the
> LPC pins which are 5V tolerant, I notice some are specified as 3.3V
+
> 0.6V but I cant figure out which ones, can anyone help please.
> Michael.





Please, need an element of practicality here. We are talking about a
lot of i/o lines, in our design we are looking at 3 x 8 way solenoid
drivers, that's 24 signals. Would make more sense to use a 3.3V to
5V logic translator(s), but I am trying to save the board space and
cost.
Michael. --- In , Alaric B Snell <alaric@a...> wrote:
> onceinfour wrote:
> > I want to connect the LPC2114 (or other LPC2xxx) to 5V solenoid
> > drivers (eg. UDN2981's). Can I pull up the outputs of the LPC to
5V
> > with say 10K, to satisfy the input reqmts of the driver?
>
> Hmmm. You might be able to do that with a diode, to prevent it from
> back-feeding current into the internal 3.3v line from the 5v line
when
> it's trying to pull the line high.
>
> On the other hand, there is a neat circuit to bidirectionally
convert
> between logic levels, I seem to recall... put a MOSFET between the
3.3v
> part and the 5v line (as in, drain to source) and connect the gate
of
> the FET to 3.3v, or somesuch. I found the circuit while googling
for
> ways of communicating between 3.3v and 5v I2C.
>
> I'm planning on putting 5v pullups on the I2C lines from the LPC -
but
> they're pull-down-only, so that's meant to be OK.
>
> > Michael.
>
> ABS




On Fri, 05 Mar 2004 13:22:37 +0000, Alaric B Snell wrote:

onceinfour wrote:
> I want to connect the LPC2114 (or other LPC2xxx) to 5V solenoid
> drivers (eg. UDN2981's). Can I pull up the outputs of the LPC to 5V
> with say 10K, to satisfy the input reqmts of the driver?

Hmmm. You might be able to do that with a diode, to prevent it from
back-feeding current into the internal 3.3v line from the 5v line when
it's trying to pull the line high.

On the other hand, there is a neat circuit to bidirectionally convert
between logic levels, I seem to recall... put a MOSFET between the 3.3v
part and the 5v line (as in, drain to source) and connect the gate of
the FET to 3.3v, or somesuch. I found the circuit while googling for
ways of communicating between 3.3v and 5v I2C.

I'm planning on putting 5v pullups on the I2C lines from the LPC - but
they're pull-down-only, so that's meant to be OK.

> Michael.

ABS
=====================================================================
IDT <www.idt.com> make a product line called QuickSwitch which uses
this technique. They are bi-directional and fast.

Regards
-Bill Knight
R O SoftWare


I suppose this is for the Philips Apps.
OK all pins except a/d are 5V tolerant. What level (in the high
state) will I get on a pin configured as an output if I have a pullup
to 5V, and what current will it draw. Sorry to harp on, but I need
to know what voltage level I can generate for my peripheral device,
and what size of pull-up I can use.
Michael.

--- In , "philips_apps" <philips_apps@y...>
wrote:
> Michael,
> All the IO pins on that device are 5V tolerant EXCEPT any that
can
> be configured as an ADC input. This is lacking in the
documentation
> and will be remedied. In future devices the analog pins will also
be
> 5V tolerant.
>
> Philips Apps. > --- In , "onceinfour" <mmack287@h...> wrote:
> > I want to connect the LPC2114 (or other LPC2xxx) to 5V solenoid
> > drivers (eg. UDN2981's). Can I pull up the outputs of the LPC to
> 5V
> > with say 10K, to satisfy the input reqmts of the driver?
> > And secondly, I cant find a list anywhere in the datasheets of
the
> > LPC pins which are 5V tolerant, I notice some are specified as
3.3V
> +
> > 0.6V but I cant figure out which ones, can anyone help please.
> > Michael.





--- In , "onceinfour" <mmack287@h...> wrote:
> I suppose this is for the Philips Apps.
> OK all pins except a/d are 5V tolerant. What level (in the high
> state) will I get on a pin configured as an output if I have a pullup
> to 5V, and what current will it draw. Sorry to harp on, but I need
> to know what voltage level I can generate for my peripheral device,
> and what size of pull-up I can use.

I have two observations for you.

1) If you use a pullup, your output should be configured as open
collector or open drain (depending on your nomenclature preference).
This is done by writing a '0' to the output data and controlling the
output drive (on/off or input/output).

2) The data sheet for the UDN2981 says it is TTL compatible. That
means the input switching level is between 0.8 and 2.0 volts, so you
don't need a pullup to 5 volts.

Does that help?




wrote:

>I have two observations for you.
>
>1) If you use a pullup, your output should be configured as open
>collector or open drain (depending on your nomenclature preference).
>This is done by writing a '0' to the output data and controlling the
>output drive (on/off or input/output).
>
>2) The data sheet for the UDN2981 says it is TTL compatible. That
>means the input switching level is between 0.8 and 2.0 volts, so you
>don't need a pullup to 5 volts.
Correct answer redsp ....
Hmmm, funny that onceinfour didn't work out that a low-impedance cmos
output wouldn't pull-up to +5V with a resistor, unless of course the
resistor was ridiculously low :)

some further thoughts for onceinfour;
Of course when the pin is not outputing a low it becomes an input which
are designed to be +5V tolerant. The normal method of making an output
appear to be open collector is to set the output port low initially and
then simply set/reset the direction register (as redsp pointed out) to
make the pin flip from low to high-impedance, thus mimicking an
open-collector output. Unlike a true open-collector output, the pin
cannot handle breakdown voltages greater than the chip is designed for
though.
But why use pull-ups and open-collector drives for this application when
they are redundant anyway? Peter Jakacki