EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

5v system integration

Started by dijucthat March 15, 2006
> (Hope philips will use I/O direction to control I2C ports instead
> of open drain outputs.  Then we could have
push-pull outputs on
> all I2C pins)

But that goes against the I2C standard...

An Engineer's Guide to the LPC2100 Series

Hi,

Oops!! Sorry, I never study the I2C spec.  Did not know
I2C device could be powered off independently and does not
disrupt proper operation of bus.  It's true that Philips has 
all the I2C pins on LPC2xxxx or 8051 as open drain.

Just some thought, why need removing PMOS and open drain??
- Most other non-philips uC are having their I2C pins configurable
  as push-pull output ports.
- I wonder how many I2C slave devices like eeprom will let bus work
  properly when powered off, since the I2C pins are also inputs
  which are having clamping diodes.   Most of the time I dare not
  tie pull up resistor to 5V if I2C serial eeprom are powered at
  3.3V.
- On the LPC parts, if you do not think the 5V tolerant inputs will
  be working properly when 3.3V not available,  then those I2C open
  drain pins will not be working properly when chip powered off.

Anyway, is too far off original topic.   I'm OK with the open drain
I2C pins except sometimes it creating bit of trouble... (e.g. slow 
rise time when using as LCD databus bit, accidentally used to drive 
mosfet or LED)   :)

Regards

--- In lpc2000@lpc2..., "Danish Ali" <danish@...> wrote:
>
> Q2 is probably the only one I feel confident to comment on:
> I would use a 74HCT logic gate to buffer the output if the
> target swing is 0 to 5V. If there are a lot of lines to
> buffer you can't go far wrong with a 74HCT373.
> Unless, that is, you intend to drive relays or the like
> when a ULN200x really shines.
> 
> For bidirectional lines (where I can have a pin that says
> which direction I want) I use a 74LVC4245A and it seems to
> work.
> In the past I have tried (and failed) to use an ADG3308
> "automatic direction-sensing" bidirectional level shifter.
> I'm not suggesting that it can't be made to work, but do
> breadboard that chip before getting a PCB made. I would
> be grateful for comments as to what I might have been
> doing wrong with the ADG3308 because it seems so useful!
> 
> I think the data sheet says GPIO pins are only 5V-tolerant
> when the 3.3V supply is present. (Quite what will happen
> when it is not present I'm not sure, but that's what I read).
> Since my +3.3V is derived from the +5V I don't worry about
> this.
> 
> As to unity0724's hope that (when used as GPIO) the I2C
> lines can have pull-ups, the complication is that an I2C
> device must not load the lines when its power is not present.
> The easiest fix for this is to omit the pmos output
> transistor altogether, and this is what Philips do.
> Other approaches might be possible but I can't think how.
> 
> Regards,
> Danish
> --- In lpc2000@lpc2..., "unity0724" <unity0724@> wrote:
> >
> > --- In lpc2000@lpc2..., "dijucthat" <bigdaddy81@>
wrote:
> > >
> > > I have a project that was setup for a 5v AVR that I would like 
to 
> > > convert to an LPC2294.
> > >   
> > > Q2: On GPIO outputs, can I use a pullup to get 5v, or should I 
use 
> > > a buffer, ULN2003, etc.? (again, I am
concerned with 
reliability)
> > 
> > 
> > 
> > Umm... may be..
> > On LPC, to output a '1' with 5V pull up:
> > - Set output bit to 1 (this will drive output to 3.3V)
> > - The output will not go >3.3V as Upper PMOS transister seems to
> >   be sinking current from external 5V pull up when on.
> > - Once the Output is forced to 3.3V by an active pullup 
transistor,
> >   set the port bit to input.
> > - The external pull up resistor will then pull to 5V, slower.
> >   (Do not let port pin be output, it will not get pullup up to 
5v)
> > - Hope this will be "quite" similar
with your AVR port pin with 
> >   both active (for few clocks) and passive pullup
> > - ...Actually, I've not tried this on LPC yet...
> > To output a '0':
> > - Just set port bit to '0' and configure port pin to output.
> > 
> > (Hope philips will use I/O direction to control I2C ports instead
> > of open drain outputs.  Then we could have push-pull outputs on
> > all I2C pins)
>
	
> Oops!! Sorry, I never study the I2C spec.  Did not
know I2C 
> device could be powered off independently and does not 
> disrupt proper operation of bus.  It's true that Philips has 
> all the I2C pins on LPC2xxxx or 8051 as open drain.
> 
> Just some thought, why need removing PMOS and open drain??
> - Most other non-philips uC are having their I2C pins configurable
>   as push-pull output ports.

Maybe these other devices are designed as Master-only on the I2C bus.
Then it's irrelevant if the bus doesn't work when powered
off....there's
no longer a master to direct the bus anyway !?

Cheers,
Bruce


The 2024 Embedded Online Conference