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
Aliasing tritt bei der Abtastung von Analogsignalen auf. Nicht aber bei Digitalsignalen. Also brauchst du keinen Filter. Gruß Skriptkiddy
OK Digitalsignal ist nicht die Richtige Beschreibung für das was ich meinte. Ich meinte ein Binärsignal.
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...
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
Man kann auch mit einem synchronen Komparator samplen.
Wie meinst du? Kann mir unter synchronem Komparator grad nix vorstellen
> 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.
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...
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
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
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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.