Hi. Ich habe folgendes "Problem": Ich entwickle zur Zeit an einem MultiMedia Board auf basis eines AVR32AP7000 (der hat ja alles was man braucht ;) ) Da ich allerdings beide MAC-Controller plus LCD-Controller verwenden möchte gehen mir die oberen 16bit Datenleitung (und ein paar bit Addr) am Externen Bus Interface flöten. Dieses wird u.a. verwendet um RAM und andere Sachen anzusteuern. Der Punkt ist: Ich möchte ein SDRAM DIMM Modul (! keine einzelnen Chips - 128MB oder so) anschließen. Das hat ja einen 64bit Datenbus, 4 ChipSelects usw. Ich möchte jetzt allerdings auch nicht nur 1/4 des Moduls nutzen können nur weil ich bloß einen 16bit Datenbus hab... Ich habe mir überlegt, dass ich auf Basis der 4 CS Eingänge, einem CPLD und den zwei CS Ausgängen vom SDRAMC eine art Multiplexer aufbaue... Der CPLD müsste dann erstmal 16bit Puffern und die Busbreite auf 32bit erhöhen und dann einen CS auswählen. Das ganze für jeden CS. (Natürlich müssen auch die CS vom Controller korrekt behandelt werden) Im Prinzip klingt das ja schön und gut... Aber die Große frage ist jetzt, ob der Controller das dann noch versteht. Also die Daten wieder richtig lesen kann (beim Schreiben sehe ich da nur ein geringeres Problem). Was meint ihr? Hapt ihr vieleicht irgendwelche anderen Vorschläge? Grüße. Martin.
Vermutlich wird das nicht funktionieren, da dann nur ein DRAM die Refreshbefehle und die Initialisierung mitbekommt. Mit normalen DRAMs hatte ich sowas mal gemacht, um diese an einem normalen AVR anzuschließen. Aber selbst da war es nicht ganz einfach (der CPLD muss erkennen wann ein Refresh ausgeführt wird, und dann alle DRAMs zusammen adressieren.
ich hatte gerade noch eine andere idee: wenn ich dem controller vorgaukle, dass er doppelt soviele spalten im ram hätte (bei einstellung auf 16bit datenbus). dann lasse ich den CPLD die drei verantworlichen adressleitungen überwachen und bei einer eins schaltet er auf den zweiten, bzw bei null auf den ersten teilblock (CS0, CS1). die cs vom controller stellen die "seite" auf dem DIMM ein. achso und gepuffert muss natürlich genau so werden. (das müsste doch dann auch die übergröße korrigieren) denke das müsste doch besser gehn?
@benedikt: also quasi alle dram chips gleichzeitig auswählen (also diesen 4k refresh?) müsste das mit der zweiten lösungsidee nicht klappen?
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.