Höhere Clock nur wegen eines Signals?

Gast #6662100
Lesenswert?
• ▲
▼
Hallo.
Ich habe in einer Schaltung zum Auslesen eines Video(zeilen)sensors 
einen Systemtakt von 100MHz. Die Pixel werden mit 10MHz aus dem Sensor 
per VideoADC ausgelesen.
Um die Signale für den VideoADC korrekt zu erzeugen, verwende ich die 
10MHz als Basistakt und verschiebe die benötigten Triggersignale 
entsprechend. Für die Verschiebung nehme ich die 100MHz als Basis. D.h. 
ich kann die Triggersignale in 1/10 Schritten verschieben.

Das Ganze läuft in einem MAX 10M08.

Die Schaltung an sich läuft und liefert Ergebnisse.

Beim Optimieren der Schaltung hab ich jetzt gesehen, dass die Amplitude 
des Analogsignals höher wäre, wenn ich das Delay für den Samplepunkt in 
1/20 Schritte einstellen könnte.

Ich hab's bisher immer so gehalten, dass der Systemtakt der höchste war. 
Jetzt brauche ich "wegen 3 Triggersignalen" den doppelten Takt.
Den Aufwand, dass ich die gesamte Schaltung auf 200 MHz umstelle, möchte 
ich mir sparen.
Was soll ich machen? Nur für die 3 Signale ne höhere Clockdomain 
verwenden oder die ganze Schaltung schneller laufen lassen.
Gast #6662120
Lesenswert?
• ▲
▼
Arbeite mit zwei Takten.

Da der eine 100 MHz und der andere 200 MHz ist, kannst du beide aus der 
gleichen PLL erzeugen und diese sogar synchron verwenden.

Ansonsten kannst du auch alle Übergänge asynchron behandeln. Da gibt es 
viel Literatur unter "Clock Domain Crossing". Wahrscheinlich brauchst du 
aber die synchrone Variante, da sonst die Triggerpräzision 
wahrscheinlich darunter leidet.
Gast #6662138
Lesenswert?
• ▲
▼
Danke für die Antwort.
Ich glaube, dass ich mir sogar das Synchronisieren sparen kann, da die 3 
Triggersignale eh nur für die Erzeugung des Timings für den externen ADC 
verwendet werden. Intern verwende ich die Signale sonst nicht.

Der ADC gibt mir dann zurück, dass er mit seiner Wandlung fertig ist. 
Und dieses Ready-Signal lese ich wieder synchron zu meinen 100MHz ein...
Gast #6664546
Lesenswert?
• ▲
▼
Bei vielen FPGAs hast du auch ODDR, OSERDES oder aehnliche bloecke, mit 
denen du nur die Outputs selbst hoeher taktest, aber den Systemtakt 
gleich laesst. Da berechnet man in einem Systemtakt mehrere Bits und 
kann relativ dazu die Flanke recht genau verschieben.

Ich weiss allerdings nicht, ob der MAX10 sowas hat, gehe aber mal 
pauschal davon aus.
Gast #6665452
Lesenswert?
• ▲
▼
Eventuell kannst du auch mit der steigenden und fallenden Flanke des 100 
MHz Taktes was tricksen.
Aber da muss man natürlich dann aufpassen, dass das Triggersignal nicht 
glitched oder andere hässliche Dinge passieren, die von Laufzeiten 
verursacht werden.
Gast #6665458
Lesenswert?
• ▲
▼
Nachtrag:

Wenn du die Anpassung des Triggerzeitpunktes nicht während des Betriebs 
vornehmen musst, sondern im Design 'hart' einstellen kannst, sollte es 
eigentlich recht einfach sein.

Verwende sowohl für den Takt als auch für die Trigger je ein 
PAD-Register. Damit sind die Laufzeiten zu den Pins recht kurz und haben 
wenig Skew.

Das Register für den 10 MHz Ausgang taktest du mit der steigenden Flanke 
des 100 MHz Clock.

Die Register für die Trigger taktest du wahlweise entweder mit der 
steigenden oder fallenden Flanke des 100 MHz Clocks. Damit kannst du das 
Triggersignal nochmal um ne halbe Periode verschieben, bevor es aus dem 
Pin purzelt.

Ob das für deinen Anwendungsfall praktikabel ist, kann ich allerdings 
nicht beurteilen

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.