DIY Speicheroszi

Gast #913991
Lesenswert?

Ich habe vor, einen Logicanalyzer mit einem AVR32 aufzubauen. Wie 
sinnvoll ist es, als zusätzliches Feature einen einfachen Speicheroszi 
zu realisieren? Geht das? Im Prinzip müssen ja nur die ADC-Werte in den 
RAM geschaufelt werden, oder? Ich frage mich, was man hardwareseitig 
beachten muss. Also z.B. Überspannungsschutz, Spannungsteiler für höhere 
Eingangsspannungen u.s.w.

Vielleicht existieren bereits solche DIY-Geräte mit veröffentlichten 
Schaltplänen?
Gast #914002
Lesenswert?

>Vielleicht existieren bereits solche DIY-Geräte mit veröffentlichten
>Schaltplänen?

vielleicht gibt es dir wirklich. Hast du schon mal gesucht? Google und 
Co. und die Hilfe dieses Forums können dabei helfen.

Steffen.
Gast #914047
Lesenswert?

>zusätzliches Feature einen einfachen Speicheroszi
>zu realisieren? Geht das?

Sicher geht das. In der Regel nimmt man dann aber (zusätzlich) einen 
FPGA.
DSO ist ein weites Feld, von extrem einfachen Geräten mit ein paar MHz 
Abtastfrequenz bis zu Geräten mit mehreren Hundert MHz, weitem 
Eingangspannungsbereich usw. Das alles wurde schon oft diskutiert -- die 
Meisten haben dann aufgegeben, weil es doch sehr viel Aufwand ist, ein 
brauchbares Gerät zu bauen.
Gast #914058
Lesenswert?

Ich habe mich damit auch eine ganze Weile beschäftigt. Das Problem ist 
hauptsächlich der Breitbandvorverstärker. Wenn Du hier etwas sinnvolles 
> 10 MHZ haben willst wird das ganze ZIEMLICH komplex.

Das bekannteste OpenSource Projekt wird wohl dieses hier sein:

http://www.bitscope.com/

Wenn wieder so ein Projekt gestartet werden sollte wäre ich natürlich 
gerne dabei :-)

Gruß
  Manuel Kampert
Gast #914254
Lesenswert?

Vielleicht kann man etwas aus dem c't-Labor übernehmen. Die müssten doch 
etwas ähnliches haben. Ansonsten schaue ich mir die Projekte bei 
bitscope.com an. Die sehen aber schon sehr professionell aus. Da wurde 
bestimmt nich gegeizt bei den ICs.

Wozu ein Trigger im Speicheroszi-Modus? Welche Vorteile bringt er mir?
#914263
Lesenswert?

Maxim wrote:
> Wozu ein Trigger im Speicheroszi-Modus? Welche Vorteile bringt er mir?

Sobald die Signale so schnell werden, so dass man nicht mehr von Hand 
auf den Auslöser drücken kann braucht man einen Trigger. (Selbst RS-232 
is schon zu schnell)

Ausser du nimmst einen sehr langen Zeitraum auf und scrollst dann rein, 
aber das nimmt seeehr viel Speicherplatz in Anspruch und treibt die 
Kosten in die Höhe und schränkt den Bedienkomfort sehr ein.
Gast #914270
Lesenswert?

Reicht da ein sehr simpler Trigger nicht aus? Z.B. wird die Messung 
gestartet, wenn ein Signal auf der sonst ruhenden Leitung auftaucht. Ich 
vermute, es gibt noch die Möglichkeit, auf ein bestimmtes Signal zu 
Triggern. Aber das ist schon zuviel Luxus für mich. Außerdem wird diese 
Funktion doch in Software umgesetzt, denke ich. Kann ich das also später 
"nachrüsten"?
Gast #914283
Lesenswert?

>Wozu ein Trigger im Speicheroszi-Modus? Welche Vorteile bringt er mir?

Eine ruhende Leitung... aha ...

Zum einen muss man kontinuierlich messen koennen, und kontinuierlich 
anschauen koennen, es ist moeglicherweise nicht immer das Gesuchte 
drauf. Und dann sollen die Bilder immer zu einem definierten Punkt 
beginnen koennen.
Persönliche Seite #916486
Lesenswert?

Stefan Salewski wrote:
> In der Regel Letzteres.
> Stichwort Addierer.

Ist mir noch nicht ganz klar? Ich vermute, hier braucht man einen OPV 
als Addierer, nicht?

Ich stelle mir das in etwa so vor:

Gewünschter Messbereich: -10V bis +10V
ADC Messbereich: 0V bis 5V
ADC Auflösung: 8 Bit

1) Zur gemessenen Spannung werden +10V addiert
2) Die Summe wird durch vier geteilt
3) Der vom ADC ermittelte Wert wird um 127 vermindert
4) Gemessene Spannung ist U=(20/255)*(127-Wert_ADC)

Das habe ich jetzt erfunden, aber es geht doch bestimmt einfacher.

edit: Damit ein OPV negative Spannungen verarbeiten kann, braucht er 
doch eine symmetrische Spannungsversorgung, oder? Geht es nicht ohne?
Gast #916503
Lesenswert?

>Das habe ich jetzt erfunden, aber es geht doch bestimmt einfacher.

So in etwa -- ist doch einfach.

>Damit ein OPV negative Spannungen verarbeiten kann, braucht er
>doch eine symmetrische Spannungsversorgung, oder? Geht es nicht ohne?

Notfalls schon: Drei Widerstände sternförmig, außen einmal das Signal, 
einmal Masse und einmal eine negative Spannung. Wurde erst kürzlich hier 
gefragt und von jemanden mit Bildchen oder konkreten Widerstandswerten 
beantwortet, musst mal etwas suchen.

Das ganze Thema wurde eh schon oft durchgekaut, auch hier im Forum.

Wenn man etwas halbwegs sinnvolles bauen will:

- Messbereich +-5mV bis +-50V in Stufen umschaltbar, mit 
Überspannungsschutz
- eher etwas mehr als 8 Bit
- linearer Frequenzgang bis 100 MHz
- 200 Mega-Samples Abtastrate
- USB Datenübertragung zum PC

- Dann die Software/Messoberfläche auf dem PC

Bis man das alles zusammen hat dauert es schon etwas...
Gast #916531
Lesenswert?

>außen einmal das Signal, einmal Masse und einmal eine negative Spannung.

Eine POSITIVE Spannung war natürlich gemeint, wenn man die negative, zu 
messende Spannung in den positiven Bereich schieben will.

Zum Thema gibt es sogar einen WIKI-Eintrag:

http://www.mikrocontroller.net/articles/Spannungsteiler

Es gibt grundsätzlich natürlich viele Möglichkeiten negative Spannungen 
zu verarbeiten. Einige AD-Wandler können wohl tatsächlich auch negative 
Spannungen verarbeiten. Und dann gibt es spezielle Verstärkerbausteine 
wie etwa den THS4509, mit differentiellen Ausgang und Offset.
Persönliche Seite #917168
Lesenswert?

Danke für die hilfreichen Infos.

> - Messbereich +-5mV bis +-50V in Stufen umschaltbar, mit
> Überspannungsschutz

Ja, mir würden drei Stufen reichen: +-1V, +-10V +-50V

> - eher etwas mehr als 8 Bit

Ich vermute mal, dass schnelle ADCs mit hoher Auflösung nicht billig 
sind.

> - 200 Mega-Samples Abtastrate

50 oder noch weniger würden mir reichen. Möchte nicht so viel Geld 
ausgeben, weil eben die Gefahr besteht, dass das alles nichts wird und 
ich nen Haufen teuer ICs rumliegen habe und mir dann zwanghaft eine 
andere Verwendung für sie ausdenken muss. ;)

> - USB Datenübertragung zum PC

Es gibt ja schon ein Programm, hab es auch hier im Forum gesehen und es 
funktioniert mit vielen Selbstbau-Logicanalyzern. Mir fällt nur der Name 
nicht ein. Der AVR32 hat aber sowieso eine USB-Schnittstelle. Außerdem 
wird das Gerät einen 640x480 SW-LCD haben, sodass die Übertragung der 
Messungen auf den PC nicht zwingend notwendig ist.

Ich möchte mir jetzt ein Paar Bauteile zum Experimentieren bestellen, 
also OPV und ADCs und was man sonst noch brauchen könnte. OPV nehme ich 
10 Stück LM358, bei den ADCs weiß ich aber nicht, was ich nehmen soll. 
Der billigste bei Reichelt kostet 1,85€ (ADC 0804 CN). Kann man mit dem 
etwas anfangen bzw. ist es ein "stinknormaler" ADC?
Gast #917176
Lesenswert?

>Der billigste bei Reichelt kostet 1,85€ (ADC 0804 CN). Kann man mit dem
>etwas anfangen bzw. ist es ein "stinknormaler" ADC?

Bei Billigteilen kann ich Dir nicht viel helfen.

LM358 hat wohl ein Verstärkungsbandbreiteprodukt von nur einigen 
Megahertz.

Thema billig-ADC: Da gibt es irgendeinen mit 8 Bit mit 830 im Namen, der 
wohl nur wenige Euro kostet und nicht schlecht ist, mit 80 MSPS.

Musst halt selber mal die Suchfunktion des Forums benutzen, und 
natürlich die Datenblätter ansehen.
Persönliche Seite #921290
Lesenswert?

Also das ist mein Testaufbau. Damit möchte ich zunächst Erfahrungen mit 
OPVs und ADCs sammeln.

Bevor es ans Ätzen geht:

1) Wo fehlen noch wichtige Bauteile, Abblockkondensatoren?
2) Kann ich V_REF/2 einfach in der Luft hängen lassen? Oder muss da 
unbedingt eine Referenzspannung drauf? Soweit ich das Datenblatt 
verstanden habe, wird bei nicht angesclossenem V_REF/2-Pin VCC als 
Referenzspannung genommen.
3) Wenn ich den ADC mit einem uC takte, kann der CLK_R-Pin dann 
ebenfalls unbeachtet gelassen werden?

Einen Überspannungsschütz und einstellbare Messbereiche lasse ich bei 
diesem Aufbau noch aus ...
Persönliche Seite #921449
Lesenswert?

Ach ja, noch zwei Fragen bezüglich der Samplingrate und der Frequenz: 
Welche Samplingrate könnte man Pi mal Daumen mit einem AVR32@60MHz 
erreichen? Welche Frequenz dürfen die gerade noch messbaren Signale dann 
haben?

Wenn ich davon ausgehe, dass der uC im schnellsten Modus arbeitet und 
nur noch Daten vom ADC empfängt und in den SRAM ablegt, schätze ich pro 
Sample etwa 10 uC-Takte. Also 6 MSp/s?

Um ein Sinussignal einigermaßen gut abzubilden, braucht man schon etwa 
20 bis 30 Samples. Die max. Frequenz wäre also 6.000.000/30 = 200.000 
Hz? Ist ja ziemlich wenig ... Hoffentlich mache ich irgendwo einen 
Fehler. ;)
Gast #921490
Lesenswert?

Weshalb den ADC mit einem Controller bedienen ? Was gewinnt man damit ? 
Ist doch viel einfachen den ADC die Werte direkt in das RAM werfen zu 
lassen. Das bedeutet im Wesentlichen den Adresszaehler hochzaehlen.
Persönliche Seite #921516
Lesenswert?

Stimmt, dann kann ich auch wesentlich mehr Speicher nutzen und mehr 
Samples/Sekunde erreichen. Das hochzählen der Adresse können dann zwei 
4040 erledigen (wie in diesem Projekt: 
http://www.microlaboratories.com/?page_id=77).  Die schaffen max. 90 
MHz. Muss der Takt dann mit PLL erzeugt werden? Es gibt doch sicherlich 
ICs, an die man nur noch Kondensatoren und Widerstände dranhängen muss 
und die dann den Takt liefern.

edit: Moment mal. Irgendwie muss ja auch der ADC angesteuert werden. Man 
kann ja nicht mit einem Taktsignal gleichzeitig die RAM-Adresse 
hochzählen und den ADC takten. Oje, das wird kompliziert.
Persönliche Seite #921559
Lesenswert?

Stefan Salewski wrote:
> @Maxim S
>
> Der ADC0804 hat 100us Wandlungsdauer (conversion time), damit wirst Du
> also maximal Zehntausend Wandlungen pro Sekunde machen können.

Ist mir schon klar. Dieser ADC ist auch nur zu Testzwecken da. Die 
Fragen beziehen sich aber auf den Aufbau des tatsächlichen Gerätes, 
welches gerade erst in groben Umrissen in meinen Gedanken entsteht.

> Ich sage jetzt besser nichts mehr...

Da habe ich nichts dagegen. Es sein denn, du kannst meine Fragen 
wirklich beantworten. Nichts für ungut!
Persönliche Seite #929718
Lesenswert?

Die Testschaltung ist fertig. Am CLK_R-Pin kann ich auch einen Takt 
messen. Der liegt bei 333 KHz.

Morgen geht's dann ans Anschließen an den uC. Mir ist nur noch nicht 
klar, für was RD und WR da sind. Das wird aus dem Datenblatt leider auch 
nicht ersichtlich. Wahrscheinlich sind die Funktionen schon so 
selbstverständlich, dass sie gar nicht erst erklärt werden.

Bei Speicherbausteinen würde RD für read und WR für write stehen. Das 
Erste würde hier noch passen, man ließt schließlich die Werte aus dem 
ADC aus. Aber wozu ist WR gut?

INTR weiß ich auch nicht so recht. Aber ich vermute, dass der ADC hier 
einen Interrupt beim uC auslösen kann, sobald eine Konvertierung zu Ende 
ist.
Angehängte Dateien:
#929723
Lesenswert?

Maxim S. wrote:

> Samples/Sekunde erreichen. Das hochzählen der Adresse können dann zwei
> 4040 erledigen (wie in diesem Projekt:

Als schneller Adresszähler (MHz) ist ein Ripple-Counter wie der 4040 
nicht sinnvoll, weil es ewig dauert, bis sich der Takt bis zum letzten 
Bit rumgesprochen hat (ca. 130-220ns typ, je nach Hersteller).

Besser: 74HC590.
Gast #934364
Lesenswert?

Konnte gerade nicht einschlafen und da kam mir eine Idee: Da ADCs mit 
über 80 MS/s und 10 Bit teuer sind, kann man doch zwei langsamere ADCs 
nehmen und parallel betreiben, oder? Solange ein ADC konvertiert, wird 
der andere ausgelesen. Die Schwierigkeit dürfte darin bestehen, den Takt 
zu synchronisieren.

btw: Bei Farnell gibt es einen ADC (ADS5500IPAPG4) für 10.000 Franken. 
Sind die noch bei trost?
Persönliche Seite #934457
Lesenswert?

Maxim wrote:

> btw: Bei Farnell gibt es einen ADC (ADS5500IPAPG4) für 10.000 Franken.
> Sind die noch bei trost?

Das kann schon sein: Arbeitsbereich:-40°C bis +85°C.

Wenn wir einkaufen, kostet ein einfacher Transistor auch schonmal EUR 
10,- und ein Widerstand EUR 1,- oder mehr, aber das Zeug ist dann Space 
Grade und soll zum Mars fliegen.

P.S.: du weisst, dass Farnell nicht an Privatfrickler liefert?
Gast #934829
Lesenswert?

>Da ADCs mit
>über 80 MS/s und 10 Bit teuer sind, kann man doch zwei langsamere ADCs
>nehmen und parallel betreiben, oder?

Wenn man mehr als 100 MSPS will kann das schon sinnvoll sein. Zwei ADC 
um 180 Grad versetzt abtasten zu lassen ist grundsätzlich auch nicht so 
schwierig.
Aber trivial ist die Welt ab 100 MHz nicht mehr, Stichwort Impedanz, 
Signallaufzeit, Reflexionen... Du kannst auch nicht einfach wesentlich 
mehr als einen ADC an einen gewöhnlichen Taktgeneratur hängen, weder bei 
CMOS, noch bei LVDS bzw- LVPECL Takteingang.

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