Hi, ich habe nun meine Schaltung zum Schreiben und Lesen auf eine SD-Karte fertig. Nun würde ich gerne mit einer USB Schnittstelle auf diese Karte zugreifen wollen. Eigentlich soll er am PC als Massenspeichermedium angezeigt werden, so wie es ein normaler Kartenleser auch macht. Würde das gerne mit Hardware lösen. Kennt jemand einen IC der so eine Art USB - SPI Wandlung macht oder Atmel Projekte ? Hab leider keine Ahnung wie man soetwas realisieren könnte.
hää?? das ding nennt sich kartenleser und kostet in jedem PC Geschäft 5€. kaufen, auseinander nehmen und vielleicht anschlüsse am SD Stecker anzapfen für deine schaltung. Versteh dein Problem nicht
@Matthias hast du vielleicht Interesse daran, dein Projekt zu veröffentlichen? Hört sich ganz interessant an, die Möglichkeit Daten auf SD-Karten speichern zu können. Werner
Der AT32AP7000 kann das in einem Chip! Der hat ne USB Schnittstelle und ne SD Schnittstelle.
@ Philipp Karbach Ich dachte halt jemand weiss vielleicht was für ein Chip in den Kartenlesern verwendet wird, damit ich die Schaltung auf meiner Platine nachbauen kann. Wenn das so einfach nicht geht, dann nehm ich deine Lösung und kauf mir so ein "günstiges" Ding und hängs mit dran, das wäre ja nicht das Problem
Habe gerade das hier gefunden: http://www.heise.de/mobil/artikel/56261/0 jetzt frag ich mich schon, was innerhalb der Karte geschieht, dass sie mit USB kommunizieren kann ?
>jetzt frag ich mich schon, was innerhalb der Karte geschieht, dass sie >mit USB kommunizieren kann ? Da ist ganz einfach ein USB Controller mit drauf !
Also wenn ich einen USB controller hernehme, könnte ich meine SD Karte also mit dem PC verbinden. 1.) Welcher käme da in Frage, ich hab von USB Controllern wirklich gar keine Ahnung 2.) WIe stehts dann mit Treibern, kann ich dann einfach eine Verbindung mit meinem PC herstellen, bzw. wird die Karte und deren Inhalt in Windows lesbar sein.
Ich finde dieser IC hört sich gut an: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/4751 Die Frage ist: Derzeit schreibe ich per SPI auf eine SD Karte. Vielleicht könnte man mit diesem IC über SPI auf einen USB Stick schreiben ? Meint ihr das wäre möglich ?
Das wollten wir auch mal bauen. Scheiterte dann an der Verfügbarkeit. Es gibt nur einige wenige Chips dafür, z.B. den USB2227 von SMSC. Aber da haben wir nur 5 Samples bekommen, die nächst größere Stückzahl war dann 900 Stück im Tray. Soviele brauchten wir aber nicht. Haben das dann mit CF-Karte und einem normalen Cypress USB-ATA (68300C) gemacht.
@Matthias: Das ist ein USB-Device-Controller. Damit kann man Geräte aufbauen, die via USB an einen USB-Host (beispielsweise einen PC) angeschlossen werden. Mit anderen USB-Geräten kann man darüber aber NICHT kommunizieren. Dafür bedarf es eines USB-Host-Controllers, was eine sehr aufwendige Programmierung (USB-Host-Stack) voraussetzt. Die sinnvolle Alternative heißt hier VNC1L. Das ist ein USB-Host-Controller mit "Eigenintelligen" von FTDI, der nicht nur den USB-Host-Stack enthält, sondern -je nach geladener Firmware- auch gleich Unterstützung für FAT-Dateisysteme und ähnliches. Damit lässt sich ein USB-Stick mit recht wenig Aufwand ansprechen - und natürlich auch eine SD-Karte in einem USB-Kartenleser.
OK wie wird so ein chip programmiert bzw. eingestellt. Hat jemand mit dem Ding Erfahrung bzw. kennt jemand gute Weblinks (nicht nur die vom Herstller) bzw. Projekte mit diesem Chip. Vielen Dank im Voraus
>@Matthias: >Das ist ein USB-Device-Controller. Damit kann man Geräte aufbauen, die >via USB an einen USB-Host (beispielsweise einen PC) angeschlossen >werden. ALso wie in einem Kartenleser oder ? Das Ding würde ja erstmal reichen für meine Kartenleserfunktion
Sicher, "reichen" würde das. Du müsstest lediglich auf Deinem µC einen USB-Device-Stack und die Funktionalität eines MSD ("mass storage device") implementieren. Und bedenken, daß auf das Dateisystem der Karte solange nicht von "außen" zugegriffen werden darf, wie das Gerät mit dem PC verbunden ist. Der hat nämlich während dieser Zeit die Oberhoheit über das Dateisystem auf der Speicherkarte und bekommt nicht mit, wenn ihm hinterrücks dazwischengeschrieben wird - das führt so zu einem garantiert inkonistenten Dateisystem. Wenn Du Dir nur aus Spaß an der Freud einen USB-SD-Karten-Leser bauen willst, also definitiv nicht noch von anderswo auf die Karte zugegriffen wird, dann kannst Du das sicherlich so machen. Es gibt für ARMe mit USB-Device-Controller auch Beispielcode für die Implementierung eines MSD, möglicherweise kannst Du den ja an den verwendeten USB-Device-Controller und den verwendeten µC anpassen. Insgesamt: Was soll Dein Gerät denn überhaupt machen/werden? Soll es wirklich nur ein USB-Kartenleser werden? Oder soll das Gerät noch irgendeine andere (geheime?) Funktionalität aufweisen, mit der mit der SD-Karte bzw. einem anderen angeschlossenen Massenspeicher herumgemacht wird? Was ein 10-EUR-Kartenleser bietet, wirst Du so leicht nicht nachbauen können - Du wirst eine SD-Karte so schnell ansteuern können (der schnelle 4-Bit-Modus ist nicht frei zugänglich dokumentiert), auch wirst Du zumindest Schwierigkeiten bei der Implementierung eines USB2.0-High-Speed-Betriebes haben.
Am einfachsten wird es für Einzelstücke mit so einem USB 2.0 Media Controller. Das Gehäuse ist bissl groß, aber wenn´s darauf nicht ankommt....man bekommt die USB2227 beispielsweise ganz gut als Samples. Da muss nix programmiert werden, ist alles komplett fertig drin.
Ist der nicht ein bisschen überdimensioniert mit 128 PINS. Ich habe ja nur eine SD-Karte und will nur eine USB Schnittstelle zum PC erzeugen. Keine Sonderfunktionen oder irgendwelche Anschlussmöglichkeiten für weitere Karten. Ich dachte der MAXIM wäre dafür genau geeignet, schön klein und günstig. Gibt es von FTDI denn auch einen einfachen "USB Device Controller". Wenn ich obrige Ausführungen richtig verstanden habe, bräuchte ich ja nur einen Device Controller.
Naja, einfache USB <-> SD Controller kenn ich auch nicht. Aber vielleicht lässt sich ja was mit dem 68013 von Cypress programmieren. Da gibts immerhin ein Referenz-Design zum Anschluss einer CF-Karte/ATA-Festplatte per USB 2.0 samt Windows-Treiber. Wenn man das hernimmt, und statt der ATA-Funktionen die SPI-Routinen reinprogrammiert, müsste man ja leicht auf SD-Karten zugreifen können.
Das ist bestimmt theoretisch möglich, wäre aber nicht so in meinem Sinne. Der Programmieraufwand wäre nicht wirklich rentabel, da wie oben bereits geschrieben, dann die Alternative "Gerät kaufen, ausbauen, anstöpseln" zum Tragen kommen würde. Naja habs versucht, aber so ne wirkliche leichte Alternative scheint es da ja nicht zu geben. Allerdings verstehe ich immer noch nicht, warum der Maxim Baustein für meine Zweck nicht ausreicht. Dieser "USB Device Controller" müsste doch in Zusammenhang mit einem PC als Host die Daten auf der Speicherkarte abfragen können. Das SPI Interface ist ja dabei. Kann mir jemand nochmal erklären warum es mit diesem Baustein nicht geht, damit ich ihn ndlich aus meinem Gedächtnis streichen kann ;-)
Der Baustein selbst macht ohne Programmierung durch Dich gar nichts. Du musst den USB-Device-Stack (ein ziemlicher Haufen Software) sowie die "mass storage device"-Geräteklasse per Software auf Deinem Microcontroller implementieren. Das ist ein nicht zu unterschätzender Aufwand.
Dann danke ich euch vielmals und werde Philipp Karbach´s Rat befolgen. Ich auf mir so ein "Mistding" und nehm es auseinander. Für 5 € hock ich mich echt nicht Stundenlang hin und programmier das. Erst recht nicht mit meinen "nur leicht fortgeschrittenen" Programmierkenntnissen. Ich danke vielmals für die Aufklärung
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.