Ich habe eine kleine Frage: Ich habe eine 5MHz Taktsignal (LVTTL) und ein weiteres mit einer leicht unterschiedlichen Frequenz (4,99-5,01MHz, ebenfalls LVTTL) Ich muss nun herausfinden, wenn z.B. die steigende Flanke beider Signale genau zugleich auftritt. Prinzipiell wäre mir auch egal, wenn die Schaltung nicht die exakte Zeitgleichheit der Flanken detektiert, sondern auf einen genau bekannten Versatz der Beiden reagiert. Wichtig ist nur, das ein Signal 1x pro Zyklus ausgelöst wird. Mit Zyklus meine ich hierbei die Zeitspanne zwischen 2 gleichzeitigen Auftreten einer Flanke also z.B. bei 0,1% Frequenzunterschied zwischen den beiden Signalen alle 1000 Perioden. Das Problem dabei ist aber, das ich die 2. Frequenz nicht genau kenne und sie auch etwas schwankt, also funktioniert Perioden zählen leider nicht (schon probiert)
hallo lukas. FALLS du das ganze mit einem controller machen willst (was nicht unbedingt nötig ist, aber ich bin nun mal softwerker ;-) ), läßt du einen zähler laufen, benutzt zwei externe, flankengetriggerte interrupts, und hältst in jedem interrupt den zählerstand fest. ein vergleich der beiden zählerstände liefert dir den zeitlichen versatz der beiden flanken. wär das was? gruß michael
Leider wäre das nicht gerade ideal, denn ein 5MHz Signal kann ich nicht direkt auf den Pin legen, sondern müsste je einen Vorteiler dazubauen. Dann wäre das aber meine fallback-Lösung.
@ Lukas Slz (luky) >Ich habe eine 5MHz Taktsignal (LVTTL) und ein weiteres mit einer leicht >unterschiedlichen Frequenz (4,99-5,01MHz, ebenfalls LVTTL) >Ich muss nun herausfinden, wenn z.B. die steigende Flanke beider Signale >genau zugleich auftritt. Definiere "genau gleich". 1ns? 10ns? Sag doch mal lieber, was das insgesamt werden soll. MFg Falk
Genau Zeitgleich... ja , ja. Nimm doch mal ein XOR Gatter und lass beide Frequenzen drauf los. Die Zeitgleichheit ist dort, wo sich das Vorzeichen des Mittelwertes aendert. Die Nadel wird immer schmaler, und aendert dann das vorzeichen
@ Falk: Lukas Slz wrote: > Wichtig ist nur, das ein Signal 1x pro Zyklus ausgelöst wird. Mit Zyklus > meine ich hierbei die Zeitspanne zwischen 2 gleichzeitigen Auftreten > einer Flanke also z.B. bei 0,1% Frequenzunterschied zwischen den beiden > Signalen alle 1000 Perioden. > Das Problem dabei ist aber, das ich die 2. Frequenz nicht genau kenne > und sie auch etwas schwankt, also funktioniert Perioden zählen leider > nicht (schon probiert)
Mathematisch betrachtet kreuzen sich die Flanken zweier asynchroner Signale lediglich während eines unendlich kurzen Zeitraumes. Dementsprechend wird auch das die Überkreuzung meldendes Signal unendlich kurz sein. Erfahrungsgemäß ist die Auswertung derart flüchtiger Signale in einer realen Schaltung aber nicht wirklich anspruchslos... Ohne die Definition eines Zeitfensters, das den Rahmen definiert, innerhalb dessen eine "Gleichzeitigkeit" der Flanken angenommen werden soll - wie beispielsweise die bereits erwähnten 10ns - wird das nichts.
Ein XOR plus nachfolgender Tiefpass ergibt die Differenzfrequenz. Der steigende Nulldurchgang dieses Signales ist eine Konizidenz der Flanken.
Wie lange das Signal dauert ist wie schon mehrfach gesagt egal. Es ist nur wichtig, das es innerhalb eines Zykluses genau 1x auftritt, und zwar an derselben Stelle.
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.