SD gleichzeitig im uC und als Wechseldatentr mögl?

OP #2740534
Lesenswert?

Hi,

kleine Newbie Frage :-)

Wenn man ein uC board wie z.B. Arduino mit SD Modul ausstattet, ist es 
dann eigentlich möglich den Inhalt der SD wie einen Datenträger zu 
kopieren und sonst was. Oder muss man die SD Karte erst rausnehmen und 
extra in einen Cardreader stecken oder sonst was, damit man 
"windows-Zugriff" drauf bekommt?

Gruß
Gast #2740588
Lesenswert?

Du könntest es so programmieren, dass sich Mikrocontroller + SD-Karte 
wie ein USB Memory-Stick verhalten.

Dann ginge es.

Allerdings cacht Windows die Daten.

Wenn dein µC etwas in eine Datei schreibt und Windows hat diese Datei 
eben noch gelesen, dann wird Windows wieder die alten Werte lesen !!!
Gast #2740592
Lesenswert?

> und/oder sonst was klappt auf jeden Fall!

>Was ist ein windows-zugriff?

>Du musst dir zuerst das Programm dafür schreiben ;)

Das ist genau der Müll, den wir hier auf Mikrocontroller.net nicht 
brauchen.
OP #2740747
Lesenswert?

>Inhalt der SD wie einen Datenträger zu
>kopieren und sonst was.
Mein Gott: kopieren, löschen, verschieben, umbennen...
>mit windows-zugriff
d.h. z.B. auf den "Arbeitsplatz" gehen und dort die SD als 
Wechseldatenträger stehen sehen und darauf zugreifen können.

was ist das hier eigentlich für ein kleinkarierter Haufen... Gibt es 
hier irgendwie Punkte für sinnlose Antworten?
Der Fuchs ist schlau und stellt sich dumm, bei manchen ist es anders 
rum...


Vielen dank denjenigen die weiterhelfen wollten. Dann weiss ich jetzt 
schonmal das es theoretisch möglich ist. Hätte ja auch sein können das 
es ganz einfach ist, war ja eine Newbiefrage :-)
OP #2740794
Lesenswert?

Hi,

ich habe nicht gefragt ob es möglich ist zweimal auf das Dateisystem 
zuzugreifen. Vielleicht habe ich mich unglücklich ausgedrückt.

Mich interessiert, ob es möglich ist sich zu sparen die SD Karte aus SD 
Modul zu nehmen und sie sich direkt ohne Umstecken als 
Wechseldatenträger verwenden lässt, auf den man in Win zugreifen kann.
Also quasi wie ein Handy, das man auf den Massenspeichermodus umstellt.

Gruß
Persönliche Seite #2740802
Lesenswert?

Das ist prinzipiell möglich.

Wenn der µC selbst die USB-Schnittstelle zur Verfügung stellt, muss er 
ein MSD implementieren und darf, solange er mit dem USB-Host verbunden 
ist, keine eigenen Dateisystemzugriffe ausführen.

Wird das mit separater Hardware abgewickelt, so daß z.B. ein 
USB-SD-Kartenleser parallel mit dem µC auf die SD-Karte zugreifen soll, 
müssen einerseits die zur SD-Karte führenden Leitungen zwischen beiden 
hin- und hergeschaltet werden, damit sie sich nicht ins Gehege kommen, 
und andererseits auch hier der µC seine Zugriffe aufs Dateisystem 
einstellen, sobald der SD-Karten-Leser per USB mit einem USB-Host 
verbunden ist.
OP #2740890
Lesenswert?

Kann es sein das es manchen Leuten nicht schmeckt das man z.B. mit 
Arduino copy und paste, modifizieren und ggf selber was machen z.B. als 
Chemiker in kürzester Zeit alleine Projekte umsetzen kann, wozu man 
eigentlich noch einen Elektro-Fachmann bräuchte oder eine sehr lange 
intensive Einarbeitung. Aber der vom Fach in keinster Weise bei dem 
gleichen Projekt das Wissen des Chemikers ersetzen könnte?

Oder woher kommt dein "haten"? Klar, würde sich der Chemiker dann 
einbilden er könnte richtig programmieren und wäre ET spezialist könnte 
ich das nachvollziehen...
#2740905
Lesenswert?

Hans W. schrieb:
> Kann es sein das es manchen Leuten nicht schmeckt das man z.B. mit
> Arduino copy und paste, modifizieren und ggf selber was machen

Ich denke eher, es liegt daran, dass du deine Frage nicht richtig 
gestellt hast

> Mich interessiert, ob es möglich ist sich zu sparen die SD Karte
> aus SD Modul zu nehmen und sie sich direkt ohne Umstecken als
> Wechseldatenträger verwenden lässt, auf den man in Win zugreifen kann.

Die SD Karte ist hier nämlich völlig uninteressant.
Der springende Punkt ist, dass sich der Arduino gegenüber Windows als 
Massenspeicher ausgeben muss. Was und wie der Arduino dann die 
Dateizugriffe, die er von Windows erhält umsetzt, das ist das Bier vom 
Arduino. Respektive von dem Programm, welches du für den Arduino 
geschrieben hast. Oder eben von irgendwo herkopiert hast.

Ob dem Arduino da jetzt eine SD-Karte zur Verfügung steht oder ein 
EEPROM oder ein Kasettenrekorder, ist dahingehend wieder völlig 
nebensächlich. Den Windows redet in erster Linie mit dem Arduino und 
nicht mit der SD-Karte.
Persönliche Seite #2740972
Lesenswert?

Hans W. schrieb:
> Oder muss man die SD Karte erst rausnehmen und
> extra in einen Cardreader stecken oder sonst was, damit man
> "windows-Zugriff" drauf bekommt?

Willst Du Deinem µC USB und MSD beibringen, oder reicht Dir ein 
Umachalter?

Du könntest den Cardreader ja in Dein System einbauen und den SD-Slot 
anzapfen. So einfach mit einem neunpoligen Wechselschalter-Relais geht 
das sicher nicht, aber so ähnlich vielleicht. Bevor wir darüber 
detaillierter nachdenken, wollte ich erstmal verstehen, was Du willst.
OP #2741123
Lesenswert?

Dankesehr Karl Heinz für die einleuchtende Beschreibung.

Ja Torsten, so wäre es auch gut, per Umschalter. Ich werde mal schauen 
ob ich irgendwie was dazu finde, ob sowas SW oder HW mäßig schon gemacht 
wurde, werde wohl kaum der erste sein der die Idee hat das es ganz 
praktisch wäre.

Gruß
#2741550
Lesenswert?

Die Leitungen vom Arduino zur SD Karte kannst Du ja per Software 
deaktivieren (als Eingang konfigurieren). Mit etwas Glück kannst Du das 
bei einem PC-Kartenleser ebenfalls tun, nämlich indem Du dessen Reset 
Leitung dauer-aktivierst (hängt vom Kartenleser ab).

So kannst Du elektronisch umschalten, wer wann auf die Karte zugreifen 
darf.

Aber vergiss nicht, daß die jeweiligen Betriebssysteme VOR dem 
Umschalten darauf vorbereitet werden müssen, sonst riskierst Du ein 
korruptes Inhaltsverzeichnis auf der Karte. Windows Meckert ja auch 
brav, wenn Du eine Speicherkarte einfach aus dem Kartneleser entfernst, 
ohne sie vorher "auszuwerfen" oder wie auch immer Microsoft den Vorgang 
inzwischen nennt.
Gast #2741577
Lesenswert?

Du kannst Deine SD-Karte multiplexen.
Das geht einwandfrei.
Die Multiplexer-Chips müssen für 3-5Volt geeignet sein und schnell 
genug.
Ich hatte damals welche von Texas Instruments verwendet, ich kann dir 
aber leider im Moment nicht den genauen Typen sagen.

Der Arduino könnte das Umschaltsignal für die Multiplexer liefern. Dann 
wüsste der Arduino auch gleich, das er, wenn die Karte auf "PC" 
gemultiplext ist, keine Daten auf die Karte schreiben kann.

Ich hatte in einem Projekt das so gemacht. Für den Kartenleser habe ich 
eine Starr-Flex-Leiterplatte gefertigt, die ich in den Kartenleser 
stecken kann.

Die Kartenspannung habe ich ebenfalls von meinem Ziel-System getrennt.
Das einzige worauf du achten mußt: Die Karte muss auf PC gemultiplext 
sein und der Kartenleser schon angesteckt. Dann erst kann man den 
Kartenleser mit dem Starrflex verbinden. Grund: Im Kartenleser ist ein 
Schalter, der merkt, wenn eine Karte gezogen oder gesteckt wird. Wenn 
die Karte nicht anwortet, obwohl der Kartenleser eine erkennt, stürzt 
Windows ab.
Gast #2741584
Lesenswert?

Noch was: Da der Arduino nur als virtueller Com Port an den PC 
angeschlossen ist, kann dieser sich NIE so verhalten, als ob er ein 
Massenspeicher ist.
Aber es gibt ein Eval-bord von Microchip mit einem Pic 24F drauf, der so 
etwas kann, also auf eine SD-Karte schreiben und mit einem USB-Anschluss 
so tun, als ob er ein Card-Reader wäre...
#2741605
Lesenswert?

Hi,

ich hatte neulich so eine ähnliche Anforderung, ich musste eine SD karte 
die an einer USB-SD-Bridge (entspricht einem SD-CARD-Reader) mit einem 
µC teilen.

Den µC kann man tatsächlich trennen indem man die Pins aus Eingang 
schaltet.

Um dem SD-Kartenleser von der SD-Karte zu trennen musst Du etwas mehr 
machen:

- Dem SD-Kartenleser solltest Du vorgaukeln, dass die SD-Karte entfernt 
worden ist, damit er sich nicht aufhängt wenn Du ihn trennst. Dazu 
kannst Du den entsprechenden Card-Detect-Pin im SD-CARD Socket so 
manipulieren, dass Du ihn vom µC steuern kannst.

- Dein SD-CARD-Reader hat mit großer Wahrscheinlichkeit Pull-Downs 
aktiviert sobald er denkt, dass die Karte entfernt wurde. Daher musst Du 
die Leitungen vom SD-CARD-Reader mit einem FET-Busswitch von der 
SD-Karte trennen.

- Dein SD-CARD Reader betreibt die Karte mit großer Wahscheinlichkeit im 
SDIO-Modus mit 4 Datenleitungen. Dein µC wird wahscheinlich per SPI 
darauf zugreifen. SD-Karten mögen es leider überhaupt nicht wenn Du im 
Betrieb einfach von einem Modus in den anderen wechselst.
Dummerweise haben SD-Karten keinen Reset-Pin. Daher musst Du kurz die 
Spannungsverorgung der SD-Karte unterbrechen bevor Du umschaltest.

Gruß
Thomas

P.S:: Es wäre hilfreich gewesen, wenn Du in Deiner Fragestellung 
beschrieben hättest, wie Du die SD-Karte sowohl an den Reader als auch 
an den µC anzuschließen gedenkst.
Persönliche Seite #2742187
Lesenswert?

Ich denke, der TO hört sicher gern Vorschläge von uns, welche 
Möglichkeiten es gibt, sein Problem zu lösen.

Thomas Burkhart schrieb:
> Es wäre hilfreich gewesen, wenn Du in Deiner Fragestellung
> beschrieben hättest, wie Du die SD-Karte sowohl an den Reader als auch
> an den µC anzuschließen gedenkst.

Es macht keinen Sinn, vorab schon eine Lösung vorzugeben, wenn man eine 
ehrliche Frage stellt. Der TO wollte vermutlich wissen, wie wie man am 
besten sein Problem lösen könnte, ohne eine Lösung vorzugeben.

Den Vorschlag mit dem Dauerreset ^^ finde ich gut, dadurch muß man auch 
nicht den Card-Detect faken. Ich drück' die Daumen, dass das klappt!
Gast #2742226
Lesenswert?

Vielen Dank für die Mühen.

bei dem was ich jetzt in Erfahrung bringen konnte scheinen wohl die 
Antworten gemäß "musst du programmieren" falsch zu sein und Frankman hat 
recht mit:
>Da der Arduino nur als virtueller Com Port an den PC
>angeschlossen ist, kann dieser sich NIE so verhalten, als ob er ein
>Massenspeicher ist.

Ich werde mich dann erstmal mit dem Multiplexen auseinander setzen, 
danke für die Vorschläge.
Gast #2742259
Lesenswert?

naja möglicherweise geht es doch mit dem Programmieren, man muss es 
dafür aber sehr sehr drauf, so wie ich das verstanden habe, also nix für 
mich :)
nicht das sich jmd auf den Schlips getreten fühlt
#2742380
Lesenswert?

Ich kann mich dunkel erinnern, fertige Lösungen für genau diesen Einsatz 
gesehen zu haben. Also ein Chip, der USB mit Mass Storage beherrscht und 
als SD Kartenleser arbeiten kann aber gleichzeitig einen lokalen Port 
für einen µC bietet, über den dieser auch auf die SD Karte zugreifen 
kann (so lange sie halt nicht über USB verfügbar gemacht wird). Eben 
das, was viele simple MP3-Player benötigten.

Ich kann mich aber leider nicht erinnern, wo und bei welchem Hersteller 
ich das gesehen habe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren