Hallo! Kennt jemand die Pinbelegung oder Bezugsquellen für die Pinbelegung von Rambausteinen (z.B. Rambus, DDR, SDRAM) für PC? Vielleicht kennt auch jemand fertige C- Files fürs Ansprechen der Rams über Mikrocontroller. Sonstige wichtige Informationen sind sehr willkommen :) mfg Schoasch
Die verschiedenen Anschlussbelegungen sind den Datenblättern zu entnehmen, die man leicht bei den verschiedenen Speicherherstellern finden kann. Bei PC-Speicher trennt sich hier schnell die Spreu vom Weizen; viele sogenannte Speicherhersteller (GeiL, Mushkin, Twinmos etc.) sind keine, sondern nur Buden, die irgendwo Speicherbausteine kaufen und auf Speichermodule klatschen. Bei Micron, Infineon, Samsung etc. aber wird man fündig. Mir ist nicht ganz klar, was Du Dir unter "C- Files fürs Ansprechen der Rams" vorstellen magst - je nach Prozessor und dessen externen Speicherinterface ist ein Speicherzugriff ein Speicherzugriff. Du solltest bedenken, daß aktuelle PC-Speichertechniken (SDRAM, DDR oder gar DDR2) sich nicht wirklich für den Einsatz mit Microcontrollern eignen, auch das dynamische RAMs (die genannten sind alle welche) deutlich komplizierter anzusteuern sind als statische. Was exakt hast Du vor; welchen Controller verwendest Du?
Hallo, danke erstmals für den Beitrag! Die C- Files sollen nur den zeitlichen Ablauf beim Ansteuern eines Rams darstellen. (C- Files sind für mich meist eher verständlich als Zeitablaufdiagramme in Datenblättern) Ich verwende veschiedene Typen von Mikrocontrollern wie zB. welche aus der PIC- Serie, die schnell genug sind für Anwendungen zur Ramansprechnung. Genauer beschrieben soll ein Gerät gebaut werden, das etwa wie eine Soundkarte funktioniert, nur soll das Gerät selbstständig arbeiten, also ohne PC. Die Analogwerte werden hierfür auf ein externes Ram geschrieben. (altes Ram aus PC) Genau hier beginnt mein Problem... Momentan kann ich auf restliche Schmankerln, wie Mp3 Komprimierung und weiteres verzichten :)
Naja, die Ansteuerung eines RAMs in C kann beispielsweise so aussehen: a = 4; oder *((int *) 0x1234) = 4; Ich bezweifle, daß das einen wirklichen Informationsgewinn hat. (Dieses völlig nutzlose Beispiel gilt für Prozessoren, die selber externes RAM ansteuern können, wie beispielsweise einen Mega128). Deiner Beschreibung aber entnehme ich, daß Du wohl sehr viel Speicher an Deinem PIC anschließen möchtest, und zwar anscheinend dynamisches RAM. Dazu solltest Du mal nach "DRAM PIC" googeln, damit bestehen Chancen, daß Du ein Hardwarebeispiel für die Ansteuerung von DRAMs mit einem PIC finden kannst. Für AVRs meine ich sowas mal gesehen zu haben. Du wirst jedenfalls ziemlich alte DRAMs verwenden müssen, da alles, was seit Pentium-II-Zeiten (bzw. kurz davor) als Speicher in PCs verbaut wurde, irgendwelche SDRAM-Varianten sind, die deutlich komplizierter anzusteuern sind, als normale DRAMS (FastPage oder EDO ist hier irrelevant). Solltest Du hingegen die Cache-RAMs aus einem alten PC meinen, dann sind das oft stinknormale SRAMs, deren Ansteuerung bei µCs, die externen Speicher von Haus aus unterstützen, eigentlich im Datenblatt/Handbuch beschrieben sein sollte. Glücklicherweise kenne ich PICs nicht näher, als daß ich Dir da weiterhelfen könnte. Für AVRs wie den Mega128 ist im Datenblatt beschrieben, wie deren externes Speicherinterface mit SRAMs zusammen zu nutzen ist. An welche Speichermenge hast Du denn da gedacht?
Es handelt sich hier um externe, größere Rams, die so ab 32 MB Speicher besitzten sollten. Ich besitzte alte Rams, die man so kennt aus den ersten PCs über Amiga 500 und so :) Müssten die Steckrams nicht eine Normierung bei den Anschlüssen aufweisen, immerhin kann man ja veschiedene Typen im PC verwenden?!
"Es handelt sich hier um externe, größere Rams, die so ab 32 MB Speicher besitzten sollten. Ich besitzte alte Rams, die man so kennt aus den ersten PCs über Amiga 500 und so :)" Das widerspricht sich. In Geräten aus der Amiga-Zeit wurden DRAMs mit maximal 1 MBit Kapazität verbaut; wirklich sehr alte PCs (bis hin zum 386er) haben ähnliches verwendet. 32 MByte konnte ein Amiga eh' nicht adressieren (der darin verbaute 68k hatte nur einen 24-Bit-Adressbus und also einen Adressraum von 16 MByte). Steckkompatibilität besteht allenfalls bei ähnlichen Typen; bereits bei den einfachen DRAMs gab es aber sehr unterschiedliche Ausführungen, die beide verwendet wurden (1Mx1 oder 256kx4, beide im 18pol. Gehäuse mit völlig inkompatibler Pinbelegung). Du müsstest Dir also schon mal genauer ansehen, was auf Deinen "externen" RAMs so draufsteht und was für Gehäusebauformen die haben, Die größten DRAMs im DIP-Gehäuse waren 1 MBit-Typen; alles größere wurde nur noch in SMD-Gehäusen hergestellt und in PCs in Modulbauform (mehrere Bausteine auf einer Trägerplatine) verwendet. Diese Module wurden mit den unterschiedlichsten Namen versehen, je nach Art und Anzahl der Anschlüsse. Das klassische SIMM/SIPP hatte 30 Anschlüsse und eine Kapazität zwischen 256 kByte und 4 MByte und 8 resp. 9 Bit Datenbusbreite. Das völlig schwachsinnig "PS/2-SIMM" genannte 72polige Modul hatte zwischen einem und 64 MByte Kapazität bei 32 resp. 36 Bit Datenbusbreite. Danach folgende Module waren mit sehr wenig Ausnahmen bereits mit SDRAMs bestückt und hatten 168 Anschlüsse bei 64/72 Bit Datenbusbreite. Aufgrund einer geänderten Kontaktanordnung (beidseitige Kontaktierung) wurden die Teile DIMM genannt. Eine theoretische Normung erfolgt durch ein Gremium namens JEDEC, aber das dürfte hier nur von akademischem Interesse sein.
Tja, nun sollt man nur noch das Wort "über" betonen, klar, dass der Amiga solche Rams im Bereich 32MB nicht bevorziehen würde. Ok es ist allgemein anscheinend nicht leicht, im Internet allgemeine Informationen für meien Anwendungsbereich zu finden. Ich werde meine Speicherung auf eine Festplatte verlegen... Danke dennoch für die bisherigen Beiträge!
Äh, ich habe Dir den einen oder anderen Anhaltspunkt gegeben und vor allem eine wesentlche Aufgabe gestellt: Du müsstest Dir also schon mal genauer ansehen, was auf Deinen "externen" RAMs so draufsteht und was für Gehäusebauformen die haben, Da Du, wie Du vorgibst, die alten RAMs bereits hast, solltest Du das schon schaffen. Dann kann man Dir auch mit detaillierteren Hinweisen weiterhelfen. Ohne daß Du genauer erwähnst, was für RAMs Du hast, kann man Dir eben keine präziseren Hinweise geben. "Ok es ist allgemein anscheinend nicht leicht, im Internet allgemeine Informationen für meien Anwendungsbereich zu finden." Du solltest unterscheiden lernen zwischen "im Internet finden" und "allgemeine Fragen stellen". "Finden" ist keine passive Tätigkeit, sich Fragen beantworten lassen schon.
So wie ich dich verstehe willst du einfach einen RAM-Riegel aus dem PC rausnehmen, einen Slot auf dein uC-Board braten, RAM rein und dem uC zur Seite stellen, der ihn dann auch noch ansprechen soll. Soweit so gut. Dein problem ist hierbei, dass die kleineren uC keine DRAM und erst recht keine DDR-RAM unterstützen. Ich würde an deiner Stelle das Thema RAM und insbesondere den Unterschied zwischen SRAM und DRAM ein wenig genauer anschauen. Ein 8-Bit MC wird übrigens keine 32 MEGABYTES adressieren können! Mein Tip, wenn du viel Speicher brauchst: uC mit ARM7 oder ARM9 core. Damit hast du auch die entsprechende Infrastruktur für Anwendungen, die soviel Speicher überhaupt nutzen können. Um nochmals auf die PC-Speicherbausteine zurückzukommen; ich habe keine Ahnung, wie du 66 resp. 100 resp. 133 MHz einfach so in den Griff bekommen willst. Falls es nur darum geht, einfach mal zur Freude ein Bisschen RAM an den uC zu hängen um damit zu spielen, nimmst du besser SRAM und hast an ein paar KB mehr ebensoviel Freude.
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.