mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Markus C. (cano)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jim M. (turboj)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jim M. (turboj)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus C. (cano)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: S. R. (svenska)
Datum:

Bewertung
0 lesenswert
nicht 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.

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.