Auswahl einer Speicherkarte (SD,MMC,CF,USB-Stick)

Gast #969567
Hallo,

Ich bin gerade dabei ein Gerät zu entwickeln, welches mir ausgewertete 
Daten auf ein mobiles Speichermedium schreiben soll.
Bin jetzt am überlegen, welches der 4 (die ich zur Verfügung habe) am 
geeignetsten wäre. Zur Auswahl habe ich USB, SD, MMC oder CF Karte.

Natürlich habe ich schon fleißig gegoogelt, aber ein paar Fragen bleiben 
doch noch offen.

Kann ich  mit einem µC (ATmega) auf eine USB-Stick Daten schreiben. Hab 
mal was gelesen, dass ich dafür einen "Host" brauch. Heißt das ich 
brauch einen extra Controller??

Ist bei der CF-Karte eine IDE-Schnittstelle erforderlich?Falls ja, 
wieviele Pins müsste ich letztlich an den µC schließen???

Gibt es große Unterschiede bezüglich der Schreibgeschwindigkeiten, 
welche ich mit meinem µC mit 20 MHz erreichen kann?

Gibt es große Unterschiede der Speicherkapazitäten? Oder sind 
mittlerweile alle Typen mit rel. großem Speicher ausgestattet/zu 
erhalten??

Was ist am einfachsten zu implementieren?


Würde mich über Antworten freuen!!

Grüße

Oli
#969579
Oli wrote:
> Kann ich  mit einem µC (ATmega) auf eine USB-Stick Daten schreiben. Hab
> mal was gelesen, dass ich dafür einen "Host" brauch. Heißt das ich
> brauch einen extra Controller??

Es kann sein, dass es mittlerweile irgendeine Software gibt die einen 
USB Host für einen USB Stick macht, aber selbst wenn, dann ist das 
relativ aufwendig und somit langsam. An externen ICs gibt es da den 
Vinculum, aber der ist meiner Meinung nach noch nicht ganz ausgereift.

> Ist bei der CF-Karte eine IDE-Schnittstelle erforderlich?Falls ja,
> wieviele Pins müsste ich letztlich an den µC schließen???

CF Karten kennen mehrere Modi. Einer davon ist IDE kompatibel, die 
anderen sind IDE ähnlich, haben aber z.B. anstelle der 16bit z.B. nur 
8bit als Interface.

> Gibt es große Unterschiede bezüglich der Schreibgeschwindigkeiten,
> welche ich mit meinem µC mit 20 MHz erreichen kann?

Ohne die Anwendung genauer zu kennen, würde ich sagen CF ist am 
schnellsten (da parallel), danach kommen SD und MMC. USB Stick ist 
abhängig von der Implementierung aber die sind meinen Erfahrungen nach 
alle langsamer.

> Gibt es große Unterschiede der Speicherkapazitäten? Oder sind
> mittlerweile alle Typen mit rel. großem Speicher ausgestattet/zu
> erhalten??

Die dürften alle ähnlich sein. Bei SD Karten sollte man die Grenze von 
2GB beachten, darüber gibt es nur noch SDHC Karten die ein wenig anderst 
angesteuert werden.

> Was ist am einfachsten zu implementieren?

CF und SD. CF ist 8bit + CS\ + RD\ + WR\ + ein paar Adressleitungen für 
die Register. SD ist im Prinzip ähnlich, verwendet aber SPI (oder auch 
andere lizenzgeschütze Modi).
SD dürfte kostenmäßig am besten sein, daher ist dafür wohl auch der 
meiste Code zu finden. Ich würde daher zu SD Karte greifen.
#969581
@ Oli (Gast)

>geeignetsten wäre. Zur Auswahl habe ich USB, SD, MMC oder CF Karte.

SD und MMC sind prakisch gleich, werden beide meist über SPI 
angesprochen. Im Netz gibt es dazu Dutzende Implementierungen.

CF ist ähnlich einfach, abrucht auber viel Verdrahtungsaufwand. Macht 
man nur, wenn man hohe Datenraten braucht.

Das Ansprechen auf unterster Ebene (Sektoren) ist das Eine, das 
Dateisystm das Andere. Praktisch immer FAT/VFAT32. Gibt es auch viele 
fertige, frei Lösungen im Netz.

>Kann ich  mit einem µC (ATmega) auf eine USB-Stick Daten schreiben.

Da fehlt ein Fragezeichen. Direkt per AVR geht das nicht, man braucht 
eine USB-Host, siehe USB.

>Ist bei der CF-Karte eine IDE-Schnittstelle erforderlich?Falls ja,
>wieviele Pins müsste ich letztlich an den µC schließen???

Ca. 16+10.

>Gibt es große Unterschiede bezüglich der Schreibgeschwindigkeiten,
>welche ich mit meinem µC mit 20 MHz erreichen kann?

Sicher. SD/MC per SPI ist bitseriell, CF ist 16 Bit breit!

>Gibt es große Unterschiede der Speicherkapazitäten? Oder sind
>mittlerweile alle Typen mit rel. großem Speicher ausgestattet/zu
>erhalten??

Defniniere realtiv gross. 1GB gibte bei alen für'n Appel & Ei.

>Was ist am einfachsten zu implementieren?

AFAIK CF, dicht gefolgt von SD/MMC. USB ist mit Abstand am 
aufwändigsten.

MFG
Falk
Gast #969625
Hallo Falk,

ich mache es mal so arrogant wie Du:

> CF ist ähnlich einfach, abrucht auber viel Verdrahtungsaufwand.

blablabla

> man braucht eine USB-Host

blablabla

> Defniniere realtiv gross. 1GB gibte bei alen für'n Appel & Ei.

blablabla
Gast #970733
Ich kann dir das uALFAT von GHIelectronics empfehlen. Anfangs habe ich 
es gehasst, aber mittlerweile ist es ganz OK. Lesen und schreiben mit 
bis zu 100Kb möglich. Es übernimmt die Steuerung der SD-Karte, oder des 
USB-sticks, und verwaltet das Dateisystem zuverlässig. Als Benutzer 
musst du nur Kommandos wie "öffne Datei", "Lese die nächsten 100Bytes", 
... senden.
Welche Datenrate benötigst du?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.