mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mit einem USB-Kabel kommunizieren und Daten austauschen


Autor: Markus B. (rusticus)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus B. (rusticus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Anschluss einer SD-Karte ist doch nicht direkt mit dem von USB 
kompatibel? Wieso bräuchte ich sonst Card-Reader?

Autor: Oliver Ju. (skriptkiddy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus B. schrieb:
> Der Anschluss einer SD-Karte ist doch nicht direkt mit dem von USB
> kompatibel? Wieso bräuchte ich sonst Card-Reader?

Er sprach von Mikrocontrollern mit USB, nehme ich an.

Autor: Markus B. (rusticus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sry wenns nicht verständlich war!


Ich will mit dem µC, vorzugsweise einem AT90CAN128 per USB 
kommunizieren. Quasi UART, das entweder mit einem FTDI - Chip oder vUSB

Außerdem soll sich die SD-Karte beim Anstecken als "Mass Storage Device" 
anmelden.


Haken dabei: Ein Kabel


So nun ist die Frage, was ich dafür brauche

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus B. schrieb:

> Außerdem soll sich die SD-Karte beim Anstecken als "Mass Storage Device"
> anmelden.

Und die SD Karte wird jetzt wo angesteckt?

Ich nehme mal an am AVR.
Das heißt der AVR muss Vermittler spielen und dem Windows zusätzlich 
noch ein Mass Storage Device vorgaukeln und alle Anforderungen an dieses 
Device auf der SD Karte abwickeln.

So richtig?

Autor: Markus B. (rusticus)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Haken dabei: Ein Kabel
Kein Haken mit dem Kabel, sondern mit deinem Wunsch nach dem AT90CAN128. 
Wenn du einen AVR mit USB nimmst, hast du alle Wünsche abgedeckt. Oder 
bist du auf den AT90CAN128 gezwungen?

Ralf

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Markus B. (rusticus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Markus B. (rusticus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Rufus, bringt mich schon einen großen Schritt weiter!
Dann brauch ich aber noch einen USB-SD-Treiber oder?

Die SD  - Karte soll wohl aus optischen Gründen mit ins Gehäuse/Platine 
um dort das entsprechende Windowsprogramm abzuspeichern oder so

Autor: Robi-Wan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bezieht der µC seine Betriebsspannung über diese USB-Leitung?
Wenn nicht, könntest du die Datenleitungen Trennen / Atmel deaktivieren 
wenn das USB Kabel eingesteckt ist.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.as...


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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.