Abschlusswiderstände: Werden sie benötigt?


20

Für ein Projekt, das ich entwerfe, verwende ich einen IS42s32800 (TSOP) SDRAM mit einem LPC1788 (QFP) Mikrocontroller. Auf der Platine habe ich 4 Schichten mit einer Masseebene direkt unter der oberen Signalschicht und einer VDD-Ebene direkt über der unteren Signalschicht. Durchschnittliche Leiterbahnen zwischen der CPU und dem RAM sind 60 mm lang, wobei die längste Leiterbahn 97 mm beträgt, die Taktleitung 53 mm lang ist und keine Leitung Abschlusswiderstände aufweist. Ich bin gespannt, ob es absolut notwendig ist, Abschlusswiderstände auf DRAM-Leitungen zu haben. Würde dieses Design ohne sie funktionieren oder sollte ich mich nicht einmal die Mühe machen, es ohne die Widerstände zu versuchen?


Was steht auf dem Datenblatt?
Matt Young


Antworten:


32

Wenn die Frequenz / Anstiegszeit und -entfernung hoch genug ist, um Probleme zu verursachen, müssen Sie die Terminierung durchführen.

Übertragungsleitungsmodell

Bei 97 mm längster Spur kommen Sie wahrscheinlich ohne sie davon (Berechnungsergebnisse siehe unten). Wenn Sie ein PCB-Paket haben, das IBIS-Modelle und Board-Level-Simulationen unterstützt (z. B. Altium und andere teure Pakete), simulieren Sie Ihr Setup und beurteilen Sie, ob Sie brauchen sie aus den Ergebnissen.

Wenn Ihnen diese Funktion nicht zur Verfügung steht, können Sie mit SPICE einige grobe Berechnungen durchführen.
Ich habe ein bisschen rumgespielt LTSpice rumgespielt , hier sind die Ergebnisse ( zögern Sie nicht , Dinge zu korrigieren, wenn jemand einen Fehler sieht)

Wenn wir annehmen:

  • Die Anstiegszeit des RAM-Eingangssignals beträgt ca. 2 ns
  • PCB ist FR4 mit einem Er oder ~ 4.1
  • Die Kupferdicke der Leiterplatte beträgt 1 oz = 0,035 mm
  • Leiterbahnhöhe über Grundebene = 0,8 mm
  • Leiterbahnbreite = 0,2 mm
  • Leiterbahnlänge = 97mm
  • Der RAM-Dateneingang beträgt 10 kΩ parallel zu 5 pF (Kapazität aus dem Datenblatt, Widerstand für einen typischen LVTTL-Eingang gewählt, da nichts angegeben ist - das Datenblatt ist ziemlich schlecht, z. B. wird der Leckstrom auf S.21 mit 10 A angegeben !?)
  • Die Treiberimpedanz beträgt 100 Ω (vom Datenblattausgang abgeleitete hohe / niedrige Werte und Stromstärke -> Vh = Vdd - 0,4 bei 4 mA, also 0,4 V / 4 mA = 100 Ω)

Wenn Sie wCalc (ein Übertragungsleitungs-Rechner-Tool) in den Microstrip-Modus schalten und die Zahlen eingeben , erhalten Sie:

  • Zo = 177,6 Ω
  • L = 642,9 pH / mm
  • C = 0,0465 pF / mm
  • R = 34,46 mΩ / mm
  • Verzögerung = 530,4 ps

Wenn wir nun diese Werte mit dem verlustbehafteten Übertragungsleitungselement in LTSpice eingeben und simulieren, erhalten wir:

Streifenleitung

Hier ist die Simulation der obigen Schaltung:

Streifenleitung Sim Zdrv = 100 Ohm

Aus diesem Ergebnis können wir mit einer Ausgangsimpedanz von 100 Ω sehen, dass wir keine Probleme erwarten sollten.

Nehmen wir einmal an, wir hätten einen Treiber mit einer Ausgangsimpedanz von 20 Ω. Das Ergebnis wäre sehr unterschiedlich (selbst bei 50 Ω liegt eine Über- / Unterschreitung von 0,7 V vor). Das Überschwingen bei 2 ns wäre ohne Kapazität geringer [~ 3,7 V], so dass Kortuk darauf hinweist, dass auch zusammengefasste Parameter überprüft werden müssen, auch wenn sie nicht als TLine behandelt werden (siehe Ende):

Streifenleitung Sim Zdrv = 20 Ohm

Als Faustregel gilt, wenn die Verzögerungszeit (Zeit, in der das Signal vom Fahrer zum Eingang gelangt) mehr als 1/6 der Anstiegszeit beträgt, müssen wir die Spur als Übertragungsleitung behandeln (einige sagen 1/8, andere sagen wir 1/10, was konservativer ist) Mit einer Verzögerung von 0,525 ns und einer Anstiegszeit von 2 ns, was 2 / 0,525 = 3,8 (<6) ergibt, müssen wir es als TLine behandeln. Wenn wir die Anstiegszeit auf 4ns -> 4 / 0,525 = 7,61 erhöhen und dieselbe 20 Ω-Simulation erneut durchführen, erhalten wir:

Streifenleitung Zdrv = 20 Ohm Tr = 4 ns

Wir können sehen, dass das Klingeln viel weniger ist, daher sind wahrscheinlich keine Maßnahmen erforderlich.

Zur Beantwortung der Frage ist es also unwahrscheinlich, dass Sie Probleme haben, wenn ich mit den Parametern nah bin. Dies gilt insbesondere, wenn ich eine Anstiegs- / Abfallzeit von 2 ns gewählt habe, die schneller ist als die des Datenblattes LPC1788 (S. 88) Tr min = 3 ns, Tfall min = 2,5 ns)
Um sicherzugehen, würde es wahrscheinlich nicht schaden, einen 50-Ω-Vorwiderstand auf jede Leitung zu setzen.

Modell mit konzentrierten Komponenten

Selbst wenn die Leitung keine Übertragungsleitung ist, kann es, wie oben erwähnt, immer noch zu einem Klingeln kommen, das durch die zusammengefassten Parameter verursacht wird. Die Spur L und der Empfänger C können viel Klingeln verursachen, wenn Q hoch genug ist.
Als Faustregel gilt, dass als Reaktion auf eine perfekte Stufeneingabe ein Q von 0,5 oder weniger nicht klingelt, ein Q von 1 ein Überschwingen von 16% und ein Q von 2 ein Überschwingen von 44% aufweist.
In der Praxis ist keine Stufeneingabe perfekt, aber wenn die Signalstufe eine signifikante Energie oberhalb der LC-Resonanzfrequenz aufweist, klingelt es.

Wenn wir also in unserem Beispiel für eine 20-Ω-Treiberimpedanz die Leitung nur als konzentrierte Schaltung behandeln, lautet der Q:

Q.=LCRs=62,36nH9,511pF20Ω=4,05

(Kapazität ist 5pF Eingangskapazität + Leitungskapazität - Leitungswiderstand ignoriert)

Die Antwort auf eine perfekte Stufeneingabe lautet:

VOvershOOt=3.3Ve-π(4Q.2)-1=2.23V

Der schlechteste Überschwingungspeak liegt bei 3,3V + 2,23V = ~ 5,5V

Für eine Anstiegszeit von 2 ns müssen wir die LC-Resonanzfrequenz und die darüber liegende spektrale Energie aufgrund der Anstiegszeit berechnen:

Ruffrequenz = 1 / (2PI * sqrt (LC)) = 1 / (2PI * sqrt (62,36 nH * 9,511 pF)) = 206 MHz

12πLC=12π62,36nH9,511pF = 206 MHz

Eine Anstiegszeit von 2 ns hat eine signifikante Energie unterhalb der (Faustregel) "Knie" -Frequenz, die ist:

0,5 / Tr = 0,5 / 2 ns = 250 MHz, was über der oben berechneten Ruffrequenz liegt.

Bei einer Kniefrequenz, die genau der Ruffrequenz entspricht, ist das Überschwingen ungefähr halb so hoch wie die perfekte Stufeneingabe. Bei der etwa 1,2-fachen Kniefrequenz handelt es sich also wahrscheinlich um 0,7 der perfekten Sprungantwort:

Also 0,7 * 2,23 V = ~ 1,6 V

Geschätzter Überschwingungspeak mit 2 ns Anstiegszeit = 3,3 V + 1,6 V = 4,9 V

Die Lösung besteht darin, das Q auf 0,5 zu reduzieren, was a entspricht LC0,5 = 162 Ω Widerstand (160 Ω reicht aus).
Bei einem 100-Ω-Treiberwiderstand von oben würde dies einen 60-Ω-Vorwiderstand bedeuten (daher würde das Hinzufügen eines 50-Ω-Vorwiderstands oben nicht schaden).

Simulationen:

Zusammengewürfelt

Perfekte Schrittsimulation:

Sammelschrittantwort

2 ns Anstiegszeitsimulation:

2ns Anstiegszeit

Lösung (mit 100 Ω Rdrv + 60 Ω Reihenwiderstand = 160 Ω Summe R1 hinzugefügt):

Kritisch gedämpfte Lösung

Wir können sehen, dass das Hinzufügen des 160-Ω-Widerstands das erwartete 0-V-Überschwingen mit kritischer Dämpfung erzeugt.

Die obigen Berechnungen basieren auf Faustregeln und sind nicht absolut genau, sollten aber in den meisten Fällen nah genug sein. Das exzellente Buch "High Speed ​​Digital Design" von Jonhson und Graham ist eine exzellente Referenz für diese Art von Berechnungen und vieles mehr (lesen Sie das NEWCO-Beispielkapitel für ähnliches wie oben, aber besser - vieles davon basierte auf dem Wissen darüber Buch)


@OliGlaser, im Allgemeinen, messen wir in der realen Welt L und C eines Mikrostreifens (für ein konzentriertes System) oder berechnen ihn einfach, um eine fundierte Schätzung für einen Widerstand mit einem Q von 0,5 zu erhalten, und passen diesen Wert dann empirisch an ?
Saad,

1
Ich würde sagen, es hängt von Ihrem Projekt und Ihren Tools ab. Wenn Sie High-End-Leiterplattenwerkzeuge verwenden, werden diese und weitere Aufgaben automatisch für Sie erledigt, wenn Sie die richtigen Einschränkungen festlegen. Wenn Sie keine teuren Tools verwenden, lohnt es sich auf jeden Fall, zumindest die ersten Schätzungen durchzuführen, um abzuwägen, ob Sie möglicherweise auf Probleme stoßen. Dies dauert nicht lange und kann möglicherweise viele Probleme später vermeiden. Wenn nicht sicher, können Sie immer tun Sachen wie Add - Pads für einen Abschlusswiderstand ausgestattet werden , wenn nötig (verschiedene Werte ausprobiert werden können - empirisch ist in Ordnung , wenn es funktioniert)
Oli Glaser

Beachten Sie auch, dass das Q nicht auf 0,5 genau sein muss. Auch darunter ist es in Ordnung (oberhalb des Beginns des Klingelns - unterdämpft). 0,5 ist nur der optimale Wert (kritisch gedämpft) für die schnellste Anstiegszeit ohne Überschwingen. Wenn Sie R (überdämpft) erhöhen, verlangsamt sich die Anstiegszeit und wird schließlich zu einem Problem, aber Sie haben normalerweise einen gewissen Spielraum.
Oli Glaser

6

Altera empfiehlt die Verwendung mit einigen SDRAM-Typen in diesem Dokument, gibt jedoch an, dass sie durch die Verwendung einer internen Terminierung für FPGA und SDRAM vermieden werden können, sofern diese angeboten werden. Keine der FPGA-Karten, die ich mit SDRAM habe, hat einen externen Abschluss an den Anschlüssen, und die Geräte haben keinen internen Abschluss. Es sieht so aus, als ob sie idealerweise verwendet werden sollten, aber in der Praxis werden sie oft weggelassen. Sie sollten damit durchkommen.


Ich habe sie auch nicht - aber der Hersteller meines Entwicklungsboards hat sie verwendet, also dachte ich mir, dass ich es auch
tun

@ user9663 Wenn Sie irgendwelche Emissionsprüfungen durchführen, sind die Abschlusswiderstände meiner Meinung nach eine gute Idee, um ein Klingeln zu verhindern. Um ehrlich zu sein, habe ich sehr wenig Erfahrung mit SDRAM.
Justing
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.