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 #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