Connect with us

Good Bus Design

Discussion in 'General Electronics Discussion' started by Raven Luni, Oct 29, 2013.

Scroll to continue with content
  1. Raven Luni

    Raven Luni

    798
    8
    Oct 15, 2011
    Greetings,

    This is something I am going to be doing alot of in the near future so I'd like to get it right and would be grateful for any input from the pros.

    After my (eventually successful) adventures with SD cards, I've learned that a transistor and pullup resistor doesnt exactly qualify as a buffer :p

    I've been reading up on push-pull, tristate etc. which seem to be the way to go but I still have a few questions:

    - For a device that requires a push-pull input, should there be any additional current limiting or is the base resistor all thats needed?

    - Should there be a capacitor on each line to eliminate noise and if so, how should that be calculated and how will it affect switching times

    - Are 74xx gates push-pull? (The only time I've seen anything like this mentioned in a spec is for open collector)
     
  2. Harald Kapp

    Harald Kapp Moderator Moderator

    10,614
    2,372
    Nov 17, 2011
    What is a push-pull input? The term push-pull is used for output stages and indicates that bot levels, Low and High, are actively driven. This is in contarst to a Pull-up resistor, where the transistor actively pull to create Low, but the resistor passively drives High.
    Apart from that: input current to a logic gate is limited by the gate itself and is very small for modern CMOS gates. You will not need a current limiting resistor. If you have seen resistors in series with logic signals, then this was most probably to create an orderly termination to minimize reflections. You can Google these terms or stzart by reading this page,

    A clear yes and no :)
    Yes, a capacitor can be useful to reduce noise on the signal line.
    No, a capacitor will slow down the edges of the signal. This will delay the signal and in addition may lead to trouble if the rise/fall times are too long. A standard logic gate may not switch clearly but may oscillate during transistion. The effect is described here. I don't know of rules to calculate such a capacitor. You may need to do some experiments with different values (if you need the capacitor at all - often the capacity of the PCB traces and logic inputs alone is sufficient).

    Most of them, but not all. The 74xx family, tooo, has open collector (or open drain in the CMOS variants) outputs. The push-pull outputs in 74xx are often referred to as totem-pole outputs (due to their resemblance to such). You may have seen that expression. It means the same push-pull.

    Harald
     
  3. Raven Luni

    Raven Luni

    798
    8
    Oct 15, 2011
    Basically just meaning an input that requires a direct connection to either rail - I've seen a few datasheets that state inputs must be driven this way. They'll say something like it must be driven from a pushpull output or from a MCU pin (and seemingly refer to those as being synonymous).

    Thanks for the other info - I'll get reading that :)
     
  4. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    8,393
    1,270
    Nov 28, 2011
    Digital inputs DO generally need to be driven either low or high. That can be done by a push-pull output, which actively drives high and low, or an open-collector or open-drain output with a pullup resistor, in which case the pullup resistor pulls the output high when the transistor or MOSFET is OFF.

    You can add a pullup resistor on a bus signal if it's not being driven steadily by an output (e.g. if it's driven by tri-state outputs and it's possible that sometimes nothing will be driving it), so that it takes a known state in that condition. Any inputs that are monitoring that bus will then see a defined logic level whether or not the signal is being driven.

    Pullup resistors do not provide a quick transition to the high state, because they do not provide strong (high-current) drive. Therefore, stray (or intentional) capacitance on the bus signal will delay the rise to the high state when nothing is driving it.

    TTL is a bit different, but it's an obsolete technology. TTL signals are asymmetrical; they're part-way between push-pull and open-collector with pullup. They pull low strongly, but high only relatively weakly, because of the totem pole output stage design, which uses a common emitter switch to pull down, and a weak emitter follower to pull up. This is reflected in the TTL logic voltage thresholds, which are skewed towards 0V. Specific TTL 7400-series devices have open-collector outputs, where the top part of the totem pole is missing. TTL inputs also source current, which means they must be actively pulled down - effectively they have their own pullup resistor built-in, and they generally assume the high state if unconnected. But this is all old news; interesting only for its curiosity value.

    You asked whether a base resistor is all that's needed, so I assume you're driving discrete transistors from bus signals. If the bus signal is constantly driven by a push-pull output (and a proper one, not a TTL one), then you can monitor it with a PNP or NPN transistor with just a base series resistor. Often a second resistor is added between base and emitter to help the transistor turn off more quickly, and if speed is important you can put a small capacitor across the base series resistor. But connecting a transistor like this on a bus signal is equivalent to adding a pullup resistor (if the transistor is a PNP) or a pulldown resistor (if NPN) and it will affect the state that the signal assumes if it's not being driven.

    Capacitors on bus signals may be used to reduce reflections if the signal path is long and/or the circuitry is able to respond to very short disturbances. Normally a resistor is connected in series with the capacitor though. In many cases, a low-value series resistor at each end of a signal is enough to greatly reduce reflections. And anything that slows down the rise or fall time of the signal can cause problems, as Harald mentioned; Schmitt trigger inputs can help. Bus termination, where necessary, is a whole subject unto itself - high-speed signal integrity. For more information, google Howard Johnson or go to his web site sigcon.com; his articles and books are very clearly explained.
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-