Hallo! Bisher habe ich immer mit SDR wie HackRf1 oder limeSDR gespielt. Auch mit einem Stm32 habe ich schon einen LW und MW Tx/Rx programmiert. Jetzt suche ich ein Zwischending zwischen STM32 und FPGA um darauf ein SDR mit höherer Bandbreite aufzubauen. ADC und DAC der 100 MSPS Klasse habe ich mir als kostenloses Muster kommen lassen. Wie schnell und genau lässt sich so ein ADC über die GPIOs eines Raspberrys 3 oder 4 im Parallelbetrieb ansprechen? Wie genau bekommt man auf diesem Rechner das Timing hin? Es müssen ja nicht die vollen 100 MSPS sein, 10, 20 reichen für den nächsten Schritt erstmal aus. Was kann man von so einem Linux SoC an erwarten?
Vergiß es, so wird das nichts. Die GPIOs sind weder schnell genug, noch ist das System echtzeitfähig. Besorg dir ein FPGA EVAL-Board und beschäftige dich mit synchronem Schaltungsdesign.
Die Zynqs von Xilinx haben Arm Core und FPGA Logic zusammen. Dann kann die Applikation die Daten zusammenstellen und der FPGA-Teil für genaues Timing sorgen. Gibt es schon für 150 Euro. https://shop.trenz-electronic.de/de/TE0726-03M-ZynqBerry-Zynq-7010-in-Raspberry-Pi-Formfaktor
PittyJ schrieb: > Xilinx haben Arm Core und FPGA Logic zusammen Red Pitaya verwendet ein Xilinx FPGA mit Arm Core. Man kann den Code erweitern oder eigen Code laden.
Thosch schrieb: > Vergiß es, so wird das nichts. > Die GPIOs sind weder schnell genug, noch ist das System echtzeitfähig. > > Besorg dir ein FPGA EVAL-Board und beschäftige dich mit synchronem > Schaltungsdesign. Die GPIOs lassen sich ja durchaus mit 50-60 MHz umschalten wie es Berichte im Netz zeigen. Das wäre also weit über den geforderten 10-20 MSPS. Für ein Linux sind ja RT Patches verfügbar, ebenso scheint es einige RTOS Implementierungen für den Pi zu geben. Sollte da wirklich nichts zu machen sein?
Du willst die GPIOs eines RPi bei 10 MSPS pollen? Da bekommst du einen Wahnsinns Jitter drauf, der die Daten IMHO unbrauchbar machen dürfte. Dass die GPIOs per DMA abgefragt werden können, wäre mir neu. I2S ist zu langsam. Ein SDR mittels RTL2832 USB Stick wie es alle PCs machen ist dir zu einfach?
2^5 schrieb: > Ein SDR mittels RTL2832 USB Stick wie es > alle PCs machen ist dir zu einfach? Damit wird die Senderichtung etwas schwierig.
2^5 schrieb: > Ein SDR mittels RTL2832 USB Stick wie es alle PCs > machen ist dir zu einfach? Der Weg ist das Ziel! Siehe Eingangspost oben, da könnt ich ja auch einfach das HackRf oder LimeSdr nehmen!
Letztendlich ist ein Pi doch auch nur ein Evalboard ähnlich eines STM32 oder ähnlich, nur ein Standardlinux macht daraus doch eine nicht vorhersagbare Sache draus. Mit FreeRTOS und Konsorten dürfte doch mehr aus dem Board rauszuhalten sein als mit einem Linux?
Keine Angst an die FPGA Fans! Habe ich später auch noch vor, aber im Moment will ich erstmal sehen was mit den ARM Boards ohne zusätzlichen FPGA zu schaffen ist
EIN ADC sollte sich doch an einem DMA betreiben lassen. Das kann ja nicht so eine Sache sein. Natuerlich nicht per Userprogramm, sondern als Hardware Treiber. Bedeutet man muss Zugriff auf den DMA Kanal haben, und irgendwo hin mit den Daten. Und dann ein Eventinterface zu den Userprogrammen. Dort ist dann halt Schluss mit Echtzeit.
Der ESP32 kann seine I2S-Schnittstelle im DMA-Betrieb ansteuern, und das mit recht hohen Taktfrequenzen. Möglicherweise lässt sich damit ja eines der Probleme des Threadstarters lösen. Ein Mensch namens "bitluni" hat damit ein analoges PAL-Signal inklusive Farbinformation erzeugt, und in einem anderen Projekt steuert er damit einen VGA-Monitor (mit reduzierter Auflösung, aber korrektem Timing) an. https://bitluni.net/esp32-color-pal https://bitluni.net/esp32-vga Vielleicht genügt das ja als Einstieg, um herauszufinden, wie man auch Daten über diese Schnittstelle empfangen kann (was beim Einsatz eines schnellen ADC relevant ist).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.