DRAM-Kontroller?

Hallo,

ich suche einen DRAM-Kontroller, mit dem man DRAM an einen Kontroller anschliessen kann, der keinen internen DRAM-Kontroller hat.

Seitens des Kontrollers gibt es Adress- und Datenbus, Read, Write, Chip Select und noch Wait.

Per Google finde ich nur IP, aber keine ICs.

Grüße, Torsten.

Reply to
Torsten Mohr
Loading thread data ...

Torsten Mohr schrieb:

Mangels Bedarf gibts sowas schon lange nicht mehr, also entweder SRAM nehmen oder mittels CPLD selber machen.

Gruß Dieter

Reply to
Dieter Wiedmann

Sowas wirst du nirgends mehr auftreiben. Muss es denn schnell sein? Wenn nicht, kann man die DRAM Ansteuerung (Refresh und Adress Multiplex) per Software machen. Das DRAM laesst sich dann aber nicht in den normalen Addressraum einblenden ...

Micha

--
Mails containing HTML or binary windows code are rejected.
Reply to
Michael Baeuerle

Manche CPUs hatten auch Pin der anzeigt ob CPU Befehl dekodiert und damit Buszugriff möglich ist.

Es wäre angemessen zu sagen welche CPU und welche DRAMs. Die Antwort ist aber wohl immer, wie schon gesagt, selber stricken. Datenblatt des TMS4500A kann ich bei Bedarf scannen, aber selbst wenn man das obsolete Teil noch auftreibt ist es keine sinnvolle Lösung.

MfG JRD

Reply to
Rafael Deliano

"Torsten Mohr" schrieb im Newsbeitrag news:dfflb5$6li$ snipped-for-privacy@schleim.qwe.de...

Um welchen Kontroller handelt es sich da? Für den 8051 habe ich das mal gemacht, könnte auch für andere Kontroller gehen.

Hansjörg

Reply to
Hansjörg

Naja, bei manchen Controllern ist der externe Bus auch als normale Inputs/Outputs konfigurierbar, bzw. der externe Bus ist eine Sonderfunktion der entsprechenden Pins.

Dann könnte man den Refresh in einem Interrupt machem, in dem man das externe RAM temporär weg konfiguriert, per normalen IO die Pins entsprechend schaltet um einen Refresh durchzuführen, und dann das RAM wieder hinzu konfiguriert...

Etwas wüst ist es schon...

Reply to
Michael Roth

Das ist Vorraussetzung wenn man nicht eigene Ports spendieren will.

Das kommt auf die RAMs an. Alle halbwegs aktuellen DRAMs koennen die Refresh-Adresse selbst erzeugen, d.h. es reicht fuer einen Refresh an ein paar Steuerleitungen zu wackeln. Wenn man die auf sonst unbenutzte Pins legt, kann man refreshen ohne an der Busconfig rumspielen zu muessen (weil der Bus fuer den Refresh nicht benoetigt wird).

Wichtiger ist, dass der Refresh-Interrupt eine so hohe Prioritaet hat, dass keine Daten verloren gehen.

Dafuer aber billig und nicht von abgekuendigten Chips abhaengig. Nur eben nicht schnell ... Ein AVR@16MHz hat es bei mir mit asynchronen DRAMs auf ca. 180KiByte/s gebracht (allerdings mit 11Bit Bus und RAS-only Refresh, mit 8bit Bus und CBR Refresh sollte noch einiges mehr gehen).

Micha

--
Mails containing HTML or binary windows code are rejected.
Reply to
Michael Baeuerle

Mhh, hatte mir eigens dafür sogar mal SIMM und SIMM-Sockel (einreihig, sehr einfach zu verlöten) gekauft, allerdings dann das Projekt nie begonnen.

Aber eine Frage habe ich dazu: wie bekommst du die Daten in den uC eigentlich _rein_? Das war bei mir nämlich ein riesen Problem. Das RS232 mit 115200 Baud zu verwenden ist ja ein bischen lächerlich... Gibt's da auch was schnelleres?

Gruß, Johannes

Reply to
Johannes Bauer

Wo hast du die gekauft?

Ich hab es bei diesem Projekt

formatting link
mit SCSI gemacht. Der PIA mit dem AVR bringt auf dem Papier etwa 200KiByte/s, auch wenn die in diesem Fall nicht ausgereizt werden koennen weil die Target CPU bremst.

Eine simplere Loesung waere z.B. mit einem FTDI FT245B ueber USB. Damit habe ich in einem Projekt fuer meinen Arbeitgeber ca. 200KiByte/s auf einem AVR@11.1MHz erreicht (allerdings auf ATA statt auf DRAM und mit

64KiByte SRAM Puffer, und auch nur mit dem "closed source" WindowsNT Treiber).

Mit IEEE-1394 koennte auch was gehen, da bietet TI Protokollchips dafuer an. Die Frage ist wie leicht bzw. schwer die zu bekommen sind ...

Werte >200Kibyte/s erreicht man mit AVRs bei nichttrivialen Protokollen nur, wenn die nichts anderes machen muessen. Wenn mehrere Jobs drauf laufen ist man schnell bei 100KiByte/s oder darunter ... immernoch eine Groessenordnung ueber RS-232. Wenn du mehr willst, solltest du mehr CPU-Power spendieren als AVRs bringen koennen.

Micha

--
Mails containing HTML or binary windows code are rejected.
Reply to
Michael Baeuerle

Johannes Bauer schrieb:

FT245BM. PC-seitig extraschneller USB-COM-Port, Hardwareseitig paralleler FIFO.

Gruß Henning

--
henning paul home:  http://www.geocities.com/hennichodernich
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

Bei Reichelt, "SSD 30G".

Cool, danke für den Tipp! Den Chip habe ich auch bei Reichelt gefunden. Hast du einen Link auf ein Beispielprojekt für den Chip, für 6 Euro will ich den nicht durch rumprobieren ruinieren.

100 kB/s müsste satt reichen. Die 14,1 kB/s, die RS232 bei 115200 Baud zur Verfügung stellt, sind einfach ein Witz.

Gruß, Johannes

Reply to
Johannes Bauer

Ich hab gerade einen bestellt :-)

Danke für den Tipp!

Gruß, Johannes

Reply to
Johannes Bauer

Es sind 11520 Bytes/sec... Bei RS232 hast du minimal 1 Start und

1 Stoppbit pro Byte, also 10 Bit/Byte.

Gerrit

Reply to
Gerrit Heitsch

Ah, stimmt, die hatte ich ganz vergessen mit reinzurechnen! Dann ist's sogar noch langsamer...

Gruß, Johannes

Reply to
Johannes Bauer

Auf der anderen Seite reicht bei einer seriellen Konsole 9600 Bps mehr als aus um einen Rechner zu installieren und administrieren.. Die Anwendung machts. :)

Gerrit

Reply to
Gerrit Heitsch

Wenn es für den Anfang was ganz einfaches sein soll, ich hab mir mal ein Layout für eine einfache Platine gemacht, mit der man den auf dem Steckbrett betreiben kann. Ein paar Fotos finden sich hier:

formatting link
, Schaltplan bzw. Eagle-Dateien kann ich auf Wunsch zuschicken. Das Ding scheint auch zu funktionieren, zumindest kann man am PC Daten (von einem AVR gesendet) über den VirtualComPort-Treiber und über den D2XX-Treiber (dll-Interface) empfangen. Im Prinzip ist das aber nichts weiter als die auf
formatting link
verfügbare Application Note auf eine Platine umgesetzt.

MfG

Thomas

Reply to
Thomas Faust

Ich glaube nicht, dass du den Chip durchs Probieren ruinierst. Jedenfalls nicht solange du ihn richtig beschaltest (die Schaltung ist in den ANs ja lang und breit dokumentiert). Eher durch Kurzschluss oder Ueberhitzung bei Freiluftverdrahtungspfusch, d.h. du brauchst eine vernuenftige Platine wie z.B. das Board von Thomas.

Was willst du denn machen wofuer 14KiByte/s ein Witz sind und

100KiByte/s satt reichen?

Micha

--
Mails containing HTML or binary windows code are rejected.
Reply to
Michael Baeuerle

Ich baue einen Displaycontroller für ein 400x300 LCD, das vom PC aus angesteuert werden soll.

400x300 Pixel sind 15000 Bytes. Bei 11520 Bytes/s habe ich ein komplett neuen Bildschirminhalt im FIFO alle 1,3 Sekunden: das ist unerträglich wenn man wirklich was steuern will. Bei 100kB/s kann ich ca 6,8 fps erreichen (bei vollem Redraw!). Das ist schon echt gut!

Wenn dann noch zusätzliche Tricks verwandt werden (ich dachte an einen einfachen Huffman bzw. Shannon-Fano sowie ein Übertragen von nur geänderten Zeilen), wird das Ding recht flott.

Gruß, Johannes

Reply to
Johannes Bauer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.