Forum: Mikrocontroller und Digitale Elektronik Schaltplan USB 2.0 SD-Card-Reader?


von Markus C. (cano)


Lesenswert?

Hallo

weiß jemand, wo ich einen Schaltplan von einem USB 2.0 SD-Card-Reader 
finden kann?
Ich möchte mir gerne so etwas auf meine Rechnerleiterplatte bauen.
Ich möchte gerne mit minimalem Aufwand Files vom PC auf die SD-Card 
schreiben und
die Daten anschließend vom Mikrorechner abholen und weiterverarbeiten.
Im Ebay gibt es die Teile für 2-3 Euro.
Hat das schon mal jemand gemacht und kann mich an seinem Wissen 
teilhaben lassen?

Grüße Markus

von Frank K. (fchk)


Lesenswert?

Ein fertiger USB-SD-Card-Reader-Chip ist für Dich ungeeignet. Der möchte 
nämlich exklusiven Zugriff auf die Karte haben, sonst funktioniert er 
nicht. Das kann man zwar mit bidirektionalen Busswitches (50 MHz 
Bandbreite) alles hintricksen, aber es ist keine richtig gute Lösung, 
und es ist hardwareaufwendig. Plus: die Karte muss beim Umschalten 
stromlos sein, weil sie sonst nicht richtig initialisiert wird. Besorge 
Dir die Schnittstellenspezifikationen - da stehen die Timings drin.

Ich habe das ganze mit einem PIC24 und den Microchip Application 
Libraries gemacht. Mein Gerät (ein spezieller, kundenspezifischer 
Programmieradapter) konnte in den USB-Modus geschaltet werden, wo er als 
Mass Storage Device agierte. Im Funktions-/Programmiermodus hat er seine 
USB-Schnittstelle abgemeldet und selber die SD-Karte gemountet, um auf 
die Dateien dort zuzugreifen.

Genau so wirst Du das auch machen müssen. Es darf immer nur einer 
Zugriff auf die SD-Karte haben - entweder der PC oder der 
Microcontroller. Ansonsten gibt es Datenverlust und zerschredderte 
Dateisysteme.

Digitalkameras machen es genauso. Im Abspielmodus kannst Du nicht 
fotografieren.

Brauchst Du einen gleichzeitigen Zugriff, darfst Du kein Mass Storage 
implementieren, sondern musst MTP implementieren.

fchk

von Jim M. (turboj)


Lesenswert?

markus c. schrieb:
> Ich möchte gerne mit minimalem Aufwand Files vom PC auf die SD-Card
> schreiben und
> die Daten anschließend vom Mikrorechner abholen und weiterverarbeiten.

Das kannste aber mit den billigen SD Adaptern vergessen. Da darf an die 
SD Pins nix anderes ran, und schon gar kein Mikrocontroller. Denn da 
wird HF drüber gejagt.

Baue in Deine Schaltung lieber ganz normale SD Kartenhalter ein, und 
tausche die Karte(n) aus.

Alternativ habe ich auch schon mal einem USB-fähigen µC das USB Mass 
Storage Protokoll beigebracht um von SD zu lesen und zu schreiben.
Obwohl die Einzelteile fertig waren (jeweils Beispielcode) war das nicht 
gänzlich schmerzfrei.

von Jim M. (turboj)


Lesenswert?

Frank K. schrieb:
> Besorge
> Dir die Schnittstellenspezifikationen - da stehen die Timings drin.

Was kostet die SD Spec derzeit? In der "Simplified" stehen die Timings 
nicht mit drin...

von Frank K. (fchk)


Lesenswert?

PS: Ich habe mir schon etwas dabei gedacht, als ich Dir den MCP2221A 
plus PC-Software nahe gelegt habe. Da hast Du nämlich eine realistische 
Chance, das zum Laufen zu bringen.

fchk

von Frank K. (fchk)


Lesenswert?

Jim M. schrieb:
> Frank K. schrieb:
>> Besorge
>> Dir die Schnittstellenspezifikationen - da stehen die Timings drin.
>
> Was kostet die SD Spec derzeit? In der "Simplified" stehen die Timings
> nicht mit drin...

Multiple Kiloeuros. Genauer kann ichs nicht sagen, war nicht mein Geld.

fchk

von Markus C. (cano)


Lesenswert?

Frank K. schrieb:
> PS: Ich habe mir schon etwas dabei gedacht, als ich Dir den MCP2221A
> plus PC-Software nahe gelegt habe. Da hast Du nämlich eine realistische
> Chance, das zum Laufen zu bringen.

Hallo Frank,

du machst mir meine Träume von einer einfachen Lösung kaputt :-)

Ich muss nicht gleichzeitig auf die SD-Card zugreifen.
Schön wäre gewesen, ich könnte durch Umbau der Chip-Select Logik mein 
Ziel erreichen.

Drag&Drop ist Pflicht!
Und Drag&Drop muss !!! auch ohne mein Windows-Programm gehen! Einfach 
aus dem Explorer. Mit dem MCP2221A müsste ich also eine eigene Firmware 
für meine Contoller entwickeln. Ich bin in der Elektronik zuhause, bin 
weniger der Programmierer. Firmware entwickeln, ... hier sehe ich gerade 
den Wald vor lauter Bäume nicht.

Echt schade, dass es hier keine fertigen Bausteine gibt.
Ein Elend :-)

von S. R. (svenska)


Lesenswert?

markus c. schrieb:
> Echt schade, dass es hier keine fertigen Bausteine gibt.

Du kannst keinen günstigen fertigen Baustein für "ich will meinen 
Spezialfall lösen" fertigen lassen.

Implementiere MTP und fertig.
Und wenn du es nicht kannst, dann beauftrage jemanden dafür.

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
Noch kein Account? Hier anmelden.