www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Client, standard Massenspeicher Treiber?


Autor: Tobias R. (wildcard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich bin soweit, daß ich mit meinem AVR (Mega128) auf eine SD bzw. MMC
Karte schreiben kann, sogar mit FAT16. Die Karten sind wunderbar lesbar
unter Windows mit einem Kartenleser.
Jetzt schwebt mir vor, das ganze auch via USB zu realisieren, so daß in
Windows der Standard USB Massenspeicher treiber geladen wird. Also im
Prinzip einen "USB Stick" nachbauen, der seine Daten auf einer MMC
Karte speichert.
Für die MMC Karte hab ich mich entschieden, da das abspeichern von
Daten da relativ einfach funktioniert, leider kann ich sie nicht
jedesmal aus dem Speicherslot ziehen, wenn ich an die Daten möchte, und
nicht jeder User hat einen Kartenleser bzw. den neusten Aldi PC :)

Technisch gesehen brauche ich nun einen USB Client chip, right?
Hab mir hier:
http://www.beyondlogic.org/usb/usbhard.htm
mal ein paar Chips angeschaut, und bin kurz davor mal mit einem von
Phillips (PDIUSBD11) zu experimentieren.

Hat jemand Erfahrung mit diesem Vorhaben? Wie aufwendig ist es, daß
mein Device mit diesem standard Treiber für Massenspreicher
zusammenarbeitet?
Ist vieleicht ein anderer Chip als der PDIUSBD11 oder 12
empfelenswerter?

Vielen Dank schonmal!

Autor: nemcron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der PDIUSBD11 ist abgekündigt, evtl. also nicht unbedingt günstig den zu
verwenden. Von Maxim gibts allerdings Alternativ-Typen.
Der USBN9604 von national wird glaube ich auch recht häufig verwendet.

http://www.mikrocontroller.net/articles/USB

Autor: Tobias R. (wildcard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okey, am wichtigsten ist mir dass ich auf Treiber Seite keine große
Arbeit habe und der Chip im Prinzip "von allein" als Massstorage
Device erkannt wird.
Kann mir wer da einen Chip empfehlen? Bin trotzdem grad dabei die
Seiten abzuklappern...

Autor: nemcron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...sofern deine USB-Hardware die "Mass Storage Class" implementiert
brauchst du dich um Treiber wohl nicht zu kümmern:
http://www.usb.org/developers/devclass_docs#approved (siehe "Mass
Storage")

Das zu implementieren dürfte bei den genannten Chips ähnlich schwierig
sein.

Autor: Jörn G. aus H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt inzwischen (von Sandisk) diese Flashkarten mit eingebautem
USB-Reader.
Man klappt einfach die halbe Flashkarte ab und steckt den winzigen
hervorstehenden Rest in eine USB-Buchse und die Karte wird als
Masstorage USB2.0-Festplatte sofort erkannt und funktioniert wunderbar
schnell. Wenn du das selber baust, dann wirst du sicher allerhöchstens
(mit großem Aufwand wegen Massstorage-Implementierung) ein paar
langsame KB/sec hinbekommen.

Siehe hier:
http://www.4data.de.vu/sandisk.html

jörn

Autor: Tobias R. (wildcard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Werde da ich ja wirklich nix anderes als Mass-Storage vorhabe,
mich nicht mit der eigenen Firmware/Treiber beschäftigen, da auch keine
special Funktionen notwendig sind.
Werde mir einen der sehr preiswerten USB MultiCard Reader besorgen,
aufschrauben und den interssanten Teil schlicht benutzen bzw. so
modifizieren dass er  sobald ein USB Kabel verbunden ist den AVR zum
schweigen bringt und ansonsten von eben diesem mit Daten gefüttert
wird.

Da ich in FAT16 die Karten vom AVR beschreiben lasse, sehe ich da keine
Probleme und die Preise dieser Reader sind wirklich unschlagbar...

Deine Karte ist natürlich sehr interessant, aber ich habe den Platz :)

Autor: Jörn G. aus H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schlimmer, als den AVR ruhig zu stellen dürfte es sein, den
USB-Controller ruhig zu bekommen, wenn USB ab ist und er damit also
keinen Saft mehr hat.
Evtl. Saft über deine Spannungsversorgung sicherstellen, anstatt über
USB und den Enable-Pin des Controllers suchen. Meistens haben die so
einen, damit du dessen Ausgänge hochohmig schalten kannst und dann mit
dem AVR auf die Karte zugreifen kannst.

jörn

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit einem 4053 kannst du die leitunngen trennen
musst dir dann nur aussuchen, welche seite (USB / AVR) die kontrolle
haben soll.

evtl solltest du dann auch die versorgungsspannung etwas entkoppeln (DC
/ DC Wandler)

aber was anderes stellst du deine MMC LIB hier vor? ich haette
interesse an dem schreiben von FAT16

Gruss Jens

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.