mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speichererweiterung am µC


Autor: Giorgio (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, hab ne Frage. Weiss jemand wie ich die Speichermöglichkeiten an 
einem µC erweitern kann? Um z.B. eine Tonfolge aufzunehmen und zu einem 
späteren Zeitpunkt wiederzugeben?

Ein µC deswegen, weil ich damit mehrere Sachen steuern möchte...

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Paralleles SRAM. Einige AVR-Controller haben ein Hardware-SRAM-Interface 
bis 64kByte Adressraum.

Autor: oder hier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An einige Controller kann man externes SRAM direkt anschließen, eine 
andere und universellere Lösung ist wahrscheinlich eine SD-Karte, siehe 
Codesammlung.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, und wenn die 64kByte immer noch nicht reichen, dann musst du 
"tricksen"...

Autor: Giorgio (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn ich einen grösseren Speicher haben möchte? Zum Beispiel um 10 
minuten Sprache aufzunehmen? Ist das überhaupt möglich? Ich möchte 
verschieden Sprachmuster aufzeichnen, in einem Speicher lagern und 
jederzeit auch getrennt voneinander abrufen können.

Autor: Giorgio (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Matthias... Wie tricksen? Kennst du tricks? ;)

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann würde ich einen seriellen Flash empfehlen (z.B. M25Pxx oder Atmel 
Data Flash, oder direkt eine MMC/SD Karte). Die benötigen nur 4 Pins und 
sind mit vielen Megabyte Speicherplatz erhältlich.

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest auch DRAMs verwenden, ist auch nur halb so kompliziert, wie 
es klingt.

Autor: Giorgio (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie würde das mit DRAMs funktionieren? Wie steuer ich die an?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, ich würde da einen größeren Speicher genauso anklemmen, wie im 
Atmel Datenblatt beschrieben, mit AD0-7, A0-15, ALE...
Die zusätzlichen Adressleitungen des SRAMS würde ich an einen freien 
Port legen, zB an den PORTC:
PC0 => A16
PC1 => A17
PC2 => A18...
Somit kannst du mit diesem Ausgangsport zwischen 64kByte-"Bänken" 
umschalten:
PC = 0x00  : 0x00'00'00 - 0x00'FF'FF
PC = 0x01  : 0x01'00'00 - 0x01'FF'FF
PC = 0x02  : 0x02'00'00 - 0x02'FF'FF
...
Du musst jetzt allerdings VOR JEDER Speicheroperation dafür sorgen, dass 
diese "Bankauswahl" immer auf die Richtige zeigt, da der ATMEL das ja 
nicht mitbekommt(Also an das Retten von PORTC denken). Allerdings ist 
dieser Speicher NICHT durchgängig erreichtbar:
die unteren (die exakten Zahlen bezihen sich auf einen mega128) 4352Byte 
sind IMMER intern im atmel, unabhängig, welche Bank angewählt wird!! Das 
liegt daran das der atmel diese Speicherzellen intern hat, und ja aber 
nicht weiß das wir Bänke umschalten..
Somit sieht das ganze etwa so aus:
PC = 0x00  : 0x00'00'00 - 0x00'10'FF  INTERN
PC = 0x00  : 0x00'11'00 - 0x00'FF'FF  die "nullten" (64-4)KByte

PC = 0x01  : 0x01'00'00 - 0x01'10'FF  wieder dieselben INTERN !!!!
PC = 0x01  : 0x01'00'00 - 0x01'FF'FF  die ersten" (64-4)KByte)

PC = 0x02  : 0x02'00'00 - 0x02'10'FF  wieder dieselben INTERN !!!
usw...

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Fly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Giorgio!

Wieviel Speicher hättest du denn gerne?
Darf der Speicher flüchtig sein? (Daten weg nach Stromausfall)
Wenn nicht, dann kannst du RAM vergessen und dich auf Flash 
konzentrieren.
Wenn du viel Speicher willst (sag mal >10 Mb), rate ich sowieso zu 
Flash.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Giorgio wrote:
> Hi, hab ne Frage. Weiss jemand wie ich die Speichermöglichkeiten an
> einem µC erweitern kann? Um z.B. eine Tonfolge aufzunehmen und zu einem
> späteren Zeitpunkt wiederzugeben?

Da gibts doch die Atmel Application Note mit seriellem Data Flash, 
braucht nur 4 Pins. Die gehen wohl bis 8MB. Schau mal da rein.


Peter

Autor: Giorgio (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke euch allen für die Tips. Ich werde wohl einiges ausprobieren. Ihr 
habt mir auf jeden Fall weitergeholfen.

Danke

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Serielles DataFlash ist durch die internen SRAM-Buffer auch schnell 
genug, um direktes Aufzeichnen zu ermöglichen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.