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ß
Du musst dir zuerst das Programm dafür schreiben ;) Gruss Gordon
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 !!!
> 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.
Lars73 schrieb: > Das ist genau der Müll, den wir hier auf Mikrocontroller.net nicht > brauchen. Was genau ist an meinem Beitrag so verkehrt?
Gleichzeitig im uC und am PC geht glaube ich nicht, oder warum wird bei jedem mir bekannten Handy die SD Karte deaktiviert wenn es im Massenspeicher Betrieb am PC hängt? MfG
>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 :-)
Also: Es geht nicht, weil nicht zwei Systeme gleichzeitig das Dateisystem verwalten können. Verändert das eine System etwas am Dateisystem, bekommt es das andere nicht mit, was, wenn z.B. Verzeichnisstrukturen oder die FAT betroffen sind, sehr schnell zu Datenverlust und anderen netten Inkonsistenzen führen kann.
Rufus Τ. Firefly schrieb: > Also: > Es geht *nicht* Natürlich geht das. Nimm einfach einen Kartenleser, und deinen Arduino, und verbinde die Drähtchen alle huckepack. Dann wirds schon funzen. Ehrlich, ihr Experten, heutzutage braucht man doch keine Ahnung mehr von Dateisystemen oder so etwas zu haben. Ein Arduino reicht. Damit geht alles.
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ß
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.
Du könntest es so wie google bei Android >= 3 machen: MTP. MTP ist ein dateibasiertes Protokoll, sodass auf deinem µC die SD-Karte gemountet bleiben kann.
Danke schön!
und danke kanasta für deine Antwort bzgl.
>Gibt es hier irgendwie Punkte für sinnlose Antworten?
Hans W. schrieb: > und danke kanasta für deine Antwort bzgl. >>Gibt es sowas auch vorgefertigt für Arduino? Ja klar, einfach copy&paste und fertig.
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...
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.
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.
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ß
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.
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.
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...
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.
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!
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.
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
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.
Ja, solche Bridge Chips gibt es, z.B. von Cypress: http://www.cypress.com/?id=214&source=header Für unser Projekt waren die aber zu teuer. Ein GL823 von Genesyslogic + ein Busswitch ist in Stückzahlen billiger. Gruß Thomas
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.