Forum: Mikrocontroller und Digitale Elektronik Welches RAM für Xmega? Und wieviel?


von Jones (Gast)


Lesenswert?

Hi,
was denkt ihr welches und wieviel RAM und welcher Mode für die Xmega am 
vernüftigsten sind?

SRAM bis 512MByte? 64MBit SDRAM mit 4 Bit Datenbus im 3 Port Mode? Oder 
SDRAM mit 8 Bit Datenbus im 4 Port Mode?

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Das hängt ja wohl von deiner Anwendung ab.

von Jones (Gast)


Lesenswert?

Möglichst universell. Wie groß sind die Unterschiede in der Zugriffszeit 
bzw der Performance zwischen SRAM, 4 Bit SDRAM und 8 Bit SDRAM?

SRAM ist halt teuer und man braucht zusätzlich mindestens ein Latch. 
SDRAM kriegt man für den gleichen Preis fast die 10fache Speichermenge 
und man kann es 1:1 mit dem Xmega verbinden.

von Jones (Gast)


Lesenswert?

Die Frage nach 8 Bit SDRAM hat sich erledigt. Die Xmega A1 haben nur 3 
EBI Ports.

Womit man spekulieren kann ob die fehlenden A2 vielleicht mit 144 Pins 
daherkommen könnten, sofern es sowas gibt? ;)

von Peter D. (peda)


Lesenswert?

Jones wrote:
> was denkt ihr welches und wieviel RAM und welcher Mode für die Xmega am
> vernüftigsten sind?
>
> SRAM bis 512MByte?

Hast Du überhaupt schonmal was mit Mikrocontrollern gemacht?
Ich vermute mal, noch nie.

Ich komme in der Regel mit 128 .... 1024 Byte aus.
Mein allergrößtes Projekt hat 8kB benötigt (P89C668).
Ich haber daher noch nie externes RAM angeschlossen.

Ein 8Bitter kann in der Regel auch nur 64kB linear adressieren, d.h. 
über 64kB sollte man eh auf 32Bit gehen, z.B ARM.

Falls man aber was mit Ethernet machen will, sollte man besser gleich 
MCs mit internem Ethernet nehmen, z.B. die Luminary ARM Cortex M3, die 
haben dann auch gleich riesige 64kB SRAM intern, das reicht dann dicke.


Peter

von Weingut P. (weinbauer)


Lesenswert?

mein ramhungrigstes projekt war
mal mit ner cam, da gingen n paar
kb für die verarbeitung der kameradaten
drauf, aber bei weitem kein MB

von Jones (Gast)


Lesenswert?

Sicher hab ich schon Sachen mit Controllern gemacht. Mit ist auch klar 
das 8MB an einem 8 Bit Controller mi Kanonen auf Spatzen geschossen ist.

Aber frag mal die c't-Bot Leute. Die lagern Daten auf eine SD Karte aus 
weil das RAM nicht ausreicht

von Peter D. (peda)


Lesenswert?

Jones wrote:
> Aber frag mal die c't-Bot Leute. Die lagern Daten auf eine SD Karte aus
> weil das RAM nicht ausreicht

Hast Du  mal nen Link dazu, wo jemand diesen zusätzlichen Speicher wie 
RAM verwendet?

D.h. gibt es wirklich eine Anwendung, die dort ständig Daten verändert, 
die dann nach dem Ausschalten nicht mehr benötigt werden.

Oder nehmen sie diesen zusätzlichen Speicher nur dazu, um Daten 
dauerhaft zu speichern oder z.B. mit dem PC auszutauschen.


Peter

von Jones (Gast)


Lesenswert?

Peter Dannegger wrote:
> Hast Du überhaupt schonmal was mit Mikrocontrollern gemacht?
> Ich vermute mal, noch nie.

Ich vermute ich hab schon mehr Controller auf Platinen gelötet als die 
meisten hier.

> Hast Du  mal nen Link dazu, wo jemand diesen zusätzlichen Speicher wie
> RAM verwendet?

Link hab ich grad keinen, aber wenn ich das richtig in Erinnerung hab 
speichern die dort die Karte mit der Environment Map, die sie beim 
Fahren aufzeichnen. Da sind ein paar kByte schnell voll.

Andere Applikation wo das interessant sein könnte wären zb Datenlogger. 
Vor allem wo Daten schnell aufgezeichnet werden müssen. Generell würde 
ich aber sagen das die Xmega ganz andere Anwendungsbereiche erschließen 
wo solche Datenmengen nötig sein könnten.

Mir würde ja auch 8MBit SDRAM reichen, aber das bekommt man ja nicht 
mehr. Und SDRAM ist einfacher anzuschließen weil man kein Latch mehr 
braucht.

Mich würde halt interessieren ob es einen großen Unterschied zwischen 
SRAM und SDRAM gibt, vor allem SDRAM mit 4-Bit Datenbus

von Michael H. (morph1)


Lesenswert?

habe vorher gelesen das der xmega nur 128mbit ansprechen kann, also ist 
die fragestellung wohl überflüssig

von Jones (Gast)


Lesenswert?

>habe vorher gelesen das der xmega nur 128mbit ansprechen kann, also ist
>die fragestellung wohl überflüssig

Ich hab mich im ersten Beitrag vertippt wie ich gerade feststelle. Ich 
meinte 512 kiloByte.

Korrekt müsste es heißen: 512kByte SRAM oder 8MByte SDRAM mit 4 Bit 
Busbreite.

Ein 512kByte SRAM Baustein ist nur minimal billiger als ein 64MBit 
SDRAM. Aber für SRAM brauch ich zusätzlich eben ein (oder zwei) Latch. 
Ein SDRAM kann direkt angeklemmt werden.

Es ist also keine Preisfrage. Mich interessiert ob und wenn wieviel 
langsamer ein 4 Bit SDRAM gegenüber normalem SRAM an einem Xmega ist.

von Peter D. (peda)


Lesenswert?

Jones wrote:
> Link hab ich grad keinen, aber wenn ich das richtig in Erinnerung hab
> speichern die dort die Karte mit der Environment Map, die sie beim
> Fahren aufzeichnen.

Das vermute ich auch.
Aber ich denke, daß sie deswegen die SD-Card verwenden, weil sie die 
Daten über ein Reset hinaus weiter verwenden wollen.


Peter

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jonas:
>Und SDRAM ist einfacher anzuschließen weil man kein Latch mehr
braucht.


Das Latch ist überhaupt kein Problem, wenn der Platz dafür da ist. Bei 
meinem SD-Karten-Recorder habe ich aus Pinarmut sogar 2 Latches dran, um 
ein 128kByte SRAM zu adressieren. So läuft das SRAM an 1 1/2 Ports. Das 
Interface kommt mit 1 Wartezyklus bei 36Mhz Bustakt aus.

Peter Dannegger schrieb:
>Ich komme in der Regel mit 128 .... 1024 Byte aus.

Bei der Verwendung von SD-Karten: No way!

>Ein 8Bitter kann in der Regel auch nur 64kB linear adressieren, d.h.
>über 64kB sollte man eh auf 32Bit gehen

Nicht der XMEGA. Dessen externes Speicherinterface binded 24 
Adressleitungen ein, so daß 16MByte direkt adressiert werden können. Der 
Speicherbaustein erscheint dann linear im Controller-SRAM-Adressbereich 
ab 0x4000.

von Benedikt K. (benedikt)


Lesenswert?

Jones wrote:

> Es ist also keine Preisfrage. Mich interessiert ob und wenn wieviel
> langsamer ein 4 Bit SDRAM gegenüber normalem SRAM an einem Xmega ist.

Hängt vom Timing und der Anwendung ab: Wenn das SRAM 8bit hat, ist es 
bei gleicher Frequenz doppelt so schnell.
Dazu kommt noch, ob du Daten sequentiell oder quer durcheinander liest. 
Keine Ahnung wie schnell der xmega ein SRAM ansteuert, aber ich vermute 
die Zugriffszeit auf eine zufällige Speicherstelle dürfte schneller sein 
als bei einem SDRAM, bei dem erst die Row aktiviert werden muss, ehe 
eine Speicherstelle darin angesprochen werden kann.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Keine Ahnung wie schnell der xmega ein SRAM ansteuert, aber ich vermute
>die Zugriffszeit auf eine Zufällige Speicherstelle dürfte schneller sein
>bei einem SDRAM, bei dem erst die Row aktiviert werden muss, ehe eine
>Speicherstelle darin angesprochen werden kann.

Hängt davon ab ob man Latches verwendet (wieviele) oder nicht. Direkt 
angeschlossen braucht ein Zugriff auf das externe SRAM 3-4 CPU-Zyklen, 
bei Latches kommt minimal 1 Clock/Latch dazu.

von Jones (Gast)


Lesenswert?

Also wenn man 70ns SRAM nimmt braucht man mindestens ein Waitstate, eher 
2. Dazu kommt ein Latch bis 64kByte RAM und 2 Latches ab 64kByte. Da hab 
ich eine ungefähre Vorstellung wie lang das dauert.

Aber: Das EBI kann man mit dem doppelten CPU Takt betreiben (also auch 
64MHz) und ein SDRAM ist ja durchaus auf 100-133MHz ausgelegt, hat damit 
also auch keine Probleme. Dh aus dem SDRAM dürfte man durchaus auf 
ähnliche Werte kommen wie mit SRAM da die ganzen Abläufe deutlich 
schneller sind als beim SRAM. Es sei denn man kann das EBI mit SRAM auch 
mit 64MHz takten und die Daten mit maximalem Takt in die Latches 
ballern. Dann muss man nur noch darauf warten bis das SRAM fertig ist.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hab 10ns SRAM dran ;-) Und 74AHC573 Latches. Geht ab.

von Jones (Gast)


Lesenswert?

> Hab 10ns SRAM dran ;-) Und 74AHC573 Latches. Geht ab.
Die sind sicher noch teurer, oder ziemlich klein. Ein paar kByte Ram 
mehr dürfen es schon sein.

Ich bin nicht auf das letzte Quäntchen Performance aus. Dafür gibts ja 
noch das interne SRAM. Die 32kByte vom Xmega384 sollten dann reichen 
wenn es ihn denn mal gibt

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.