I found numerous nice ADC with high sampling frequencies above 100 MHz,
I need to interface the ADC output to FPGA board that supports I2C protocol with a maximum fsclk of 400 kHz.
I am thinking that the ADC will be slowed due to the I2C as buttle neck and I wander how the I2C will push the data before the next sampling is coming, in the same time sampling frequency is far bigger than I2C frequency.
One possibility I am thinking that I2C will have a stack memory to store the data to be pushed sequentially, if it is true this mean it is not possible to implement real time DSP with series protocols.
I need you help to clear me this concept and thank you very much in advance
High speed ADC and I2C interface contradcit.
400kHz is the usual I2C SCK frequency. But there are faster I2C standards. I think up to 3.4MHz. But I´m not sure.
Back to 400kHz.
The I2C needs some overhead. So I think you can´t transmit more than 10kSample/s via I2C.
I2C simply was not designed for those applications.
I wonder how/where you have seen something around 100MHz in combination with an I2C ADC.
I can only imagine that you talk about a dual slope ADC or a delta-sigma ADC. Both talk about a high sampling rate but the data rate is much lower than the sampling rate.
It´s not unusual to have a 256 times higher sampling rate than data rate on a delta sigma ADC.
There are even 1024 or 2048 ratios.
****
If you want high speed, then go for parallel interface. Or LVDS interface.
Mind that LVDS is just the physical layer. There are LVDS parallel interfaces and LVDS serial interfaces.
Thank you very much for your nice explanation, as I see that you agree with me that "High speed ADC and I2C interface contradict", as Klaus stated.
here is one example of ADC with sampling rate of 125 MSPS, but as Fvm mentioned, might be the I2C is used for the control, not for the data transmitting, I believe it the point where probably I get confused, but it is good to discuss it with you
If you more rely on a distributor search than on the datasheet ... then you should ask Mouser how they come to the conclusion "I2C". I can not answer this.
The interface is SPI not I2C, apparently the website author didn't read the datasheet thoroughly.
Within the scope of this thread, the difference isn't important I think, the ADC has a slow auxiliary interface for configuration purposes, it can e.g. activate a test pattern on the LVDS outputs, rather useful when you setup the interface. I believe to have seen I2C configuration interface on a different ADC, but don't remember what it was.
Thank you friends for your help and nice discussion,
Yes indeed I have been misled by the Mouser filter, the actual data sheet is different. As Fvm said the difference is not that big, althaugh SPI is much faster than I2C but can not save the speed of 125 MSPS in addition to the high bit resolution which makes it more difficult to push the data fast. So I will follow your suggesion and look only for a parallel interface for high-speed data throughput at high sampling rate beyond the capability of the serial protocols. Also the high speed LVDS protocol can be still considered for this purpose.
the math is quite simple: (I guess you have done this before)
125M/Samples/s times 4 channels times 16 bit = 8000 Mbits/s or 8GBits/s
(16 bits because the serial interfaces usually go with 8 bits, 16 bits...)
Also:
* I2C standard specifies the speed.
* SPI does not specify a speed.
While on a I2C bus the slowest member decides the max. clock speed...
... on SPI you may choose a different speed for each partner. Fast spped for fast partners, slow spped for slow partners.
SPI also does not define the voltage levels and driver timing, thus you may use an LVDS interface and run high speed SPI signals on them.