Hello,
i am in the need to capture around 10 seconds (ok, 5 to 8 seconds would also be enough) with 25 MSamples / s. Each sample should be 4 to 8 digital lines. It would be nice if i can use an external clock.
But how to do this ? The amount of data for 10s * 25 MSamples / s * 1 Byte =
250 MByte. So it is not a small amount !?!So at the moment i have 3 ideas to solve this:
1) FPGA with SRAM: SRAM in this size is expensive.2) FPGA with DRAM. I think i saw a page where a DRAM was connected to an AVR. AVR can handle only static RAM. But i think i need an dram memory controller for doing the refresh. Are there ready to use chips or programmed CPLD's or FPGA solutions which can do this ? So i can put a second FPGA (or even the same) to collect the data very fast and i read them out via PC in a slow way.
3) I found digitial IO card with PCI interface. But usually they are using io access, to the bandwidth is very limited (don't reach the 25 MByte/s). Are there faster memory accessable IO card, which can transfer 25 MBytes/s into pc memory ? I think i must forget the external clock, because PC is not synchronitzed to external clock... Are there much faster ones ? E.g. with 50 MHz ?4) Another new idea: Do you think it is possible to add a own build memory module (DIMM), but instead of memory modules, add own circutry to external world. I think then you can do some kind of memcpy from one module the real main memory. Found a news article where such an idea was realized to connect an FPGA to a PC and do crypt algorithms. But they used a modified linux, because OS isn't allowed to use the memory area.
5) USB 2.0 (high speed) board, but i think also there it is very difficult to reach / sample with 25 MByte/s...What do you think about this ? Any other solutions ?
Regards,
Martin