From: Joseph Legris
X-Mailer: Mozilla 4.77 [en]C-SYMPA (Win95; U)
Subject: Re: Grounding advice
Date: Fri, 04 Oct 2002 18:51:06 -0400
NNTP-Posting-Date: Fri, 04 Oct 2002 18:45:13 EDT
Organization: Bell Sympatico
Ryan Gammon wrote:
> Hello folks,
> I have an avr microcontroller evaluation board connected to a board that
> I've soldered together on a piece of perfboard.
> The perfboard has a xilinx cpld, some sram, a couple of 74hc chips, and
> a 7805 5V regulator.
> I have the cpld configured as a glorified bidirectional shift register,
> controlled by the microcontroller. It has 20 outputs, and is set to use
> a "slow" slew rate. I'm finding that the cpld seems to be occasionally
> receiving extra clock pulses. If I put a voltmeter between one of the
> cpld outputs and gnd, everything seems to work.
> Unfortunately, I don't have an oscilloscope, but I'm guessing this has
> something to do with the way I have ground and power wired up.
> I have two questions:
> 1. Two regulators:
> I have the microcontroller board running off one wall wart supply, and
> my perfboard board running off another. I figure this is ok - the
> tolerance on the regulator's are 5V +/- 0.25 V, and my ic's can take i/o
> voltages up to VCC+0.5V. The transformers in the wall warts should
> isolate my regulators from my house's power (if it didn't, I could get
> large ground loop currents flowing, depending on how the outlets are
> wired, right?)
> Does this logic make any sense?
> 2. Ground loops and "star" grounding
> On my perfboard board, I have everything wired in a star pattern -- all
> the VCC's and GND's run back to two points on the board. My theory here
> is that if several pins on an IC switch, and if the resulting current
> creates ground bounce, other chips on the board should be less affected.
> I am now faced with connecting the ground on my perfboard board to the
> ground on the microcontroller board. There are three ways I can think of
> doing this:
> 1. Connect the grounds of the outputs of the wallwart supplys together
> 2. The microcontroller board has a number of i/o pin headers which
> consist of 8 i/o pins and a VCC and GND pin. There are also two
> dedicated GND header pins on the board. I could connect _one_ of the GND
> pins to the GND on my perfboard.
> 3. I could connect all the header GND's and the wallwart gnd's together,
> abandoning the whole "star pattern" grounding theory.
> And of course there's:
> 4. Power it all off one regulator
> IMO, #1 seems like the best idea to me.
> #2 seems more risky -- the traces running to the header are kinda long
> and skinny, and I'm worried about the inductance.
> I was taught that #3 is bad, but I have a hard time justify why, beyond
> my "it somewhat isolates ic's from the effects of ground
> bounce/inductive spikes" theory.
> #4's a good idea, but I don't want to blow the regulator on the
> microcontroller board if I short something on the perfboard.
> I've tried all of the above with wirewrap wire (no luck), and am
> experimenting with thicker gauges of wire, but without an oscilloscope,
> it's hard to determine whether I'm making things better or worse.
> Thanks for any suggestions or comments on any of the above!
This sounds like a timing problem - the capacitance of the voltmeter is
slowing the output transition just enough for the data to be clocked
into wherever it is going. Where is it going anyway?
Of course, you may also have a bad ground, but if the boards are close
together and the wires are short (say 3 inches long) just connect the
grounds of the boards together near the voltage regulators and pretend
it is one big board.