Hallo @ all Ich habe 2 AD-Wandler. Jeder AD-Wandler erzeugt 1 Dataready-Signal. Diese beiden Datareadysignale sind beim FPGA auf Clockbuffer gelegt. Im normalen Fall ist die Phasenverschiebung zwischen den beiden Signalen 90°. Jedoch kann es passieren das die Phasenverschiebung zwischen den beiden Datareadysignalen 180° beträgt. Dies hängt damit zusammen das der Clock manchmal unterbroche wird und die AD-Wandler dadurch unterschiedlich starten. Jetzt möchte ich im FPGA erkennen wie die Phasenlage der beiden Leitungen zueinander. Ich habe mir gedacht ich erzeuge erst einmal mit Hilfe eines FF den Takt mit der halben Freqeunz. Dann muss ich aus dem einem Signal wieder einen Takt erzeugen und das andere Signal abfragen. z.B. so. Wenn eine ansteigende Flanke vom reduzierten CLK kommt und dann das reduzierte Signal den Zustand 1 besitzt dann ist die Phasenlage 90° wenn nicht dann ist die Phasenlage 180° Jedoch halte ich diese Lösung nicht für besonders sinnvoll. Vielleicht gibt es bessere Vorschläge. Die Datareadyleitungen kann ich nicht auf einen DCM legen, da der Clock stark jittert.
Hallo! Erzeuge dir doch einen Abtastclock mit dem DCM und taste beide ADC-Clocks mit dem Abtastclock ab und zähle die Zeit zwischen den Flanken... z.B. ADC-Clock beträgt 50 MHz -> lass dir mit dem DCM einen Takt von 250 MHz erzeugen und taste damit beide Signale ab, Genauigkeit wäre dann 60 Grad...
Das Datareadysignal hat leider schon eine Freuqenz von 200MHz Da ist nicht mehr viel Luft nach oben. Auch wenn ich die Dataready Clock durch FFs vergeringere bleibt die Phasenlage konstant. Ich verwende momentan einen einen Virtex 5 Speedgrade -3 will aber in Zukunft auf den Speedgrade -1 wechseln
Du hast recht Simon. Wenn ich den Takt der Datareadyleitung durch mehre in Reihe geschaltete FlipFlops vergeringere, dann kann ich mit einem schnellen Takt herausfinden wie die Phasenlage ist. Jedoch habe ich momentan ein Konten im Gehirn, so das ich über ein Quellcodebeispiel dankbar wäre.
Johann schrieb: > Wenn ich den Takt der Datareadyleitung durch mehre > in Reihe geschaltete FlipFlops vergeringere, dann kann ich mit einem > schnellen Takt herausfinden wie die Phasenlage ist. also benötigst du zwei Taktdivider bzw. Zähler und dann kommt der Phasendetektor... Das Takten des Detektors kann mit einem der ankommenden Datareadysignale geschehen... aber nich mit der runter gesetzten Frequenz sonder mit der vollen Frequenz... Ich könnte dir nur ein Verilog Beispiel anbieten, ist das in Ordnung?
man kann auch ohne Taktteilung arbeiten, wenn sich die beiden Takte gegenseitig absampeln
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.