Hallo,
stelle mir grade die frage, wie ich große datenmengen schnell puffern
kann. interner sram ist ja zu wenig.
fram von ramtron ist schon nicht schlecht, aber bei 10mhz spi takt
kommen doch, durch overhead, nur 250kbytes in den ram.
wie schnell ist denn normaler paralleler sram?
der sollte doch ziemlich schnell sein und durch die parallele
ansteuerung kaum overhead haben (nur durch setzten der pins oder?).
kennt jemand seriellen sram ?
Wenn du das RAM an AVRs mit externem Speicherbus anschliesst (z.B.
Mega162,Mega128), braucht der Zugriff nur wenige Takte, je nach
Geschwindigkeit vom RAM.
ich möchte eigentlich keinen avr mit speicherinterface benutzen. meist
werden da ja dann auch über ein schieberegister oder latch oder so,
leitungen eingespart, zur last der geschwindigkeit. bin grade
verschiedene möglichkeiten am suchen, edo-ram ist auch eine davon, da es
auf größe nicht so ankommt.
Welche Datenrate und welche Datenmenge hast du denn so im Auge? Ohne
diese Angabe wird es mit Tipps schwierig.
Eine schnellere Lösung als mit dem Typen mit externem Speicherinterface
gibt es auf AVR Basis nicht.
>ich möchte eigentlich keinen avr mit speicherinterface benutzen. meist>werden da ja dann auch über ein schieberegister oder latch oder so,>leitungen eingespart, zur last der geschwindigkeit. bin grade>verschiedene möglichkeiten am suchen, edo-ram ist auch eine davon, da es>auf größe nicht so ankommt.
Das macht aber die Hardware vom Prozessor. Und die ist um laengen
schneller als du das RAM per simulierten Hardware-Interface ansprechen
koenntest.
Gruss Helmi
hatte so an 500kbytes/sec gedacht, größe so bis 1mbit. aber so wie das
bis jetzt aussieht, muss ich eine andere platform (avr32/fpga) wählen
oder mich mit fram und paar kbytes begnügen.
0,5MB/sec ist mit AVR und parallelem SRAM 128KB noch machbar, wenn du
das erwähnte externe Speicherinterface verwendest. Da damit nur bis zu
ca. 60KB direkt adressierbar sind, kannst du beispielsweise ein Fenster
von 32KB verwenden und die beiden übrigen Adressbits als Bank-Adresse
separat anschliessen.
Woran du denken solltest: irgendwo müssen die Daten ja herkommen und
irgendwo müssen sich auch wieder raus. Die Verarbeitungszeit davon
solltest du mit einrechnen.
0,5MB/s sind mit den F-RAMs auch möglich.
Die Frage ist, ob ständig gelesen und geschrieben wird oder nur Daten
zwischen gespeichert werden sollen.
Die F-RAMs gibt es jetzt auch mit 256kByte.
@ Helmut Lenzen (helmi1)
danke, sieht super aus. muss nur mal sehen ob ich mir das antue mit
verschiedenen bänken usw...
@ Andreas Watterott (andreasw)
so wie ich das im datenblatt der fram gelesen habe, hat man für 1 byte
schreiben: 1 byte schreiben op-kommando, dann das eigentliche daten
schreiben kommando 1 byte, dann 2 byte adresse, macht 4 bytes für
1...also 5 bytes.
klar, bei 20mhz spi takt kommt man auf 500kbytes daten, aber die avr
machen keinen 20mhz spi...
Daniel Platte wrote:
> Hallo,>> stelle mir grade die frage, wie ich große datenmengen schnell puffern> kann. interner sram ist ja zu wenig.>> fram von ramtron ist schon nicht schlecht, aber bei 10mhz spi takt> kommen doch, durch overhead, nur 250kbytes in den ram.
Wenn man jedes Byte einzeln schreibt, sind's tatsächlich nur 250 kB/s
WREN + WRITE + ADDR + DATA (5 Byte), bei 16 Byte Daten sind's
theoretisch schon 1000 kB/s.
> 0,5MB/sec ist mit AVR und parallelem SRAM 128KB noch machbar,
LD(S)/ST(S) brauchen 2 + 1 + Wait-States Takte (maximal 3) pro Byte
2+1+3 = 6, (16 Mhz / 6) = 2.66 MB/s
@ Arc Net (arc)
ah überlesen, die fram erhöhen die adresse intern, also daten ab einer
adresse schreiben und füllen... das is doch schonmal was, daten
schreiben mit 1,25kbytes möglich.
wenn man das so betrachtet, ist der aufwand für schnelleren sram schon
wesentlich höher.
danke, an alle für die aufklärung !
Daniel Platte wrote:
> @ Arc Net (arc)>> ah überlesen, die fram erhöhen die adresse intern, also daten ab einer> adresse schreiben und füllen... das is doch schonmal was, daten> schreiben mit 1,25kbytes möglich.>> wenn man das so betrachtet, ist der aufwand für schnelleren sram schon> wesentlich höher.>>> danke, an alle für die aufklärung !
richtig wäre 1,25MB/sec möglich !!