mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LPC2292 und DRAM


Autor: Maic Abend (nx_74206)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey,

da SRAM zu teuer, frage ich mich ob es nicht vielleicht möglich andere
Speicherbausteine z.b. DRAM zu nutzen. Nur mussen die ja regelmäßig
refresh werden was zu lasten der Systemleistung geht, es sei den es
geht über eine Hardwarelösung. hat jemand erfahrung damit und könnte
z.b mit einer Schaltung weiterhelfen.

:-)  NX

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Beispiel (Vorrausgesetzt du verstehst Assembler für AVR) Hab ich mal
mein DRAM Code angehangen.

Am besten Scrollst du Direkt ganz nach unten. Ab dem Label
"int_tim0OVF" beginnt die Refreshroutine (Dieses Label wird 56.25mal
pro Sekunde angesprungen. Sprich: ich refreshe jede 1/56.25 = 17ms.
Datenblatt sagt 32ms höchstens)

Du findest auch die Angabe wieviel Cycles /s das braucht und darunter
wieviel Rechenleistung draufgeht dabei. läpische 0,3% !

Jetz sag mir mal, dass du das Hardwaretechnisch lösen willst !

Aber wie du willst: Das einzige was du machen muss ist:
1. WE high, CAS high, RAS high
2. CAS low
3. 2^Adressbereich x RAS low und wieder high (Falling Edge)
   (bei 8bit (so wie ichs gemacht habe) wären es 256 mal RAS low und
wieder high)
4. Cas high

Das wars.

Autor: Simon K. (simon) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hups. Der Anhang

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Software ist OK, die Erklärung falsch (CAS und RAS vertauscht, beim
Rest verstehe ich nicht was das bedeuten soll).

In der Codesammlung gibt es Routinen von mir und auch ein paar PDFs zu
DRAM Grundlagen.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm? Heißt doch Cas-Before-Ras Refresh.. (CBR-Refresh)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ganze ist zwar nett, wenn man nur irgendwelche Daten speichern will,
aber es ist keine Erweiterung des prozessorinternen Speichers, da auch
die Ansteuerung des gemultiplexten Adressbus (und das Wackeln an
RAS/CAS) des DRAMs in Software gelöst ist.
Damit aber der Prozessor den Speicher als externen Speicher nutzen
kann, muss dies alles in Hardware geschehen.

Allerdings sind normale DRAMs für einen ARM eh viel zu langsam.
Für das externe Speicherinterface eines AVRs mag das bei Verwendung von
60nsec-DRAMs noch möglich sein, wenn man ausreichend Waitstates einfügt,
aber für das Speicherinterface eines ARMs ist das nicht ansatzweise
ausreichend.
Wenn ich mir so die Beschreibung des LPC2292 ansehe, dann scheint ein
(externer) Speicherzugriff in drei Taktzyklen durchgeführt werden - bei
60 MHz Takt sind das also 50 nsec. Die reine Zugriffsgeschwindigkeit des
Speichers muss entsprechend schneller sein, daher werden da
üblicherweise 10nsec-SRAMs verwendet, die wie Maic zu recht bemerkte,
sehr teuer sind (oder in Form von Cache-SRAMs aus PC-Motherboards
gewonnen werden können, die verbrauchen aber recht viel Strom).
Obendrein sind größere SRAMs eher selten, üblich sind 512 kByte, wenn
es auch die eine oder andere Ausnahme mit 1 MByte geben mag.

Geeigneter für ein derart schnelles Speicherinterface wären SDRAMs,
aber deren Ansteuerung ist reichlich kompliziert. Mit einem ausreichend
schnellen FPGA/CPLD lässt sich sicherlich ein SDRAM-Controller
herstellen; sicherlich gibt es dafür auch freien VHDL-Code, aber das
ist schon 'ne deftige Übung.

Als echte Alternative käme noch die Verwendung eines anderen
ARM-Derivates in Betracht, dessen Speicherinterface direkt SDRAMs
ansteuern kann.
Da gibt es von OKI den ML67Q5003, der auch noch lötbar ist (wie der
2292 im PQFP144) und mittlerweile auch auf einer Entwicklungsplatine
von Olimex zu bekommen ist (http://www.olimex.com/dev/oki-h5003.html -
dort gibt es auch einen Schaltplan).
Auf dieser Platine sind neben dem ML67Q5003 16 MByte SDRAM und 512
kByte SRAM (mit 10 nsec) untergebracht.

Was der OKI-Prozessor in Einzelstückzahlen kostet und wer den verkauft,
entzieht sich leider meiner Kenntnis.

Autor: Robert Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Maic,
tue Dir das nicht an. Schau mal unter dem Stichwort Pseudo SRAM mit
Google nach, verhaelt sich im Interface wie ein SRAM ist aber bei
groesserer Speicherkapazitaet deutlich guenstiger.

Autor: Maic Abend (nx_74206)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hey robert,

hast du dafür ggf. auch ne passende schaltung die man ggf an eine
lpt2292 anpassen könnte ??

der lpc kann extern  4 bänke a 16MB / 32 Bit verwalten.

Autor: Robert Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Maic,
wir haben noch kein System groesser 16 MB aufgebaut, sorry.
Robert

Autor: Maic Abend (nx_74206)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robert,

kleiner würde auch gehen, nur damit man mal so eine anhaltspunkt hat

:-) NX

Autor: Robert Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olimex veroeffentlicht die Schematics
z.B. hier http://www.olimex.com/dev/images/lpc-h22xx-sch.gif

Autor: Robert Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch mehr schematics gefunden fuer ein Board mit externem Speicher
http://www.lpctools.com/pdf_docs/Sch_LPCEB2000_B.pdf

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.