I expected the digital bandwidth to be higher than the analogue bandwidth but it seems to be the other way around - the analogue inputs can show signals that don’t even register on the digital inputs. Once I go above 1Mhz (approx) the digital signals totally disappear.
eg. Here’s a 2MHz square wave on A and C.
On A there’s a ringy square wave (I have no problem with that)
On C there’s … nothing at all!
Is it a problem with my quad? What’s a realistic digital bandwidth?
It’s because of bad choice of ESD diodes on the digital inputs. They have too much capacitance and don’t really even limit the voltages.
There are suggestions for replacement diodes on these forums.
Myself I’ve been thinking about just taking those diodes out. They are 5V diodes, while the FPGA internally limits at 3.3V - therefore it should work just the same without the diodes and have much better digital bandwidth. But I haven’t tried it yet so it’s anyones own risk.
Currently digital channels have worse bandwidth than analog channels. Analog channels can show USB full-speed (12MHz) but digitals can not.
That sucks. They’re surface mount, too. Tricky for me to replace, even if we decide on a suitable replacement.
(I assume we’re talking about D5 in this image…)
The FPGA has internal diodes or the FPGA is 3.3V and we’re hitting it with 5V?
Is there a suitable non-surface-mount (ie. easy to solder) diode I could put across the input connector for ESD protection? That way I could remove the internal one…
If not I might think about removing it. I’m not a very ESD-prone person (touch wood) and the contacts on the quad/probe are reasonably hard to touch in normal use.
Ok, in a fit of madness I took the Quad apart and detached the leg of the diode which goes to ground. I bent the diode up a teeny bit to break the contact, the other two legs are still attached. I figured it would be easy to push it back down again if the experiment failed.
(Is that the sound of Electrical Engineers crying?)
Here’s a screenshot of the same 2MHz square wave as before but without the diode:
As you can see the digital input now works a zillion times better.
I guess the next step is to remove it completely and look for a replacement ASAP. I think I can probably manage to solder a new one in place, it’s not that tiny.
The FPGA seems to have internal diodes to the 2.8V voltage rail. They limit at 3V, so the 5V ESD diode does not do much.
My concern is mostly >3V input voltages on the digital pins. The FPGA’s diodes should be adequate to limit that. I’m not sure about ESD, but as you said, it’s less likely to occur.
Just an update: I took my diode completely out and I’m sooooooo happy with the result! It now displays pretty much anything my Arduino can put out, no problem. I’ve been using it all day to debug/optimize a program to drive a TLC5940 and it’s brilliant! I couldn’t have done it with the diode in place…