I have a problem that might be related to crosstalk and SSO noise. I have one chip installed on two different boards. One is on an ATX form factor, and the other is on a Baby-AT format. The ATX one has more real estate so the minimum trace clearance and maximum trace length is better maintained, but for the AT board, this is not the case--the clearance is shrunk and the length is longer.
As a result, the AT board is not that stable. We will have it laid-out again, but since it is a good chance to learn something from this board, I did some investigations on it, and I have identified several worst case signals, which have longer PCB trace and worse I/O pad grouping. Here are the steps I took to identify the cause of the glitch-- am I doing it right? Is there anything else I should be aware of? Although there are lots of books that talk about theories of crosstalk and SSO noise, few mention detailed ways to identify and discriminate amongst them. Here are the steps I took:
- I chose three signal traces that were adjacent to each other, then I measured the glitch on the middle line (both far and near end) [when the others were active]. I recorded the peak value as well as the waveform shape of the glitch. In fact, there are several shapes, which might be generated by far-end or near-end crosstalk (for rising and falling edges) and propagated SSO or mixture.
- I built a similar environment in QUAD/XTK and ran the simulation. I recorded the waveform.
Then I did a comparison between the datum I got. I found some of the measured glitches were similar to the waveforms I saw in the simulation, and some glitches have different waveforms.
I suspect that [the difference between my measurements and simulations] is SSO noise.
I [am working the assumption that] SSO noise and far-end noise would have a combinatorial effect, [and also that] SSO noise needs time to propagate to the far-end. The same is true for far-end crosstalk. [Here are my conclusions.]
- For the waveforms that are similar [between measurements and] simulations, they come from crosstalk.
- For those waveforms that are different from the simulation, they are SSO noise, or maybe they are a mixture.
- The near-end and far-end crosstalk noise have opposite values--I mean one would be positive while another is negative if I show them on the same scope (though some skew between them might be observed). I saw the same in the simulation.
- The near-end SSO and far-end SSO have agreeing values--I mean one would be positive while the other is also positive and vice versa. This is the same with what I saw with Hspice. Though some transmission line effects need to be implemented while trying to explain the waveform.
Are my conclusions correct? I would be more than happy to see your suggestions or comments.
Thanks for your interest in high-speed digital design.
What you need is a simple experiment that will separate the effects of SSN (simultaneous switching noise) from crosstalk on the middle trace. Here's a general procedure you can use in these situations. Cut the middle trace at both ends. Wire the driver to the load using coaxial cable -- this will simulate the correct trace impedance far better than the wire-wrap wire you have used, and give more predictable and understandable results. Also, it won't pick up additional crosstalk. The correct type of coax to use is either RG-174 (0.1-inch diameter, very thin, easy to work with), or the even tinier 0.05-inch diameter foil- shield coax (try BRINTEX and others).
The 0.05-inch coax is easier to rework into the board. It's center conductor looks like a wire-wrap wire. The shield is a foil wrap, which contains a 28-gauge drain wire (in contact with the foil). The drain wire connects to ground at both ends. Tiny coax like this is available is either 50-ohm or 75- ohm varieties. Choose the style that most closely matches your PCB trace impedance. Now you've got a new trace, isolated from the board, with no crosstalk, that should clearly display the SSN and ringing.
By the way, this is an excellent rework technique for boards that have crosstalk problems.
For the crosstalk measurement, we will now work with the "dead" section of the middle trace that has been cut at both ends.
Ground the driver end of this trace (this simulates a driver that is always in the low state). Measure crosstalk picked up at the far end. You must ground the transmitting end of this trace to get the correct answer.
When you make the measurement, first touch your probe to ground near the measurement point to establish the 'noise floor' of your probe. Then you look at the crosstalk to see if the resulting signal is bigger than the noise floor of your probe. If the noise floor is too high, try shrinking the length of the ground wire on your probe (or ground the tip of the probe to the board with a knife-edge, or one of those short spring- finger type probe ground attachments).