CPLD bei 20MHz Clock

Gast #1125155
Lesenswert?

Hallo,

Ich würde gern eine Platine machen, bei der ich einen CPLD (MAXII) bei 
einem 20MHz-Clock betreibe...

Ist es auch bei solch "langsamen" Clocks wichtig auf Leitungsverlegung 
und Wellenwiderstände zu achten, oder benötigt man dies nur bei höheren 
Clocks?
Moderator (Firma: Titel) Persönliche Seite #1125163
Lesenswert?

> Ist es auch bei solch "langsamen" Clocks wichtig auf Leitungsverlegung
> und Wellenwiderstände zu achten...
Ausschlaggebend ist nicht (nur) die Grundfrequenz, sondern die 
Flankensteilheit der Signale. Wenn du ein Rechteck mit 20MHz übertragen 
willst, hast du auch die ungeraden Harmonischen mit 60MHz, 100MHz, 
140MHz usw. Und das ist dann schon einen Blick aufs Layout wert... ;-)

Am einfachsten sind die Regeln:
- Fasse dich kurz.
  Keine unnötigen Schlenker in der Leiterbahn, keine unnötigen Vias.

- Strom fliesst im Kreis.
  Wo ein Strom hinfließt fließt auch einer zurück. Gib dem Rückstrom
  (z.B. auf einer Masselage/-leiterbahn) einen möglichst kurzen Weg.
Gast #1125167
Lesenswert?

Gut das ganze klein zu halten habe ich sowieso vor...

Aber spielt es eine Rolle welche Form die Leiterbahnen haben (Rund oder 
Eckig)?

Da ich von dem MAXII sowieso nur ca 20 Pins brauche habe ich eigentlich 
vor die einzelnen pins immer so weit wie möglich voneinander zu trennen 
und die dazwischen auf Masse zu legen... ist das denn überhaupt 
sinnvoll?
#1125178
Lesenswert?

Also bei 20MHz würde ich sagen nein, insbesondere weil es sich ja hier 
um digitale Signale und nicht analoge. Man sollte drauf achten wenn die 
Leitungslänge nahe an die Wellenlänge rankommt. Bei 20 MHz ist die 
Wellenlänge 15m, da bist du mit einem Platinenlayout noch weit davon 
entfernt. Selbst bei 200 MHz würde ich den Wellenwiderstand nicht 
beachten, hier muss du jedoch schon auf Laufzeiten achten, insbesondere 
wenn du Speicher (DDR etc) ansteuern willst.
Gast #1125194
Lesenswert?

> Also bei 20MHz würde ich sagen nein, insbesondere weil es sich ja
> hier um digitale Signale und nicht analoge.

Das stimmt nicht. Es kommt nicht darauf an wie hoch die Taktfrequenz
ist sondern wie schnell sie sein koennte, also wie schnell die
Taktflanken sind. Ausserdem kann man bei CPLDs auch schnell freude
haben weil die Eingaenge sehr fix sind. Ich hatte z.B Probleme
mit einem I2C im inneren eines CPLD obwohl der Clock da nur 10khz
betraegt und die Leitungslaenge etwa 15cm war.
Man kann es natuerlich hin bekommen, aber ein programmierter PCF8574 in 
einem CPLD war auf jedenfall deutlich kritischer als ein echter!

Olaf
#1125212
Lesenswert?

Bei 10 kHz kann ich mir nun wirklich nicht vorstellen. Bei 10 kHz liegt 
der Pegel ja 0,1ms an. Selbst wenn du die Datenleitung doppelt so lang 
machst wie die CLK Leitung geht das immernoch, das sind ja nur etwas 
mehr als 1/2 ns Verzögerung. Es geht hier ja um die externe und nicht um 
die interne "Verdrahtung". Was man im CPLD mach ist erstmal unerheblich.
Moderator (Firma: Titel) Persönliche Seite #1125238
Lesenswert?

> Bei 20 MHz ist die Wellenlänge 15m, da bist du mit einem Platinenlayout
> noch weit davon entfernt.
Der gute alte PCI-Bus hatte "nur" 33MHz und da gab es schon recht rigide 
Anforderungen fürs Layout  :-/

> Bei 10 kHz kann ich mir nun wirklich nicht vorstellen.
Ja, wenn die Flanke in 2ns hochknallt, dann gibt das mit dem passenden 
Layout hübsche Überschwinger. Und wenn der Baustein darauf etwas 
sensibel reagiert...   :-o
#1125289
Lesenswert?

Timmo H. wrote:
> Bei 10 kHz kann ich mir nun wirklich nicht vorstellen. Bei 10 kHz liegt
> der Pegel ja 0,1ms an.

Auch wenn du dir es nicht vorstellen kannst, ist es so. Man kann sich 
massive Probleme einhandeln. Gerade die CoolRunner II CPLD schalten 
dermaßen schnell ihre IOs, dass man sich locker Frequenzen im Bereich 
von einigen hundert MHz erzeugen kann. Und dabei ist es völlig 
unerheblich, wie oft die schalten. Denn die Flanke ist das 
entscheidende, nicht die Häufigkeit. Wir hatten hier schon CPLD-Designs, 
die die verrücktesten Sachen gemacht haben, selbst bei quasi-statischer 
Ansteuerung. Wo es geht, setzen wir aktive Terminatoren ein, z.B. die 
Pericom Chips.
Gast #1125308
Lesenswert?

ahh okay, ich bezog meine Angabe nur auf die Verdrahtung 
Oszillator-FPGA.
Was die Signale generell angeht, ist es natürlich sicher so, dass die 
Flankensteilheit das entscheidende ist und nicht die Frequenz. Und wenn 
die Ausgänge schalten, dann ist es unahbängig von der Frequenz mit der 
sie schalten, sondern die Flankensteilheit spielt die entscheidende 
Rolle. Und diese wird von der Treiberleistung des Ausgangs bestimmt.
Daher ist es natürlich richtig, dass es zu sehr hochfrequenten Anteilen 
im Signal kommen kann.
Man muss sich aber generell fragen, WAS in dem umliegenden Bereich 
negativ beeinflusst werden kann: Hat man z.B. auf dem System ein 
empfindliches Messystem, dann muss man natürlich drauf achten, dass sie 
die Frequenzen nicht störend in die Schaltung einkoppen. Lässt man nur 
ein paar LEDs blinken, ist es völlig wurscht, wenn da Störungen auf der 
Leitung sind.

Ich weiss nicht, ob du die slew-rate an dem CPLD einstellen kannst. Wenn 
ja, dann stell sie so langsam, wie möglich. Weiterhin könntest du mit 
Widerständen und/oder kleinen Kapazitäten uf den Leitungen die Flanken 
ein wenig "plattklopfen".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren