Zugriff auf SD-Karte von zwei Geräten gleichzeitig

Gast #2141367
Lesenswert?

Hallo...
Mich würde sehr interessieren ob es schoneinmal jemandem gelungen ist 
eine SD-Karte von zwei Geräten gleichzeitig zu Nutzen.
Ich habe vor eine SD-Karte einseitig am Bifferboard zu mounten, um den 
Zugiff aus dem Netzwerk oder Internet zu haben und die gleiche Karte an 
einem Medienendgerät zu betreiben (über usb Cardreader).
Da es in letzter Zeit viele Geräte mit USB Interface gibt wäre es toll 
wenn diese "Netzwerkfähig" bzw. W-Lan oder über VPN Verbindung aus dem 
Internet nutzbar gemacht werden könnten (Inhalt des Speichers).
Ursprünglich dachte Ich daran die Karte einfach über ein Relay (bei 
USB-Stick wären das nur 2 Leitungen) über die GPIO´s vom Biff zu 
schalten..
Anwendungen dafür gäb es beinahe unendlich viele..

leider bin ich noch nicht der Crack was Die Adressierung von SD-Karten 
angeht.. Bekommt die Karte ein Clock Signal von ihrer Quelle??
Könnte man nicht einen µC als Puffer an die Karte hängen der nach Aussen 
hin ein Doppeltes SD-Karten Interface bereitstellt. Im Fall das 
gleichzeitig auf Daten zugegriffen wird könnte er dann sozusagen ein 
writeprotect simulieren.

Danke für Infos falls vorhanden ;-)

Mario
Gast #2141417
Lesenswert?

es wird an den höheren Protokollen scheitern, sinnvollerweise werden die 
FAT Einträge gecacht, wenn beide System nichts voneindern wissen dann 
zerlegt sich das Filesystem. Wenn man es richtig machen will, müssten 
man ein clusterfähiges Filesystem verwenden.
Gast #2141432
Lesenswert?

Darauf wird es wohl hinauslaufen.. Werde evtl. jeh nach Clockquelle 
umschalten und das Endgerät nur im Read only (ist ja sowieso meistens 
so) betreiben.. Dann kann auch das Filesystem (Fat32) nicht zerbombt 
werden..
Danke für die schnelle Hilfe...

mfg Mario
Gast #2141437
Lesenswert?

Mario B. schrieb:
> und das Endgerät nur im Read only (ist ja sowieso meistens
> so) betreiben.. Dann kann auch das Filesystem (Fat32) nicht zerbombt
> werden..
aber was hast du dann davon, wenn das system die FAT ausließt und sieht 
das die karte leer ist, dann hilft es auch nicht wenn der andere die 
Karte beschreibt. Das Readonly system wird einfach nichts auf die Idee 
kommen nach neuem Inhalt zu suchen.
Gast #2141456
Lesenswert?

Also die Sache wird doch wieder komplizierter..
Naja.. werde wohl nach jedem Schreiben die Karte am Engerät neu anmelden 
lassen.. So würde bestimmt auch jede China Hinterhofklitsche das Problem 
lösen :-)

Danke erstmal für die Anregungen..
#2141458
Lesenswert?

Rufus Τ. Firefly schrieb:
> Nur, wenn die Hosts auch jeweils mitbekommen, daß ihnen die SD-Karte
> "entrissen" wurde, sonst geht die Datenintegrität mit ziemlich hoher
> Wahrscheinlichkeit flöten
Das ist mit dem Bifferboard zu bewerkstelligen. Dem 'Medienendgerät' 
verbietet man einfach auf die SD-Karte zu schreiben 
(Schreibschutzschalter im SD-Karten Slot verbiegen)
Gast #2141518
Lesenswert?

Mario B. schrieb:
> Mich würde sehr interessieren ob es schoneinmal jemandem gelungen ist
> eine SD-Karte von zwei Geräten gleichzeitig zu Nutzen.
> Ich habe vor eine SD-Karte einseitig am Bifferboard zu mounten, um den
> Zugiff aus dem Netzwerk oder Internet zu haben und die gleiche Karte an
> einem Medienendgerät zu betreiben (über usb Cardreader).
> Da es in letzter Zeit viele Geräte mit USB Interface gibt wäre es toll
> wenn diese "Netzwerkfähig" bzw. W-Lan oder über VPN Verbindung aus dem
> Internet nutzbar gemacht werden könnten (Inhalt des Speichers).
> Ursprünglich dachte Ich daran die Karte einfach über ein Relay (bei
> USB-Stick wären das nur 2 Leitungen) über die GPIO´s vom Biff zu
> schalten..
> Anwendungen dafür gäb es beinahe unendlich viele..
>
> leider bin ich noch nicht der Crack was Die Adressierung von SD-Karten
> angeht.. Bekommt die Karte ein Clock Signal von ihrer Quelle??
> Könnte man nicht einen µC als Puffer an die Karte hängen der nach Aussen
> hin ein Doppeltes SD-Karten Interface bereitstellt. Im Fall das
> gleichzeitig auf Daten zugegriffen wird könnte er dann sozusagen ein
> writeprotect simulieren.

Das ist alles nicht so einfach. Zu Relay/Multiplexer Ansätzen: Du kann 
die Karte nur zwischen Transmission umschalten. Das mußt du 
synchronisieren. Des Weiteren muß jedem Gerät bewußt sein, wann es 
Zugriff auf die Karte nehmen kann und wann nicht (weil es gerade 
abgeklemmt ist). Auch muss ein Gerät wissen ob es die Karte 
initialisieren kann/darf - dies sollte nur ein Gerät tun. Dein USB 
Cardreader wird darauf bestehen dies immer zu tun, sodass dies Probleme 
geben kann. Auch mußt du bedenken, dass der Controller des Cardreaders 
einen Cache beinhalten kann. Der Controller muss die Chance haben seinen 
Cache auf die Karte zu schreiben bevor sie abgeklemmt wird. Bei einem 
Cardreader gehe ich auch davon aus, dass der native Ansteuermodus der SD 
Karte benutzt wird und kein SPI. Du hast hier mehr zum multiplexen. 
Außerdem denke ich dass du in jedem Fall mindestens 3 Leitungen (CLK, 
MOSI und CS) multiplexen oder als Open Collector zusammenschalten mußt.

...kurz um, so wie du es beschrieben hast würde ich sagen: Vergiß es!
Gast #3121328
Lesenswert?

Moin,

würde das Thema gerne wieder aufgreifen.
Ich würde auch gerne eine SD Karte von 2 Geräten aus nutzen.

Hab echt schon lange gesucht, aber nichts gefunden.
Gibt es da keine Möglichkeit?

Z.b. Kartenleser so umbauen, das er an beiden PC's angeschlossen ist.
Und dann vielleicht per Raspberry steuern welcher PC gerade 
lesen/sachreiben darf.

Es sollen ja nicht beide PC's gleichzeitig drauf zugreifen dürfen, 
sondern es reicht, wenn nur einer zur Zeit zugriff hat.

Jemand eine Idee?
#3121389
Lesenswert?

...der eine PC verwaltet die Karte dediziert und stellt dem anderen nach 
Anforderung ein aktuelles Snapshot bzw. Image zur Vefügung... letztlich 
geht es um die Synchronisierung der Daten und nicht um die 
harwaremässige Doppel-Verwaltung der Karte.
Prinzip: Datenbankengine mit definierbaren Zugriffsprioritäten.
Moderator (Firma: Titel) Persönliche Seite #7513179
Lesenswert?

Peter N. schrieb:

und dem anderen µC den Zugriff sperren...?

Einfach noch einen winzig kleinen Schritt weiterdenken: wie soll denn dieses "Sperren" gehen, wenn das ein gekauftes Fertiggerät z.B. eine Kamera mit fertiger Software ist?

Dann könnte man eine Schaltung bauen, die einem µC nur Zugriff auf die Karte erlaubt, wenn CS high ist

Lies dich doch einfach mal in das entsprechende Protokoll ein. Da ist noch mindestens eine Protokollebene über dem CS. Was, wenn der Eine in einem CS-Zyklus das Kommando zum Schreiben gibst und mit dem nächsten CS-Zyklus die Daten schreiben will, aber in der CS-Pause zwischendurch der Andere mit dem Kommando Lesen loslegt?

Und darüber gibt es dann noch Protokolebenen, wo der Treiber im Betriebssystem interne Zustände auf dem Rechner abbildet und entsprechend reagiert. Und natürlich falsch reagiert, wenn die Karte nicht in dem Zustand ist, der für sie vermutet wird.

Fazit: schon der dritte Post in diesem Thread sagt im Grunde alles.

Dimitri S. schrieb:

Wie wäre es, wenn die Karte von einem Gerät, z. B. einer Kamera, gesteuert und befüllt wird, und ich zur gleichen Zeit Fotos mit Hilfe von SPI auslese?

Probiers doch einfach aus. Du wirst einiges dabei lernen. Und du wirst herausfinden: das geht nicht. Die Produkte, auf die man anscheinend gleichzeitig von 2 Seiten Zugreifen kann (USB-Sticks oder SD-Karten mit WLAN) haben intern extra einen Contreoller, der die Zugriffe auf den gemeinsamen Speicher verwaltet.

BTW: man muss für so eine Frage nicht einen uralten Zombie ausgraben. Und man muss die Frage eigentlich gar nicht stellen, wenn man sich wie gesagt selber nur einen Hauch eines Gedanken macht. Oder wenigstens das, unter das man seinen neuen Post geschrieben hat, auch mal durchliest.

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