Maybe this CCD/delay-line/bucket-brigade trick can finally inspire someone to make a cheap DIY device that can sample USB3 signals, useful e.g. to check signal integrity. A missing tool in my toolbox.
I mean, I think this would be a very nice project for someone with hardware skills and some time on their hands, and it would be useful too.
This whole exercise started because I wanted to see if it's possible to add a sniffer to the memory chips of the TDS 684B so that I can use it as the analog frontend of a USB scope. It's not possible because of this CCD trick.
I've also looked at the existence of CCD memory, but it doesn't seem to be a thing anymore. I didn't find any such modern chips.
I didn't know that kind of product existed! I don't think it's useful to slow-sample a fast signal (e.g. they delay digital signals, not analog ones), but some of those chips have a BW of 1.5GHz.
> e.g. they delay digital signals, not analog ones
I think they can be used with analog signals too. After all, they are (I suppose) just a chain of transistors holding charge, like in a CCD. It is just the most efficient implementation, since doing it with logic gates will bring more overhead. EDIT: maybe not, it seems at least some of these chips have digital input/output stages. Maybe it could work if you put a very fast 8-bit ADC in front of the delay line, and used 8 delay lines, one for each bit? :)
Anyway, I have totally zero experience with these chips.
But I can imagine you clock-in the signal using a fast clock (maybe the internal clock), and then you clock-out the signal using a slow clock (slow enough for a subsequent ADC chip).
Also, perhaps you can put a bunch of these combinations in parallel to increase bandwidth, or to increase sample depth.
My motivations were similar, although for my needs the 15K buffer + GPIB is just about good enough. I am curious about the unpopulated SRAM footprints on the acquisition board though, I wonder if there's any possibility it could be upgraded to 30K.
The Thunderscope story had a comment about USB3 sampling as well. Here, you cite "check signal integrity," as a reason. I'm curious. Is USB3 signal integrity really an active area of research or troubleshooting? I would have figured this has all been well characterized and mostly solved by device manufacturers selling working USB3 components by the boat load for years now.
High-speed signals are incredibly fragile. The chips themselves are a solved problem, but you still need quite a bit of skill and experience to design a PCB for them. It's quite easy to mess up in subtle ways which look like they should work, but actually ruin your signal to the point of being completely unusable.
If you're designing a board, not being able to look at its signals is a major limitation. Is something wrong with the transmitter, receiver, cable, connector, pcb, firmware, driver? Who knows! It doesn't work, and that's all you're going to get. Have fun randomly tweaking stuff in the hope that it is magically going to work.
> I'm curious. Is USB3 signal integrity really an active area of research or troubleshooting?
Yes, but: You don’t need a general purpose realtime high bandwidth scope for verifying signal integrity.
You can use an equivalent time sampling scope (~10ksps to 100ksps) to measure the eye diagram and ensure that the received eye matches the mask specified by the spec.
The PCB is easy to screw up, so are the cables. And scopes that go that high are expensive but customers expect USB3 even on low volume low cost products so there’s definitely advantages.
There can even just be manufacturing defects the FR4 weave that mess up SI that you might want to check for as a QA step on the assembly line. For hi volume that gets slow or expensive
The ICs are a solved problem, but hobbyists like me designing their own USB3 capable PCB is a different story. Whether or not having a high BW scope would be helpful to detect signal integrity issue is not clear to me: measuring these kind of signal is an art in itself.
"Whether or not having a high BW scope would be helpful to detect signal integrity issue is not clear to me"
Indeed. Even if you have an instrument, and the skill to operate it and produced a meaningful result that reveals some problem, that doesn't spell out a solution. It may help, but high frequency is subtle.
Yes, I experienced a lot of trouble with USB3 cables, cameras, and storage devices in scientific/industrial environments where lots of data is transferred.
There seems to be no way to debug this stuff unless you are a big company that can pay large sums of money.
I mean, I think this would be a very nice project for someone with hardware skills and some time on their hands, and it would be useful too.