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!
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
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...
...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.
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
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 :)
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.