linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Gabriel Paubert <paubert@iram.es>
To: Bill Gatliff <bgat@billgatliff.com>
Cc: linuxppc-dev@ozlabs.org
Subject: [OT] Re: Floating inputs on unused GPIO pins
Date: Tue, 14 Oct 2008 13:07:23 +0200	[thread overview]
Message-ID: <20081014110723.GA2184@iram.es> (raw)
In-Reply-To: <48F34922.503@billgatliff.com>


[Marked off-topic because it is exclusively hardware related]

On Mon, Oct 13, 2008 at 08:12:02AM -0500, Bill Gatliff wrote:
> Laurent Pinchart wrote:
> 
> > 
> > There are no internal pull-up or pull-down resistors on the MPC8248 GPIO pins. I know our hardware engineer has a valid point theoretically. Does the point stand practically, or does the MPC8248 "state-of-the-art"(tm)(c)(whatever) technology make floating inputs safe ?
> 
> Well, Freescale's own layout recommendations recommend pullups or pulldowns for
> all input pins, but it's isn't clear what motivates that suggestion.
> 
> The block diagram, Figure 37-21, is less than helpful.  :)  I recall a doc
> somewhere that showed the input protection circuitry ends up providing a modest
> pullup/down, so the line never truly "floats".  

It's most of the time a couple of reverse biased diodes, one pulling to
the ground and the other to the I/O supply for that pin (there may be
several differnt I/O voltages in addition to a core voltage but I
digress). This prevents the input from going outside the ground to I/O
supply range (plus/minus diode threshholds) but can be considered
as essentially free floating inside that range.

The input may well end up floating at mid-level turning on both
transistors of the input gate (actually if the diodes are well matched,
it will, but don't try to measure it with a voltmeter).

> But it's a very high-impedance path, 

True and that's why it cannot be depended upon. The DC voltage
(not taking into account pickup to which it will be very sensitive)
and the impedance will depend on several internal (diode characteristics
and matching), ambient (temperature) and external factors (resistive pick
up through sub pA level surface currents from neighboring pins/tracks). 
Especially the effective impedance of the diode drops very rapidly with 
temperature (or if you prefer their leakage current increases with increasing 
temperature). This makes the circuit much more sensitive to AC pickup at
very low temperatures.

In this case the only sane solution is, unfortunately, adding external pullup
and or pulldown resistors. The resistor value can be high (47k to 1M) to limit
current waste when the signal does not have the default value. If you
expect most of your signals to be low most of the time, use pull-down
resistors, else use pull-ups (or select on a signal by signal basis if 
you can afford it, but this rule does not apply to the GPIO pin used
as a presence detect if there is one). 

	Regards,
	Gabriel

      parent reply	other threads:[~2008-10-14 11:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-13  9:56 Floating inputs on unused GPIO pins Laurent Pinchart
2008-10-13 10:03 ` Geert Uytterhoeven
2008-10-13 11:00   ` Laurent Pinchart
2008-10-13 10:08 ` Leon Woestenberg
2008-10-13 11:04   ` Laurent Pinchart
2008-10-13 11:44     ` Leon Woestenberg
2008-10-13 13:12     ` Bill Gatliff
2008-10-13 13:40       ` Leon Woestenberg
2008-10-28 15:10         ` Laurent Pinchart
2008-10-14 11:07       ` Gabriel Paubert [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081014110723.GA2184@iram.es \
    --to=paubert@iram.es \
    --cc=bgat@billgatliff.com \
    --cc=linuxppc-dev@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).