Was ist einfacher? USB oder SD-Karte?

OP #1832098
Lesenswert?

Hallo, Leute!

Eine Frage: wenn ich eine Menge Daten speichern will, die ich später mit 
einem ATMega lesen will, was ist einfacher zu verwalten (von 
Mikrocontroller)? Eine SD-Karte oder ein USB-Stick?

Vorteil von USB-Geräte ist, daß ich jede USB-Storage anschließen kann 
(USB-Stick, USB-Kartenleser, USB-Platten, usw).

Aber wenn ich dann das Programm schreibe, mit welcher Variante werde ich 
schneller fertig (und ein kleineres Programm kriegen)?

Danke
Luca Bertoncello
Persönliche Seite #1832103
Lesenswert?

Die SD-Karte ist viel einfacher anzusprechen (SPI-Modus) als ein 
USB-Speichermedium. Die SD-Karte wird direkt bzw. bei 5 Volt Systemen 
mit einem Pegelwandler an den ATmega angeschlossen.

Bei USB hat man bei einem ATmega schon das Problem, dass dieser keinen 
USB-Port hat, man braucht also einen externen USB-Slave Controller. Für 
diesen und natürlich für die USB-Massenspeicherklasse braucht man 
Treiber. Trotzdem ist das natürlich nicht unmöglich und es gibt auch 
schon ICs, die auf diese Anwendung zugeschnitten sind, z.B.
http://www.ftdichip.com/Products/ICs/VNC1L.htm

Grüße,

Peter
Gast #1832104
Lesenswert?

definitiv mit der sd-karte.

der mega wird so schnell keinen usb-host drauf bekommen. dafür bräuchte 
man dann einen chip, der über z.b. spi angschlossen wird. in der elektor 
wurde vor einiger zeit mal sowas vorgestelle...

mfg michael
Persönliche Seite #1832111
Lesenswert?

Grundsätzlich ist die SD-Karte einfacher, allerdings benötigst du auch 
ein FAT-System, wenn du die Karte mit dem PC auslesen willst. Sowohl für 
die SD-Karten-Ansteuerung als auch die FAT-Implementierung gibt es aber 
genug brauchbare Beispiele für den AVR.

Eine andere einfache Lösung für USB-Speichermedien sind die 
Vinculum-Chips von FTDI.

http://www.vinculum.com/

Diese besitzen sowohl einen USB-Stack als auch die Unterstützung für FAT 
und können einfach über eine serielle Schnittstelle angesprochen werden 
- damit kann man auch recht passabel erst mal am PC probieren mittels 
Terminal-Programm.

Eine andere Alternative wäre LUFA, ein USB-Stack für AT90USB-Controller. 
Dort sind viele Beispiele enthalten, auch das was du suchst.

http://fourwalledcubicle.com
OP #1832143
Lesenswert?

OK, besten Dank!

Also, ich werde eine SD-Karte nutzen.

Kann jemand mir vielleicht ein Schaltungsbeispiel (und vielleicht sogar 
den passenden C-Code) empfehlen, um mit einem ATMega32 eine SD-Karte (>= 
2GB) zu lesen?
Erstmal will ich nicht unbedingt schreiben.

Danke
Luca Bertoncello
OP #1832152
Lesenswert?

Nur eine Frage noch (ich bin dabei die Schaltung zu planen).

In dem Artikel sehe ich, daß ich einen HC4050 nutzen soll. In Eagle habe 
ich aber den Chip nicht gefunden.
Kann jemand mir sagen, wo ich eine Eagle-Library finden kann, mit dem 
Chip?

Besten Dank!
Luca Bertoncello
Persönliche Seite #1832154
Lesenswert?

Luca Bertoncello schrieb:
> In dem Artikel sehe ich, daß ich einen HC4050 nutzen soll. In Eagle habe
> ich aber den Chip nicht gefunden.
> Kann jemand mir sagen, wo ich eine Eagle-Library finden kann, mit dem
> Chip?

Eventuell mal auf der Cadsoft-Seite schauen bei den User-Bibliotheken, 
ansonsten selber zeichnen.

Ich würde aber eher darüber nachdenken, den AVR mit 3,3V zu betreiben, 
dann brauchst du keine Pegelwandler.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren