Forum: Platinen SDRAM und AVR32 richtig verbinden


von Andreas S. (the-live)


Lesenswert?

Hallo!

In meinem aktuellen Projekt verwende ich einen AVR32 UC3A0512 mit einem 
Micron MT48LC16M16A2 (das ist der gleiche SDRAM wie bei dem Atmel EVKs), 
zusätzlich ist auch noch ein TFT Display an dem External Bus Interface 
angeschlossen.

Mir geht es nun darum wie ich die Leitungen routen muss. Den Artikel zu 
Wellenwiderstand von mikrocontroller.net habe ich mir schon durchgelesen 
und auch verstanden.

Ich weiß nur nicht welche Impedanz die Leitungen nun haben sollten, ich 
finde in den Datenblättern der ICs keinen Hinweiß. Ich habe in dem 
Artikel nur gelesen dass 50 oder 75 Ohm üblich sind.

Ist es in Ordnung wenn ich von AVR32 zu SDRAM und von AVR32 zu TFT 
verbinde? also die Verbindung geht in 2 Richtungen.

Wie viel unterschied darf bei der Länger der unterschiedlichen 
Leiterbahnen sein? die längste Leiterbahn von AVR32 zu SDRAM ist 47mm 
und von AVR32 zu TFT 43mm.

Beste Grüße
Andreas

von Michael X. (Firma: vyuxc) (der-michl)


Lesenswert?

50 Ohm. Datenleitungen matchen, Adressleitungen matchen, Steuerleitungen 
matchen. Clocks immer etwas länger als Date/Adressleitungen. Atmel hat 
echt keinen Designguide für SDR-Speicher?

von Andreas S. (the-live)


Lesenswert?

Im Datenblatt selbst habe ich nichts gefunden aber vielleicht gibt es 
noch ein extra Dokument, ich schau noch mal auf der Webseite.

von Falk B. (falk)


Lesenswert?

@  Andreas Sch. (the-live)

>Ich weiß nur nicht welche Impedanz die Leitungen nun haben sollten, ich
>finde in den Datenblättern der ICs keinen Hinweiß. Ich habe in dem
>Artikel nur gelesen dass 50 oder 75 Ohm üblich sind.

Ist bei SDRAM nicht definiert, such dir was aus. 75 Ohm ist dünner, da 
bekommt man mehr Leitungen unter. Es geht aber auch mehr.
Bei SDRAM wird auch oft nicht terminiert, das ist OK wenn man die 
Leitungen KURZ hält, so 5cm oder so.

>Ist es in Ordnung wenn ich von AVR32 zu SDRAM und von AVR32 zu TFT
>verbinde? also die Verbindung geht in 2 Richtungen.

Naja, nicht optimal, geht aber meistens.

>Wie viel unterschied darf bei der Länger der unterschiedlichen
>Leiterbahnen sein? die längste Leiterbahn von AVR32 zu SDRAM ist 47mm
>und von AVR32 zu TFT 43mm.

4mm sind hier kein Problem. Einfach mal überschlagen.

1ns=20cm auf FR4, macht 1cm = 50ps.

Damit läuft selbst DDR2-RAM noch, auch wenn dort die offiziellen 
Längenunterschiede bei 1mm und weniger liegen.

Verbindungen kurz halten, Takt zum SDRAM mit Serienterminierung.

Wenn du allerdings ZWEI Taktempfänger hast (SDRAM und TFT), dann 
solltest du den Takt KEINESFALLS über eine verzweigte Leitung verteilen, 
sondern über eine durchgehende. Also vom AVR zum SDRAM und dann zum TFT. 
Dort sollte man dann am Ende eine AC-Terminerung einsetzen.

MfG
Falk

von Stephan W. (sir_wedeck)


Lesenswert?

Hi Falk,
hast du da Dokus zu, die du uns empfehlen kannst???

Stephan

von Andreas S. (the-live)


Lesenswert?

Falk Brunner schrieb:
> Ist bei SDRAM nicht definiert, such dir was aus. 75 Ohm ist dünner, da
> bekommt man mehr Leitungen unter. Es geht aber auch mehr.
> Bei SDRAM wird auch oft nicht terminiert, das ist OK wenn man die
> Leitungen KURZ hält, so 5cm oder so.
ok dann mache ich es mit 75 Ohm, das wären dann bei meinem 4-fach 
Multilayer 0,25mm Leiterbahnbreite, für 50 Ohm wären es schon 0,6mm, 
also recht dick.

> Verbindungen kurz halten, Takt zum SDRAM mit Serienterminierung.
>
> Wenn du allerdings ZWEI Taktempfänger hast (SDRAM und TFT), dann
> solltest du den Takt KEINESFALLS über eine verzweigte Leitung verteilen,
> sondern über eine durchgehende. Also vom AVR zum SDRAM und dann zum TFT.
> Dort sollte man dann am Ende eine AC-Terminerung einsetzen.
SDRAM und TFT teilen sich nur die Datenleitungen.

Zu der Serienterminierung habe ich noch ein paar kleine Frage:
Atmel selbst hat bei seinen EVKs auch für die Taktleitungen keine 
Terminierung. Durch die Platzierung von AVR32 und SDRAM am EVK1105 
schließe ich, dass die Leitungen auch noch um einiges länger sind als 
beim mir.

Ist es also notwendig eine Terminierung einzubauen?

Den Größe des Widerstandes ist ja abhängig vom dem Ausgangswiderstand am 
AVR32, leider kann ich im Datenblatt dazu nichts finden. damit niemand 
suchen muss hier der Link 
http://www.atmel.com/dyn/resources/prod_documents/doc32058.pdf

Beste Grüße
Andreas

von Falk B. (falk)


Lesenswert?

@  Stephan W. (sir_wedeck)

>hast du da Dokus zu, die du uns empfehlen kannst???

Nein. Muss man mal die Hersteller abklappern (Smasung, Micron etc.), die 
haben dazu viele Application Notes.

@ Andreas Sch. (the-live)

>ok dann mache ich es mit 75 Ohm, das wären dann bei meinem 4-fach
>Multilayer 0,25mm Leiterbahnbreite, für 50 Ohm wären es schon 0,6mm,
>also recht dick.

Ja, aber wenn man ohnehin nicht terminiert, spielt der 
Wellenwiderstand auch keine wirkliche Rolle.

>Atmel selbst hat bei seinen EVKs auch für die Taktleitungen keine
>Terminierung.

Kann klappen, muss nicht.

>Ist es also notwendig eine Terminierung einzubauen?

Streng nein, praktisch würde ich sie einbauen, wir reden über EINEN 
Widerstand und EINEN Kondensator.

>Den Größe des Widerstandes ist ja abhängig vom dem Ausgangswiderstand am
>AVR32,

Bei Serienterminierung, ja. Du brauchst aber AC-Terminierung.

> leider kann ich im Datenblatt dazu nichts finden.

Die meisten CMOS-ICs haben um die 20-50 Ohm, mit 33 Ohm als 
Serienterminierung kommt man meist gut hin. Kann man ja messen und ggf. 
ändern. Wichtig ist nur, dass der Widerstand ins Layout kommt.

MfG
Falk

von Andreas S. (the-live)


Lesenswert?

Hi Falk!

Falk Brunner schrieb:
> Bei Serienterminierung, ja. Du brauchst aber AC-Terminierung.

Ich dachte es reicht hier eine Serienterminierung? SDRAM und TFT nutzen 
nur die Datenleitung gemeinsam, SDRAM hat eigene Adressleitungen, 
Steuerleitungen und Taktleitungen.

Ich muss meine Aussage von vorhin bzgl. Terminierung beim EVK1105 
korrigieren. Atmel hat für die Taktleitung eine Paralleltermierung 
eingebaut. Die Clock Leitung hat dabei einen 4,7k Widerstand nach +3,3V 
und die Clock Enable Leitung einen 4,7k Widerstand nach GND. Allerdings 
verstehe ich nicht warum ein Mal Widerstand nach +3,3V und ein Mal nach 
GND?

Beste Grüße
Andreas

von Falk B. (falk)


Lesenswert?

@  Andreas Sch. (the-live)

>Ich dachte es reicht hier eine Serienterminierung? SDRAM und TFT nutzen
>nur die Datenleitung gemeinsam, SDRAM hat eigene Adressleitungen,
>Steuerleitungen und Taktleitungen.

Und der TFT braucht keinen Takt? Hmm.

>eingebaut. Die Clock Leitung hat dabei einen 4,7k Widerstand nach +3,3V
>und die Clock Enable Leitung einen 4,7k Widerstand nach GND.

Das sind keine Terminierungen, das sind einfach Pull-Up/Down 
Widerstände.

> Allerdings
>verstehe ich nicht warum ein Mal Widerstand nach +3,3V und ein Mal nach
>GND?

Ganz einfach, wenn dein AVR im Reset ist, zieht der Pull-Down das CE 
nach LOW, damit ignoriert der SDRAM sämtliches Gezappel an den anderen 
Eingängen.

MFG
Falk

von O. D. (odbs)


Lesenswert?

Ich habe diverse Boards mit SDRAM bis 133 MHz zum Laufen gebracht und 
dabei immer nur einen Serienwiderstand in der SDCK-Leitung verwendet. 
Man bekommt 32 bit SDRAM an einem Controller im TQFP-Gehäuse auch auf 
zwei Lagen problemlos hin.

Meine Erfahrung ist, dass die Forderungen an Leitungslänge, 
impedanzkontrollierte Busleitungen etc. ziemlich übertrieben sind. In 
der Praxis kommst du recht zuverlässig mit dem Layout aus, das sich fast 
zwangsläufig aus der günstigsten Anordnung der SDRAM-Chips zum 
Controller ergibt.

Für wichtiger halte ich da schon das Abblocken und Ferrite in der 
Versorgungsleitung, wie im Datenblatt empfohlen. Ohne die funktioniert 
es dann wirklich nicht mehr. Die Supply-Pins der SDRAM-Chips (TSOP) sind 
dazu netterweise sehr günstig angeordnet.

Mindestens eines meiner "katastrophal schlechten" Designs habe ich auf 
Herz und Nieren getestet (Klimaschrank, EMV, grenzwertige 
Spannungsversorgung, ...) und keine Fehler provozieren können. Das 
funktioniert also nicht nur zufällig, sondern ganz sicher.

von Andreas S. (the-live)


Lesenswert?

@ Falk Brunner (falk)
nein das TFT hat kein Takt Signal, es gibt nur die Datenleitungen und 
einige Steuerleitungen, funktioniert so ähnlich wie bei dem Text LCDs 
mit parallelen Interface

@all
Danke für die Tipps, werde noch eine Serienterminierung bei der Clock 
Leitung einbauen, hoffen wir mal dass es funktioniert^^

von Andreas S. (the-live)


Lesenswert?

spielt die Position des Widerstandes eine Rolle? also soll der 
Serienwiderstand näher beim AVR32 oder SDRAM sein? oder egal?

Beste Grüße
Andreas

von Falk B. (falk)


Lesenswert?

@  Andreas Sch. (the-live)

>spielt die Position des Widerstandes eine Rolle?

Ja.

> also soll der Serienwiderstand näher beim AVR32 oder SDRAM sein?

Am Sender, also hier der AVR. Ich sag mal 5mm oder weniger.

> oder egal?

Nein.

MFG
Falk

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.