Forum: Mikrocontroller und Digitale Elektronik Externes RAM an AVR


von CHristian Heigele (Gast)


Lesenswert?

Hallo!
Wie kann ich ein externen Speicher (sollte schon sein paar kB
aushalten) an einen AVR anschließen?
Hat mir da einer nen Link?
Möglichst eine Bauweise die so wenig als möglich PINs verbraucht.
Und hat schon jmd. einen FIFO Stack auf AVR realisiert?
GRuss Christian

von Jörn (Gast)


Lesenswert?

Moin,

unter
http://www.ymir.de/multi/123-byte/robotik/elektronik/steuerung1s.gif
findet sich ein Schaltbild zum Anschluss eines externen Speichers an
einen AT90S8515.(Das SChaltbild ist wohl für 32 KB, schafft aber
maximal 64 KB.) Mit weniger Pins kommt man leider nicht aus, wenn man
die AVR-eigene Ramerweiterung (Nach Setzen eines Bits im MCUCR wird
dieses wie internes verwendet.) verwenden möchte. Näheres dazu steht im
Datenblatt.
Ein "FIFO Stack" sollte mit zwei Zeigern (X-,Y-,Z-Register des AVRs)
machbar sein.

Jörn

von Thomas K (Gast)


Lesenswert?

Wie bitte? Man braucht dafür 19(!!) Pins?? :(

von wolli (Gast)


Lesenswert?

Also man kann auch mit weniger Pins (8+4?) auskommen, wenn man das
XMEM-Interface nicht benutzt bzw. einen AVR ohne die entsprechende
Schnittstelle hat. Mit zwei 8-bit Latches kann man so 64kB ansprechen.
Einfach die Adresse nacheinander in die Latches schreiben und dann die
Daten einlesen. Geht natürlich zu Lasten der Geschwindigkeit. Man
könnte aber auch einen RAM mit I2C Interface nutzen. Mit vier 4-bit
Latches würde sich die Zahl der Pins auf 10 senken lassen, was aber
wohl ineffizient ist.

von leo9 (Gast)


Lesenswert?

Dafür kann man es wie internes RAM ansprechen, wenn du nur ein paar Byte
ablegen willst und nicht permanent drauf rumschreibst nimm ein
i2c-EEprom, dann brauchst nur zwei Pins. Oder du bildest mit
Schieberegistern einen Adress-, Daten- und Control-Bus nach, dann
kannst du mit vier Pins bis in den Terrabyte-Bereich adressieren;
kostet dann halt statt Pins CPU-Zeit, das muß man halt von Anwendung zu
Anwendung unterschiedlich bewerten.

grüsse leo9

von wolli (Gast)


Lesenswert?

Er hat ja nicht gesagt welchen AVR er hat, deswegen war das XMEM
Interface ja nur Spekulation.

von Christian Heigele (Gast)


Lesenswert?

Dann sagt "er" mal welchen AVR "er" grad hat:
Noch einen  AT90S2313 und somit fällt die Möglichkeit mit den 19 Pins
weg.
Das mit dem i2c EEProm hört sich schon sehr viel besser an, vor allem
da der Mikroprozessor an dem das ganze laufen wird, wenn es dann mal
läuft, ein ATTiny sein soll.
Und da hab ich halt SEHR beschränkte möglichkeiten.
Gruss CHristian

von Marcus Maul (Gast)


Lesenswert?

Hallo Christian,

was hier noch nicht diskutiert worden ist, sind serielle
Speicherbausteine. Schau mal bei Atmel, AMD oder ST.
Die haben solche im Programm.
Da sind teilweise nur 4 Leitungen + 1 select Leitungfür jeden Baustein
notwendig. Der Nachteil der Kiste ist die relativ geringe
Durchsatzrate.
Andere Alternative, 8 Bit Schieberegister.

Viel Spaß beim basteln

Marcus

von Christian Heigele (Gast)


Lesenswert?

@leo
Wie viel wenig bytes sind denn das ?
So ein paar kilo Daten brauch ich schon.
Und der Bus muss nicht sehr schnell sein. Daten kommen max mit 6 Mhz
Kannst du da einen (billigen) empfehlen.
Wenn die zu klein sind, wie schaut denn das mit den seriellen Speichern
aus, wie schnell/groß sind die?
Gibts eigenlich irgenwo ne übersicht über die ganzen Standarts?
Gruss Christian

von leo9 (Gast)


Lesenswert?

Hallo Christian,
verzeih mir die Frage, aber hast du schon mal mit einem avr
gearbeitet?? Die schnellsten avrs kannst du mit 20MHz takten, Port
einlesen braucht zwei Taktzyklen und Sprung in der loop braucht wieder
zwei Takte. -> du könntest mit max. 5MHz samplen, von Daten
weiterverarbeiten rede ich noch nicht.

Wenn dieser Bus nicht schnell sein muss, dann hab ich keine Ahnung was
du unter schnell verstehst?

grüsse leo9

von Christian Heigele (Gast)


Lesenswert?

Sorry das mit den 6 mHz war gruschd
Hatte ne Schaltung und vollkommen falsch gedacht
Vergiss dir Aussage bitte möglichst schnell
Was kann son i2c EEprom jetzt denn  eigentlich?
gruss Christian, der zur Zeit mal absolut gar nicht auf der Höhe ist

von Christian Heigele (Gast)


Lesenswert?

sind wenige khz
GRuss Christian

von leo9 (Gast)


Lesenswert?

Hallo Christian,
schau dir den parallellaufenden Thread "SRAM in SMD gesucht" an, dort
wurden einige Typen genannt.
Als grobe Berechnung für die Zugriffszeit kannst du von ~10 Clocks pro
Byte ausgehen. Bei fmax von 400KHz (definiert durch den i2c Bus) kannst
du mit etwa 40kByte/Sekunde schreiben. In der Praxis wird der Wert
etwas geringer sein weil dein uP auch noch anderes machen muss und
allenthalben Steuer- statt Datenwörtern notwendig sind.

grüsse leo9

von Christian Heigele (Gast)


Lesenswert?

Ich brauch aber irgendwie mehr Speicher(ca 128 oder besser noch 256k).
Mit was kann man dies realisieren?
Gruss Christian

von Peter D. (peda)


Lesenswert?


von Christian Heigele (Gast)


Lesenswert?

Das sieht nach dem aus was ich gesucht habe.
Dankeschön, Christian

von remo (Gast)


Lesenswert?

Habt ihr euch in dem Link von oben

http://www.specs.de/users/danni/appl/hard/sram/sram.htm

im Schaltplan mal die Takterzeugung fuer den 1200er angesehen? Anstelle
eines Quarzes ist da eine 22uH Spule eingezeichnet.
Geht das?
Schon mal ausprobiert?

ciao
Remo

von Frank Linde (Gast)


Lesenswert?

Klar geht das. Ist nicht so frequenzstabil wie ein Quarz, aber es
funktioniert.

Gruß, Frank

von remo (Gast)


Lesenswert?

Wie berechnet man den Wert der Spule in Abhängigkeit von der Freuquenz.
Ich gehe davon aus, dass der Wert der Kondensatoren, der bei Quarzen ja
eher unkritisch ist in diesesm Fall auch voll in die Rechnung eingeht.
Ist ja ein Schwingkreis, oder?

ciao
Remo

von Frank Linde (Gast)


Lesenswert?

Die Frequenz eines Schwingkreises berechnet sich nach der Thomsonschen
Formel

f = 1 / ( 2  Pi  Wurzel( L * C))

Gruß, Frank

von Christian Heigele (Gast)


Lesenswert?

Wenn ich das richtig verstanden hab, brauche ich um diesen SRAM
anzusprechen ein Schieberegister (74HCT164). Da es mir aber um eine
möglichst Platzsparende Lösung geht, passt auch die nicht.
Kann man die SRAM nicht direkt ansprechen?
Gruss Christian

von Karl-Heinz (Gast)


Lesenswert?

Nimm halt nen Atmel DataFlash. Die kommen im 8poligen Gehäuse und fassen
bis zu 512kB (oder mehr? Atmel Site ist gerade down). Auf dem AVR
Butterfly ist jedenfalls die 512kB Variante.

von Christian Heigele (Gast)


Lesenswert?

8 Pins 4 Mbit Speicher, hört sich noch besser an, aber wo bekomm ich so
einen DataFlash her?
Butterfly's gibts ja alle paar Meter, aber die DataFlashs allein?
Oder hat einer so einen Butterfly übrig?
Gruss CHristian

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
Noch kein Account? Hier anmelden.