7
\$\begingroup\$

Previously, I've designed a PCB incorporating this ADC chip. It has a digital bus of 10 signals some of which are 40MHz.

Right now we have a four layer PCB and the ADC is connected directly to a Spartan-S6 FPGA with ~1.5" traces, running over a ground plane. The system is working well as is, despite my 0 knowledge of high-speed digital layout.

Now, however, we need to separate the ADC and FPGA into two separate PCBs. So we are going to need 10 digital signals (some 40 MHz) travelling 10". I would prefer to minimize radiation from the cable. The high-impedance ADC inputs are already shielded, but I think EMI is important to continuously consider.

Questions:

  • What type of connector/cable assembly to use? The world of connectors is overwhelming to me. Are IDC ribbon cables sufficient at 40MHz? Do I need 50-ohm transmission lines? Those fancy mini-coax ribbons? Can I use something industry standard that's pre-assembled, and won't cost a fortune?
  • Will my FPGA (and especially the ADC) even be able to drive the 10" cable? The logic is 3.3V levels. The ADC data sheet I'm pretty sure doesn't even mention drive strength. However in the timing section they specifiy 100Kohm load outputs.
  • Do I need to modify the design other than simply replacing the direct connection with a longer cable? How much do I need to know about transmission lines in order to solve this problem? For example, I've heard people talk about the termination of FPGA signals being important.

I know SE hates broad questions... but I'm still coming up in my EE education -- so far this is the most complicated thing I've worked on.

\$\endgroup\$
  • 1
    \$\begingroup\$ IDC ribbon cable was fine for IDE and SCSI at that kind of speed - that might provide an example of how to do it. \$\endgroup\$ – pjc50 Jan 26 '16 at 21:29
  • 1
    \$\begingroup\$ A good resource I use is: books.google.com/… \$\endgroup\$ – Voltage Spike Jan 26 '16 at 21:43
  • \$\begingroup\$ You might consider moving to a different ADC that uses a modern differential serial interface such as LVDS or JESD204[B]. That would be easy to handle with an FPGA, and makes your life much easier from an EMI/RFI perspective. \$\endgroup\$ – pericynthion Aug 5 '17 at 21:31
4
\$\begingroup\$

40 MHz corresponds to a wavelength of 7.5 meters. So long as you limit your driving rise and fall time to avoid exciting high harmonics, you should be able to transmit over 10 inches (~25 cm) without thinking too much about transmission lines and controlled impedance.

Are IDC ribbon cables sufficient at 40MHz?

For this distance, I'd say yes. Provide as many ground lines as you can afford to to avoid cross-talk between lanes and reduce radiation and interference.

Will my FPGA (and especially the ADC) even be able to drive the 10" cable?

You can work out the capacitance of the line and check it against the FPGA datasheet to see.

Or you can just buffer with a 74LVC244 or other logic buffer part and you'll be good. I would provide a location for a series resistor at each output to allow you to increase the rise and fall times if needed.

However in the timing section they specifiy 100Kohm load outputs.

In this case (for the ADC outputs), buffering is probably a good idea.

\$\endgroup\$
  • \$\begingroup\$ Thank you! The capacitance of the line refers to the pF/ft (or equivalent)? Or is it the capacitance to ground? What is the corresponding figure to check in the FPGA datasheet? \$\endgroup\$ – Keegan Jay Jan 26 '16 at 22:59
  • \$\begingroup\$ Consider both sources of load capacitance. In the FPGA datasheet see what capacitive load they specify for the logic standard you want to use. \$\endgroup\$ – The Photon Jan 26 '16 at 23:01
  • 1
    \$\begingroup\$ Buffering the ADC is a very good idea in this case to keep the ADC's AGND and AVcc from being used as drive references! \$\endgroup\$ – ThreePhaseEel Jan 26 '16 at 23:38
  • 1
    \$\begingroup\$ It has a separate DVDD, but AGND and DGND are the same plane (as suggested by the datasheet). How does buffering prevent GND from being used as a drive reference? Everything is referenced to GND. \$\endgroup\$ – Keegan Jay Jan 27 '16 at 0:43
  • 1
    \$\begingroup\$ Exactly what's the best way to do it depends on details you haven't shared. It can't have a totally separate ground because then the signals from the ADC to the buffers wouldn't work. But it should be connected so that return currents from the buffers don't couple into the ADC. \$\endgroup\$ – The Photon Jan 27 '16 at 20:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.