Forum: Platinen Length Matching


von Michael (Gast)


Lesenswert?

Hallo zusammen,
meine Frage, ich habe einen µP mit externen SDRAM und Flash 
Bausteinen,nach den unterstehenden Formeln die die Flankensteilheit und 
die Signal Laufzeitlänge berücksichtigen geben diese Formel eine 
Abschätzung ob man eine Leiterbahn Terminieren muss, sollte oder ob sie 
unkritisch ist.

Unkritische Leitungslänge 1 < (0,2to/2td)
Leitungslänge ab der Terminiert werden sollte 0,2to/2to < 1 < 
((0,5..1,0))to/2to
Ab dieser Leitungslänge müssen die Leitungen Terminiert werden  1 > 
(0,5..1,0)/2to

Wenn nach der Formel heraus kommt das ich eine Unkritische Leitungslänge 
habe, benötige ich ja keine Terminierung daraus folgt doch das ich auch 
keine Impedanz Kontrollierte Leiterplatte benötige? Und wie sieht es mit 
dem Length Matching aus?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Das Ganze lässt sich wie üblich nicht an einer einzigen Zahl oder einem 
Grenzwert festnieten, denn so schön solche Faustformeln sind, so 
vereinfachend und verniedlichend sind sie auch.

Wenn du auf die Terminierung verzichtest UND auf gleiche Längen UND 
zudem noch auf korrekte Impedanz, DANN kann einer dieser drei "Tropfen" 
das Fass zum Überlaufen bringen. Denn letztlich entfernst du dich mit 
jedem Schritt vom optimalen Design. Und der letzte Kompromiss kann 
einer zu viel sein...

Beurteilen kann das letztlich aber nur einer mit entsprechend viel 
Erfahrung anhand eines definierten Beispiels. Und evtl. brauchst du 
dafür auch noch ein paar Messungen.

: Bearbeitet durch Moderator
von Michael (Gast)


Lesenswert?

Sehe ich ein, aber wenn ich keine Terminierung der Leiterbahn habe auf 
welchen Wert stelle ich die Impedanz ein?

von U. M. (oeletronika)


Lesenswert?

Hallo,
> Michael schrieb:
> Sehe ich ein, aber wenn ich keine Terminierung der Leiterbahn habe auf
> welchen Wert stelle ich die Impedanz ein?
was spielt jetzt die Impedanz für eine Rolle, wenn sie eh keine Rolle 
spielt -> weil keine Terminierung?

Um was geht es überhaupt?
Welchen uC hast du konkret und welche Leitungslängen kommen am Ende max. 
zustande?

Wie schon geschrieben: Am Ende ist die Summe aller Bedingungen wichtig 
für ein vernünftiges Konzept.
Gruß Öletronika

von Wühlhase (Gast)


Lesenswert?

Was sagt denn dein Datenblatt dazu...hast du da schon mal reingeschaut? 
Oft sind da wenigstens Empfehlungen drin, manchmal sogar 
Layoutbeispiele.

Sowas mit Fausformeln abzufrühstücken geht eher schief wenn man nicht 
weiß, was man da tut.

von Michael (Gast)


Lesenswert?

Es handelt sich um einen Cortex M4 von ST. Die Clock Frequenz für das 
SDRAM liegt bei 120mHz.Die Leitungslänge liegt irgendwo zwischen 20 und 
30mm genau sagen kann ich das noch nicht da ich noch nicht Layoutet 
habe. In den Datenblättern habe ich nichts dazu gefunden und von ST gibt 
es auch keine Informationen.
Auf einem Eval Board mit diesem µP wurden die Leitungen Terminiert da 
sind aber auch Leitungslängen von ca. 150mm zwischen den Bauteilen. Mit 
einem Length Matching von ca. +/- 5mm.
Auf einem Modul von EmCraft sind die Leitungen definitiv nicht 
Terminiert, nur ein Length Matching wurde vorgenommen +/- ??mm

von Wühlhase (Gast)


Lesenswert?

Michael schrieb:
> 120mHz
Bist du dir sicher, daß du 120Milliertz meinst?

Ehrlich gesagt widerstrebt es mir zutiefst, hier umsonst deine Arbeit zu 
machen. Allzumal ich mich selber gerade intensiv in dieses Thema 
einarbeite.

Ich helfe Anfängern ja gerne, und Anregungen kann man unter Kollegen 
auch immer geben. Aber was du hier verlangst geht da doch deutlich 
drüber hinaus.

von Michael (Gast)


Lesenswert?

Nein es sind natürlich 120MHz.
Du sollst nicht meine Arbeit machen, ich arbeite mich gerade auch in 
dieses Thema ein, es aber sehr unterschiedliche Informationen zu diesem 
Thema gibt dachte einer hätte eine gute Idee oder könnte etwas direkt 
dazu sagen.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Da gibts z.B. von Micron doch das ein oder andere pdf, wo so Zeugs 
behandelt wird. Google mal nach tn-46-14

Gruss
WK

von Wühlhase (Gast)


Lesenswert?

Ich selber arbeite mich gerade durch "Right the first Time" von Lee 
Ritchey durch. Ich bin da zwar erst zu einem Drittel durch, kann das 
Buch aber soweit sehr empfehlen.

von U. M. (oeletronika)


Angehängte Dateien:

Lesenswert?

Hallo,
> Michael schrieb:
> Es handelt sich um einen Cortex M4 von ST. Die Clock Frequenz für das
> SDRAM liegt bei 120mHz.
Als Techniker sollte die korrekte Verwendung von physikalischen 
Einheiten und Vorsätzen schon in Fleisch und Blut übergegangen sein.

> Die Leitungslänge liegt irgendwo zwischen 20 und
> 30mm genau sagen kann ich das noch nicht da ich noch nicht Layoutet
> habe.
Bei so kurzen Leitungen sehe ich das ziemlich unkritisch.

> In den Datenblättern habe ich nichts dazu gefunden
Ich denke, du weißt nur nicht, wonach du suchst.
Die Problematik hängt ja direkt mit den Anstiegszeiten der Treiber 
zusammen, aber auf beiden Seiten (uC und RAM).
Zum Timing gibt es aber sicher Informationen in den Datenblättern.

> und von ST gibt es auch keine Informationen.
Das ist eher Allgemeinwissen von Elektronikern.

> Auf einem Eval Board mit diesem µP wurden die Leitungen Terminiert da
> sind aber auch Leitungslängen von ca. 150mm zwischen den Bauteilen.
Ist ja deutlich länger. Außerdem wird amn bei einem Evalboard eher alles 
tun, was State of the art ist.

> Auf einem Modul von EmCraft sind die Leitungen definitiv nicht
> Terminiert, nur ein Length Matching wurde vorgenommen +/- ??mm
Da wird oft aus Angst ein gewisser Kult betrieben. Manche Leute 
diskutieren dann die Toleranz des Längenmatching im 
Sub-Millimeterbereich. Man sollte die Kirche aber im Dorf lassen. Die 
Größenordnung von ca. 5...10mm scheint da eher sinnvoll und auch 
machbar.

Ich habe einen M3 mit RAM. Da habe ich nur den RAM dicht neben den uC 
plaziert (siehe Anhang, nur Top und Bottom, ohne Powerplanes). Nach 
derzeitigen Erkenntnissen läuft das sauber.

Gruß Öletronika

: Bearbeitet durch User
von Christian B. (luckyfu)


Lesenswert?

U. M. schrieb:
> Manche Leute
> diskutieren dann die Toleranz des Längenmatching im
> Sub-Millimeterbereich. Man sollte die Kirche aber im Dorf lassen. Die
> Größenordnung von ca. 5...10mm scheint da eher sinnvoll und auch
> machbar.

Das stimmt schon so, aber(!) man hat sehr viele Möglichkeiten hier etwas 
falsch zu machen. Wenn man nun das Längenmatching (was bei den 
Frequenzen tatsächlich noch nicht extrem kritisch ist, die 
Ausbreitungsgeschwindigkeit auf der LP ist in etwa 15cm/ns) etwas 
genauer macht ist es dennoch "leicht verdientes Geld". Das was man hier 
mit relativ wenig Aufwand gewinnt, kann man andersweitig, wo man 
schwerer dran kommt, als Reserve drauf packen.

Deshalb halte ich es auch so, daß ich hier lieber etwas Zeit investiere 
und das Längenmatching zumindest in den Bereich +/- 3mm Bringe. Bei 
Differential Pairs sollte es jedoch innerhalb des pairs genauer sein.

von Karl (Gast)


Lesenswert?

Lass das Mal den Falk nicht lesen ?
Je nach Taktfrequenz und Timingreserve darf die Längedifferenz sehr viel 
größer sein und es bringt nullkommanichts sich hier zu verkünsteln. Die 
Zauberwörter sind Setup und hold Zeiten.

Btw kenne ich keinen Stm32F4 der für 120 MHz Sdram spezifiziert ist... 
Schau nochmal nach...

von Michael (Gast)


Lesenswert?

Du hattest recht es sind nur 90MHz.
zu den 120mHz, auch Techniker sind nicht vor Tippfehlern gefeit.
Das mit dem Längenmatching habe ich verstanden die +/- 3mm habe ich auch 
schon wo anders gelesen. Die tn-46-14 von Micron habe ich gelesen 
(Hersteller gibt an Längenmatching und Terminieren).
Aber was ist mit Z0 (Impedanz der Leiterplatte) so wie in der tn-46-14 
auf 50-60Ω einstellen oder komplett ignorieren, ist ja auch ein 
Kostenfaktor?

Damit bin ich wieder bei der Fausformel vom Anfang dieses threads

von Wühlhase (Gast)


Lesenswert?

Und noch was zu den Taktfrequenzen:

Das CPU-Takt und der Takt mit dem du die Pins toggeln kannst nicht 
dasselbe sind hast du ja eben rausgefunden. Und wenn du noch die HAL 
benutzt wird das Ganze sicherlich noch sehr viel langsamer werden.

Außerdem kannst du die Flankensteilheit beim F4 sogar einstellen 
(zumindest hab ich die Funktion des SPEED-Registers so verstanden).

Vorschlag: Miß doch mal an einem Oszilloskop wieviel schnell du die Pins 
in deinem Programm tatsächlich toggeln kannst und ob du die 
Flankensteilheit flacher bekommst.

Es könnte gut sein daß Längenabgleich und vielleicht sogar 
Terminierung/Impedazkontrolle danach hinfällig werden.

Das Buch würde ich dennoch mal lesen. Hilft beim nächsten Projekt und 
erweitert den Horizont allemal.

von Karl (Gast)


Lesenswert?

Es gibt Stimmen, die sagen:
- Bei SDR SDRam ist Längenanpassung bei kurzen Leitungslängen unnötig. 
Wer keine Hand voll ps für Laufzeitunterschiede an Timingreserve hat, 
der hat was ganz anderes im Controller verkackt!
- Nutze das aus was Dein Fertiger an Leiterbahnen produzieren kann. 
Dünnere Leiterbahnen = weniger Umstände beim Layout = kürzere 
Leiterbahnen = besser.

Zur Not kann man den SDRAM im STM32 AFAIK mit 1/2 oder 1/3 HCLK 
betreiben, was aus Sicht der Timingreserve in der 1/3 HCLK Variante 
"unendliche" Freiheiten eröffnet. Brauchst Du tatsächlich unbedingt die 
volle Geschwindigkeit oder kannst Du zur not auf 32 bit gehen und den 
Takt reduzieren?

Wenn es um mehrere Teilnehmer am Bus geht wird es aus Sicht der 
Signalintegrität interessant. Hier hilft dann nur noch Simulation oder 
Erfahrung. Dabei ändert sich das ganze System je nach aktivem Treiber.

von U. M. (oeletronika)


Lesenswert?

Hallo,
> Michael schrieb:
> Du hattest recht es sind nur 90MHz.
Aha, da wird es jetzt auch noch etwas moderater.

> Aber was ist mit Z0 (Impedanz der Leiterplatte) so wie in der tn-46-14
> auf 50-60Ω einstellen oder komplett ignorieren, ist ja auch ein
> Kostenfaktor?
Wenn du die Leitungen nicht terminueren willst, weil das bei den kurzen 
Längen nicht nötig ist, dann ist die diskussion über Wellenwiderstand 
völlig überflüssig.

> Damit bin ich wieder bei der Fausformel vom Anfang dieses threads

Es gibt folgende Faustformel: Wenn Leitungslängen länger als ca. 
Lambda/10 sind, muß man mit HF-Effekten rechnen.
Das heißt, dass man mit Signalverfälschungen durch Reflexionen rechnen 
muß. Um die zu verhindern, wird terminiert. Damit man überhaupt weiß, 
wie man terminieren soll, muß man wissen, welche Impedanz die Leitungen 
überhaupt haben. Deshalb stellt man dann die Impedanz einheitlich für 
alle betreffenden Signale ein.

Die Frage ist dann nur noch, mit welchen Frequenzen muß man rechnen, um 
die Wellenlänge zu bestimmen. Da zählt aber nicht die Clockfrequenz, 
sondern die Anstiegszeiten der Signalflanken, welche natürlich deutlich 
höhere Frequenzen als Oberwellen generieren.
Bei Anstiegszeiten im Bereich von angenommen 2ns kann man mit Frequenzen 
bis min. ca. 300MHz rechnen. Bei Wellenlängen von ca. 0,6...0,7m sollte 
man also bei Leitungslängen bis ca. 70mm keine starken HF-Effekte 
bekommen.

Um also auch mit längeren Leitungen ohne großen Aufwand zurecht zu 
kommen, muß man die Steilheit der Signalflanken möglichst auf das 
notwendige Maß begrenzen. Das kann man z.B. auch durch Reihenwiderstände 
an Treiberausgängen bewirken, welche in Verbindung mit unvermeidbaren 
Kapazitäten als Tiefpass wirken.

Falls du dir die Signalflanken mit einem Oszi ansehen willst, beachte 
dass jede Tastspitze auch schon eine Kapazität darstellt. Mit den 
üblichen 5...7pF einer passiven 10:1 Tastspeitze kann man sehr 
hochfrequente Signale schon deutlich verfälschen (Nach dem Motto: "Wer 
mißt, mißt Mist").
Gruß Öletronika

von HildeK (Gast)


Lesenswert?

U. M. schrieb:
> Bei Anstiegszeiten im Bereich von angenommen 2ns

Moderne CMOS-Bausteine sind durchaus schneller.

U. M. schrieb:
> muß man die Steilheit der Signalflanken möglichst auf das
> notwendige Maß begrenzen. Das kann man z.B. auch durch Reihenwiderstände
> an Treiberausgängen bewirken, welche in Verbindung mit unvermeidbaren
> Kapazitäten als Tiefpass wirken.

Meinst du damit die typischen 20R ...50R?
Wenn ja: das ist die Terminierung und die ergibt keinen Tiefpass!

@Michael
Alles, was mit der Flanke wirkt (typ. der Takt), sollte mit einer 
Serienterminierung versehen werden. Und für diese Leitungen würde ich 
schon einen konstanten Wellenwiderstand anstreben. Ob der jetzt 40R oder 
60R ist, ist weniger wichtig. Der Widerstand macht dich nicht arm, die 
richtige Leitung kostet nichts aber beides sorgt für 
Funktionssicherheit.

von U. M. (oeletronika)


Lesenswert?

Hallo,
> HildeK schrieb:
> Meinst du damit die typischen 20R ...50R?
Ich schrieb ja, dass die Steilheit auf das notwendige Maß begrenzt 
werden sollte. Abhängig vom Anwendungfall können auch Reihenwiderstände 
in der Größenordnung von 100 Ohm und mehr zweckmäßig sein.
Der Witz dabei ist ja gerade, dass damit auch längere Leitungen 
bezüglich HF-Effekten unkritisch werden und damit Impedanzbetrachtungen 
keine Rolle mehr spielen. Man muß sich das Leben ja nicht schwerer 
machen als unbedingt notwendig.
Natürlich geht das nicht mit sehr schellen Signalen.

> Wenn ja: das ist die Terminierung und die ergibt keinen Tiefpass!
Der Widerstand alleine nicht.

Ein Reihenwiderstand in Verbindung mit nachfolgenden Kapazitäten gegen 
gnd ist zwangläufig immer auch ein Tieffpass, was den sonst?
Gruß Öletronika

: Bearbeitet durch User
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.