www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Anti-Aliasing-Filter vor Eingang Logikanalyzer


Autor: Thomas K. (tomthegeek)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich will einen Logikanalyzer mit einer Abtastfrequenz von 50MHz bauen.
Ich werde mit Komparatoren das Signal "abtasten", d.h. einfache 1Bit 
AD-Wandler verwenden.
Um das Abtasttheorem nicht zu verletzen benötige ich ja ein 
Anti-Aliasing-Filter. Ist es bei Logikanalyzern üblich für jeden Kanal 
ein Anti-Aliasing-Filter zu machen, oder lässt man es schlichtweg weg?
Problematisch ist es ja hinsichtlich der Anstiegszeit der Signale. Wenn 
ich beispielsweise ein Signal mit 20MHz habe (was ja angesichts des 
Abtasttheorems noch in Ordnung wäre), das schich ich dann durch das 
Anti-Aliasing-Filter mit 25MHz Grenzfrequenz und dann hab ich was 
ähnliches wie einen Sinus. Da stimmen ja die Timings garnicht mehr.

Habt ich mit solchen "Eingangsstufen" von Logikanalyzern schon 
Erfahrungen (Projekte hab ich genug gefunden, aber die fahren immer alle 
direkt bzw. über ein Paar Ohm auf die Eingänge des FPGA/Controller).

Danke schon mal für die Antworten

Thomas

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aliasing tritt bei der Abtastung von Analogsignalen auf. Nicht aber bei 
Digitalsignalen. Also brauchst du keinen Filter.


Gruß Skriptkiddy

Autor: Jochen Fe. (jamesy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ha! Bitte nochmal nachdenken.....

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jochen Fe. schrieb:
> Ha! Bitte nochmal nachdenken.....

Wer soll nachdenken und warum?

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK Digitalsignal ist nicht die Richtige Beschreibung für das was ich 
meinte. Ich meinte ein Binärsignal.

Autor: Georg A, (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
a) Sicher gibt es Aliasing. Die Komparatoren lassen sicherlich mehr als 
50MHz durch und die FFs danach haben auch sicher ein Setup-Hold-Fenster 
von weniger als 20ns. Über 100MHz wird dann aber sicher der Frequenzgang 
der Komparatoren selbst kurze Pulse unterdrücken.

b) Ist das bei einem LA aber völlig egal. Dir geht so oder so 
Information verloren, wenn sie denn vorhanden wäre. Von daher sind 
"erratische" Pulse durchs Aliasing im Bereich von 25-100MHz auch noch am 
besten, weil man sieht, dass da irgendwas da ist. Jedenfalls besser als 
konstant 0 oder 1...

Autor: Thomas K. (tomthegeek)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

danke für eure Antworten. Ich nehme also pro Kanal ein Sample&Hold-Glied 
das zyklisch mit der Abtastrate aktiviert wird und lade dann die Daten 
vom Komparator.
Was mir heute noch eingefallen ist: Wäre es nicht sinnig, mit einem z.B. 
8bit ADC mit hoher Datenrate zu Samplen und dadurch mit Flankenerkennung 
in in Binärsignal zu wandeln? Dann könnte man die Timings auch besser 
bestimmen.
Unbenötigte Werte vom ADC "werf ich dann einfach weg"...
Aber ist wahrscheinlich ein zu hoher Aufwand, da ja ausgewertet werden 
muss (Differenzenquotient oder so..) und der Preis wohl nicht in 
Relation zum Ergebnis steht oder?

Thomas

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann auch mit einem synchronen Komparator samplen.

Autor: Thomas K. (tomthegeek)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie meinst du?
Kann mir unter synchronem Komparator grad nix vorstellen

Autor: Georg A, (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wäre es nicht sinnig, mit einem z.B.
> 8bit ADC mit hoher Datenrate zu Samplen und dadurch mit Flankenerkennung
>  in in Binärsignal zu wandeln? Dann könnte man die Timings auch besser
> bestimmen.

Klingt wirklich extrem kostengünstig. Bei nur 8 digitalen Eingängen sind 
das bei 50MHz dann auch schon 400MByte/s, die irgendwer auswerten muss. 
Dann kannst du aber gleich ein richtiges Oszi drausmachen, mit der 
Wahlmöglichkeit auch max. 64 digitale LA-Kanäle zu nutzen. Ah, Mist, 
sind wir schon wieder an dem Punkt :)

Ausserdem: Was willst du da noch an Flankenerkennung machen? Es geht 
hier doch um die Unterscheidung 0 vs. 1. Die Grenze legen die 
Komparatoren über ihre Vergleichsspannung fest. Es wäre grad noch was 
mit einem zweiten Komparator denkbar, der das Niemandsland zwischen 0 
und 1 erkennt. Aber alles andere sind Informationen, die ein LA nicht 
liefern muss/soll. Dafür ist dann ein Oszi da.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter synchronem Komparator dachte ich mir einen Komparator, mit 
digitalem S&H Glied, auch bekannt als D-FlipFlop, am Ausgang.

Wenn du die analoge Information doch eh stark reduzierst (von analog auf 
digital eben) brauchst du auch keinen A/D Wandler...

Autor: Thomas K. (tomthegeek)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Unter synchronem Komparator dachte ich mir einen Komparator, mit
> digitalem S&H Glied, auch bekannt als D-FlipFlop, am Ausgang.
Aber normal hab ich doch das S&H vor der Diskretisierung (hier: 
Komparator)...
Ein D-FF wird mir wohl bei zyklischem einlesen durch VHDL eh erzeugt 
werden, denk ich mal.
> Wenn du die analoge Information doch eh stark reduzierst (von analog auf
> digital eben) brauchst du auch keinen A/D Wandler...
Jop ist mir dann auch gekommen ;)
Wie unterscheide ich eigentlich am besten zwischen High, Low und 
undefined? Da brauch ich ja theoretisch zwei Komparatoren und zwei 
Eingänge pro Kanal + Auswertelogik im FPGA. Vernachlässigt man normal 
den undefined-Bereich bei der Signalanalyse?

Thomas

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas K. schrieb:
> Simon K. schrieb:
>> Unter synchronem Komparator dachte ich mir einen Komparator, mit
>> digitalem S&H Glied, auch bekannt als D-FlipFlop, am Ausgang.
> Aber normal hab ich doch das S&H vor der Diskretisierung (hier:
> Komparator)...
> Ein D-FF wird mir wohl bei zyklischem einlesen durch VHDL eh erzeugt
> werden, denk ich mal.
Also wenn du das ganze abtastend machst (in VHDL) und nicht 
flankengetriggert, dann denke ich das auch mal.

>> Wenn du die analoge Information doch eh stark reduzierst (von analog auf
>> digital eben) brauchst du auch keinen A/D Wandler...
> Jop ist mir dann auch gekommen ;)
> Wie unterscheide ich eigentlich am besten zwischen High, Low und
> undefined? Da brauch ich ja theoretisch zwei Komparatoren und zwei
> Eingänge pro Kanal + Auswertelogik im FPGA.
Ja, würde ich auch sagen. Eine andere Idee kommt mir auch nicht.

> Vernachlässigt man normal
> den undefined-Bereich bei der Signalanalyse?
Das weiß ich leider nicht. Habe noch nie mit einem Logikanalyzer 
(wirklich) gearbeitet :-D

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
>> Vernachlässigt man normal
>> den undefined-Bereich bei der Signalanalyse?
> Das weiß ich leider nicht. Habe noch nie mit einem Logikanalyzer
> (wirklich) gearbeitet :-D

Hallo,

normalerweise schon - an Ausgängen ist er sowieso verboten und kommt nur 
als Übergang vor. Interessant wäre der TriState-Zustand, aber den kann 
man so eh nicht erkennen, da ein floatender Eingang keineswegs im 
undefined-Bereich liegen muss.

Wenn man untersuchen will, ob z.B. eine sichere 1 rechtzeitig erreicht 
wird, kann man das mit der einstellbaren Schaltschwelle erreichen. 
Ausserdem könnte man eine Hysterese einbauen, die gerade undefined 
abdeckt, aber die sollte dann auch verstellbar sein (je nach 
Logikfamilie), was ziemlich aufwendig wird. Zweck: nur eine sichere 1 
schaltet von 0 auf 1, undefined lässt die 0 bestehen, und umgekehrt.

Gruss Reinhard

Autor: Thomas K. (tomthegeek)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun ich werde wohl, angesichts des geringen Eingangswiderstandes des 
Komparators den ich verwenden will, sowieso noch eine 
Impedanzwandlerstufe mit einem OPV davorhängen. Aus dem sollte sich auch 
ein Schmitt-Trigger ohne weiteres realisieren lassen. Müsste hald dann 
nur je nach Logik-Familie die Widerstände umschalten, obs mir das Wert 
ist weiß ich ned ;)

Thomas

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas K. schrieb:
> Nun ich werde wohl, angesichts des geringen Eingangswiderstandes des
> Komparators den ich verwenden will, sowieso noch eine
> Impedanzwandlerstufe mit einem OPV davorhängen.
Dann achte drauf, dass der Impedanzwandler schnell genug ist. Der 
(schnelle) Operationsverstärker muss für die Verstärkung kompensiert 
sein oder kompensiert werden.

> Aus dem sollte sich auch
> ein Schmitt-Trigger ohne weiteres realisieren lassen. Müsste hald dann
> nur je nach Logik-Familie die Widerstände umschalten, obs mir das Wert
> ist weiß ich ned ;)

Ich würde ja einen Komparator benutzen, mit kleiner Hysterese (paar 
hundert Millivolt) und immer 8 Leitungen oder so zusammenfassen. Für 
diese 8 Leitungen lässt sich dann eine Schaltschwelle (per Software, 
z.B. mit einem DAC) definieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.