www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Realisierung schneller großer Speicher


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich möchte gerne für mein XMEGA 128 Board einen schnellen, großen 
Speicher realisieren, welcher nicht flüchtig ist.

Nun zu den Parametern:
-----------------------------------
Speichergröße > 50 MB
Schreibgeschwindigkeit > 200 kbyte/s
Lesegeschwindigkeit > 200 kbyte/s
Filesystem: FAT16

Zuerst hatte ich an den SPI Bus mit einer SD Karte gedacht, jedoch sind 
die Schreibgeschwindigkeiten nicht zu erreichen.

Nun denke ich darüber nach einen FTDI CHIP "Vinculum" zu verwenden und 
einen USD Stick anzubinden. Ich dachte man kann über den 8 Bit FIFO Bus 
die Parameter erhalten, nun habe ich ein Paper mit den 
Geschwindigkeitsangaben gefunden:

http://www.vinculum.com/documents/appnotes/AN_112_...

So richtig schlau werde ich aus dem Paper nicht. Bin ich mit der 
Annahme, dass dieser Chip mit USB Stick die Parameter einhalten wird auf 
dem Holzweg.

Vielen Dank für eure Hilfe.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Matthias (Gast)

>Zuerst hatte ich an den SPI Bus mit einer SD Karte gedacht, jedoch sind
>die Schreibgeschwindigkeiten nicht zu erreichen.

Hmm, hast du verucht herauszufinden warum? Wo wird die Zeit verbraten?
200kb/s sind ~2 Mbit/s, plus Bearbeitung etc. braucht man eher 10 MHz 
auf der SPI. Machbar.

MfG
Falk

Autor: Matthias Keller (mkeller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SD-Card im Parallelmodus, CF-Card mit ATA Schnittstelle...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mittels einem 16 Bit Timer herausgefunden, dass ich beim 
Schreiben auf die SD Karte eine lange Busy Time der SD Karte habe, bis 
diese die 512 Byte Blöcke richtig geschrieben hat.

Mit der schnellsten Karte (Sony), die ich habe erreiche ich nun eine 
Schreibgeschwindigkeit von ca. 155 kbyte/s, jedoch ohne FAT.

MIt FAT sind es dann nur noch 65 kbyte/s.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieser VNC1 Zettel liest sich so, als ob aufgrund der internen 
Arbeitsweise die UART Baudratendefinition auch bei SPI und FIFO die 
Transferraten beeinflusst. Da die UART Baudrate auf 3Mbps begrenzt ist 
kann man also wohl die entsprechende Angabe für UART im Zettel als 
massgeblich ansehen.

Soll heissen: >200KB/s sustained thoughput klingt sportlich.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> SD-Card im Parallelmodus, CF-Card mit ATA Schnittstelle...

Über diesen Parallelmodus habe ich nun einiges gelesen, er ist jedoch 
mit dem XMEGA nicht realisierbar. So wie ich das verstanden habe, müsste 
ich dann auf einen ARM umsteigen, der dieses Interface dann bereits 
onBoard hat.

CF-Card mit ATA Schnittstelle: Davon habe ich leider keine Ahnung, wie 
schnell dann die Übertragungsraten wären, Platz oder Speicherprobleme 
habe ich nicht. Das Interface benötigt so viel ich weiß 40 PINs.
Hättest du über diese Realisierungsvariante noch mehr Informationen, 
evetuell ein Beispielprojekt mit einem Atmel.

>> Dieser VNC1 Zettel liest sich so, als ob aufgrund der internen
>> Arbeitsweise die UART Baudratendefinition auch bei SPI und FIFO die
>> Transferraten beeinflusst. Da die UART Baudrate auf 3Mbps begrenzt ist
>> kann man also wohl die entsprechende Angabe für UART im Zettel als
>> massgeblich ansehen.

>> Soll heissen: >200KB/s sustained thoughput klingt sportlich.

Ich lese das leider ähnlich.
Am schnlimmsten liest sich jedoch "Typical measured throughput: 
25.45kB/sec".
Das wäre dann schon extrem lahm.

Es existieren von Atmel ja noch diese DATAFLASHs mit bis zu 64 MBit.
Aber auch bei diesen Chips werde ich mit einem SPI Takt von maximal 16 
MHz bei der Speicherung von FAT16 Daten wahrscheinlich über den SPI 
Modus nicht die erforderliche Datenrate bekommen, oder ?

Vielen Dank für eure Hilfe

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gäbe noch eine Alternative mit den 8051 Architekturen:
http://www.atmel.com/dyn/products/product_card.asp...

Die haben doch ein USB-Interface on Board.
Mit diesem Interface dürfte man doch einen Datenspeicher (USB) anbinden 
können und die oben erwähnten Übertragungsgeschwindigkeiten erreichen.

Habe noch nie mit einem 8051 gearbeitet.
Gibt es dazu Erfahrungenswerte?

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum jetzt nicht einfach einen 512 MBit Flash Chip wie MX29GL512 
anschliessen ?

Vermutlich weider geheime Sonderanforderungen, wie z.B. Anschlüsse für 
Grobmotoriker als Flachsteckhülsen oder so.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias schrieb:

> Es existieren von Atmel ja noch diese DATAFLASHs mit bis zu 64 MBit.
> Aber auch bei diesen Chips werde ich mit einem SPI Takt von maximal 16
> MHz bei der Speicherung von FAT16 Daten wahrscheinlich über den SPI
> Modus nicht die erforderliche Datenrate bekommen, oder ?

Die nackte Schreibrate mit SPI per DMA ist dafür hoch genug, 
vorausgesetzt ein Filesystem stellt sich dem nicht hartnäckig in den 
Weg. Der Knackpunkt ist dann die ggf. erforderliche Löschoperation vom 
Flash.

AT45DB642: page erase+programming 40ms max, bei 1056 Bytes ergibt 26KB/s 
pro Device. Das wird auch bei den 8 Stück für 64MB zu knapp.

Besser sieht es aus, wenn du die Löschoperation im Voraus durchführen 
kannst, also später nicht mehr löschen musst. Mit FAT wird das etwas 
schwierig, ohne FAT nackt auf's Flash hängt das nur von der Aufgabe ab. 
Dann sind es maximal 6ms pro 1056 Bytes, also 170KB/s pro Device und es 
reicht bei mehreren umlaufend verwendeten Bausteinen aus.

Autor: testgast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wiso nicht zwei karten parallel?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also:
>> Und warum jetzt nicht einfach einen 512 MBit Flash Chip wie MX29GL512
>> anschliessen ?

Weil ich ihn nicht kannte.

>> Vermutlich weider geheime Sonderanforderungen, wie z.B. Anschlüsse für
>> Grobmotoriker als Flachsteckhülsen oder so.

Hä? Was ist dir denn wiederfahren?

Habe hier einen recht netten NAND Flash Speicher gefunden, der die 
Adress und Datenleitungen per Multiplexerpin umschalten kann, damit kann 
man eben Pins sparen.

http://www.hynix.com/datasheet/pdf/flash/HY27%28U_...

MIt 512 Mbit wäre er auch gross genug.
Er hat eine Page Programm Time von 0,5 ms (Max) bei einer Page Size von 
512 Bytes. Das wäre dann knapp 1MB/s.
Wenn ich jetzt vorher löschen muss, dann wären wir ca. bei 2000 kByte/s, 
da das löschen nochmals 2 ms pro Block brauchen würde.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder man nimmt do einen Atmel mit USB on Board, spezifiziert auch für 
USB 2.0 Full Speed (1,5 Myte/s).

http://www.atmel.com/dyn/products/product_card.asp...

Da einen Stick dranhängen, dann müsste man doch die 200 kbyte/s auch mit 
Fat16 erreichen können, oder?

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie viel musst du denn auf einmal schreiben? Man kann die Daten doch 
sicher in ein (dual port) RAM packen und dann auf die Karte bringen.
Oder ist lesen auch entscheidend?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja es gelten sozusagen die Parameter von oben.

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.