Ext. Memory für ATtiny

Peter Roth

Neues Mitglied
29. Sep. 2007
4
0
0
Sprachen
Hallo,

leider unterstützen meine ATtiny / ATmega von sich aus keinen externen Speicher.

Ich möchte aber einen statischen RAM von 512KByte (vorübergehende Speicherung von Messwerten, viele Schreib / Lesezyklen, daher traue ich mich nicht, EEProms zu nehmen) ansprechen.

Dazu braucht es 19 Adressleitungen (mit 3 Stück 8-Bit-Latches oder Multiplexer zum Controller hin werden nicht ganz so viele Portpins verbraucht) und 8 Datenleitungen und noch ein paar Steuerleitungen. Und schon sind praktisch alle Pins belegt...

Gibt es da bessere oder fertige Lösungen? Sollte nicht mit exotischen Bauteilen sein.

Grüße,
Peter
 
Hallo Peter,

da du viele Schreib-/Lesezyklen ausführst, fällt auch DataFlash (Atmel) und FRAM (Ramtron) weg. Es gibt zwar SRAM mit 4MBit und serieller Schnittstelle (SPI), aber man kommt da nicht so einfach dran, also zu exotisch.

Ich weiß nicht inwieweit du noch PortPins am ATtiny oder ATmega frei hast und wie schnell auf das SRAM zugegriffen werden muß, du könntest aber bei den Adreßleitungen von 19Pins auf 3 Pins reduzieren, indem du 3 x 74HC595 (Seriell-Parallel-Wandler) verwendest. Die drei Signale wären Takt, Daten und LoadLatch, die 74HC595 sind hierbei in Reihe geschaltet. Grob geschätzt könnte man einen Schreib-/Lesezyklus bei 16MHz Takt in etwa 5us hinbekommen. Im AVR nutzt du dann einen 24bit Adreßbereich, also 3 Bytes seriell schieben.

Wenn noch genug Pins vorhanden sind, würde ich Datenport und Steuerpins direkt am Mikrocontroller anschließen. Es würden sich somit 13 oder 14 Pins ergeben (8 Data + 3 Adress + 2 Control, ggf. noch CS\).

Wenn das nicht ausreicht, würde ich versuchen, einen AVR mit mehr Ports zu nutzen. Du könntest mit 74HC597 (8Bit Parallel In, Serial Out) auch mehrere Eingangssignale zum Beispiel Tastatur zusammenfassen, um Portpins zu sparen.

Grüße
Dirk
 
Hallo Dirk,

guter Vorschlag, ich war wohl zu sehr darauf fixiert, wenigstens die kleinsten Adressbits wegen der Geschwindigkeit 1:1 anzusteuern. Aber sooo eilig habe ich es genau betrachtet nun auch nicht, einige µs kann ich mir zum Adresswechsel schon leisten.

Ich werde es mit dem HC595 (oder 594, brauche kein 3-State) versuchen.

Dann haben ATtiny2313 oder ATmega88 auch genug Pins.

Danke,
Peter