Forum: Mikrocontroller und Digitale Elektronik SDRAM Busterminierung 2x Bank


von Alexander L. (alexander82)


Lesenswert?

Hallo,

ich plane zur Zeit ein Projekt mit einem ARM Cortex M4 und 2xRAM-Bank. 
Eine für jedes Halbword. Als Topologie habe ich mich bei den Adress- und 
Steuersignalen für Balanced-Topologie entschieden, da es eine Punkt zu 
Mehrpunktverbindung ist. Aus EMV-Sicht und der gesamten Leitungslänge 
ist eine Terminierung anzusetzen. Bei mir Serienterminierung. Ich würde 
die Adress- und Steuerleitungen genau zwischen beide SDRAMs mit Z=50R 
routen und dann von dort aufteilen (gleiche Längen).

Wo setze ich in der Topologie die Serienterminierung hin? Auf 
Controllerseite oder jeweils am Ende der geteilten Leitung nahe am 
jeweiligen SDRAM?

von Falk B. (falk)


Lesenswert?

@ Alexander Liebhold (alexander82)

>ich plane zur Zeit ein Projekt mit einem ARM Cortex M4 und 2xRAM-Bank.
>Eine für jedes Halbword.

Also 2x16 Bit parallel?

> Als Topologie habe ich mich bei den Adress- und
>Steuersignalen für Balanced-Topologie entschieden,

Was soll das heißen?

>da es eine Punkt zu
>Mehrpunktverbindung ist. Aus EMV-Sicht und der gesamten Leitungslänge

wie lang?

>ist eine Terminierung anzusetzen.

Kommt drauf an.

> Bei mir Serienterminierung.

Abwarten ;-)

> Ich würde
>die Adress- und Steuerleitungen genau zwischen beide SDRAMs mit Z=50R
>routen und dann von dort aufteilen (gleiche Längen).

Also T-förmig. Hmmm. SDRAM arbeitet mit 3,3V CMOS, dort wird nicht mit 
50 Ohm gearbeitet. Soviel Power haben die IOs nicht. Auch streng 
impedanzkontrolliert ist das nicht zwingend erforderlich. Zieh einfach 
normale Leitungen, da kommt man bei nicht allzu dünnen Platinen irgendwo 
bei 100-150 Ohm raus. Das geht schon.

>Wo setze ich in der Topologie die Serienterminierung hin?

Serienterminierung sitzt immer nah am Sender. Bei den Steuer- und 
Adresssignalen ist das der uC. Der Datenbus ist bidirektional, da wird 
es kniffelig. Bisweilen kann man etwas schummeln und die 
Serienterminierung in die Mitte setzen. Das ist zwar nicht wirklich 
HF-gerecht und widerspricht ein wenig der Theorie, praktisch 
funktioniert es aber, wurde auch schon von den Herstellern empfohlen.

Halte die Leitungen möglichst kurz, dann kommen die Effekte deutlich 
weniger zum Tragen, siehe Wellenwiderstand.

von Alexander L. (alexander82)


Lesenswert?

>Also 2x16 Bit parallel?

Soll heißen: 2x SDRAM IC mit 16-Bit Datenbus.
SDRAM 1:  A[0:12], CTRL[], D[0:15]
SDRAM :   A[0:12], CTRL[], D[16:31]

Mit CTRL[] sind die Steuersignale NCAS, CLK,... gemeint.

Der Datenbus ist demnach Punkt zu Punkt und der Adress- Steuerbus ist 
Punkt zu Mehrpunkt.

>> Als Topologie habe ich mich bei den Adress- und
>>Steuersignalen für Balanced-Topologie entschieden,

>Was soll das heißen?

Balanced:  Auftrennung der Signalleitung an einem T-Stück nahe den 
SDRAM-IC's, wobei die beiden Einzelleitungen gleich lang sein müssen.

Daisy-Chain:  Bus wird an den IC's vorbeigeführt und mit möglichst sehr 
kurzen Leitungen (Stubs) zum IC geführt.

>wie lang?
Zwei SDRAM-ICs nebeneinander und ein Controller im LQFP176-Gehäuse macht 
bei einer möglichst einseitgen Bestückung eine Leitungslänge von ca. 
8-9cm.  Anstiegszeit ist laut Datenblatt maximal 2.5ns. Da wird es schon 
kritisch.


>Serienterminierung sitzt immer nah am Sender. Bei den Steuer- und
>Adresssignalen ist das der uC. Der Datenbus ist bidirektional, da wird
>es kniffelig. Bisweilen kann man etwas schummeln und die
>Serienterminierung in die Mitte setzen. Das ist zwar nicht wirklich
>HF-gerecht und widerspricht ein wenig der Theorie, praktisch
>funktioniert es aber, wurde auch schon von den Herstellern empfohlen.

In dem Fall würde ich alles nahe am Controller mit einer 
Serienterminierung versehen und als T-Aufteilung auslegen, wobei die 
aufgetrennten Signale möglichst kurz sind.


Wie sieht das bei einer anderen Variante aus??? Wenn ich nur einen 
16-Bit Datenbus vom Controller verwende und zwei SDRAMs verwenden 
möchte.

SDRAM 1:  DATA[0:15], CTRL[], A[0:12]
SDRAM 2:  DATA[0:15], CTRL[], A[0:12]

Die Steuersignale SDNE0/SDNE1 und SDCKE0/SDCKE1 würden die Trennung 
vornehmen.

In diesem Fall hätte ich auch den Datenbus als bidirektionale Punkt zu 
Mehrpunktverbindung. Macht es da nicht Sinn die Serienterminierung für 
den Datenbus von der Controllerseite auf jeweils eine Serienterminierung 
auf der SDRAM-Seite zu verschieben. Somit hätte ich beim Lesen des SDRAM 
keinen nichtterminierten Stub.

von Alexander L. (alexander82)


Angehängte Dateien:

Lesenswert?

Im Bild habe ich es versucht darzustellen. Die Spannungsquelle stellt 
den uC-OAusgang dar und U1,U2,U3,U4 die SDRAMs.

Betrachtung von einer bidirektionalen Verbindung!

SDRAM-Schreiben:

Variante 1(im Bild oben) sollte passen, da die erneute Reflexion in 
Richtung des SDRAMs in beiden Zweigen gedämpft wird.

Variante 2 (im Bild unten) ist deutlich besser als Variante 1, da es 
sofort nach der 1.Reflexion gedämpft wird.


SDRAM-Lesen:

Variante 1 ist OK, da der Parallelzweig hinzu an U2 gedämpft wird und 
die Rückreflexion auf beiden Zweigen.

In Variante 2 würde U3 die direkte Reflexion ungedämpft von U4 sehen und 
diese erst durch mehrmaliges hin und her über den R4 abgeschwächt würde.

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.