ADC für den Raspi i Ms Bereich

Gast #5758459
Hey,

ich bin schon seit längeren auf der Suche nach einem ADC Wandler inkl. 
Sampler für den Raspi. Ich würde gerne ein 50 kHz Signal erfassen und in 
eine Datei in den Raspberry einlesen. Wie schon gesagt, eine 
fertiglösung scheint es nicht zu geben, bin ich denn der einzige, der 
sowas sucht ?

Das Signal osziliert zwischen +/- 5V, die Frequenz kann bis zu 50 kHz 
erreichen. Die Genauigkeit sollte 12 Bit erreichen und die Samplerate 
sollte daher schon um die 1 MSps liegen.

Vielen Dank schon einmal im voraus :)

Viele Grüße, Andreas
#5758529
Andreas H. schrieb:
> Das Signal osziliert zwischen +/- 5V, die Frequenz kann bis zu 50 kHz
> erreichen. Die Genauigkeit sollte 12 Bit erreichen und die Samplerate
> sollte daher schon um die 1 MSps liegen.

Für negative Spannungen empfielt es sich ein Signal entsprechend für den 
ADC zu konditionieren (Stichwort: Bezugspunkt und Co ;))
1 MSps ist kein Problem, das kann z.B. ein ADS7476 mit SPI-Schnittstelle 
sein.
Gast #5758697
Hey, danke schonmal für deine Hilfe :) Aber das Problem ist doch, dass 
der Raspberry keine 1Msps aufzeichnen kann über SPI, zudem ist das 
Betirebssystem alles andere als ein RTOS. Somit sind die Samples sicher 
nicht im gleichen Abstand zueinander, oder täusche ich mich da? Muss es 
da nicht am adc einen internen buffer geben ?
Gast #5758755
Andreas H. schrieb:
> Aber das Problem ist doch, dass
> der Raspberry keine 1Msps aufzeichnen kann über SPI, zudem ist das
> Betirebssystem alles andere als ein RTOS.

Unter welchem Betriebssystem hast du den Raspberry denn laufen?
Irgend etwas in Richtung RTOS wäre da wohl schon angesagt.
#5758758
M. K. schrieb:

> Öhm, so gut kenn ich den Pi nicht aber kann man mit dem den SPI nicht
> auf >16 MHz laufen lassen?

Vielleicht. Aber wenn da >>20 Tasks rumlaufen, wer garantiert denn, dass 
Du jede us eine Zeitscheibe bekommst, um das Sample auch abzuholen? In 
einem Bare-Matal-System machbar, in einem nicht deterministischen 
Multitasking-Betriebssystem nicht.

Das von mir vorgeschlagene Zynq-Board machts anders: Da sitzt im FPGA 
ein ADC, der per programmierbarer Logik gesteuert werden kann und dann 
völlig unabhängig vom Linux auf den A9-Kernen seine Samples im Block-RAM 
ablegt. Das Timing ist absolut deterministisch und im Rahmen des 
Quarzoszillators genau. Wenn das Block-RAM voll ist, kann die Software 
die Daten rausholen und analysieren. Oder man könnte sie per DMA ins 
SDRAM kopieren, was aber nur bei ganzen Blöcken sinnvoll ist und nicht 
bei Einzelwerten.

Möglichkeiten gibts viele. Man muss nur anfangen.

fchk

PS: Diese Zynq ARM-FPGA-Bausteine werden gerne in Oszilloskopen der 
Einsteigerklasse verwendet - dann aber natürlich mit externen ADCs und 
nicht mit dem internen.
#5758764
Frank K. schrieb:
> Vielleicht. Aber wenn da >>20 Tasks rumlaufen, wer garantiert denn, dass
> Du jede us eine Zeitscheibe bekommst, um das Sample auch abzuholen? In
> einem Bare-Matal-System machbar, in einem nicht deterministischen
> Multitasking-Betriebssystem nicht.

Das ist sicher dann nicht leicht, keine Frage. Aber wir wissen ja auch 
nicht was er genau wie lösen möchte ;)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.