Forum: Mikrocontroller und Digitale Elektronik 10 Mhz Signale nit AVR abtasten


von Fritz (Gast)


Lesenswert?

Hallo an alle,

was hält Ihr von vogenden Vorschlag:

Um Signale bis 10 Mhz abzutasten wird aus dem Messsignal per Hardware 
ein
Trigger erzeugt. Dieser Trigger startet den Timer beim AVR und am Ende 
wird mit dem AD Wandler gemessen. Jede Messung wird um ca 0,1 us 
verzögert gestartet. Es wird pro Triggerung ein Messwert gewonnen.

Bei periodischen Signalen könnte damit ein Oszilloskopbild bis 10 Mhz 
zusammengesetzt werden.


Fritz


PS: Ein Sample & Holdglied sollte auch noch vorgesehen werden.
(Vielleicht dieses mit dem Timer ansteuern ?)

von Spess53 (Gast)


Lesenswert?

Hi

Lies dir mal die Datenblätter von AVRs mit ADC durch. Dann hast du die 
Antwort.

MfG Spess

von Benedikt K. (benedikt)


Lesenswert?

Das ganze funktioniert wunderbar, Sample&Hold ist im ADC integriert, 
braucht man also nicht.
Das Signal muss nur eindeutig triggerbar sein, und der Triggerpunkt 
stabil sein (also kein Rauschen usw.)

Laut Datenblatt hat der ADC nur 38,5kHz analog Bandbreite, bei mir fällt 
aber erst ab etwa 500kHz das Signal leicht ab.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hallo Fritz, also ein 10MHz-Signal wirste mit einem AVR nicht abtasten 
koennen, weil Du ein Signal ein paar mal Ueberabtasten musst, um 
Aliasing zu verhindern. Der Atmega32 z.B. hat 15kSPS Abtastrate... aber 
Grundsaetzlich ist Deine Anwendung natuerlich schon moeglich.

Benedikt: Je nach Signal kannste natuerlich ueber die spezifizierte 
Bandbreite hinausgehen, allerdings wirst Du nicht mehr mit Sicherheit 
sagen koennen, dass das dargestellte Signal auch dem tatsaechlichem 
entspricht. Aber 500kHz ist schonmal um einiges realistischer als 10MHz 
;)

Michael

von Wolfgang Horn (Gast)


Lesenswert?

Hi, Benedikt, und Ihr, die Ihr schon experimentiert habt,

Du: "Laut Datenblatt hat der ADC nur 38,5kHz analog Bandbreite, bei mir 
fällt
aber erst ab etwa 500kHz das Signal leicht ab."

Das Datenblatt modelliert den Eingang des A/D-Wandlers als Kondensator, 
der im Moment des Start vom Eingang Eingang getrennt wird, mit einem 
Serienwiderstand von 1...100 kOhm.

Für die Unterabtastung, die Fritz beschreibt, kommt es auf das Abrupte 
in der Trennung an. Also eben nicht über einen Bahnwiderstand im 
Schalter, der über 1 us langsam zunimmt, sondern möglichst abrupt.

Naürlich, Fritz, könntest Du einen 10 MHz-Quarz als Eingangssignal 
nehmen und aus einem Quarz 10.001 MHz Deine Abstastperiode ableiten.
So abrupt die gerade beschriebene Trennung, so sauber mißt Du die 1 kHz 
Schwebung. Sogar mit der Kurvenform des Eingangsignals.

Deshalb, Benedikt, ist Deine Aussage so zu lesen, daß die Langsamkeit 
der Trennung des Schalters noch bei 500 kHz kaum ins Gewicht fällt, ich 
also ein ZF-Signal mit 456 kHz noch unterabtasten könnte und etwa die 
Einhüllende bekomme?

Ciao
Wolfgang Horn

von Gast (Gast)


Lesenswert?

Wie willst du 10.000.000 Werte in der Sekunde mit einem AVR in den 
Speicher schieben? Du schaffst es nicht in 0,1µs den Wert zu lesen und 
im Speicher abzulegen.

von Benedikt K. (benedikt)


Angehängte Dateien:

Lesenswert?

Wolfgang Horn wrote:

> Das Datenblatt modelliert den Eingang des A/D-Wandlers als Kondensator,
> der im Moment des Start vom Eingang Eingang getrennt wird, mit einem
> Serienwiderstand von 1...100 kOhm.

Das heißt also, die 38,5kHz sind der worst case Fall (niedrige Spannung, 
hohe Temperatur, schlechter AVR usw.) ?

> Deshalb, Benedikt, ist Deine Aussage so zu lesen, daß die Langsamkeit
> der Trennung des Schalters noch bei 500 kHz kaum ins Gewicht fällt, ich
> also ein ZF-Signal mit 456 kHz noch unterabtasten könnte und etwa die
> Einhüllende bekomme?

Könnte funktionieren. Ich habe das ganze mit Sinus, Rechteck, Dreieck 
usw. bei etwa 100kHz ausprobiert. Bis etwa 500kHz war die Amplitude der 
Sinuskurve stabil, danach ist diese etwas abgefallen. Es kann allerdings 
auch an dem OP davor liegen, dass muss ich noch genau untersuchen. Auf 
jedenfall war ich überrascht, wie gut man den ADC eines AVRs für hohe 
Frequenzen verwenden kann.

Man kann damit auch wunderbar ein Videosignal digitalisieren...

von Magnus Müller (Gast)


Lesenswert?

@Gast:

Du solltest den OP vielleicht mal genauer durchlesen...

> Um Signale bis 10 Mhz abzutasten wird aus dem Messsignal per Hardware
> ein Trigger erzeugt. Dieser Trigger startet den Timer beim AVR und am
> Ende wird mit dem AD Wandler gemessen. Jede Messung wird um ca 0,1 us
> verzögert gestartet. Es wird pro Triggerung ein Messwert gewonnen.
>
> Bei periodischen Signalen könnte damit ein Oszilloskopbild bis 10 Mhz
> zusammengesetzt werden.

Es geht um die Abtastung eines periodischen Signals in mehreren 
Durchgängen!

Gruß,
Magnetus

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.