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?
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
Sehe ich ein, aber wenn ich keine Terminierung der Leiterbahn habe auf welchen Wert stelle ich die Impedanz ein?
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
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.
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
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.
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.
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
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.
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
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.
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...
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
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.
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.