HF DAC an Raspberry

Gast #5921123
Lesenswert?

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?
Gast #5922079
Lesenswert?

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?
Gast #5922087
Lesenswert?

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?
Gast #5922096
Lesenswert?

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?
Gast #5922322
Lesenswert?

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.
Persönliche Seite #5922548
Lesenswert?

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).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren