Hallo, Ich möchte gerne eine SD-Karte auslesen und beschreiben über USB. Das soll bedeuten ich habe einen USB-Controler (evtl. FTDI), einen µC (AVR) und ebend die SD-Karte. Wie kann ich jetzt die SD-Karte als Laufwerk im Windows-Explorer sehen und bearbeiten? bye MArtin
Garnicht! So wie Du es machen willst, kannst Du ihn nur über die serielle Schnittselle ansprechen und die taucht nicht im Explorer auf. Nimm das Ding von Reichelt "SHARK USB FD XC" das geht dann auch.
Ich möchte aber keinen USB-Stick verwenden, well ich ja dann nicht mit dem AVR auf die SD-Karte zugreifen kann und so mein Projekt nicht verwirklichen kann. Ich möchte also per PC und per µC auf die SD-Karte zugreifen. Geht das denn mit einem anderen USB Controller bzw. µC?
Nimm einen USB-Card-Reader und wechsel die Karte dann zwischen AVR und Cardreader. Die Alternative wäre eine Firmware zu schreiben die ein Storage class device über den USB realisiert. Das ist dann aber schon recht aufwändig. Evtl. gibts aber einen Hersteller von USB-Controllern der genau sowas als Referencedesign anbietet, glaub ich aber eher nicht das es meines wissen für sowas schon spezielle Chips gibt.
Das mit dem wechseln der Karte wollte ich eigendlich vermeiden aber ich werds woll machen müssen. Aber genau das meinte ich mit dem Storage Class Device. Also wenn hier noch einer Infos dazu hat kann er das ja hier posten. Sonst muss es halt ohne gehen. bye Martin
Mustercode für die Implementierung eines "Mass Storage Class" Devices gibt es von Keil für den Philips LPC2148. http://www.keil.com/dd/chip/3880.htm Der LPC2148 hat einen eingebauten USB-Device-Controller; damit man vergleichbares mit einem AVR hinbekommt, müsste man einen entsprechenden Controller an diesen anschließen. Die FTDI-Chips eignen sich dafür überhaupt nicht. Obendrein ist darauf zu achten, daß der AVR nicht auf das auf der SD-Karte gespeicherte Dateisystem zugreifen darf, solange die ganze Geschichte via USB mit einem USB-Host verbunden ist. Das vom Host verwaltete Dateisystem bekommt nicht mit, daß ihm quasi "zwischen die Beine gegriffen" wird, was zu Datenverlust oder anderen interessanten Effekten führen kann. Also heisst es immer schön USB-Kabel abziehen ... und wieder 'reinstecken. Praktisch ist das nicht.
Es ist aber möglich einen dicken roten ReConnect-Button am USB-Device einzubauen und das Abstecken/Anstecken per Software zu erledigen. Eine entsprechende Funktionalität sollte eigentlich jeder USB-Controller haben, ansonstn muss man halt neben dem PullUp/PullDown Widerstand (der für das Erkennen zuständig ist) noch einen Transistor einbauen mit dem sich das schalten läßt ...
Es müßte doch möglich sein, aus einem billigen USB-Cardreader den Chip zu verwenden und den AVR noch mit anzuschließen.
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.