-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Series Termination Noise Emission #76
Comments
@gkasprow Have you got any concrete ideas how the noise would be coupling over such large distances? @hartytp The easiest fix would be to drop the series termination. However that would leave us unable to kill the parallel termination cross-talk. Otherwise, we might be able to eliminate this if we add some more layers and find a better place for the series termination. |
So this table is looking at the output of channel 8 while repeatedly setting one other channel to -9V5, right? |
@pathfinder49 good work on this. There are two relatively quick tests we should do to verify your hypothesis before we start thinking about a fix. To save time, let's pick just one channel that has significant cross-talk to channel 8 and work on that.
I'd guess that the answer is that there is a voltage drop across the resistor (due to the current flow) which means there must be a sizable e-field inside, which can couple capacitively to nearby traces. Once we verify with certainty that the termination resistors are the source of the issue we can look at potential fixes in the layout. I guess that ideally we'd have the FPGA inside a screening can but that likely won't fit (can we make Fastino a bit longer without breaking CPICs compatibility?). What do you think @gkasprow ? |
@gkasprow I'm sure we had a discussion about series/parallel termination, but I can't find the issue right now. Can you remind me why we ended up with both populated in this revision? Was that an oversight? @pathfinder49 can you also remind me how bad the parallel-termination spurs are? If there isn't an easy layout fix to the series termination spurs (without reducing the channel count) we should consider making the decision to just live with the parallel termination spurs if they are sufficiently small... |
series termination does not create such return current as parallel does. Essentially series termination eats up half of the signal amplitude, then the signal propagates and bounces back from open-end, inverts its phase and this way recreates valid signal amplitude. It is fragile to the load - the higher the capacitance, the worse the signal inversion and the amplitude reconstruction. if the capacitance is too high and the line shorter than signal rise time, the RC filter starts dominating over the long line behavior. |
The only large spurs I've seen are related to the series termination. The remaining spurs are all around -80 dBmV. |
what do you mean by related? You observe them in proximity of serial termination resistors? |
I should have expressed myself more clearly. All spurs that I have seen which are not approximately -80 dBmV are listed in the table at the top of this thread. |
De-soldering the parallel termination capacitors makes no difference. I've measured the digital crosstalk with both the ch8 and ch28 parallel termination de-soldered an the cros-stalk is unchanged (-61 dBmV). Re-soldering the parallel termination capacitors for ch28 and replacing the series termination with a short also doesn't change the cross-talk (-60 dBmV). Replacing the series thermination fo ch28 with an open circuit, eliminates the cross-talk. Edit: I have performed a complimentary measurement on channel 30. Channel 30 has the FPGA side series termination vias closer to channel 8. For the open circuit measurement, the ch30->ch8 digital to analogue crosstalk spur is reduced in amplitude, but still measurable. |
@gkasprow Is it plausible that the vias around the series termination produce the cross-talk by inductive coupling? Only eliminating the digital trace currents seems to give a significant reduction in cross-talk. I find it quite unlikely that the trace routing after the series termination is at fault. The routing is identical for channels not experiencing cross-talk. |
You can route the signal above the board using a piece of thin wire and then see if that helps
|
I would speculate the following:
|
I'm fairly confident blaming this on the series termination vias. This will need fixing in a new revision. I can think of two ways forward. @gkasprow please chip in if you can think of other good options.
Points to ConsiderOn the whole, digital crosstalk on V1.1 looks much improved. I'm aware of two digital crosstlak patterns on V1.1.
|
@gkasprow to be clear, the spurs in @pathfinder49's data are not due to jitter in the signals. He is updating one channel and looking at a different channel (which isn't updating). The cross-talk he sees is from the clock line on the channel that updates to the output of the channel that doesn't update. This only happens for the couple of channels that are physically located close to the termination resistors, so it seems to be a layout issue (maybe more via couplings). |
To be clear: the issue is that there is quite a large cross-coupling between the various digital lines and the output of channel 8. This appears to be because of the proximity of that channel to the digital signal routing. I don't think that the termination resistors are directly responsible however, adding them forced us to place extra vias and traces and I suspect those are what causes the issue (e.g. via-trace coupling). See below |
@gkasprow so the conclusion seems to be this (@pathfinder49 correct me if I'm wrong):
@gkasprow can you see any way of doing this easily? AFAICT (but @gkasprow please correct me if I'm wrong!) there isn't any real way of improving the layout with either:
what do you think @gkasprow ? |
In an ideal world we would remove the parallel termination. Even if it doesn't kill all the spurs, it does improve the spectral purity of the outputs. And, as always, it's hard to track down the causes of spurs when there are multiple sources. Removing the spurs we understand would make it easier to understand the remaining spurs in a future release if we wanted to. Having said that, -80dBmV is acceptable so if comes down to a choice between having a couple of channels with really bad channels or living with the parallel-termination spurs then I'd vote to keep the parallel termination. Either way, let's wait to see what @gkasprow thinks about the layout before making a decision. good work on this! |
I haven't done a complete measurement of the impacted channels. I've measured:
I suspect channels 1, 3, 5 and 7 are also impacted. I'd expect all of these to be less bad than ch8. (The colsest series termination to these channels is on the bottom of the board.) |
okay, so it's the cluster of channels closest to the FPGA which have pretty serious digital cross-talk. That's not surprising... I do wonder if removing the series termination resistors will allow us to buy ourselves enough space to fix this or whether we need to look at something more drastic like lengthening the board and pulling the FPGA back/adding another layer (@gkasprow ) |
anyway, the good thing is that this design revision seems to be a strict improvement on the previous even if it doesn't fix all issues. (and, again, by removing a lot of spurs it makes it easier to drill down on the remaining ones) |
I believe the issue has very little to do with proximity to the FPGA.
Removing the series termination (vias) should eliminate the machanism of this coupling. The distance to the FPGA should be fine. |
Yes, you're right, sorry! What I meant was the cluster of vias around the series terminations, which are located close to the FPGA, (not the FPGA itself). If we remove the series termination then we can presumably make this better. So our options are to do that and hope this all goes away; to move the FPGA to give ourselves more room; or something else along those lines. |
Let's first exclude other possible reasons. |
@pathfinder49 are you toggling the digital lines of all DACs simultaneously or only of neighbouring DACs? |
I have one crazy idea. Is there an option to run the design with a completely different clock and see if we still observe the issue with channel 8? It can be 1.8MHz or so. |
I'm looking carefully at the differences between channels What we are observing is 2.5MHz spurs. The signal that has this frequency is NSS. This theory can be verified by switching of the NSS25. One can also remove C143_8 and see if the effect gets much worse. |
How are you refering to the channels? I'm refering to them by the label printed on the board (0-31). The Altium model labels the channels (1-32). The problematic "channel 8" is the one with the long side directly facing the FPGA and series termination. This has deffinitly confused me quite a few times 😅
I am toggling the digital lines of only a single channel. I then look which (if any) channels aquire a digital spur in the analogue output. This crosstalk is not between neighbouring DACs. An example: |
Assuming you are using the Altium numbering scheme, this is what I meant by this statement:
When only the digital traces of channel 28 (channel 29 in Altium) are toggling, none of these channels except channel 8 (channel 9 in Altium) aquire a digital spur in their analogue output.
To me, the above point suggests this is not the digital traces coupling to analogue vias.
All toggling digital traces should have a ~2.5 MHz component. They repeat a fixed pattern at 2.5 MHz. (I've verified this by sticking the spectrum analyser onto the digital test-points) |
I suspect we've gotten our channel conventions mixed up. Happy to answer the rest of your questions if I'm missinterpreting 😄 |
Oh I forgot to say earlier, the configuration is as follows:
|
I'm refering to Altium channel numbering |
@pathfinder49 Did you observe such issues on more than one board? |
So far, I've only checked one board. |
@pathfinder49 Do you have another board to verify your finding? |
I have a total of 3 boards in the lab. I'll take a look at the others on
Monday.
…On Sat, 29 Aug 2020, 10:19 Greg Kasprowicz, ***@***.***> wrote:
@pathfinder49 <https://github.com/pathfinder49> Do you have another board
to verify your finding?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#76 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADNCDOO5WMEYHM72P2E3HE3SDDB3DANCNFSM4QLD2CKQ>
.
|
@pathfinder49 thanks! I'm willing to bet (beer?) that the issue will be the same on all boards, but worth checking. @gkasprow given @pathfinder49's observations (and assuming the issue is the same on all boards) I don't see any way this can be anything other than coupling from the vias on the digital lines to the analog outputs. So, it does seem to me that we need to move those digital vias (associated with the termination resistors) away form the analog parts. Do you agree? |
Yes, but before we do that, let's disconnect this particular trace segment by cutting the wire close to DAC and replacing it with a piece of magnet wire. |
So you'd like to cut one of the NSS lines in two places: as close to the FPGA as possible and as close to the DAC as possible and then replace the trace with a piece of magnet wire that's routed as far from channel 8 as possible? That's going to be very tricky (impossible?) since traces are all routed on internal layers and only surface at the series termination pads. If we attach the air wire at the series termination pad then I don't think it will help: we're replacing a small antenna (the via) with a larger one (the air wire) anchored to the exact same spot in the PCB. Worse, we wouldn't even be disconnecting the original via (since we need that to bring the signal to the top layer), so AFAICT this can only make things worse. Could you post an image of the layout with a sketch of exactly what change you suggest we make? |
I believe the closest thing I can easily do was this. |
The termination resistor is on the top layer, the DAC is also on the top layer. If we cut the trace close to the DAC and solder wire directly to the DAC pad (and later to the vertically placed termination resistor), it would be possible and eliminate the internal trace segment with problematic via. |
Making further measurements with the ch28 air wires, I now believe the air wire crosstalk is dominated by wire radiation. (Suggested by @hartytp)
@gkasprow we'd need to find another way to perform your measurement. |
I have done digital to analogue crosstalk checks on the other two Fastino V1.1 boards I have in the lab. These all behave the same. |
I have repeated this measurement with channel 30->ch8 crosstalk (31->9 in Altium). The behavior here is similar to that seen before.
One of the differences between this termination and the ch28 series termination is that the FPGA side vias of the ch30 series termination are also close to channel 8. This measurement is consistent with capacitive coupling from the vias. In particular, the difference in the open circuit behavior between the ch28 and ch30 measurement is of interest. For reference, here is the schematic for the region of interest. |
I think there is very little we can do except not have digital vias near analogue circuitry. Closing in favor of a discussion whether to remove the series termination or more significantly rework Fastino. |
OK, all the time I was referring to CH8 according to Altium numbering and you were referring to ARTIQ numbering |
Summary
I've investigated unexpected digital cross-talk in V1.1. This leads me to conclude that the series termination injects significant noise into adjacent traces.
Observations
For the majority of channels I looked at, the digital cross-talk is significantly improved. In particular, the new digital trace routing and channel layout seem to have resolved the cross-talk from digital traces passing near channels.
Channels with series termination in the vicinity of analogue traces give cross-talk
Channel 8 is close to the series termination of many channels. Each of these channels exhibits significant digital cross-talk to channel 8.
The table below lists channels and the observed 2.55 MHz digital cross-talk spur.
Overall, the spur intensity scales with the distance of the series termination to the analogue traces rather than the digital trace distance to vias.
Channel 8 seems to be the worst case scenario. Ch11 also has some terminations near the DAC. However, these only result much weaker spurs.
The spurs are:
Identical trace routing away from the series termination does not lead to cross-talk.
The routing of the ch28 digital traces through channels 8, 11, 14, 17 and 20 is identical. However, a spur is only seen in channel 8
Series termination radiated emissions
Connecting a sniffer coil to the spectum analyser, I can detect 2.55 MHz radiation that appears to be coming from the series termination rather than the FPGA.
Conclusion
The series termination appears to cause significant emissions over distances upto 1 cm. It is unclear to me what the mechanism for these emsisions is.
The text was updated successfully, but these errors were encountered: