Nutmeat
Posts: 35
Joined: Tue Oct 18, 2011 2:36 pm

Re: Lessons in PCB Design

Tue Dec 06, 2011 3:10 pm

With the release of hi-res photos of the PCB, I've become intrigued by aspects of the board design. I'd like to ask questions of anyone that's actually qualified to answer them.

The first is with regards to the four wavy traces that run directly from the SoC to the HDMI connector. Similar wavy traces run to the DSI (these being interfaces with strikingly similar purposes :P ).

What is the motivation for the wavy lines?
There have got to be several good reasons to include them.

I could only guess at the reasons without knowing more.
To which pins are these traces running?
What kind of (likely very well-tuned) signal are they carrying?

It looks like some really detailed impedance manipulation. Tell me about how you get to the wavy lines, and to how many waves those traces need to have.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 25413
Joined: Sat Jul 30, 2011 7:41 pm

Re: Lessons in PCB Design

Tue Dec 06, 2011 3:24 pm

Wavy lines are like a wavy road, it's slows down the traffic. If it wasn't slowed down it would fall out of the end of the connector, leaving a mess of electrons on the floor.

On the other hand, I'm a softie, so maybe I'm wrong.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I own the world’s worst thesaurus. Not only is it awful, it’s awful."

Neil
Posts: 98
Joined: Thu Sep 29, 2011 7:10 am
Contact: Website

Re: Lessons in PCB Design

Tue Dec 06, 2011 3:46 pm

Path length matching.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Lessons in PCB Design

Tue Dec 06, 2011 3:49 pm

The wavy lines are for differential pairs, where high-speed serial signals are sent in pairs where one signal is rising while the other is falling. Ideally you'd like the two signals to be matched all along their traces, but if you look at a pair's two source pins at the Broadcom SoC (IC2) you'll notice that one pin comes from the outer row/column of pins and the other is from the next row/column of pins. So you use the wavy line (usually called a "serpentine") to slow down the signal from the outer row/column so that the inner signal can catch up, and they can then propagate together to the destination. With GHz differential pairs, you're dealing with the magic of RF (edit: Radio Frequency) signals. High quality PC board design software takes care of a lot of this (semi)automatically.

You may also need to compensate for signal skews within the SoC package itself.

Hugh Reynolds
Posts: 61
Joined: Tue Sep 06, 2011 9:48 am

Re: Lessons in PCB Design

Tue Dec 06, 2011 3:50 pm

Those traces are "differntial pairs". Carrying a single digital 0 or 1. By using differential pairs very high frequency signalling can be acheived while staying within a power budget. The ones connected to the HDMI connector are very obvious.
The wavy tracking keeps the track lengths for each 'leg' of the differential pair as similar as possible. As signalling frequency rises the equality of the track length becomes more important to help keep the 'eye' open.
There! I've introduced: differential pair, leg and eye. So my explanation may be more confusing than helpful.
http://en.wikipedia.org/wiki/D....._signaling
http://en.wikipedia.org/wiki/Eye_pattern

eggn1n3
Posts: 106
Joined: Fri Jul 29, 2011 10:36 am

Re: Lessons in PCB Design

Tue Dec 06, 2011 4:02 pm

Great explanations! This project is really educational already ;-)

Bacan
Posts: 347
Joined: Sun Sep 25, 2011 10:03 pm

Re: Lessons in PCB Design

Tue Dec 06, 2011 4:26 pm

James - Remember why Us software types keep a Bit Bucket near our desks. To have some place to Toss away those run away Bits.
{PS Never let the Hardware Types hear that Software is not working correctly, then they will always blame us first! }

Historical point: On the early CRAY computers, a single wire was used and length trimmed to adjust the timing circuit (aka circuit clock). So, learn from that lesson, even a little bit of extra wire can make a difference.

Hugh Reynolds
Posts: 61
Joined: Tue Sep 06, 2011 9:48 am

Re: Lessons in PCB Design

Tue Dec 06, 2011 4:46 pm

@Bacan :-) Just to bore the software types.

The WIKI on differential signalling is not that good. It states:
"Suitability for use with low-voltage electronics
In the electronics industry, and particularly in portable and mobile devices, there is a continuing tendency to lower the supply voltage in order to save power and reduce unwanted emitted radiation. A low supply voltage, however, causes problems with signaling because it reduces the noise immunity. Differential signaling helps to reduce these problems because, for a given supply voltage, it gives twice the noise immunity of a single-ended system."

The last sentance of that paragraph reveals a missunderstanding by the author. Whatever the supply voltage, whatever the equipment, portable, fixed, low-power, high power, the diffential signals have a peak-to-peak of (about) 300mV. The increased noise immunity has nothing to do with the supply voltage and everything to do with the differential aspect.

One of my microelectronics lecturers once said "while a very useful software engineer may be unable to understand hardware, all hardware engineers have to understand and write software."

This project has so many possibilities to educate our future engineers and designers.

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5202
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Lessons in PCB Design

Tue Dec 06, 2011 4:47 pm

We at the Foundation have a deliberately hands-off approach to the wiki, which we want to be an entirely community-driven project. If you see something wrong there, the very best thing you can do for us is to correct it yourself; we'd be very grateful!
Director of Communications, Raspberry Pi

Hugh Reynolds
Posts: 61
Joined: Tue Sep 06, 2011 9:48 am

Re: Lessons in PCB Design

Tue Dec 06, 2011 4:50 pm

Liz, fear not:
The suspect Wiki is not the RaspberryPi Wiki but that strange Wikipedia thing.

barnaby
Posts: 76
Joined: Fri Sep 16, 2011 6:32 pm
Contact: Website

Re: Lessons in PCB Design

Tue Dec 06, 2011 6:49 pm

Ah, so the wiggles are to match path lengths. I thought they might be to increase the parasitic inductance for some reason.

Thankfully, not something I have to worry too much about on 5v boards running at 20MHz at the absolute max.

Cheers,
Barnaby

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Lessons in PCB Design

Tue Dec 06, 2011 7:08 pm

Quote from Hugh Reynolds on December 6, 2011, 16:46
One of my microelectronics lecturers once said "while a very useful software engineer may be unable to understand hardware, all hardware engineers have to understand and write software."


Unless you're an analog engineer. Specifically unless you're the late, great Robert Pease who used to say: "I don't hate computers. I loathe computers. Computers hate me."

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Lessons in PCB Design

Tue Dec 06, 2011 7:38 pm

Quote from Hugh Reynolds on December 6, 2011, 16:46
The WIKI on differential signaling is not that good. It states:
"Suitability for use with low-voltage electronics
In the electronics industry, and particularly in portable and mobile devices, there is a continuing tendency to lower the supply voltage in order to save power and reduce unwanted emitted radiation. A low supply voltage, however, causes problems with signaling because it reduces the noise immunity. Differential signaling helps to reduce these problems because, for a given supply voltage, it gives twice the noise immunity of a single-ended system."

The last sentence of that paragraph reveals a misunderstanding by the author. Whatever the supply voltage, whatever the equipment, portable, fixed, low-power, high power, the differential signals have a peak-to-peak of (about) 300mV. The increased noise immunity has nothing to do with the supply voltage and everything to do with the differential aspect.


I think the author of that Wiki is assuming that each side of the pair is using the full range of output voltage available to the driver, e,g., 0V to VCC where VCC might be 5V, 3.3V, 1.8V etc. Under that assumption, the statement is correct.

Differential signaling is used with many different voltage levels. RS-422 signals (used in AppleTalk) typically use 0 - 5V levels. RS-485 swing can be is even greater. Good old ECL uses -1.1V to -1.8V (0.7V swing). USB low and full speed have larger voltage swings than USB high speed. Generally, larger swings require more power and are slower, but have higher noise margin. So it depends on how far you want to drive.

One of the huge advantages of differential signaling is that even if the signals degrade over a long cable, as long as the receiver can tell which side is higher you'll get reliable operation. Differential receivers are usually very sensitive high-gain amplifiers so one side only has to be a few tens of mV higher to switch over. Some receivers have intentional hysteresis to provide additional noise margin.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Lessons in PCB Design

Tue Dec 06, 2011 7:42 pm

Quote from Hugh Reynolds on December 6, 2011, 16:50
Liz, fear not:
The suspect Wiki is not the RaspberryPi Wiki but that strange Wikipedia thing.

That strange Wikipedia thing :-) has a rather nice article on:

http://en.wikipedia.org/wiki/R.....spberry_Pi

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 25413
Joined: Sat Jul 30, 2011 7:41 pm

Re: Lessons in PCB Design

Tue Dec 06, 2011 9:39 pm

Quote from Hugh Reynolds on December 6, 2011, 16:46
One of my microelectronics lecturers once said "while a very useful software engineer may be unable to understand hardware, all hardware engineers have to understand and write software."


What he failed to mention is that although they have to understand it, they generally are not very good at writing it!

IME, YMMV.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I own the world’s worst thesaurus. Not only is it awful, it’s awful."

Nutmeat
Posts: 35
Joined: Tue Oct 18, 2011 2:36 pm

Re: Lessons in PCB Design

Wed Dec 07, 2011 4:56 am

Quote from johnbeetem on December 6, 2011, 19:38
...
One of the huge advantages of differential signaling is that even if the signals degrade over a long cable, as long as the receiver can tell which side is higher you'll get reliable operation. Differential receivers are usually very sensitive high-gain amplifiers so one side only has to be a few tens of mV higher to switch over. Some receivers have intentional hysteresis to provide additional noise margin.
This whole discussion has been hugely informative. The "why" is answered nicely here.

Could I summarize it as: two traces carry one bit at frequencies where signal propagation is in need of control, and lengthening a trace through a serpentine path does this in a manner that's easy enough for design software to automate.

User avatar
meltwater
Posts: 1015
Joined: Tue Oct 18, 2011 11:38 am

Re: Lessons in PCB Design

Wed Dec 07, 2011 8:35 am

Of course it doesn't factor in that the electrons have to slow down for corners! :D

I did wonder the same thing, so thanks for the info, makes sense now.

Here's a easy to answer question...on the ball-grid array of the SoC there are many pads that are missing (if assumed the chip has a full grid), I take it there are no pins in those locations, or are they just not used...

Also, I've spotted the TP1/TP2, test points. What are the FD points? FD1, FD5, FD6, FD7 on front, FD2, FD3, FD4 on the back.
______________
http://www.themagpi.com/
A Magazine for Raspberry Pi Users
Read Online or Download for Free.

My new book: goo.gl/dmVtsc

Meltwater's Pi Hardware - pihardware.com

Like the MagPi? @TheMagP1 @TheMagPiTeam

Hugh Reynolds
Posts: 61
Joined: Tue Sep 06, 2011 9:48 am

Re: Lessons in PCB Design

Wed Dec 07, 2011 9:30 am

Those missing BGA pads intrigued me too. I've never seen that done. One possible downside is the ball of solder on the bottom of the BGA would migrate, be squashed, or in some other way be persuaded to couple with either the next adjacent ball. pad or via. I guess because the solder ball is so small, as long as the vias are tented, there is very little chance of solder migration. One another thought: if the solder mask is solid under these 'unused' solder balls and thicker than the copper/gold of the pads then a slight unevenness will be introduced. I think that flatness of the mounting is very important for BGA manufacturability. I'm sure this is all understood by the 'gods' of PCB layout. Those missing pads are just something I've never seen before.
Perhaps Pete and Gert could include a reasoned explanation in their book "How a Pie of Raspberries stole 2011".

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 25413
Joined: Sat Jul 30, 2011 7:41 pm

Re: Lessons in PCB Design

Wed Dec 07, 2011 9:40 am

Although I think the BGA on the chip is full, we don't use all the output pins, I think there are problems routing them all away without going to an extra layer. Things like more GPIO etc.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I own the world’s worst thesaurus. Not only is it awful, it’s awful."

Hugh Reynolds
Posts: 61
Joined: Tue Sep 06, 2011 9:48 am

Re: Lessons in PCB Design

Wed Dec 07, 2011 10:17 am

FD - http://en.wikipedia.org/wiki/F.....ary_marker

Used by the robots to optically calibrate their alignment with the board, thereby making sure they put the components in the correct locations to within 0.1mm or so.
The programming of the robots, more correctly the pick'n'place machines, is post processed from the data supplied by the PCB layout tools the required data for each component will be X, Y and rotation. From that data the robot finds the fudicial markers, usually it will move it's camera between them to callibrate the exact position of the board. The camera is located on the same X-Y arm that carries the components so optical calibration precisely calibrates the placement tools. It is not unusual on large boards for the calibration to be re-checked at times throughout the pick'n'place operation. The video first shows calibration to a fiducial then the pick head moves backwards and forwards picking up a commponent from a tray or tape and then placing it on the PCB. Before this operation all the pads where the components are to be placed have been coated in solder paste. Usually a screen printing process is used with solder paste. Not silkscreen. The screen is a very thin stainless steel sheet. The solder paste is tacky and helps hold the component until, when all the components have been placed, the whole assembly is passed through the oven to melt the solder.

[embed][/embed]

Neil
Posts: 98
Joined: Thu Sep 29, 2011 7:10 am
Contact: Website

Re: Lessons in PCB Design

Wed Dec 07, 2011 10:31 am

Where there are no ball pads there are no balls. Someone on here James posted a photo of the underneath of a 2763. If you look closely you will see missing balls.

User avatar
meltwater
Posts: 1015
Joined: Tue Oct 18, 2011 11:38 am

Re: Lessons in PCB Design

Wed Dec 07, 2011 11:01 am

Hopefully you can find that link, would be interested to see the underside. Image searches of BGA chips, the "pins" are quite ordered (with a gap in the middle if the whole space not used). But then, that may just be the more common types of BGA packages. Would be interested in seeing the top side of the chip too to see the PoP connections as well.

This random arrangement suggested to me that they are just unused. I guess you don't want any extra solder in there than needed I suppose, the pitch is so fine it only needs a tiny clump of solder paste to mess it up or slight mis-alignment. It's impressive they've managed to get as many signals out of the BGA mass using only the 6 layers really. You can see that the back of it uses lots of capacitors for signal filtering I expect (nice and close to the "pins").

Thanks for the info on the FD pads too, unlike the other pads I guess they don't get covered in solder paste so it is easier to get a accurate alignment compared to the blobs which cover the pads.

Also from the photos you can get an idea of what a bit of dust, a finger print and the odd hair could do a production line (that PCB looks like it has been in a pocket at some point).

I saw a pick and place production line a few years ago and forgot all about the various issues and stages, for instance after the solder paste is screened on, often there is a machine there which checks that the solder paste has covered the pads correctly and detects smudges etc before you waste components (at the time that was new, probably standard now). It's a very interesting process to watch.

I think this information would be very interesting as part of the education information given to the schools, hopefully the R-Pi people will be allowed to take some photos of the production process (of the board at each stage and if allowed by the foundry some of the machines).
______________
http://www.themagpi.com/
A Magazine for Raspberry Pi Users
Read Online or Download for Free.

My new book: goo.gl/dmVtsc

Meltwater's Pi Hardware - pihardware.com

Like the MagPi? @TheMagP1 @TheMagPiTeam

User avatar
daveg
Posts: 137
Joined: Thu Dec 01, 2011 9:36 am

Re: Lessons in PCB Design

Wed Dec 07, 2011 11:27 am

A video of the entire manufacturing process would be fascinating and I'm sure would form a valuable education aid. I bet an inquisitive young mind would love to see how the R-Pi they are using to learn on was actually "born".

User avatar
meltwater
Posts: 1015
Joined: Tue Oct 18, 2011 11:38 am

Re: Lessons in PCB Design

Wed Dec 07, 2011 11:47 am

Quote from daveg on December 7, 2011, 11:27
A video of the entire manufacturing process would be fascinating and I'm sure would form a valuable education aid. I bet an inquisitive young mind would love to see how the R-Pi they are using to learn on was actually "born".
Sounds like a job for Auntie Mabel...of ~1993 era...;)
http://en.wikipedia.org/wiki/C.....me_Outside
______________
http://www.themagpi.com/
A Magazine for Raspberry Pi Users
Read Online or Download for Free.

My new book: goo.gl/dmVtsc

Meltwater's Pi Hardware - pihardware.com

Like the MagPi? @TheMagP1 @TheMagPiTeam

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5202
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Lessons in PCB Design

Wed Dec 07, 2011 12:11 pm



Also from the photos you can get an idea of what a bit of dust, a finger print and the odd hair could do a production line (that PCB looks like it has been in a pocket at some point).


It had been passed around about a hundred people as a visual aid at a talk the evening before, and although wrapped in bubble wrap, did have to suffer the degradations of being inside my handbag on the way home!
Director of Communications, Raspberry Pi

Return to “Staffroom, classroom and projects”