Re: Pullup resistors on 3-state buses

Bob Davis (bob@scsi.com)
Tue, 3 Jun 97 12:46:33 PDT

John,

Your problem is a common one and the response is more likely driven by cost
than good engineering.

Please see then enclosed comments, I hope they help.

Bob Davis
Summit Computer Systems, Inc.

> From John.Fitzpatrick@ln.cit.alcatel.fr Tue Jun 3 07:48:38 1997
> Sender: fitzpat1@ln.cit.alcatel.fr
> Date: Tue, 03 Jun 1997 10:53:18 +0200
> From: John V Fitzpatrick <John.Fitzpatrick@ln.cit.alcatel.fr>
> Organization: Alcatel Telecom, Lannion, France
> X-Mailer: Mozilla 3.01Gold (X11; I; SunOS 4.1.3_U1 sun4m)
> Mime-Version: 1.0
> To: si-list@silab.Eng.Sun.COM
> Subject: Pullup resistors on 3-state buses
> Content-Type> : > text/plain> ; > charset=us-ascii>
> Content-Transfer-Encoding: 7bit
> Content-Length: 1066
>
> Hello all,
>
> A question:
>
> When must pullup resistors (or bus-hold circuits) be used
> on 3-state buses, and when they can be dropped?
>
> It is a generally accepted rule that CMOS inputs should never be
> left floating. So for unused inputs or 3-state buses, we use
> a pullup or pulldown resistor, or some form of bus-hold circuit.
>
Remember that a pullup or pulldown resistor will always cause a final
transition on the line if the line is left in the opposite state and that
that transition may be very slow with respect to the response time of the
cmos inputs. Hysterisis may are may not be part of the input which may
lead to internal oscillations in the chip. Remember the buffer oscillation
problems on AT bus buffers?

> However, very often we see chip sets which have 3-state buses,
> but pullups are not recommended, and no indication of internal
> pullups or bus-hold circuitry is given. Is this safe design?
>
The problem may be that the driver can not handle the additional load of the
resistor pull up or down. The chip may have a large hysterisis and expect a
capacitive hold on the bus.

The safety of this design would need to be supported by spice analysis of the
bus line with good models and worse case analysis.

> Another example:
> The PCI bus does not require pullups, but has a paragraph which
> suggests that there may be problems if pullups aren't used.
> So should resistors be used? Are the risks real?
>

PCI uses the resistors for, at least, five purposes:
1. To pull up the 64 bit lines if not used and cache control lines
2. As hold circuits for the control lines that are driven active
low and driven back high before being released
3. To keep the clocks low if undriven
4. Some isolation of the IDSEL pin to prevent 2 loads on the address
line.
5. To be weak pull ups (drive) on unused REQ# etc.

For the HiRelPCI bus (P1996) we are considering useing bus hold amplifiers
on the central services module to improve the reliability of the PCI bus
in critical applications.

> As you may have guessed, I don't like specifying resistors
> whose function may not be necessary.....

Remember resistors are cheap insurance.
>
> Any pointers to useful information very welcome
>
> Thanks in advance,
> John
>
> --
> John Fitzpatrick <John.Fitzpatrick@ln.cit.alcatel.fr>
> Alcatel Telecom, 4 rue de Broglie, 22304 Lannion, France
> Tel: +33(0)2.96.04.79.33 Fax: +33(0)2.96.04.85.09
>