I have a test set-up where an STM32F4 microcontroller is reading in an analogue signal and sending it to a windows PC through UART. The windows PC runs a Python script that interprets the data and saves it in a file system as .CSV. This works fine but the datalogger is limited by the ADC (12bit 2MSPS)on the STM32 and the UART speed (max data transfer seems to be approx. 14kbit/s).
I have access to an FPGA dev kit with an ADC of 14 bit and up to 65MSPS, so I want to use this to read my analogue signal. The difficulty is how to store and organise the resulting signals. My original plan was to use Raspberry Pi 4 as a SPI slave and transfer from the FPGA to the Pi through SPI and use either a python script or a C program to do the same thing as on the windows PC. After some research it is not possible to configure the Pi as a SPI slave (impossible for the pi to know when the analogue signal is captured so it can't be the master) and therefore this isn't an option.
I want to use a raspberry pi 4 to log the data as I can convert the data to .CSV easily and it will be simpler to sort and organise the thousands of files that will be generated. As the FPGA needs to be the "master" in this set-up what options do I have for transferring the generated data to the Pi? Ideally I would like a minimum transfer speed of 10mbit/s but anything faster than 1mbit/s could be considered.