Raspberry Pi als Oszilloskop

Gast #3425278
Lesenswert?

Mit einem AD-Wandler kommst du nicht weit. Das eigentliche Problem ist, 
die Daten gleichmässig schnell genug einzulesen.

Die Einzelteile für Vorverstärker, AD-Wandler, schnellem Speicher und 
der Triggerlogik kosten dann so viel vie ein komplettes China-Skope.

Wenn es allerdings nur um Tonfrequenzen geht, würde auch eine 
USB-Soundkarte und Audacity rechen.
#4053050
Lesenswert?

Es hängt von Deinen Anforderungen ab. Wenn Dir zum Beispiel 800 
Kilosamples pro Sekunde reichen, kannst du auch einfach einen AD/Wandler 
an den SPI-Bus anschließen. Die Eingangsbeschaltung ist bei den 
Frequenzen auch noch nicht so krass.

Was ich immer an solchen Projekten blöd finde ist, dass die "China 
Scopes" nachempfinden. Sprich man hat da immer noch einen kleinen 
Buffer, der nach der Triggerung am Stück gefüllt wird, und dann langsam 
an den Rechner übertragen wird. Sinnvoller, und inzwischen auch 
realisierbar, wäre es einfach die Abtastwerte direkt und ohne Lücke an 
den Hauptprozessor zu schicken. Damit hätte man völlig neue 
Möglichkeiten.
#4053084
Lesenswert?

So ganz nebenbei ... ein richtiges Scope ist auch nicht so schnell. Die 
wichige Zahl waere dazu die Totzeit zwischen einem und dem naechsten 
Scan.
Die ist nicht Null, und wider Erwarten gross. Jedenfalls werben gewisse 
Hersteller fuer gewisse Modelle mit dieser Totzeit, besser zu sein.
Das ganze ist nicht wirklich wichtig, um 500 Scans pro sekunde anschauen 
zu koennen, sondern eher wenn es um Statistik und seltene Signale und 
Post-Trigger geht.
zB ein verrauschtes Signal averagen mit einem externen Trigger. Bei 
einem externen Trigger von zB 10kHz wird natuerlich nicht jeder Trigger 
ausgewertet. Wenn mir das Scope nun 90% der Ereignisse verwirft, anstatt 
aufzusummieren, dauert der Messvorgang zehn mal laenger.

Einfach... man sollte den Oszilloscopen keine Traumdaten zuweisen.
Gast #4053096
Lesenswert?

> Sinnvoller, und inzwischen auch realisierbar, wäre es einfach
> die Abtastwerte direkt und ohne Lücke an den Hauptprozessor
> zu schicken.

Aber nicht mit Linux oder Windows und USB. Beide Betriessysteme 
unterbrechen das laufende Programm in unregelmäßigen Zeitabständen für 
unbestimmte Zeit. Und die USB Schnittstelle kann auch nicht 
kontinuierlich Daten übertragen.

Also musst du zwangsläufig puffern - und dann sind wir wieder genau bei 
der Technologie, die bereits gehandelt wird.
Gast #4053298
Lesenswert?

Stefan Us schrieb:
> Aber nicht mit Linux oder Windows und USB. Beide Betriessysteme
> unterbrechen das laufende Programm in unregelmäßigen Zeitabständen für
> unbestimmte Zeit.

Das stimmt nicht - die Zeit ist schon fix definiert. Und es gibt auch 
echtzeitfähige Linuxderivate, die inzw. auch für den Raspberry Pi gut 
durchgetestet sind wie das Noobs.
Gast #4053306
Lesenswert?

Nein, für ein Oszilloskop ist das nicht geeignet. Für ein Oszilloskop 
würde ich zur Datenerfassung ein FPGA benutzen. Google einfach mal nach 
FPGA, das sind multitaskingfähige Mikrocontroller, weil dort mehere 
Prozesse parallel drauf ablaufen können - und zwar in Echtzeit parallel. 
Das Problem kann manchmal allerdings bei synchronen Speicherzugriffen 
auf die gleiche Speicheradresse zu Problemen führen, dann ist es ratsam, 
mit Signalen oder Semaphoren zu arbeiten.
Gast #4055461
Lesenswert?

Die Umsetzbarkeit dieses Vorhabens hängt meines Erachtens stark von den 
Anforderungen ab.

Ein Forenmitglieg hat mal ein "Show-Oszilloskop" auf Basis eines 
STM32-Discovery-Boards entwickelt. Das geht im Prinzip in die Richtung 
von dem was du suchst.
Eine echt Messung kann man mit dieser Lösung sicher nicht nachweisen, 
aber für einfache Mikrocontrollerbastelei reicht es oftmals aus.

Links dazu:
http://mikrocontroller.bplaced.net/wordpress/?page_id=3290
Beitrag "Mini 2Kanal Oszi per STM32F429-Disco Board"
#4055655
Lesenswert?

Quarx schrieb:
> Google einfach mal nach
> FPGA, das sind multitaskingfähige Mikrocontroller,

Unsinn.

"Ein Field Programmable Gate Array (FPGA) ist ein integrierter 
Schaltkreis (IC) der Digitaltechnik, in den eine logische Schaltung 
programmiert werden kann. Die englische Bezeichnung kann übersetzt 
werden als: im Feld (also vor Ort, beim Kunden) programmierbare 
(Logik-)Gatter-Anordnung." 
(https://de.wikipedia.org/wiki/Field_Programmable_Gate_Array)

Man kann ein Mikrocontroller (oder eher ein Mikroprozessor) im FPGA 
implementieren, das schon.

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