Parallel data lines on PCB (track width, gap width)

Go To Last Post
12 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

On an AVR application I have connected some other parts digitally, memory with parallel address/data bus and also parts with serial peripheral interface (SPI). I am talking about signal lines with a few MBit/s (not supply paths or something like this).

I am wondering, which boundary conditions are important when rooting tracks on the PCB.
I assume that there is only a low DC current flowing (nearly 0), but due to high speed communication on the lines there is a certain AC current (driving the capacitive and inductive part of the line).

1. What is the best relation between track and gap width? 50/50?

In the boundaries the PCB manufacturer gives me, I have several possibilities to choose the track (=wire) and gap (=clearance) size.
Let's say I have a 25mil=0.635mm rooting grid.
I can choose 8mil track width, which will result in 17mil for space inbetween. (I am assuming that I have an 8bit data / 16bit address bus with a lot of lines side by side.)
Or 15mil for the track, and 10mil space.
Or 12mil for the track, and 13mil space.

Is there any need to introduce a higher wire resistance (by smaller tracks), the higher the data rate gets (e.g. to attenuate reflections)?
By this I would also reduce the crosstalk, since the gap is bigger...

Or is the bigger track the better one (lower resistance)?

2. Which via types do you prefer for such signal paths?
a) Round? (Maybe "smooth", probably less reflections)
b) Rectangular? (Lower resistance? Quality normally higher?)
c) Octagon? (Compromise between Round and Rectangular)

(Sorry, because this is more a general electronic question, but the AVR forum is the best I know! But I think the line driving capability of an AVR is an issue. Enough flattery...)

In the beginning was the Word, and the Word was with God, and the Word was God.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am not a PCB design expert, but I'll give you my input (for what it's worth). These questions are really best answered by a board house.

For these low current applications, I think a track width of 10 mils and spacing of 10 mils is sufficient. You can probably go down to 7 mils, but that's pretty close. I usually route my boards at a minimum of 20 mils between tracks.

As for the vias, I've always gone with round. Never had any problems.

It doesn't sound like a high current or high speed application. So if your layout software had defaults, they are probably fine. But again, I'm not a PCB layout guru.

What I like to do is put my designs (gerbers) through Advanced Circuit's tool at www.freedfm.com. It will analyze your design for free and let you know about any major errors. Using this tool, I've never had a problem with my boards.

Regards,
Paul

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thank you, Paul, for the hints and the link.
My PCB program has already a "Design Rule Check" included (Eagle from Cadsoft).

It was not a question what the PCB manufacturer can do without short circuits between or without discontinuity in a track.
It was a question on how you can use a higher speed, get less crosstalk, have better electro-magnetic compatibility.

Or if I have space on the PCB (which happens extremely seldom):
Should I spread the signals with a lot of distance over the board, or should I use a small 'data highway' , where the tracks are close to each other?

Or if i want to distribute the clock signal of the SPI to several devices:
Do I have to half the track width, if I branch (fork) the signal, so that the line impedance stays the same (= no reflection at branching point)?

Michael

P.S. to thread moved (realizing the the vertical scrollbar on the forum's main page): Now I know that there is a separate forum for general electronics!!!

In the beginning was the Word, and the Word was with God, and the Word was God.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Add GND lines between the data lines. Or even better: add the corresponding GND line next to each signal line (if they have their own GNDs). Works much like twisted pair cables.

Current flows forwards in the data line, backwards in the GND line and the magnetic fields around both the data and GND lines kill each other (because they have opposite directions). This way you don't get much interference/loss out of the line AND have it rather immune to interference into the line. Put the two lines as close as possible and add a little bigger gap to the next pair. I don't know dimensions though.

Hope that helps!

Markus

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Is there any need to introduce a higher wire resistance (by smaller tracks), the higher the data rate gets (e.g. to attenuate reflections)?

The difference will be way too small to make any difference. Reflections only start to become a problem at very high frequencies; or to be more accurate fast rise and fall times (the faster the change the more high frequencies). Then you need to see the track as a transmission line that needs proper termination (either series or parallel, AC or DC) when the track is longer than a certain fraction of the wavelength. That's why you see all those little resistor arrays sprinkled all over a modern PC motherboard. You also need a ground plane to act as a reference plane (strip line).

All of these things don't really apply to low speed AVRs I think. Having a seperate ground line for each line is wasting a lot of PCB real estate, better use a ground plane on the other side. You don't need to worry about reflections unless your PCB is very big with very long tracks. It all depends on rise/fall times, frequencies etc.

Via's are always round. It's the hole that counts and they are always round :) Via's do present a discontinuity, but this is only important at very high speeds.

12mil tracks on a 25mil routing grid will be fine and can be produced easily by all manufacturers. 8 mil tracks are quite thin, don't use them if not needed.

I always route with little 'highways', you don't want to have big differences in track length in related signals. At very high speeds (let's say >100MHz) you even need to make every track in a bus the same length within 50mil; on motherboards for example, you'll notice all those little sepertined tracks to accomplish this.

I don't think you need to do anything special for your SPI bus, but you could reserve some space for series resistors. These can do wonders ;) (values usually range between 10 to 100ohm).

If you need more info, google for example for signal integrity/high speed pcb design etc. There are quite a few good application notes on this.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I will second the suggestion to talk to your board house. You will be surprised by the amount of help they can provide. No one on earth has seen as many PCBs as they have. They have lots of tools to check your board for cross-talk, ringing, reflections (impedence), etc.

Go electric!
Happy electric car owner / builder

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I use Eagle as well (not that it matters much, just FYI). I like it a lot.

Anyway, if you're worried about emitted radiation from your higher speed lines, one good practice is to bury high speed lines (including clocks) in between ground planes. Granted, this adds layers to your board (and cost), but it takes care of a lot of problems associated with passing certification (if that is a concern).

To solve problems on a particularly noisy board, I used something like this:

----------- Top routing
----------- Gnd
----------- Power
----------- Gnd
----------- Noisy signals
----------- Gnd
----------- Bottom routing

This may be getting off topic, but then it may help.

Regards,
Paul

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

for me the frequency of an 8MHz AVR is close to DC.

All the suggestions already made are fine, but far from necessary.
For sure it depends on some parameters, but for a 100x160mm board you will have no problems with the capacitive and inductive coupling.

There will be some mV. But as long as all lines are digital it doesn´t matter.

I´d rather take may view to the GND plane, decoupling capacitors.
short wires and good placement.
Special care must be taken if you have any sensible analog signals around.

I also do the vias with round pads, but it really doesn´t matter at these frequencies.

On the other side it´s good to think about layout and a good design. Especially with EMV.

If you see your wires like an antenna then lambda/4 is about 10m at 8MHz.
The digital signals have overtones with higher frequencies but your wire length should be short enough.

Good luck
Klaus

My layout experience.
Not much experience in very high frequencies like GHz, but some analog and medium frequency experience.
I´ve layouted some boards for a semiconductor tester company. One board is at (former) burr-brown in arizona.
12 layers with shielded signal pairs with defined impedance. Time measurement in the picoseconds while testing a 16 bit ADC.
The whole board was about 60cm x 60 cm.
supply, opamps, long signal lines, high frequency and very sensible analog signal and a lot of noise around.

Klaus
********************************
Look at: www.megausb.de (German)
********************************

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

to Sparky:

yes, good idea, if you have for each signal a return line (like on LVDT interface or current loop). In my case I have a TTL signal sharing a common return 'line': the ground plane.

Probably I do not have to take special care of the 'high' frequencies in my case. There is also a correction multiplier for the dielectric I think:

lambda = c/f * 1/sqrt(µ_r epsilon_r)
c = 3*10^9 m/s / 16MHz
µ_r probably 1
epsilon_r = 4...6 (for FR4)

lambda = 84m (with epsilon_r=5)
lambda/4 = 21m

Yes, I am far away from the 'critical' wavelength and need no special networks. (Maybe I put an end resistor for the SPI lines...)

to Paul / Klaus
nice, if you can have 7 or 12 layers!
OK, seems to be necessary in such special applications.

to jayjay:
Yes, the vias are round. In my PCB program I can choose the kind of surrounding copper shape, i.e. how the tracks are connected to the vias. I heard that for high currents a rectangular shape is a better choice than a round one. (Maybe because of possible misalignment between drills and copper layers.)

Michael

In the beginning was the Word, and the Word was with God, and the Word was God.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For really high currents one uses multiple via's. Rule of thumb is 2A/via iirc.

Having many layers seems nice, but 6 layers full of tracks makes for a nice puzzle at times :) Especially when placing via's.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

From my limited to low freqs experience, TTL/CMOS signals better have the return line on a ground plane just on the other side of the board. Any long cut on the ground plane would induce high freq on it (on the order of hundreds of MHz), since it acts as a loop. Usually it doesn't give you any kind of problems unless you work with mV (or even uV) in the analog domain (in my case, that was thermocouples). I know because I learned it by the hard way.

Guillem.

Guillem.
"Common sense is the least common of the senses" Anonymous.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just be careful of higher charges from some pcb houses for track/spacing less than 12mils, some will go down to 8 mils, any lower and the price goes up.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly