Hallo,
bin neu bei euch im Forum, obwohl ich schon sehr lange mitlese und mitbaue. Mit dem ram das verstehe ich noch nicht so ganz. Wie hängt man den ram zum Beispiel an den M128. Kann jemand dazu hier ein Schaltplan ablegen?
transistor
Hallo,
bin neu bei euch im Forum, obwohl ich schon sehr lange mitlese und mitbaue. Mit dem ram das verstehe ich noch nicht so ganz. Wie hängt man den ram zum Beispiel an den M128. Kann jemand dazu hier ein Schaltplan ablegen?
transistor
sorry, hab vergessen mich einzuloggen, also: gast <=> malthy .
der tip mit dem alten mainboard ist natürlich prima. ich werde mal gucken was ich da so finde. allerdings blicke ich durch die bezeichnungsweise nicht so ganz durch. kann man dazu was allgemeines sagen, so nach dem motto "immer wenn vorne XYZ steht und hinten 256 ist das 32K ram"?
vielen dank, viele grüsse,
malte
Hab davon jetzt nur begrenz Ahnung, hätte aber vermutet, das der RAM Zugriff auf externes RAM sich auf mehrere Taktzyklen erstreckt...
Ja, dauert 2 Tackte beim internen SRAM mit der Fußnote:
Aber denkste, falsch gedacht:Cycle times for Data memory accesses assume internal memory accesses, and are not valid for accesses via the external
RAM interface. For LD, ST, LDS, STS, PUSH, POP, add one cycle plus one cycle for each wait state.
Im AVR-Datenblatt findet man dann noch einen anderen Wert unter:
Electrical Characteristics - External Data Memory Timing
mit in diesem Fall tCLCL= 1/16MHz macht 62,5-50 = 12,5nsRead Low to Data Valid - 1.0tCLCL-50 in ns
Dieser Wert representiert aber meines wissens nicht die oben genannten 20, 60 oder 80ns. Diese Zeiten beziehen sich nach meinem bisherigen Verständnis auf zwei aufeinanderfolgende Abfragen (kompletter Cyklus) und der ist ja durch mindestens 2Takte a 62,5ns mit 125ns gegeben (wenn man sich immer nur für das selbe Byte interessiert).
Man kann aber augenscheinlich auch Wait-States deklarieren, damit ggf zu lansames RAM angesprochen werden kann. Wenn Du also Bausteine hast, setze die wait-states, Programmiere, Teste und wenns Funktioniert fesuch es mit weniger oder ohne waitstates.
danke noch mal für alle hinweise!
gruss,
malte
Hallo!
Bin auch auf der Suche nach Erweiterungen am AVR. Habe es mit einem ATMEGA64 vor. Laut Datenblatt gibt es eine Möglichkeit auf 64kB zu kommen mit externem SRAM der einfach direkt angesprochen wird. Aber aus der einen Seite (SRAM Data Memory S. 17) kann ich bei bestem Willen keine Informationen herausholen die in einer Weise sinnvoll wären. Wo ist die Beschaltung angegeben die dafür notwendig wäre? Mit einer Harvard-Architektur ist es zwar möglich, aber dann würde diese Funktion wohl ziemlich sinnlos sein und müßte man wieder selbst per Software emulieren was alles relativ lahm machen würde. Zudem müßte man ein externes 8-Bit D-FF verwenden um Data und Adress zu Multiplexen. Hat das schon mal jemand real aufgebaut oder Infos dazu?
Grüße Wolfgang
hallo, ich habe 4x 24c512 (4x 64kbyte) am AVR16 und steuere die über I2C an, klappt wunderbar. die ganzen daten kommen vom srf04-ultra. der robby speichert die dann in alle 4-eeprom und wenn er bei mir ankommt, übertrage ich die daten auf dem pc mit einer infra-diode und tsop1736.
256kbyte-gaten reichen mir.
mfg pebisoft
Hallo pebisoft!
Das mit den EEPROMS ist ganz nett über I2C, aber ich brauche das als sehr schnellen und großen SRAM der sehr oft umgeschrieben udn in einer Art Matrix analysiert wird. EEPROMS würden da sehr schnell schlapp machen. Zum Aufzeichnen mögen die wohl gut sein, aber nicht für Algorythen. EEPROMS will ich auch verwenden, aber nur als Speicher wenn der µC ausschaltet um die Daten wieder in den SRAM zu bekommen und keine GoldCaps zu verwenden.
Grüße Wolfgang
Hallo BlueNature,
im Prinzip läuft es immer wie im Datenblatt des Atmega64 auf Seite 27/393.
Einen Schaltplan findest du auch in der Bascom-Hilfe unter Xram/Adding Xram.
Gruß, Michael
Danke Michael!
Das war genau was ich gesucht hatte. Mappen kann ich so auch gut. Ist genau Harvard wie es auch üblich ist bei anderen CPU's.
Grüße Wolfgang
Lesezeichen