Hallo, Ich bastel gerade an einem kleinen Prozessorboard mit einem TI OMAP-Prozessor. Die haben inzwischen alle ein mDDR/DDR2 Memory Interface. Ich brauche nur 128Mb, d.h. ein einzelner DDR SDRAM IC ist mir genug, auch reicht mir eine Speichertaktrate von 133Mhz (PC266). Am liebsten würde ich jetzt einfach einen mDDR-Baustein nehmen, z.B. MT46H64M16LF. Das hätte die Vorteile einer kleineren CAS-Latency (2.0, 2.5 oder 3.0), gegenüber CAS-Latency von 4.0 + Additional Latency (AL) bei DDR2. Allerdings habe ich Sorgen bezüglich der Terminierung. Theoretisch müssen die SSTL-2 (DDR) und SSTL-18 (DDR2) Pins immer auf Vtt gezogen werden. Das kostet eine Menge Saft (mehrere mW pro Pin), Platz auf dem PCB, und macht das Routing aufwändiger. DDR2 hat nun On-Die-Terminierung (ODT) und würde mir die zusätzlichen Widerstände ersparen, ausserdem könnte man ODT abschalten, oder zumindest per Software den Terminierungswiderstand erhöhen. Jetzt lese ich in einer Application Note von TI zum DaVinci (der vermutlich das exakt gleiche Interface wie der Omap hat), dass parallele Terminierung in dieser Applikation (diskrete Chips, keine DIMMs) sogar "permitted", also verboten ist. Die Signalqualität wäre auch so gut genug: http://focus.ti.com/lit/an/spraal6a/spraal6a.pdf In diesem Fall würde ich zu dem günstigeren und weniger komplizierten mDDR tendieren. Gibt es hier im Board vielleicht DDR-SD-RAM- oder Terminierungs-Experten, die mir bei der Entscheidung weiterhelfen können? Hat vielleicht jemand noch gute Dokumentation? Ich hab weit und breit insbesondere zu mDDR SD-RAM keine PCB Design Guides oder Reference Designs gefunden.
Rasfunk wrote: > Jetzt lese ich in einer Application Note von TI zum DaVinci (der > vermutlich das exakt gleiche Interface wie der Omap hat), dass parallele > Terminierung in dieser Applikation (diskrete Chips, keine DIMMs) sogar > "permitted", also verboten ist. Die Signalqualität wäre auch so gut > genug: Ich habe zwar keine Ahnung zu deiner Frage, aber "permitted" heißt so ungefähr das Gegenteil von verboten, nämlich zulässig. Matthias
Argh, kleiner Faux pas. Im Detail steht dort: "No terminations of any kind are required in order to meet signal integrity and overshoot requirements. Serial terminators are permitted, if desired, to reduce EMI risk; however, serial terminations are the only type permitted." Insofern bleibt das Grundproblem bestehen.
Ich hab inzwischen ein Freescale Ref-Design für den i-MX31 gefunden, für das Schematics verfügbar sind, und das diskrete mobile DDR Bausteine verwendet (Anmerkung: Beagle etc. verwenden ja alle den Micron Package-On-Package Chip mit NAND und DDR-SDRAM). Erkenntnis: Da werden die DQs mit 10R seriell am DDR-IC terminiert. Die clock noch parallel zwischen CK und CK# mit 120R. Sonst nix. Freue mich trotzdem noch über weitere Erfahrung, Tipps und Hinweise, da die ganze Geschichte kniffelig ist und ich nicht allzuviele PCBs in die Tonne kloppen will ;-)
Falls jemals noch jemand mit ähnlichen Fragen über den Thread stolpern sollte; diese Application Note hat mir sehr geholfen: http://download.micron.com/pdf/technotes/tn4619.pdf
Dieses genannte Papier ist für die LowPower-SDRAMs geschrieben - es gibt von Micron auch noch weiter (TN4614, TN4606, TN4611 u.a.). Siehe: http://www.micron.com/support/part_info/all_technotes Zu deinem Terminierungsproblem bei 133 MHz mein Minimalansatz: - differentielle Clk mit 100 Ohm zwischen CLK und nCLK am RAM. Saubere Flanken am Takt sind essentiell. - Adressen, Control: nichts, bestenfalls Serienwiderstand 33 Ohm an der Quelle - Daten: nichts, bestenfalls Serienwiderstand 33 Ohm in der Mitte Idealerweise sollten auch die Leiterbahnen z.b. 50 Ohm Impedanz haben - die wiederum abhängig ist von der Breite, dem Abstand zur nächsten Masselage sowie dem Platinenmaterial. Das ist aber trotzdem nicht kritisch, auch wenn die Quellimpedanz (33 Ohm + Innenwiderstand der Signalquelle) um 10% oder 20% neben der Leitungsimpedanz liegen, so ist das immer noch viel besser als ohne den zusätzlichen Serienwiderstand. Schlechte Terminierung hat Auswirkungen auf die Flankenform - deshalb wichtig beim Takt. Daten und Adressen werden aber in der Mitte abgetastet und hatten schon eine gewisse Zeit zur Beruhigung. Das wird deshalb gehen, weil du nur mit einem Baustein arbeiten willst und vermutlich die Leitungslängen entsprechend kurz sein werden. Die üblichen Terminierungsvorschläge mit einer aktiven Quelle mit Vtt (die übrigens Source- und Sinkbetrieb können muss) kommen aus der PC-Technik, wo mehrere Module (die jeweils auch mehrere Chips beinhalten) in recht großzügiger Entfernung vom Prozessor platziert sind. Da ist die aktive Terminierung dann auch nötig und es gibt spezielle Spannungsregler für diesen Zweck. Eigentlich wollte ich nur auf die weiteren, interessanten Micron-Papiere verweisen ...
...die ganze Diskussion um die Terminierung hat natürlich nur dann Sinn, wenn es sich um Leitungslängen handelt, die über ca. 1/10 der Wellenlänge der auftretenden Frequenzen sind (wobei hier nicht die Wiederholfrequenz der Signale, sondern die durch die Flankensteilheit in der Fourriertransformation sich ergebenden zählen!). Bleibt man unter ca. 5cm, so kann man auf die Terminierung auch verzichten, was bei der Anzahl von Leitungen zwischen OMAP und mRAM eine Menge Bauteile einspart und Übersichtlichkeit bringt. Man muss die Signale des RAM-Interfaces in 3 Gruppen einteilen und die Leitungen innerhalb dieser Gruppen gleich lang halten (siehe Bild): Steuersignale incl. Clock, D0-15 und D16-31. Die erste Gruppe muss gleichzeitig mit CLK am mRAM ankommen und für die beiden anderen Gruppen kann man im OMAP den Abtastpunkt getrennt festlegen. Mit 100µ Leiterbahnen und Laser-Vias zwischen den jeweiligen Außenlagen (1/2 und 5/6) kommt man mit insgesamt 6 Lagen aus und spart gegenüber 8 oder mehr Lagen noch etwas.
Danke, bin begeistert über die Kommentare und Hinweise!
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.