Gast
#5934638
Guten Abend zusammen,
ich habe einen Raspberry PI 3 B+, welcher einen A/D-Wandler über SPI
ausliest. Die SPI-Verbindung taktet mit knapp 16MHz das sind etwa 1MSps
die vom ADC pro Sekunde erhalten werden (Das zu Sampelnde Signal ist
rel. hochfrequet weshalb tatsächlich 1MSps benötigt werden). Aufgrund
der Geschwindigkeit übernimmt der automatische DMA Controller das
Auslesen (dieser springt bei der BCM2835 Library, die ich verwende
automatisch bei über 96 gesendeten Bytes an).
Um eine möglichst lange Messdauer zu erreichen, übergebe ich der SPI
Schnittstelle ein möglichst langes Array, damit dieses vom ADC mit den
Messwerten gefüllt wird und an mich zuück geliefert wird. Das Problem
ist allerdings, dass die Messung dann nur etwa ein paar Sekunden dauert
und ich gerne längere Zeiträumen abdecken will. Gibt es eine Möglichkeit
das so zu lösen, dass der ADC quasi kontinuierlich (15-20 Sekunden
beispielsweise) das Signal sampeln kann? Dabei darf es jedoch auf keinen
Fall zur Unterbrechung des Samplings kommen.
Der Befehl an den ADC sieht derzeit wie folgt aus
Code
char tx0[8200000] = {};
char rx[] = {};
bcm2835_spi_transfernb(tx0,rx,samples);
Vielen Dank schon einmal vorab für eure Hilfe :)