Mit einem USB-Kabel kommunizieren und Daten austauschen

OP #1966386
Lesenswert?

Hallo,

ich würde gerne für ein Projekt eine SD-Karte oder ähnliches nehmen und 
dann über eine USB-Schnittstelle darauf zugreifen, als Mass Storage 
Device, gleichzeiig will ich mit dieser einen Verbindung aber auch mit 
meinen µC kommunizieren. Wie das von statten geht, ob per Chip, per vUSB 
oder ob ich die neuen von Ateml mit eingebauten USB-Kontroller nehm, 
weiß ich noch nicht, tendenz geht zu den ersten beiden, da ich gerne 
wieder den AT90CAN128 nutzen würde.

Ich habe schon geschaut und habe herausgefunden das ich wohl einen Chip 
brauch um per USB mit der SD-Karte zu kommunizieren, also quasi nen 
Card-Reader als Chip, dieser scheint aber schwer zu bekommen zu sein was 
ich bisher gesehen habe.

Desweiteren brauche ich wohl noch einen USB-Hub-Controller wie hier:
Beitrag "USB HUB Selbstbau mit TUSB2036"



Lohnt sich das? Ist das noch realisierbar? Oder muss ich mir dann Teile 
mühselig aus Fernost holen?! Ideal wäre Conrad.


Gibt es inzwischen Alternativen? Kann zB der Atmel das übernehmen? 
Geschwindigkeit wär jetzt nicht mein Hauptaugenmerk



Danke schon mal im Vorraus!

mfg Rusticus
Gast #1966400
Lesenswert?

Wieso machst du das SD-Interface nicht direkt mit dem USB Controller?
Er muss nur genug USB-Endpunkte haben um sowohl die SD-Karte als auch 
dein Wunsch-Interface (HID, VCP, etc.) bedienen zu können...

Ralf
OP #1966507
Lesenswert?

Das ist eine möglichkeit

Die einzige vorgabe an die SD-Karte ist, das sie sich als "Mass Storage 
Device" anmelden kann, wie ist egal, sie wird halt über einen SD-Slot 
mit auf der Platine verbaut

Ob nun direkt per USB oder über den AT is mir egal, wobei ich 2te 
Variante, also das der AT den Controller übernimmt, am interesantesten 
aber wohl auch am schwierigsten finde
Persönliche Seite #1966607
Lesenswert?

Markus B. schrieb:
> Die einzige vorgabe an die SD-Karte ist, das sie sich als "Mass Storage
> Device" anmelden kann, wie ist egal, sie wird halt über einen SD-Slot
> mit auf der Platine verbaut

Wenn es für die Funktion des Gerätes unbedeutend ist, daß der µC mit der 
Karte kommunizieren kann, dann kannst Du natürlich auch die Kombination 
USB-Hub und USB-SD-Kartenleser verwenden; irgendwie bezweifle ich aber, 
daß so etwas wirklich gewünscht sein dürfte.
Persönliche Seite #1967354
Lesenswert?

Markus B. schrieb:
> Nein das ist eben nicht relevant, das ich darauf zugreifen kann, es muss
> nur auf einer Platine sein
>
> Also sollte ich eine USB-Hub-Lösung anstreben?

Das ist dann die geradlinigste Lösung.

> Welche Chips bekommt man denn leichter? Hättet ihr ein paa Vorschläge
> auf Lager? Oder Suchtipps?

http://www.reichelt.de/?ARTICLE=58423

Das allerdings "nur" ein USB1.1-Hub (12 MBit/sec), der Zugriff auf die 
zusätzlich anzuschließende SD-Karte (nebst Kartenleserinnereien) wird 
also etwas langsam ausfallen.

Was ist das für eine ... merkwürdige Vorgabe, daß da ein autarker 
Kartenleser mit im Gerät untergebracht werden soll?
Persönliche Seite #1969299
Lesenswert?

Markus B. schrieb:
> Dann brauch ich aber noch einen USB-SD-Treiber oder?

Richtig, so einen Chip, wie er in USB-Kartenlesern zu finden ist.

Eine Möglichkeit wäre z.B. 
http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PNid=15&PFid=25&Level=4&Conn=3&ProdID=49


Außerdem wird es natürlich windowsseitiges Genörgel geben, wenn ein 
High-Speed-Gerät (480 MBit) an einem Full-Speed-Hub (12 MBit) betrieben 
wird, was bei Verwendung des TI-Hub-Bausteines der Fall wäre.

Das hier http://www2.renesas.com/usb/en/product/upd720112.html ist ein 
USB2.0-Hub, der anstelle o.g. TI-Hub-Bausteines zu verwenden ist.

In beiden Fällen wäre natürlich die Bezugsquelle zu klären.


Alternativvorschlag: Anstelle der SD-Karte wird gleich ein USB-Stick 
verwendet.

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