Forum: Mikrocontroller und Digitale Elektronik ARM7 + SDRAM, was ist möglich?


von Christopher B. (chris_muc)


Lesenswert?

Was glaubt ihr sind bei einer reinen Software(in C mit GNU) 
Implementation für Zugriffszeiten aufs SDRAM möglich? Hat schon jemand 
Erfahrungen damit? Die meisten SDRAMs kann man ja, wenn man sie auf ner 
Frequenz unter 100Mhz betreibt, mit ner CL von 2 betreiben. Das würde 
dann wenn ichs recht im Kopf habe 6 Takte bis der µC die Daten hat, wenn 
ich das richtig einschätze.
Erster Takt, die Adressierung auseinander klamüsern, zweiter Takt, den 
ersten Teil der Adressierung Anlegen + CAS dann dritter + vierter Takt 
warten, weil tRCD 20ns beträgt, füngter takt zweiten teil der 
Adressierung anlegen + RAS, sechster Takt Daten.
Auf Basis des Micron DBs für nen 64Mb SDRam und ner angenommenen 
Taktfrequenz von 60Mhz.

Refreshes könnte man ja dann per Timerinterrupt ausführen.

Man könnte dann auch in ner Software - CPLD Synthese einiges sicherlich 
noch beschleunigen.

Also was sagt ihr? Kann das so angehen wie ich mir das denke oder bin 
ich da eher auf dem Holzpfad?
Guß und vielen Dank für etwaige Antworten.
Chris

von Thomas P. (pototschnig)


Lesenswert?

Wenn du dir einen der z.B. AT91SAM7SE... besorgst, kriegst du einen ARM7 
mit  eingebautem SDRAM-Interface und brauchst nichts mit Software 
emulieren.

Mfg
Thomas Pototschnig

von Christopher B. (chris_muc)


Lesenswert?

Das Problem bei den SEs ist nur, dass sie nocht nicht bei den üblichen 
Verdächtigen beschaffbar sind. Am liebsten wäre es mir die Teile bei 
Reichelt zu bestellen, aber ich konnte die SE Serie weder bei Reichelt, 
noch bei DigiKey oder Farnell finden. Die LPC Varianten mit SDRam 
Controller möchte ich garnicht erst ausprobieren weil das Errata Sheet 
sicherlich noch sehr lang wird ;)

von Jörn K. (joern)


Lesenswert?

Bei Digikey ist der SE verfügbar: AT91SAM7SE512-AU-ND

von Christopher B. (chris_muc)


Lesenswert?

Ich sollte wohl mal aufhören den altomidschen DigiKey Katalog zu 
verwenden, da wird er bei den anderen Atmel ARMs auf Seite 330 nämlich 
nicht aufgeführt, die Suche hat mich aber soeben eines besseren belehrt.
Dann werd ich mal anfangen die ganzen Deutschen Shops zu nerven ob sie 
die nicht evtl auch beschaffen können ;) Ich werd euch dann berichten.

von Dominic R. (dominic)


Lesenswert?

Sofern es um mehr geht als nur zu zeigen, dass es prinzipiell machbar 
ist, würde ich das bleiben lassen:
Du wirst wohl mit vier Takten auskommen:
1. ACTIVE + Row Address
2. READ + Column Address
3. NOP
4. Daten lesen

Auf tRCD wirst du kaum warten müssen, da deine GPIO Zugriffe mit 
deutlich weniger als 20ns (50MHz) ablaufen.
Der NOP ist nötig, da die CAS latency in Takten und nicht in Zeit 
gemessen wird. Ich denke mal dass die Daten durch eine Pipeline 
geschoben werden, darum ist hier der Takt nötig.

Wenn die Row dann geöffnet ist kannst du 120us lang mit 3 Takten darauf 
zugreifen, danach muss ein PRECHARGE durchgeführt werden. Alternativ 
kannst du gleich einen READ mit AUTOPRECHARGE machen, dann sind in jedem 
Fall 4 Takte nötig.

Pro Takt sind zwei GPIO writes nötig (clock togglen), dazu ein read, 
wenn die Daten anliegen.

Maximal dürften GPIO Zugriffe mit 15MHz möglich sein (z.B. LPC214x und 
neuer) - bei 9 GPIO Zugriffen pro SDRAM read bleibt da nicht viel 
Bandbreite übrig.

Wenn ich micht recht erinnere habe ich eine Appnote von Xilinx gesehen, 
in der ein SDRAM Controller in einem Coolrunner-II implementiert wird 
(denke mal 128 oder 256 Makrozellen).

Alternativ käme eventuell auch PSRAM in Frage - quasi DRAM mit SRAM 
Interface, allerdings hab ich keine Ahnung, wie's damit in der Praxis 
mit Beschaffbarkeit und Verarbeitbarkeit (BGA?) aussieht.

Gruß,

Dominic

von Christopher B. (chris_muc)


Lesenswert?

Ah, ich wusste doch, dass ich irgendwas vergessen habe. Die "langsamen" 
IOs der ARMs.

PSRAM wäre durchaus eine Alternative, wenn es sie denn in hobbymäßig 
verbaubarer Form gäbe. So weit ich weiß gibt es sie bisher nur im VFBGA 
Gehäuse(also bei denen von Micron ist das 100% so, bei den anderen 
Firmen kann ich das jetzt nicht zu 100% sagen, da habe ich in letzter 
Zeit nicht nachgeschaut). Also kommen die nicht in Frage. Außer jemand 
weiß wie ich BGAs in nem Hobbyprojekt verlöte ;)
Mal gucken was das Datenblatt von der Sam7SE Serie sagt, wie lange die 
für nen read ausm SDRAM brauchen. Ansonsten werd ich mich wohl lieber 
erstmal wieder mit programmierbarer Hardware auseinandersetzen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ein anderer Microcontroller mit ARM7-Kern, der einen SDRAM-Controller 
hat, ist der ML67Q5003, den Olimex auf 
http://olimex.com/dev/oki-h5003.html verbaut.

Und natürlich der LPC2888, aber den kann man dank BGA nicht mehr von 
Hand verarbeiten.

von Microman (Gast)


Lesenswert?

Hallo an Alle,

wollte nur mal was zum Thema PSRAM sagen. Haben mich vor ca. 2 Monaten 
mit dem Thema beschäftigt und mußte leider feststellen, dass der Markt 
zu dem Zeitpunkt sehr stark im Umbruch war. Da wird diese Sparte von 
einem Hersteller verkauft und ein anderer Hersteller stellte sein 
Segment gerade ein. Am Markt gab es kein Bauteil welches von zwei 
Herstellern mit gleichem Pinning zu beschaffen war. Jeder kocht hier 
noch sein eigenes Süppchen. Ich habe mich dann schweren Herzen 
entschlossen im professionellen Bereich die Finger davon zu lassen, denn 
die kann man sich, meiner Meinung nach, momentan nur verbrennen. Was 
hilft das tollste Bauteil was am Markt nicht oder zu schwer beschaffbar 
ist?

Gruß,

Microman

von Daniel S. (dschwab)


Lesenswert?

Hallo

Da ihr gerade von PSRAM sprecht, Olimex hat als Bestellcode ein Board 
(LPC-L2294 8MB), das mit 8MB SRAM (K1S321611) ausgeliefert werden soll 
(Leider wird es nicht hergestellt). Die Zugriffsrate ist aber bei 70ns. 
Das sieht nach SDRAM aus mit SRAM Interface.

Ich machte mal eine Anfrage für PSRAM bei Samsung. 4500 Stück ist die 
Mindestbestellung, der Preis lag etwa bei 16000 Euro. Zudem kann man 
diese Dinger nicht von Hand löten :-( Schade!!!

Gibt es eigentlich eine Webseite, die das Timing von SDRAM grafisch 
aufzeigt?

Gruss, Daniel

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Gibt es eigentlich eine Webseite, die das Timing von SDRAM grafisch
> aufzeigt?

Äh, wie wäre es mit einem SDRAM-Datenblatt? Oder der Beschreibung des 
SDRAM-Controllers in einem der in diesem Thread bereits genannten ARMe?

von Uwe Bonnes (Gast)


Lesenswert?

Auch der LPC2468 hat ein SDRAM Interface, ist aber noch nicht normal zu 
bekommen.

von Marco S. (masterof)


Lesenswert?

Mal eine frage weis jemand schon was neues über den AT91sam7xe?
Lieferzeit und Technische Daten?

von gerhard (Gast)


Lesenswert?

>Mal eine frage weis jemand schon was neues über den AT91sam7xe?
>Lieferzeit und Technische Daten?
von einem AT91sam7xe habe ich noch nie was gelesen, angekündigt ist ein 
AT91sam9xe.


gruss
gerhard

von Helmi (Gast)


Lesenswert?

AT91SAM7SE512 ist beim grossen blauen C erhaeltlich

Habe ich dort schon im Sommer bekommen und damit eine CPU Karte gebaut 
mit 16MByte SD RAM und Ethernet Controller.


Gruss Helmi

von Marco S. (masterof)


Lesenswert?

gerhard wrote:
>>Mal eine frage weis jemand schon was neues über den AT91sam7xe?
>>Lieferzeit und Technische Daten?
> von einem AT91sam7xe habe ich noch nie was gelesen, angekündigt ist ein
> AT91sam9xe.
>
>
> gruss
> gerhard


Habe gerade noch mal auf der Atmel-Seite nach geschaut es stimmt der 
heist AT91sam9xe

von Marco S. (masterof)


Lesenswert?

Helmi wrote:
> AT91SAM7SE512 ist beim grossen blauen C erhaeltlich
>
> Habe ich dort schon im Sommer bekommen und damit eine CPU Karte gebaut
> mit 16MByte SD RAM und Ethernet Controller.
>
>
> Gruss Helmi

@Helmi

Welchen Ethernet-Controller hast du genommen/verwende?
Was hast du für Probleme mit dem AT91SAM7SE512 gehabt?

von gerhard (Gast)


Lesenswert?

>Habe gerade noch mal auf der Atmel-Seite nach geschaut es stimmt der
>heist AT91sam9xe
auf der "offiziellen" atmel homepage (www.atmel.com) wirst du den 
at91sam8xe aber nicht gefunden haben.

gruss
gerhard

von helmi (Gast)


Lesenswert?

Ich habe den DM9000 Ethernet Controller von davicom genommen.
Probleme habe ich mit dem Prozessor keine bekommen.

Gruss Helmi

von Christopher B. (chris_muc)


Lesenswert?

Hi,
sacht mal weiß einer zufälligerweise wie schnell das SDRAM Interface vom 
AT91SAM7SE512 ist? Da die GPIOs nur mit etwa 15Mhz laufen wahrscheinlich 
nicht viel schneller oder? Ich bin grad irgendwie zu blöd das im 
Datenblatt zu finden. Ein Hinweis unter welchen Punkt Atmel sowas 
normalerweise packt würde schon reichen ;)
danke schonmal für eure Geduld :)

von Helmi (Gast)


Lesenswert?

Also bei meinem Board laufen die beiden SD-RAMS mit 48MHz Clock

SDCK (PIN97) = 48MHz

Einstellung : Siehe Datasheet Kapitel SDRAM

Type meines SD-RAMS: K4S281632F  von Samsung  (8MByte)

Gruss Helmi

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.