Forum: Mikrocontroller und Digitale Elektronik Gibt es einen USB host(Stick) auf SD Karte(n Port) Converter ?


von Erik E. (erik_e)


Lesenswert?

Es gibt ja zu Hauf USB Sticks in die man eine SD Karte reinstecken kann 
um diese auszulesen.
Gibt es aber auch das umgekehrte ? Ich habe schon versucht zu googlen, 
aber wenn dann nur immer die erstere Variante gefunden.

Ich habe ein Device das einen SD Kartenslot hat und kein USB, ich würde 
dort gerne USB Sticks als Alternative einstecken. Gibt das Lösungen oder 
stell ich mir das zu einfach vor.

von Rüdiger B. (rbruns)


Lesenswert?

Erik E. schrieb:
> stell ich mir das zu einfach vor.

Ja.

von Falk B. (falk)


Lesenswert?

Erik E. schrieb:
> Ich habe ein Device das einen SD Kartenslot hat und kein USB, ich würde
> dort gerne USB Sticks als Alternative einstecken.

Warum? Mal wieder eine Extrawurst braten? Es gibt wohl aber SD-Karten 
mit WLAN!

von Xanthippos (xanthippos)


Lesenswert?

Was ist das überhaupt für ein Device?

Willst du für einen Datenlogger USB-Speicherstick statt SD-Karte 
benutzen? Ist es ein altes Klapphandy ohne USB?

Was hast du vor? Für welches Betriebssystem? Kannst du die Treiber 
selbst schreiben?

von Erik E. (erik_e)


Lesenswert?

Das Gerät ist ein 3D Drucker der eben nur einen SD Karten Slot hat, also 
nur eine TXT Datei und schnell muss es auch nicht sein. Die
SD Wifi-Lösung soll ja sehr Fehlerhaft sein und wird abgelehnt. Was 
benötigt es um das umzusetzen
bzw. warum geht das in die eine Richtung problemlos anders herum aber
nicht ?

: Bearbeitet durch User
von Jens M. (schuchkleisser)


Lesenswert?

Erik E. schrieb:
> bzw. warum geht das in die eine Richtung problemlos anders herum aber
> nicht ?

Weil USB schlau ist und SD doof.
USB verlangt einen Massenspeicher, die Art des Speichers dahinter ist 
dem Gerät egal, darum kümmert sich der Stick selber.
SD ist ein Blockspeicher, und woher soll der Adapter wissen was in Block 
76467 liegen muss? Das könnte die Datei xy.txt sein, aber auch ein Icon. 
Oder die FAT. Oder alter Müll, der gelöscht wird.

Erik E. schrieb:
> Die
> SD Wifi-Lösung soll ja sehr Fehlerhaft sein. Was benötigt es um das
> umzusetzen

So eine Karte und WLAN.
Die Karte kann FAT lesen und muss dem Gerät vorgaukeln gezogen worden zu 
sein.
Dann kannst du via WLAN die Datei tauschen und die Karte sagt "ich bin 
wieder da".
Das funktioniert nicht mit allen Geräten, und auch die Stromaufnahme des 
WLAN ist für manchen SD-Slot ein Problem.
Die KArten selbst funktionieren absolut großartig.

Den Drucker via Kabel mit einem RPi o.ä. anzusteuern ist keine Option?
Stichwort Octoprint z.B.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Jens M. schrieb:

> Weil USB schlau ist und SD doof.

Nein, das ist nicht der Grund.

> USB verlangt einen Massenspeicher, die Art des Speichers dahinter ist
> dem Gerät egal, darum kümmert sich der Stick selber.
> SD ist ein Blockspeicher

Eben, genau wie USB-MSD.

Das Problem ist ein anderes und besteht eigentlich aus drei 
Teilproblemen:

1)
Ein Adapter muß schon verdammt fix sein, um Richtung Host eine SD-Karte 
zu simulieren.

2)
Er kann SD nicht in vollem Umfang abbilden (das "S" in SD stört hier 
gewaltig, zumindest dann, wenn der Host Wert darauf legt, das diese 
Funktionen vorhanden sind)

3)
SD-Card-Geräteschnittstellen sind sehr oft schon rein mechanisch 
völlig ungeignet, um auch nur eine USB-Buchse nach "außen" zu bringen. 
Geschweige denn auch noch so, dass man einen Stick daran stöpseln 
könnte.

von Jens M. (schuchkleisser)


Lesenswert?

Ob S. schrieb:
> (das "S" in SD stört hier
> gewaltig, zumindest dann, wenn der Host Wert darauf legt, das diese
> Funktionen vorhanden sind)

Welche Geräte nutzen das denn noch? Ich hab schon ewig kein SD-Gerät 
mehr gesehen, das irgendwas gesperrt hätte, das letzte war ein 
Telefonanlagen-Wartemusik-MP3-Player von ca. 2010, der eine 
Lizenz/gesicherte KArte und eine spezielle Firmware hatte (Also normalen 
MP3-Player kaufen, Firmware verändern, bingo spielt nur noch spezielle 
Karten, die woanders auch nicht mehr gehen. Karte/Gerät-Kopplung).

Ob S. schrieb:
> SD-Card-Geräteschnittstellen sind sehr oft schon rein mechanisch
> völlig ungeignet, um auch nur eine USB-Buchse nach "außen" zu bringen.

Dafür gibt's beim Ali 20cm lange Verlängerungskabel, auch prima um uSD 
auf normale Größe zu bringen.

Ob S. schrieb:
> Ein Adapter muß schon verdammt fix sein, um Richtung Host eine SD-Karte
> zu simulieren.

Da hast du allerdings Recht, das kommt noch obendrauf.
Schließlich ist bei SD ja kein nennenswert schlauer Controller drin, das 
ist letztendlich ein SPI-Speicher, der Master gibt den Takt vor.
Da muss der Adapter halt das USB-Medium cachen... ;)

von Erik E. (erik_e)


Lesenswert?

Octoprint und der gleichen ist schon bekannt, das ist in den Fall keine 
Option.
Bezugnehmend auf diese WIFI SD Kartensache
https://arduino-craft-corner.de/index.php/de/2023/02/14/sd-wifi-von-fystec/
scheint es ja fast möglich zu sein eine SD Karte zu emulieren

Quote:
Das Modul und seine Firmware wurden von dem GitHub-Benutzer ardyesp 
entwickelt. Es ist ein SD-Kartenadapter, auf dem ein 
microSD-Kartensteckplatz und ein ESP8266 untergebracht sind. Auf dem 
ESP8266 läuft ein WebDAV-Server, den man übers WLAN ansprechen kann.

Könnte man nicht die SD Geschichte beibehalten und dort noch ne USB host 
Geschichte dran tüdeln oder wieder zu einfältig ?

von Hmmm (hmmm)


Lesenswert?

Erik E. schrieb:
> scheint es ja fast möglich zu sein eine SD Karte zu emulieren

Da wird nichts emuliert.

Erik E. schrieb:
> Es ist ein SD-Kartenadapter, auf dem ein microSD-Kartensteckplatz und
> ein ESP8266 untergebracht sind.

Dein Gerät redet mit der microSD-Karte, und wenn der ESP darauf 
zugreifen will, ist die Karte aus Sicht des Geräts vorübergehend 
entfernt, so dass es keine Kollisionen gibt.

von Jens M. (schuchkleisser)


Lesenswert?

Das ist genau das was die kommerziellen Karten machen, nur eben DIY.

von Monk (roehrmond)


Lesenswert?

Offenbar gab es mal Speicherkarten mit beiden Schnittstellen (USB und 
SD). 
https://newatlas.com/sd-memory-card-with-built-in-usb-connectivity/3742/

Ich habe aber kein aktuelles Angebot dieser Art gefunden.

Vielleicht kannst du sie dort noch kaufen:
https://www.digitalkamera.de/Zubehoer/SanDisk_SD_ULTRA_II_Plus_USB_1_GByte/27872161666688304

: Bearbeitet durch User
von Christian (grobig80)


Lesenswert?

Also ganz naiv betrachtet sollte das schon möglich sein. Wenn ich mich 
richtig erinnere gibt es in den sd specs gewisse timeouts für die 
command response und block data welche die Karte einhalten muss, 
irgendwas um die ~100-500ms, müsste man nachlesen. Wenn dein usb host es 
schafft innerhalb dieser Zeitspannen die Daten vom stick zu lesen sollte 
es funktionieren. Ich kenne jetzt die usb mass storage specs nicht aber 
würde naiver Weise davon ausgehen das der usb host genauso wie der sd 
host block bzw. sector data vom stick anfragt. FAT ist halt FAT, meiner 
Meinung nach, aber ohne die specs genau zu kennen kann ich da auch nur 
mutmaßen.

von Michael L. (nanu)


Lesenswert?

Erik E. schrieb:
> Ich habe ein Device das einen SD Kartenslot hat und kein USB, ich würde
> dort gerne USB Sticks als Alternative einstecken. Gibt das Lösungen oder
> stell ich mir das zu einfach vor.

Es gibt "Geräte", keine Ahnung wie die heißen und welches Fabrikat das 
war, hat ein Kollege mal angeschleppt, die haben einen SD-Karten Stecker 
zum Anschluß an ein Device und auf der "anderen Seite" einen USB-Stecker 
für den PC. An der Seite war ein Slot, in den eine SD-Karte rein 
gehörte. Damit konnte man die SD-Karte vom PC aus bespielen und dann via 
Software auf den SD-Karten Stecker umschalten. Dabei ist dann allerdings 
die Karte immer auf ein Gerät geschaltet, das andere kann nicht 
gleichzeitig drauf zugreifen. Erspart halt das Abziehen und Umstecken 
der SD-Karte.

von Falk B. (falk)


Lesenswert?

Erik E. schrieb:
> Das Gerät ist ein 3D Drucker der eben nur einen SD Karten Slot hat, also
> nur eine TXT Datei und schnell muss es auch nicht sein.

Und wo ist der Vorteil des USB-Sticks? Der ist genau so schnell gesteckt 
und gezogen wie eine SD-Karte!

-> First World Problems!

EoD

von Malte _. (malte) Benutzerseite


Lesenswert?

Technisch möglich wäre das schon:
Ein (schneller) MCU simuliert die SD Karte und hat selbst einen USB Host 
mit USB Stick. Aber es gibt sicher bessere Lösungen:
Wenn du die SD Karte ohne Umstecken befüllen möchtest, damit kannst du 
die SD Karte wahlweise per PC oder Zielgerät nutzen:
https://shop.linux-automation.com/usb_sd_mux-D02-R01-V02-C00

: Bearbeitet durch User
von Erik E. (erik_e)


Lesenswert?

Da scheint etwas mehr Geschwindigkeit notwendig zu sein.
https://hackaday.io/project/19783/logs
Da wird ein fpga eingesetzt, werde mal die fertigen Lösungen, die da 
verlinkt sind, ansehen.

: Bearbeitet durch User
von Purzel H. (hacky)


Lesenswert?

Ich hab einen 3D Drucker, einen FLSun 5Q, der hatte so ein Teil dabei. 
Am PC wird der USB Stick eingesteckt, fuer den Drucker zieht man die SD 
Karte raus. Gibt's also fertig.

von Harald K. (kirnbichler)


Lesenswert?

Purzel H. schrieb:
> Am PC wird der USB Stick eingesteckt, fuer den Drucker zieht man die SD
> Karte raus. Gibt's also fertig.

Du beschreibst einen SD-Kartenleser.

Nee, das ist etwas komplett anderes als das, was der Threadstarter will.

von ●DesIntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

Mal die Platine(n) inspizieren, ob es da nicht Lötpunkte gibt,
die einem Footprint für irgendwas USB-artiges gleichkommen.

entweder für 'ne Buchse direkt oder 4 Lötpads/-ösen in einer Reihe.
Es gibt genügend Geräte in denen doch eine
USB-Konnektivität versteckt möglich ist,
die nur nicht aussen zugänglich gemacht wurde.
Falls vorhanden, dort eine USB-Buchse, annem Stück Kabel, anlöten

Die Industrie will ja gerne
mit möglichst wenig Bauteilen/Baugruppen
möglichst viele verschiedene Geräte bauen.

: Bearbeitet durch User
von Erik E. (erik_e)


Lesenswert?

Ich habe jetzt eine solche FPGA Kiste bestellt, nachdem mir der 
Produzent bestätigte, dass es eben genau das ist, was benötigt wird.

von Christian M. (christian_m280)


Lesenswert?

Erik E. schrieb:
> FPGA Kiste bestellt

Super, dann musst Du ja nur noch schnell das VHDL dazu schreiben...

Gruss Chregu

von Erik E. (erik_e)


Lesenswert?

ne, tut alles schon.

von Harald K. (kirnbichler)


Lesenswert?

Erik E. schrieb:
> ne, tut alles schon.

In nur ein paar Stunden, nachdem Du den Kram bestellt hast?
Beeindruckend.

von Erik E. (erik_e)


Lesenswert?

Laut Aussage natürlich.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Erik E. schrieb:

> Laut Aussage natürlich.

Nach zwei Tagen diese Aussage von dir? Kann es sein, das in deinem Satz 
als letztes Wort noch ein "nur" fehlt?

von Rolf M. (rmagnus)


Lesenswert?

Jens M. schrieb:
> USB verlangt einen Massenspeicher, die Art des Speichers dahinter ist
> dem Gerät egal, darum kümmert sich der Stick selber.
> SD ist ein Blockspeicher, und woher soll der Adapter wissen was in Block
> 76467 liegen muss? Das könnte die Datei xy.txt sein, aber auch ein Icon.
> Oder die FAT. Oder alter Müll, der gelöscht wird.

Du scheinst zu glauben, dass bei USB das Handling des Dateisystems schon 
im Stick selbst passiert. Dem ist nicht so. Ein USB-Stick ist genau wie 
eine SD-Karte ein "dummer" Blockspeicher.

Ob S. schrieb:
> 1)
> Ein Adapter muß schon verdammt fix sein, um Richtung Host eine SD-Karte
> zu simulieren.

Warum? Man liest doch immer wieder, dass sich SD-Karten jederzeit 
Hunderte von Millsekunden an Auszeit nehmen können. Das kann so ein 
Adapter ja dann auch einfach tun.

von Harald K. (kirnbichler)


Lesenswert?

Rolf M. schrieb:
> Warum?

Weil das, was Du beschreibst, auf einer Protokollebene überhalb der 
grundlegenden Kommunikation geschieht. Die grundlegende Kommunikation 
aber erfolgt mit heutigen SD-Karten mit sehr hoher Geschwindigkeit - bei 
UHS-1-Karten können dabei Datenraten von knapp 100 MByte/sec erreicht 
werden.

Und damit muss die Simulation klarkommen. Die kann dann, nach dem 
Empfang eines Datenblocks, zwar erst mal 'ne Pause machen, aber den 
Datenblock muss sie entsprechend flott entgegennehmen können.

Das geringste, was die Simulation schaffen muss, sind die 12.5 MByte/sec 
der Ur-SD-Karten, was 25 MHz QSPI-Takt entspricht. Aber bereits mit der 
SD-Spezifikation 1.10 wurde diese Taktfrequenz auf 50 MHz verdoppelt, 
was in einer Übertragungsrate von 25 MByte/sec resultiert.

Mit UHS-1 wurde die Taktfrequenz auf 100 und sogar 208 MHz angehoben, 
womit die per UHS-1 möglichen knapp 100 MByte/sec heutiger Karten 
möglich wurden.

Hier ist also ein Test mit einer möglichst steinalten SD-Karte angesagt 
(< 1 GByte), um herauszufinden, ob der 3D-Drucker überhaupt den 
Uralt-Standard mit 25 MHz unterstützt.

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.