Tool/software:
Hi,
We are working on a project that uses three ADC's that are at a slightly remote (10 inches) distance to a microcontroller. Therefore we are planning to use LVDS as in: https://www.ti.com/lit/ug/tidued8/tidued8.pdf
We need around 14bits sampling @ 2Msps, so around 30MHz SPI clock seems to be enough.
The thing is, most application boards including TI's PHI board contains an FPGA. Since there are 0.5GHz microcontrollers accessible nowadays, is an FPGA a must?
As long as the clocks are synced, it is ok for us to be near-real time. i.e. we can do processing after some acquisition, even a dual core microprocessor can be an option but we don't seem to have much time for FPGA development.
Any comments will be appreciated, thanks.
Hi engiz,
An FPGA isn't necessary at these speeds. The reason an FPGA is used with our evaluation modules is because it simplifies the development effort and provides flexibility on our end, but it is by no means the most optimal or only controller choice.
At 2MSPS, you would be looking at a 48MHz SCLK frequency, considering that a 60MHz SCLK gets you 2.5MSPS.
The main concern with digital communications at longer distances is the propagation delay from ADC data out to the MCU. At a 48MHz clock frequency, each clock cycle is ~20.83ns long. I'm working on trying to do the math on whether this is feasible, since there will likely be a couple of nanoseconds in propagation delay.
Do you have any more information on your specific application, and what the nature of your analog inputs are to require 2MSPS sampling? If the sampling speed is able to be reduced, you'll be able to get away with longer traces for your digital lines more easily. It would also be helpful to know what copper weight you'll be using for the PCB, and the trace width. I'll work on getting more concrete figures for you.
Regards,
Joel
Thanks for the prompt reply Joel.
The thing is, we will be sampling signals from high speed APD's TIA's that will be at a distance from our main board. This distance is around 10 inches, we may use FPC cables for LVDS (signal-ground-signal-ground-signal-ground... configuration). We may reduce the speed a bit, but I don't think it would be some order of magnitude.
And one more thing, as long as our ADC's are synchronized (same clock etc), propagation delay may not be a problem because we are actually comparing them, counting clocks etc.
Parallel ADC is also an option (i.e. ADS7882) again, more lines at lower speed (2MHz) but not sure about how fast we can read the GPIO's (say if we use TIVA M4 or C2000).
Hi engiz,
I'm basing myself off of the document that I've attached below. Roughly speaking, the FPC cables at a worst case have a dielectric constant of 4.0, and as the dielectric constant goes up, so does the propagation delay. Propagation delay goes up proportionally with length. So a 10 inch cable might have at worst a 1.5ns propagation delay. This might not be bad enough so that you're getting SDO data back on the wrong edge of SCLK, but it is important for signal integrity reasons, and it needs to be treated as a transmission line.
With good layout and termination techniques, I think that you should be able to make this work. I recommend looking at the document closely. It goes over the reflection issues you might see, and good practice on mitigating them. Some design specific parameters such as signal rise and fall times will largely depend on your MCU choice or after measuring your implementation.
Let me know if this document helps, or if I can provide any other design resources.
Regards,
Joel
Joel thanks, this is very informative.
Meanwhile, we have evaluated the specs and it seems we can make the lines shorter (maybe down to 2 inches). We can even go with coaxial cables for the signal since our distances can be shorter now.
It boils down to the processors ability, because we are still concerned whether a microprocessor without an FPGA will be enough to process 3 channels at the aforementioned rates. But in light of your comments and some further discussion/discussion, I think we will try with some beefy microcontroller first.
Many thanks again, regards.
I'm excited to find out how it turns out! Hope to hear updates from you soon.
Regards,
Joel