Page 126 - The Art of Designing Embedded Systems
P. 126

Hardware Musings  1 13


                         Be conservative in your designs, especially when a conservative ap-
                    proach has no downside. If any input must be zero all of the time, simply
                    tie it to ground and never again worry about it. I think folks are so used to
                    adding  pull-ups  all  over  their  boards  that  they  design  in  pull-downs
                    through the force of habit.
                         Once in a while the logic may indeed need a pull-down to deal with
                    unusual YO bits. Try to come up with a better design.
                         (The only exception is when you plan to use automatic test equip-
                    ment to diagnose board faults. ATE gear injects signals into each node, so
                    you’ll often need to use a resistor pull-down in place of a ground. Use a
                    small-really  small, like 220 ohms-value.)
                         Though pull-downs  are  always problematic, well-designed  boards
                    use plenty of pull-up resistors-some  to bias unused inputs, others to deal
                    with signals and busses that tristate, and some to put switches and other in-
                    puts into known one states.
                         The biggest problem with pull-ups is using values that are too low. A
                    lOOk pull-up will in fact bias that CMOS gate properly, but creates a cir-
                    cuit with a terribly high impedance. Why not change to 10k? You buy an
                    order of magnitude improvement  in impedance and noise immunity, yet
                    typically use no additional current since the gate requires only microamps
                    of bias.
                         Vcc from a decent power supply is essentially a low-impedance con-
                    nection to ground. Connect a lOOk pull-up to a CMOS gate and the input is
                    lOOk away from ground, power, and everything else-you  can overcome a
                    lOOk resistance by touching the net with a finger. A  10k resistor will over-
                    power any sort of leakage created by fingers, humidity, and other effects.
                         Besides, that low-impedance connection will maintain a proper state
                    no matter what tools you use. In the case of NMI from the example above,
                    the tools weakly pulled NMI high so they could run standalone (without
                    the target); the 47k resistor was too high a value to overcome this slight
                    amount of bias.
                         If you are pulling up a signal from off-board, by all means use a very
                    low value of resistance. The pull-up can act as a termination as well as a
                    provider of a logic one, but the characteristic impedance of any cable is
                    usually on the order of hundreds of ohms. A  lOOk pull-up is just too high
                    to provide any sort of termination, leaving the input subject to cross cou-
                    pling and noise from other sources. A lk resistor will help eliminate tran-
                    sients and crosstalk.
                         Remember that you may not have a good idea what the capacitance
                    of the wiring and other connections will be. A strong pull-up will reduce
                    capacitive time constant effects.
   121   122   123   124   125   126   127   128   129   130   131