Hallo zusammen, wollte mal eure Meinung zu einem wie ich meine grenzwertigem Routing des Externen-Bus-Interface eines LPC2478 höhren. Das Layout ist in den angehängten Bildern zu sehen. Das EBI läuft rechts vom LPC nach links über den SDR-SDRAM, Flash zu den drei BUS-Buffern. Alle Steuersignale sind serienterminiert, die Daten- und Adressleitungen sind nicht terminiert. Wenn ich grob die Leitungslängen der Daten & Adressleitungen aus dem Layout abschätze komme ich auf ca. 8cm Leitungslänge. Das PCB hat 4 Lagen, wobei GND und VCC jeweils einen eigenen Layer hat. Nun, freue mich auf eine nette Diskussion und mögliche Verbesserungsvorschläge. Gruß, Daniel
Hallo, was wird denn das schönes? :-) Bei NXP findest du eine AppNote dazu, wie das EBI beschaltet werden sollte, wenn man sowohl SDRAM als auch ein statisches Memory benutzt. Deine Vorgehensweise wird aber natürlich auch funktionieren (ich würde es auch eher so machen). Ich habe etwas ähnliches hier realisiert; die längste Leitung ist sogar ca. 100 mm lang. Das macht aber nichts, der Speicher funktioniert bestens. Dein Vorhaben wird also auch klappen. Wenn du willst lade ich ein Bild von meinem Layout hoch. Ein Foto von der Platine kann ich sonst auch machen. Wenn du 4 Lagen hast, sehe ich aber kein Problem. Was ich allerdings noch gemacht habe: ich habe die Unterseite der Leiterplatte komplett mit Kupfer gefüllt (also natürlich einfach da wo keine Leiterbahnen sind ;-)). Das bringt auch zusätzlich noch was. Ich habe übrigens auf meinem ersten 4lagigen Testboard festgestellt, dass eine Serienterminierung nicht unbedingt erforderlich ist; ich hatte nämlich für einen ersten Versuch überall 0 Ohm Brücken reingelötet, und es hat alles funktioniert und die Signale sehen gut aus. Gruss Tobias
Das Board entsteht im Rahmen meiner Abschlussarbeit. Beim Design habe ich mich an dem Eval-Board von Keil orientiert. Ein Bild von deiner Platine wäre echt nett sag ich mal. Du beziehst dich wahrscheinlich auf die AN10771, dort wird zwar auf die logisch richtige Signalbelegung eingegangen, aber nicht auf die Probleme die ich hier sehe. 1) Reflexionen und dadurch entstehende Setup- & Hold-Time violations 2) Crosstalk und dadurch entstehende Setup- & Hold-Time violations bzw. einkopplung auf Control-Signale, also ganz allgemein eine miese Signal-Integrity. Leider kann ich, da das Layout in Eagle entsteht keine SI-Analyse (bzw. nur mit extrem hohen Aufwand) in Mentor HyperLynx durchführen Gruß, Daniel
Hoi, Bild folgt (ich muss es erst wieder suchen). Die Signalintegrität ist zwar wichtig, aber bei den Geschwindigkeiten, von denen wir hier reden, ist das noch nicht so kritisch. Du hast ja eine Ground- und VCC Plane, und auf den beiden Bildern, die du angehängt hast, kann man sehen, dass du aufgrund der nicht so dichten Bestückung auch nicht soo viele Vias haben wirst, die diese Planes perforieren. Wo wirst du die Leiterplatte fertigen lassen? Ich habe meine im PCB-Pool machen lassen. Bei den Materialien, die dort zum Einsatz kommen, und den Abmessungen von Prepreg und Core kann ich bei 6 Lagen mit 6 mil breiten Leiterbahnen fahren, und die Impedanz passt. Bei 4 Lagen sollte das auch immer noch gut möglich sein. Nimm 6-8 mils als Untergrenze, und es wird funktionieren. Der LPC2468 kann nur 72 MHz, das heisst, die Flanken der Signale sind recht lahm. Ich werde dir noch zwei Bilder vom Oszi hier hochladen, damit du siehst was ich meine. Das Zeug ist so unkritisch, dass es sogar auf 2 Lagen ohne besondere Vorkehrungen funktioniert: http://freeweb.siol.net/mpavlin7/lpc2400/lpc2400.htm Zwar unschön, aber ich habe im Blog von dem Mann (ich kann den Link allerdings nicht mehr finden) verschiedene Berichte über das Board gelesen, es scheint zu funktionieren. Was ich machen würde: - RAS, CAS, CS, WE, OE, DQMx, CLK, CKE mit Seriewiderständen. So um 22 Ohm. - Datenbus, Adressbus - keine Terminierungswiderstände, da die internen Treiber des LPC2468 schon relativ langsam und schwach sind. Um bessere Signale zu erhalten, habe ich sogar die internen Pullup-Widerstände des Buscontrollers deaktiviert, dann wird es noch ein wenig besser. - Auf der Unerseite der Leiterplatte alles mit Kupfer füllen. Was ist das übrigens für ein Stecker, der links in der mitte gleich neben den Bustreibern zu sehen ist? Ich nehme an, da führst du die Signale des Busses drauf. Ich suche einen solchen Stecker, aber ich bin mir nicht sicher, welchen ich verwenden soll. Vielleicht kannst du mir da ja auch einen Tipp geben ;-)
Hier mal mein Layout (nur die beiden äusseren Layer). D2 ist, wie du unweigerlich erkennen wirst, der LPC2468. Die links daneben liegenden D5 und D6 sind meine beiden SDRAMs (IS42S16160B), wo jedes 16Mx16 umfasst (deshalb müssen es 2 sein, um auf 32 Bits zu kommen). Gleich darüber liegt D7, welches ein NOR-Flash (S29GL032) von 4MB ist. D12 ist ein kleiner FPGA, der auch noch mit am Bus hängt. Da der Takt nun an 3 verschiedenen Orten benötigt wird, und ich bei meinem ersten Board feststellte, dass der Takttreiber des LPC2468 nicht allzu viel Power hat, habe ich ihm einen PLL-Takttreiber spendiert (CDCVF2505), welcher den Takt an die beiden SDRAMs und den FPGA liefert. Die Taktleitungen habe ich so dimensioniert, dass sie ein paar wenige mils länger sind, als das längste Signal, welches zum SDRAM soll - eben damit der Takt nicht früher beim SDRAM ankommt als die Daten ;-) Auf dem 2. Bild siehst du die Unterseite, wo ich alles mit Kupfer aufgefüllt habe. Dein Schaltreglerlayout sieht übrigens auch gut aus. Was ist es für ein IC?
Tobias Plüss schrieb: > Die Signalintegrität ist zwar wichtig, aber bei den Geschwindigkeiten, > von denen wir hier reden, ist das noch nicht so kritisch. Nunja, so pauschal kann man das nicht sagen. Nimmst du ein CTRL-Signal wie !OE, !WE, !CAS, etc. das vom uC weg zu mehreren Peripherals (von Baustein zu Baustein) geroutet ist, siehst du in der Mitte der Leitung für 1x der Laufzeit der Leitung bei optimaler Serienterm. den halben Signalpegel. Fällt dieser undef. State in die Signalflanke (weil beispielsweise die Laufzeit auf der Leitung nur wenige 100ps beträgt) stört das relativ wenig. Allerdings kann bei grenzwertigen Laufzeiten (ich habe mir mit den Aufbau und Material-Angaben von MultiPCB vor ein paar Wochen mal 500ps / 80mm ausgerechnet) und schlechter Terminierung das ganze schon vollkommen anders aussehen. Hierzu habe ich mal ne einfache Sim in LTSpice angehängt. Meiner Meinung nach sieht das alles andere als toll aus. Die Treiberimpedanz ist ganz grob aus der IBIS File ermittelt indem ich den dynamischen Innenwiderstand in der Flankenmitte aus dem angegebenen u(t) Werten und einem daraus errechneten di über dem testload herangezogen habe. > Du hast ja eine Ground- und VCC Plane, und auf den beiden Bildern, die > du angehängt hast, kann man sehen, dass du aufgrund der nicht so dichten > Bestückung auch nicht soo viele Vias haben wirst, die diese Planes > perforieren. Solange keine 10Vias quer zum Rückstrompfad die GND oder VCC Plane kompl. unterbrechen, spielen die Gehäuseimpedanzen (vor allem die des LQFP) die durch den Abstand zwischen Signalpin und Package-GND entstehen eine deutlich größere Rolle. > Wo wirst du die Leiterplatte fertigen lassen? Ich habe meine im PCB-Pool > machen lassen. Bei den Materialien, die dort zum Einsatz kommen, und den > Abmessungen von Prepreg und Core kann ich bei 6 Lagen mit 6 mil breiten > Leiterbahnen fahren, und die Impedanz passt. Ich werde die Platine bei MultiPCB fertigen lassen. Sind einfach günstiger. Woran machst du das fest, dass die Impedanz passt? Die 6 mil (Microstripline!!!) hauen rechnerisch nichtmal bei 150um Prepreg hin, da du immernoch bei ca. 80 Ohm Wellenwiderstand liegst. Epsilon r,eff | h | w | Wellenwiderstand | 3,18 | 150um | 150um | 78 Ohm | Nimmst du für ein 4 Lagen Board einen gängigen Prepregaufbau von 360um erhälst du für 6 mil folgenden Wellenwiderstand Epsilon r,eff | h | w | Wellenwiderstand | 3,18 | 360um | 150um | 102 Ohm | 3,18 | 360um | 300um | 82 Ohm | Selbst mit 12 mil hast du schwierigkeiten ohne Serienterminierung in einen 90% Matching Bereich zu kommen. Ein weiteres Proble das in der LTSpice sim zu sehen ist, ist dass bei zu hohen Wellenwiderständen der Leitung durch die Eingangskapazitäten der angeschl. Gatter das Signal zu stark verschleift wird. > Bei 4 Lagen sollte das auch immer noch gut möglich sein. Nimm 6-8 mils > als Untergrenze, und es wird funktionieren. Der LPC2468 kann nur 72 MHz, > das heisst, die Flanken der Signale sind recht lahm. > Ich werde dir noch zwei Bilder vom Oszi hier hochladen, damit du siehst > was ich meine. Das wäre sehr nett, ich bin wirklich auf die Rise & Fall Times gespannt. Das ganze ist aber nur aussagekräftig wenn du mit einem aktiven Tastkopf der weniger als ein paar pF hat gemessen hast (ausreichende Analogbandbreite des Oszis vorausgesetzt). Mit einem passiven Tastkopf kannst du ohne genaue Kenntnis der dyn. Treiberimpedanz die wirkliche Flankensteilheit nicht aus der gemessenen Flankensteilheit berechnen. > Das Zeug ist so unkritisch, dass es sogar auf 2 Lagen ohne besondere > Vorkehrungen funktioniert: > > http://freeweb.siol.net/mpavlin7/lpc2400/lpc2400.htm > > Zwar unschön, aber ich habe im Blog von dem Mann (ich kann den Link > allerdings nicht mehr finden) verschiedene Berichte über das Board > gelesen, es scheint zu funktionieren. Das Layout ist echt krass, da hat der Autorouter ganze arbeit geleistet. Bin mal wirklich gespannt was das noch wird. Habe mit der jetzigen Buslänge einfach ein schlechtes Gefühl. Aber mit 4 Lagen lässt sich das einfach kaum besser machen... > Was ich machen würde: > > - RAS, CAS, CS, WE, OE, DQMx, CLK, CKE mit Seriewiderständen. So um 22 > Ohm. Bei mir mit 33 Ohm vorgesehen terminiert. > - Datenbus, Adressbus - keine Terminierungswiderstände, da die internen > Treiber des LPC2468 schon relativ langsam und schwach sind. Um bessere > Signale zu erhalten, habe ich sogar die internen Pullup-Widerstände des > Buscontrollers deaktiviert, dann wird es noch ein wenig besser. Also wenn ich in die IBIS-File schau sind die alles andere als schwach. Die können echt einiges Treiben und das relativ flott. > - Auf der Unerseite der Leiterplatte alles mit Kupfer füllen. Sowieso ;) > Was ist das übrigens für ein Stecker, der links in der mitte gleich > neben den Bustreibern zu sehen ist? Ich nehme an, da führst du die > Signale des Busses drauf. Ich suche einen solchen Stecker, aber ich bin > mir nicht sicher, welchen ich verwenden soll. Vielleicht kannst du mir > da ja auch einen Tipp geben ;-) Samtec QSE-040-01-L-D-A. Sind allerdings schweine teuer... Mein Betreuer wollte den für weitere Projekte drauf haben. So an dem Beitrag hab ich jetzt über ne halbe Stunde geschrieben... Gruß, Daniel
Tobias Plüss schrieb: > Hier mal mein Layout (nur die beiden äusseren Layer). > D2 ist, wie du unweigerlich erkennen wirst, der LPC2468. > Die links daneben liegenden D5 und D6 sind meine beiden SDRAMs > (IS42S16160B), wo jedes 16Mx16 umfasst (deshalb müssen es 2 sein, um auf > 32 Bits zu kommen). > Gleich darüber liegt D7, welches ein NOR-Flash (S29GL032) von 4MB ist. > D12 ist ein kleiner FPGA, der auch noch mit am Bus hängt. So wie ich das sehe, sind deine Datenpfade etwas kürzer wie bei mir, kommen aber auf jedenfall in den Bereich der mir momentan Sorgen bereitet. Mich würden wirklich mal Scopeshots interessieren ;) > Da der Takt nun an 3 verschiedenen Orten benötigt wird, und ich bei > meinem ersten Board feststellte, dass der Takttreiber des LPC2468 nicht > allzu viel Power hat, habe ich ihm einen PLL-Takttreiber spendiert > (CDCVF2505), welcher den Takt an die beiden SDRAMs und den FPGA liefert. Sah das Signal zu verschliffen aus oder an was hast du das festgemacht? > Die Taktleitungen habe ich so dimensioniert, dass sie ein paar wenige > mils länger sind, als das längste Signal, welches zum SDRAM soll - eben > damit der Takt nicht früher beim SDRAM ankommt als die Daten ;-) > Auf dem 2. Bild siehst du die Unterseite, wo ich alles mit Kupfer > aufgefüllt habe. 200ps Laufzeitunterschied sollten (bei sauberen Signalen :-) keine Probleme machen wenn ich die Timings des LPC mit dem des SDRAM (hier ISSI IS42S32400B) vergleiche. > Dein Schaltreglerlayout sieht übrigens auch gut aus. Was ist es für ein > IC? LM5116 von National Semiconductor. Ist ein relativ neuer Baustein mit nem sehr sehr weiten Eingangsspannungsbereich. Da kann der Student später kaum was falsch machen :-)
Hi Daniel, ja ich werde morgen ein paar Messungen mit dem Scope veranstalten. Allerdings habe ich hier zu Hause nur einen passiven Agilent-Tastkopf mit 1pF. Mein Layoutprogramm sagt mir, dass mein CLK (welcher die längste Leiterbahn hat) eine Länge von 4500 mils aufweist - gut 110 mm. Des Weiteren verrät es mir auch, dass ich knapp 70 Ohm Impedanz habe. Zwar ist dies, zugegebenermassen, nicht optimal, aber dafür ist die Impedanz wenigstens konstant ;-) schlimm ist ja, meines Wissens (ich habe mein Studium erst angefangen und habe grade auf diesem Gebit mit Wellenwiderstand etc. noch nicht so viel Ahnung) eine Impedanzänderung. Und da die Impedanz überall die gleichen ~70 Ohm beträgt, kommt das hier nicht zum Tragen. Dass ich den Clock-Treiber eingesetzt habe, hat 2 Gründe. Ich habe ja schon früher einmal ein Testboard gemacht. Das hat zwar funktioniert, jedoch sah der Clock wirklich eher wie ein Sinus aus, als wie ein Clock. Das ist schlecht, weil mein SDRAM gerne eine rise tiem < 5ns haben möchte (zumindest am Clock). Des Weiteren habe ich in diversen AppNotes und Arikeln zum Thema Signalterminierung usw. gelesen, dass es schwierig ist, ein Signal korrekt zu Terminieren, wenn man Stichleitungen hat. Besser wäre es, wenn jeder "Verbraucher" seine eigene Taktleitung bekommt, da dies Impedanztechnisch dann leichter in den Griff zu kriegen ist. Das ist mit dem Clocktreiber sichergestellt; dieser beinhaltet ausserdem integrierte Terminierungswiderstände von rund 25 Ohm, was hier wohl nicht sooo schlecht passt (wie du auf dem Scope-Bild sehen wirst, sieht der Clock recht passabel aus). Wie gesagt: das Board funktioniert bestens mit diesem Layout (Zumindest, was das externe Memory angeht - da habe ich stundenlange Ramtests laufen lassen ohne einen einzigen Fehler). Mag sein, dass meine Vorgehensweise recht hemdsärmlig ist, verglichen mit deiner - immerhin hast du da schon einiges gerechnet. Ich glaube aber auch, bei den Geschwindigkeiten des LPC spielt das noch nicht eine so grosse Rolle, das wird nicht so heiss gegessen, wie es gekocht wird ;-) Mehrere Forenbeiträge hierzu geben mir recht. Etwas anderes wäre es, wenn du ein ARM9 Board bauen würdest, das mit 180 MHz läuft - da würde ich dann auch langsam beginnen zu rechnen. Aber bei deinem Layout bin ich überzeugt, dass es funktionieren wird. Schau dir mal die Boards von Olimex oder so an. Die sehen nicht viel anders aus, und funktionieren auch ;-) Morgen (ach nein, das ist ja schon heute :O ) mache ich dir ein paar Bilder mit dem Scope. Gruss PS: wie ich sehe, hast du einen Ethernet-PHY auf deinem Board vorgesehen. Momentan kämpfe ich etwas mit dieser Ethernet-Geschichte beim LPC2468. Evtl. kannst du mir da etwas weiter helfen? Du hast ja, nehme ich mal an, auf einem Evalboard softwaremässig schon ein bisschen herumexperimentiert.
Nabend, Pas. Tastkopf mit 1 pF ? Helf mir mal bitte auf die Sprünge > Mein Layoutprogramm sagt mir, dass mein CLK (welcher die längste > Leiterbahn hat) eine Länge von 4500 mils aufweist - gut 110 mm. Des > Weiteren verrät es mir auch, dass ich knapp 70 Ohm Impedanz habe. Zwar > ist dies, zugegebenermassen, nicht optimal, aber dafür ist die Impedanz > wenigstens konstant ;-) schlimm ist ja, meines Wissens (ich habe mein > Studium erst angefangen und habe grade auf diesem Gebit mit > Wellenwiderstand etc. noch nicht so viel Ahnung) eine Impedanzänderung. > Und da die Impedanz überall die gleichen ~70 Ohm beträgt, kommt das hier > nicht zum Tragen. Dein Clock ist in diesem Fall aber auch eine Punkt zu Punkt Verbindung und Serienterminiert an der Quelle, also absolut kein Problem. Bei mir ist das nicht anders, ich mache mir um die Steuersignale ehr weniger sorgen als um die Daten und Adressleitungen. Wie lange sind denn bei dir die Daten & Adressleitungen ? Längere Stubs hast du ja wahrscheinlich drin wenn ich mir das so anschau. Ich fände es interessanter, wenn du auf zwei Kanälen den Clock zu einer sich ändernden Adress sowie Datenleitung messen würdest. > Schau dir mal die Boards von Olimex oder so an. Die sehen nicht viel > anders aus, und funktionieren auch ;-) Wenn ich mir das Olimex-Board anschaue kommen die auf ca. halb so große Laufzeiten wie ich momentan habe (das wär mir auch ganz recht). > Morgen (ach nein, das ist ja schon heute :O ) mache ich dir ein paar > Bilder mit dem Scope. Aber bitte schlafen nicht vergessen :P > PS: wie ich sehe, hast du einen Ethernet-PHY auf deinem Board > vorgesehen. Momentan kämpfe ich etwas mit dieser Ethernet-Geschichte > beim LPC2468. Evtl. kannst du mir da etwas weiter helfen? Du hast ja, > nehme ich mal an, auf einem Evalboard softwaremässig schon ein bisschen > herumexperimentiert. Da muss ich dich enttäuschen, habe bisher nur mit einem kleineren LPC-Board von Olimex experimentiert um in die Toolchain usw. mal reinzukommen. Aber in ein paar Wochen werde ich mir um den TCP/IP Stack und die low-level Zugriffe mal ein paar Gedanken machen müssen. Graphik-Bib usw. muss ich auch noch in angriff nehmen, wird noch ein hartes Stück... Gute Nacht
Hoi, sorry dass es heute nicht gereicht hat wegen der Scope-Bilder. Ich werds morgen Abend nachholen :) Gruss
Null Problemo! Mich ärgert nur, dass hier scheinbar so viele mitlesen aber keiner der Nutznieser was beitragen will/kann...
Hi, > Mich ärgert nur, dass hier scheinbar so viele mitlesen > aber keiner der Nutznieser was beitragen will/kann... das ärgert mich manchmal auch. Aber es wird wohl daran liegen, dass >99% der Leute hier AVRs benutzen; die ARM-User scheinen sich wohl eher in der entsprechenden Yahoo-Gruppe zu befinden (welche mir persönlich allerdings nicht so zusagt, da alles nur auf Englisch ist, und ein Registrierungszwang besteht, wo man extra noch eine Yahoo-ID anlegen muss, die nachher sicher mit Spam nur so überflutet wird). Ans Oszillographieren komme ich übrigens erst heute Abend, da ich ja jetzt im Büro sitze ;-) Gruss
Hallo Tobias, wenn du für die Messungen keine Zeit hast ist das auch nicht weiter tragisch, eine kurze Info wäre allerdings nett. Gruß, Daniel
Hi Daniel, au sorry - ich bin einfach fürchterlich vergesslich. Du hättest mir schon eine Mail schicken können! :-) Ich messe es heute aus. Leider sitze ich grade im Büro und das Board liegt zu Hause rum... Ich mach' dir ein Bild vom Clock und von den Daten- und Steuersignalen (WE und OE und so weiter).
Grüss dich Daniel, so bin jetzt zu Hause angekommen und habe mal mein Oszi angeworfen. Bilder folgen....
Hallo Daniel, anbei ein paar Bildlein. Dient dier das soweit? Gruss Tobias
Hallo Tobias, vielen Dank, dass du dir die Mühe gemacht hast, ist ja alles andere als selbstverständlich. Die Messergebnisse beruhigen mich, die Rise & Fall Times fallen (zum Glück) sehr viel langsamer aus wie ich vermutet habe. Reflexionen und damit einhergehende Überschwinger sind auch nicht (sichtbar) vorhanden. Mein Design wird dann wohl auch problemlos (zumindest was das routing angeht) laufen. Der Thread und deine Messungen können dem einen oder anderen beim Design-In mit Sicherheit eine Hilfe sein. Für mich ist das Thema bis zum Test des Prototypen damit vom Tisch, außer du möchtest noch was loswerden? Werde mich dann nochmal zu Wort melden, wenn mein Proto läuft. SW-technisch können wir uns dann bestimmt auch noch einmal austauschen nehme ich an, du hast ja scheinbar auch noch ein paar Baustellen offen. Vielen Dank nochmal, Daniel
Hi Daniel, okay, wenn du sagst, dass meine Messungen vielleicht hilfreich sein können werde ich die vielleicht einmal noch ein wenig ausführlicher machen und dann auf meine Homepage stellen (welche zurzeit noch im Bau ist), dann kann die Jedermann angucken :-) Tatsächlich habe ich die eine oder andere Baustelle noch offen, was die SW angeht. Und die Rückmeldung, wie es deinem Prototypen geht, würde mich natürlich auch interessieren. Es wäre also vielleicht nicht verkehrt, wenn wir uns zu gegebener Zeit wieder hier austauschen könnten! Gruss Tobias Edit: Ach ja, noch was zu den Messungen. Wie du ja gesehen hast, hat mein Tastkopf 1pF. Ich bin mir nicht 100%ig sicher, wie stark das die Signale beeinflusst. Ein aktiver Tastkopf steht zwar auf meiner Wunschliste, aber ich habe fast das Gefühl, der wird wohl immer dort bleiben müssen, da die Dinger einfach nicht bezahlbar sind. Was haben die denn für typische Kapazitäten?
Ich hab mal bei Agilent geschaut und keinen passiven Tastkopf gefunden der so ne geringe Eingangskapazität hat. Selbst bei aktiven Probes wirst du nur schwer fündig. Welche bezeichnung hat dein TK ?
Zur Beeinflussung, also der CLKOUT sollte beispielsweise mindestens ein Gatter mit einer representanten Lastkap. von ca 4pF + die Leitungskap. mit 45pF/m (in meinem Fall mit 6mil und 360µm Prepreg) treiben können. Dein 1pF sollte dann also kaum beitragen, bei nem 0815 Tastkopf mit 10MOhm || 20pF würde dass dann schon anders aussehen....
Ich hab hier mal ne Appnote von Freescale zu nem PowerPC hochgeladen. Hier wird auf das Thema Timingmargin beim Anschluss von SDRAM eingegangen. Wenn du dir die durchliest stellst du fest, dass die sogar davon aussgehen, dass die Lastkap. größer 20pF ist, damit keine Timing-Violations eintreten. Das ist echt grenzwertig würde ich mal sagen!
Tobias Plüss schrieb: > Wie du ja gesehen hast, hat mein > Tastkopf 1pF. Passive Tastköpfe mit 1pF gibt es nicht. Standardwerte sind 10-12pF beim 10:1 Teilerkopf.
Hallo, au ja, sorry, ich hatte da was falsches im Kopf. Ihr habt natürlich recht, auf den Tastköpfen wäre es ja noch drauf gestanden :-) Sie haben natürlich 10 pF, nicht 1. Sorry wegen des Irrtums. Daniel, ich kann dir grade nicht folgen. Was meinst du sei grenzwertig? Mein Design? Oder das Timing das ich eingestellt habe? oder wie?
Ne, dass die Voraussetzten, dass nur bei einer Kap. Last > 20pF die Timing Margins eingehalten werden find ich grenzwertig.
Ok, du hast also mit nem 10pF Tastkopf gemessen. Wenn ich das zurückrechne verschleift der die Flanke (beim Clock, also ein Sender, ein Empfänger) um 1,5ns bis 2ns, dann hättest du ne reale Flankensteilheit von ca 2ns, das deckt sich dann mit den typ. Werten aus der IBIS File.
Jaa, das finde ich auch ein wenig seltsam. Ich hoffe doch sehr, dass der Memory Controller des LPC so designed ist, dass er die timings einhält. Das wäre ja schlecht, wenn die Lastkapazität einen so grossen Einfluss haben müsste - das würde dann z.B. dazu führen, dass man nicht jedes beliebige DIMM verwenden kann, da sicher nicht jedes 20 pF oder wasauchimmer hat - und diese Lastkapazität schwankt sicher auch mit der Temperatur usw. usf. Meinst du denn, du wirst Probleme kriegen mit deinem LPC2478 Board? trotz meiner Messungen, die ja zeigen, dass es funktioniert? Du hast mich jetzt nämlich selber verunsichert. Ich behaupte mal, mein Board funktioniert zuverlässig, denn der RAM-Test läuft problemlos - und ich hoffe mal schwer, dass das Layout bei den verhältnismässig langsamen Anstiegs- und Abfallzeiten noch nicht so kritisch ist. Zur Sicherheit werde ich das morgen unter verschiedenen Betriebsbedingungen testen, ob es wirklich zuverlässig ist (rein in den Kühlschrank und RAM-Test machen bzw. im Ofen wärmen und nochmal RAM-Test machen - wenn da irgend ein Timing oder eine Setup- bzw. Holdzeit nur aufgrund von zufälligen parasitären Effekten eingehalten wurde, dann müsste der RAM-Test ja spätestens unter solchen "extremen" Bedingungen fehlschlagen. Oder nicht?). Oder was meinst du?
Kann ich ausm Bauch raus nicht sagen, da muss ich mal die Setup & Hold Forderungen von uC und SDRAM gegenüberstellen und die Flight-Times auf dem PCB mit einrechnen, wollte ich sowieso mal machen ...
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.