Forum: Mikrocontroller und Digitale Elektronik Speicheroszilloskop selberbauen (Diplomarbeit)


von Florian Markowitsch (Gast)


Lesenswert?

Hallo,
in Österreich ist jetzt in den meisten Bundesländern die Sommerferien
herangebrauchen und im kommenden Schuljahr sollen meine Kollegen und
ich ein Speicheroszilloskop mit Schnittstelle zum PC bauen.

Meine Kenntnisse beschränken sich im wesentlichen auf GTK, C, LibUsb in
Kombination mit dem LPC2148. Das ganze wird unter Linux rennen, oder es
sollte zumindest.

Das Oszi soll zwei wesentliche funktionen haben: Zum einen speichern
auf Ram, wo ich dann wohl FPGA's brauchen werde und direkt 1:1 über
USB auf den PC. Wo ich mir auch noch nicht wirklich darüber im klaren
bin welchen ADC wir nehmen sollen (bis max. 100€ sollte der Chip
kosten.)

Meine Frage nun: Gibt es solche Projekte schon mit Doku, weil ich das
ganze schon eine Schutzbeschaltung haben sollte und die
Spannungsbereiche variabel sein sollten (bis max. +100V - -100V) und
ich da ein bisschen "Inspiration" bräuchte.

Ich hoff mal Ihr könnt mir Anregungen geben (nicht mehr, schließlich
ist das ja unsere Diplomarbeit ;) ). Achja: Gesamtbudget sind so ca.
500€, geht sich das aus?

Grüße aus Österreich

Florian


PS: Der eine oder andere wird sich jetzt sicher denken: Hm, die Frage
kam doch schon oft -> Stimmt, aber irgendwie hab ich den Eindruck, dass
da im Prinzip nichts rausgekommen ist bzw. keine Doku im Internet
vorhanden ist.

von Daniel M. (usul27)


Lesenswert?

Die Frage ist eigentlich: Welche maximale Samplerate willst du
erreichen? Ich denke, das grösste Problem wird es werden, einen
AD-Wandler zu finden, der überhaupt einigermassen sinnvolle Sampleraten
schafft.

von someone (Gast)


Lesenswert?

Hallo,

evtl dieser Chip von TI?

http://www.ti.com/corp/docs/landing/ads8422/index.htm?DCMP=hpa_dc_ads8422&HQS=NotApplicable+EM+ads8422-em

Dakönnte man für erste Versuche auch Samples nehmen...

MfG

Chris

von Daniel M. (usul27)


Lesenswert?

Nun ja, 4Ms/s ist wirklich nicht berauschend - ausser man will sich nur
im NF-Bereich bewegen. Andererseits sind 16bit für ein Oszilloskop wohl
übertrieben, 8 Bit Auflösung sollten eigentlich reichen.

von Stefan Salewski (Gast)


Lesenswert?

Das Thema hatten wir hier vor kurzem:

http://www.mikrocontroller.net/forum/read-1-340241.html#new

Ist zwar sehr interessant, aber wenn man etwas drüber nachdenkt, wird
einem klar, dass es doch recht aufwendig ist, etwas sinnvolles zu
bauen:
Preiswert, schnell (50 Megasamples/s möchte man schon haben, mehr wird
sehr aufwendig), USB-Interface, Überspannungsschutz, großer Messbereich
(50V bis 5mV), präzieser Trigger, nette grafische Oberfläche, usw.

Gruß

Stefan Salewski

von someone (Gast)


Lesenswert?

Naja, aber man muss ja auch sehen das man die Daten auchnoch in Echtzeit
zum PC bekommt, und zumindest über USB 1.1 kommt man da ja doch recht
schnell an die Grenzen...
Sollte USB 2.0 verwendet werden wär das ganze natürlich kein Thema.

von Daniel M. (usul27)


Lesenswert?

Wieso müssen die in Echtzeit zum PC? Es heisst ja
"Speicheroszilloskop". Und irgendwo noch einen Speicher für 2k
Samples einzubauen ist wohl das kleinste Problem.

von someone (Gast)


Lesenswert?

Hatte das "...und direkt 1:1 über USB auf den PC..." oben so ausgelegt
das er die Daten in Echtzeit zum PC bekommen möchte, deshalb der
Beitrag.

von Bjoern B. (tishima)


Lesenswert?

Hallo!
Puh, 500€ ist ein ziemlich strafes Budget fuer so ein Projekt, allein
schon die Anforderungen an die Hardware die Du Dir gestellt hast FPGA,
Speicher, AD Wandler wird hartes Brot mit nur 2fach Layer PCB. Da
sollte man vieleicht sehen ob man nicht ein fertiges, günstiges
Development Board findet und darauf aufsezt. z.B. ein Xilinx Spartan3
Board etc.
Ne Ueberlegung waere vieleicht auch ein Analog Ossi aufzubohren bzw. zu
erweitern, dann hat man schon den Stress mit dem grössten Teil vom
Analog Krempel vom Hals.

mfg,
Bjoern

von Bjoern B. (tishima)


Lesenswert?

Hmm, was mir noch Grade durch den Kopf geht. Du bist fit in LPC2148,
falls Du da auf fertige USB Routinen zurückgreifen kannst, mal testen
was fuer Sampleraten Du damit schaffst gegebenfalls den Aufbohren mit
CPLD, RAM und ext. AD Wandler.

mfg,
Bjoern

von Geri (Gast)


Lesenswert?

Hallo Florian

Anbei ein interessantes Beispiel, wie man den Analogteil eines
Oszilloskops aufbauen kann.

http://alternatezone.com/electronics/dsoamk3.htm (Von David L. Jones)

Ich habe dieses Oszilloskop nachgebaut und es funktionier sogar. Je
nach geforderter Samplingfrequenz wird es dann aber recht schnell mal
schwierig ein passendes Layout zu entwerfen.

Abgesehen vom grossen Lerneffet macht es meiner Meinung nach aber
keinen Sinn so ein Oszilloskop nachzubauen. Alleine das Material kostet
schon so viel, dass man fast schon ein neues - und für den Hobbybedarf -
gar nicht schlechtes Oszilloskop kaufen kann. Ausserdem handelt es sich
auch um ein Werkzeug. Da sehe ich einen Eigenbau sowieso kritisch an.

Ich denke, mit dem LPC2148 und den genannten Tools könnte man noch eine
Menge anderer Schaltungen entwerfen, die zumindes gleich lehrreich
sind;) Ich würde die Aufgabe deshalb nochmals hinterfragen.

Beste Grüsse aus Vorarlberg

Geri

von Hans (Gast)


Lesenswert?

also ich hätte eine ganz lustige idee.. warum nicht einen arm9 mit tft
nehmen und das ganze standalone-fähig machen ;)

http://www.olimex.com/dev/cs-e9315.html
http://www.olimex.com/dev/sam7-ex256.html

falls (das darf man sich bei olimex leider öfter fragen) die dinger
jemals wirklich auf den mark kommen (vor allem der e9315) wär das für
so ien projekt saugeil ;) hat sogar vga-out g

als adc würd ich was von maxim nehmen.. die haben sauschnelles zeug...
aber meist lvds dafür aber über 2gsps ;)

von ad wär ein 80msps bei farnell gelistet.. AD9215BCPZ-80
oder RS:
 IC, A-D, Wandler, Converter, 8-Bit, 250MSPS, 3V, ADC, AD9480BSUZ-250
um unter 70e ;)

da gäbe es genug...

speicher brauchst du eigentlich nicht viel... 10*punktanzahl in
horizontale sollten reichen zum vernünftigen glätten...

fürs zoomen wären sicher 64k+ suppi..

arm-board => spi=> fpga => adc

ggf. von cypress so nen lustigen programmierbaren clk-generator (ad hat
glaubich auch sowas aber das zeug von cypress hat glaubich weniger
jitter gehabt)

usb ist zwar nett aber tcp/ip dürfte richtig witzig werden... beide
board hätten beides ;)

wenn ihr die 500e ausreizen wollt sollte es auch genug andere SBCs
geben die so um die 300e kosten.. der rest sollte sich um 200e machen
lassen...

einzig das daten in den ram bekommen wärend des samplens sowie das
triggern dürften etwas komplizierter werden...

macht ihr das projekt open-hardware??? würd mir auch gern sowas baun
nur der zeitfaktor :((

studiere übrigends in graz e-technik... wärs mal richtig lustig mit
sonem ding mal auf ne 10,7Mhz IF von nem radio zu hängen und
software-based/defined-radio zu spielen ;)

73

von Bernhard S. (bernhard)


Lesenswert?

Hallo,

ich beschäftige mich auch schon einige Zeit mit diesem Thema

http://www.mikrocontroller.net/forum/read-4-220659.html

Letztens hatte ich eine Idee.

Das größte Problem tritt nach meiner Meinung bei der AD-Wandlung
auf.

Was wäre, wenn man mehrere langsame AD-Wandler parallel im
Multiplexbetrieb betreibt?

Wärend eines Messvorganges sammelt man Step by Step seine Messwerte
ein, speichert diese in einen RAM um sie später an den PC zu
übertragen.

Gruß aus Thüringen

Bernhard

von Sebastian K. (basti)


Lesenswert?

Wenn man das ganze mit FPGA und so weglässt dann wird's nicht so
kompliziert.
Wenn man dann noch Modular denkt kommt man mit 2-Layer Technik auch
weg.

Was man eigentlich nur braucht ist ein paralleler ADC (ADC1175 für
keine 3€ und 40MSPS) der direkt auf das SRAM scheibt, ein geeignetes
SRAM, einen Zähler für die Adresse des SRAM und eine gemeinsame
Taktquelle.
Da kann man dann noch nen Komparator als Triggerquelle mit rein bauen
usw...!

Das alles macht man ohne µC oder sonstigen Schnick-schnack. Zum
Auslesen nimmt man dann einen Controller der nicht mit dem gemeinsamen
Takt arbeitet sondern einen eigenen langsamen Takt dem Adresszähler
einspeist.
So braucht man dann nichtmal richtig schnell zu Programmieren sondern
liest das SRAM aus wenn man gerade ein Byte über USB rausgeschickt hat.

von schorschi (Gast)


Lesenswert?

Der Ansatz mehrerer ADCs, die mehr oder weniger gleichzeitig (also
zeitversetzt) sampeln wird schon genutzt. Das große Problem dabei ist,
dass die Zeitabstände ziemlich gut passen müssen, weil ansonsten bei
der sin(x)/x-Rekonstruktion und vor allem bei FFT die wildesten Sachen
rauskommen.
Schnelle ADCs gibt es genug, das große Problem dabei ist aber, wie man
die Datenberge vernünftig in den Speicher bekommt.

von Hans (Gast)


Lesenswert?

das mit dem jitter ist ein großes problem... ich würd mich mal
schlaumachen was es da alles an clock-generatoren gibt... cypress hat
was.. ad wenig.. ti nix brauchbares für den zweck...

wie wärs mit einem fifo hinter einem schnellen adc??? das müsste doch
die ganze angelegenheit vereinfachen ;)

sprich clock-gen an den adc schalten... ready vom adc an den fifo clk
hängen und waren bis der fifo sagt er ist voll ;)

etwas logik dazu und man kanns auch schön auslesen... meinermeinung
nach die einfachste variante...

wieviele punkte willst du mit deiner fft ausrechnen ??? ggf. reicht dir
dann schon 1K*9 fifo...
73

von Hans (Gast)


Lesenswert?

IDT7204L12PDG bei farnell...
4096 x 9 Bit   12 ns  € 15,80


was will man mehr ;D und 4096 punkt fft muss reichen G

73

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.