Forum: FPGA, VHDL & Co. Ferrit in Versorgung für FPGA IO bank sinnvoll?


von HeuteNicht (Gast)


Lesenswert?

Hallo zusammen,

Ich entwerfe auf der Arbeit im Moment ein FMC Modul und mein Betreuer 
besteht darauf den Pin 'VIO_B_M2C' nur über einen Ferritkern und einem 
Kondensator zu GND mit der 3,3V Versorgung auf meinem Modul zu verbinden 
(die wiederum aus VADJ gespeist ist) ("so wie die Versorgungspins die 
vom Carrier kommen auf dem Modul gefiltert werden"). Auf welche Seite 
der Induktivität er den Kondensator haben möchte wusste er nicht so 
genau.

Ich bin nicht besonders vertraut mit dem Thema aber hatte immer im Kopf 
"Quelleninduktivität so gering wie möglich halten". Ist das hier 
irrelevant weil beim FPGA sowieso noch Glättungskondensatoren kommen? 
Wenn auf der Versorgung meiner Platine viel rippel ist hilft es mir ja 
auch wenig wenn die FPGA Pins den nicht abbekommen?

Ich bin unsicher wie vertraut andere Menschen so mit der FMC 
Spezifikation sind, fragt gerne nach falls der erste Absatz zu 
verwirrend ist.

(Und wie sagt man decoupling capacitor auf deutsch? Bei 
"Glättungskondensatoren" denke ich immer an 50Hz AC Glättung...)


Vielen Dank und liebe Grüsse

von soso... (Gast)


Lesenswert?

Ferrite sind zweinschneidige Geschichten.

Die Induktivität ist nicht so hoch wie du möglicherweise denktst, aber 
höher, als dein Kollege denkt. Ferrite arbeiten eher als ohmscher 
Widerstand, der bei 100MHz z.B. 60 Ohm hat.

Mit den Entkoppelkondensatoren bildet das ein Tiefpass, das bei hohen 
Frequenzen wirksam ist. Das KANN gegen HF-Störungen helfen - 
haupsächlich im Bereich zig MHz bis GHz. Darum neigen einige Entwickler, 
die Boards mit großen Mengen Ferriten zu bewerfen.

Andererseits haben Ferrite, insbesonders hochohmige Multilayer-Ferrite, 
durchaus eine Induktivität, die im kHz-Bereich wirksam sein kann. Das 
kann Probleme machen. Darum klatscht man die nicht einfach hinein, 
sondern denkt sorgfältig darüber nach.

Ich lege die inzwischen durch Simulation so aus, dass sie nicht 
schwingen können. Wie ein Filter halt auch. Jaja, übertrieben. Aber ich 
HATTE Probleme damit (ein Ferrit hat mit dem Schaltregler mitgesungen).

Eine kleine Hilfestellung:
https://www.analog.com/en/analog-dialogue/articles/ferrite-beads-demystified.html
Mir hat das sehr geholfen. Fast alle Hersteller (Murata, Würth und wie 
sie alle heißten) bieten Simulationsmodelle an.

von HeuteNicht (Gast)


Lesenswert?

Das war schon ganz hilfreich, aber weswegen würde man den Ferrit jetzt 
eher in die Versorgungsleitung der IO pins in einem FPGA als in die 
Versorgungsleitung zu irgendeinem anderen chip tun? Weil er auf einer 
anderen Platine sitzt und man Leitungen die die Platine verlassen 
generell eher filtert?

Danke und Grüsse

von Falk B. (falk)


Lesenswert?

@ HeuteNicht (Gast)

>Das war schon ganz hilfreich, aber weswegen würde man den Ferrit jetzt
>eher in die Versorgungsleitung der IO pins in einem FPGA als in die
>Versorgungsleitung zu irgendeinem anderen chip tun?

Weil er, wenn links UND recht von ihm ein passender Kondensator sitzt, 
in BEIDE Richtungen als Filter wirken kann.

>Weil er auf einer
>anderen Platine sitzt und man Leitungen die die Platine verlassen
>generell eher filtert?

Kann man auch so sehen. Es ist halt immer dir Frage, ob der jeweilige 
Versorgungsanschluß eher eine Störquelle oder (empfindliche) Störsenke 
ist.
Dementsprechend kommt der Kondensator links oder rechts dran. Oder 
beide.

von soso... (Gast)


Lesenswert?

HeuteNicht schrieb:
> Das war schon ganz hilfreich, aber weswegen würde man den Ferrit
> jetzt
> eher in die Versorgungsleitung der IO pins in einem FPGA als in die
> Versorgungsleitung zu irgendeinem anderen chip tun? Weil er auf einer
> anderen Platine sitzt und man Leitungen die die Platine verlassen
> generell eher filtert?

Das ist halt wie mit Lärmquellen: Man kann allen Leuten Ohrenstöpsel 
geben (also das Bead zu anderen Chips setzen) oder die Lärmquelle 
ruhigstellen.

Bei der IO-Versorgung eines FPGA können hohe Stromspitzen anfallen, z.B. 
bei einem parallelem Bus. Wenn alle Busleitungen gleichzeitig toggeln, 
braucht das FPGA an der IO-Versorgung natürlich einen Batzen Strom. Und 
die Flanken sind bei heutigen FPGAs besonders steil. Das kann Störungen 
mit hoher Frequenz erzeugen.
Wenn man ein Ferrit zwischen dem Pufferkondensatoren der IO-Versorgung 
und dem Rest der Welt setzt, absorbiert das natürlich einen guten Teil 
der erzeugten Störungen.

Das Problem ist:
Wenn die Störungen mal auf der Versorgung sind, können sie in alle 
möglichen Leitungen einkoppeln. Und die Versorgung zieht sich über die 
ganze Platine.
Bei z.B. 100MHz geht das sehr schnell einmal. Und dann ist es schwierig, 
die Leitungen nach außen sauber zu bekommen.

Darum ist die Idee nicht so abwegig, insbesondere bei FPGAs und 
Prozessoren.

Andererseits hat man bei einem FPGA auch noch andere Möglichkeiten. Eine 
einstellbare slew-rate wäre sowas.
Es kommt extrem drauf an, was man mit dem FPGA treibt. Einen parallelen 
64-Bit-Bus antreiben ist sicher etwa anderes als ein paar einsame 
LVDS-Leitungen.

von J. S. (engineer) Benutzerseite


Lesenswert?

soso... schrieb:
> Wenn die Störungen mal auf der Versorgung sind, können sie in alle
> möglichen Leitungen einkoppeln. Und die Versorgung zieht sich über die
> ganze Platine.
Von meinen Erfahrungen hier, sind Ferrite eher dazu dar, den 
versorgenden Schaltkreis vor Rückwirkungen durch das Schalten des 
versorgten Schaltkreises zu schützen.
Die Dämpfung der Versorgungsspitzen ist ferner in erster Linie ein 
EMV-Problem, weil die Pulse zwischen den Modulen unnötig pendeln, 
E-Felder erzeugen, auch wenn sich nicht elektrisch stören.

> Bei z.B. 100MHz geht das sehr schnell einmal. Und dann ist es schwierig,
> die Leitungen nach außen sauber zu bekommen.
Normalerweise reicht die Dämpfung der Ausgänge gegen die Versorgung aus.
Die Nachbarausgänge machen da ein wesentlich größeres Problem und dann 
kann eine induktive Versorgungsleitung Schwierigkeiten machen.

> Darum ist die Idee nicht so abwegig, insbesondere bei FPGAs und
> Prozessoren.
Eigentlich braucht es das bei analogen Schaltungsteilen noch mehr, als 
bei digitalen (?).


> Andererseits hat man bei einem FPGA auch noch andere Möglichkeiten. Eine
> einstellbare slew-rate wäre sowas.
Das wäre aber aber funktionelle Änderung des Designs und ohnehin 
durchzuführen. In der Regel ist das ja gemacht und man hat dann eine 
definierte Belastung von der man hinsichtlich der Auslegung der 
Stromversorgung / Blockkondensatoren ausgehen muss.

Hinzu kommt, dass bei Vorhandensein nennenswerter Auswirkungen von 
Störpegeln der Versorgung durch Absenkung der Steilheit der Ausgänge 
deren Anfälligkeit durchaus auch erhöht wird. Hängt vom Spektrum ab.

von soso... (Gast)


Lesenswert?

Jürgen S. schrieb:
> Von meinen Erfahrungen hier, sind Ferrite eher dazu dar, den
> versorgenden Schaltkreis vor Rückwirkungen durch das Schalten des
> versorgten Schaltkreises zu schützen.
> Die Dämpfung der Versorgungsspitzen ist ferner in erster Linie ein
> EMV-Problem, weil die Pulse zwischen den Modulen unnötig pendeln,
> E-Felder erzeugen, auch wenn sich nicht elektrisch stören.

Genau, um EVM geht es bei Ferritbeads. Die sind ja erst ab um die 100MHz 
effektiv. Und hier geht es darum, die Störungen so nah wie möglich an 
der Quelle abzufangen. Da reden wir von wenigen mV.

Beispiel:
https://eu.mouser.com/datasheet/2/445/74279220601-516383.pdf
Das 600-Ohm-Ferrit hat bei 1MHz gerade mal 10 Ohm. Für Filter also erst 
effektiv, wenn man um die 10-100MHz kommt, dafür aber dann rauf bis fast 
1GHz.
--> Für Fukstörungn bei z.B. 200MHz wäre das Ding ideal

Wenn es um die Störung einer Funktion oder eines analogen Kreises geht, 
ist die Frequenz meistens deutlich niedriger. Da sind es Dinge wie PWMs 
von Schaltreglern oder Tasks im Prozessor.
Da sind Ferritbeads ziemlich ineffektiv, wie man am Frequenzgang oben 
sieht. Man nimmt dort eher ein klassisches RLC-Filter.

Jürgen S. schrieb:
> Das wäre aber aber funktionelle Änderung des Designs und ohnehin
> durchzuführen. In der Regel ist das ja gemacht und man hat dann eine
> definierte Belastung von der man hinsichtlich der Auslegung der
> Stromversorgung / Blockkondensatoren ausgehen muss.

Das ist oft einfach nur eine kleine Software-Änderung. ALTERA-FPGAs 
können das beispielsweise, XILINX auch. Ich habe das schon verwendet, um 
EMV-Probleme in den Griff zu bekommen.
Sollte man probieren, bevor man das Design angreift.

Jedenfalls der Punkt ist: Ferritbeads sind im Frequenzbereich bei 
100MHz-5GHz angesiedelt - je nach Typ - und meistens kein gutes Filter 
für NF (kHz bis untere MHz).

von J. S. (engineer) Benutzerseite


Lesenswert?

soso... schrieb:
> Das ist oft einfach nur eine kleine Software-Änderung.

Ja,ja, nur gehe ich davon aus, dass Designer "vorwärts" denken, also 
erst mal die Spec für die Ausgänge inspizieren und dann deren 
Treiberverhalten und Pegel einstellen und damit ist das dann fix und 
bezüglich der Steilheiten am Minimum. Wenn da dann Störungen von der 
Versorgung reinstreuen, kann man an dem Parameter nicht mehr drehen 
sondern muss Ursachenforschung betreiben.

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
Noch kein Account? Hier anmelden.