Forum: Mikrocontroller und Digitale Elektronik USB on-the-go oder USB Host? Die Qual der Wahl


von Germanherman49 (Gast)


Lesenswert?

Hallo zusammen,

ich habe ein Problem bei der Auswahl eines geeigneten Systems. Bislang 
habe ich leider eher wenig Erfahrung mit USB und deshalb mögen meine 
Fragen auch etwas wirr sein (wobei ich hoffe, dass nicht).

Es geht darum, eines unserer Geräte mit einem USB-Zugang auszustatten. 
Wobei die Hauptanforderungen (zunächst) darauf abzielt, Sticks und/oder 
Festplatte anzuschließen um z.B. automatisiert Konfigurationsdaten zu 
übertragen. Scheint also relativ schnell auf einen USB-Host mit 
entsprechenden SW-Stack rauszulaufen.

Im zweiten Schritt soll ich berücksichtigen, dass evtl. weitere 
Geräte/Funktionalitäten hinzukommen sollen, z.B. W-LAN. Geht mit einem 
Host auch noch ganz gut soweit.

Knackpunkt ist, dass ich später evtl. auch per Notebook/PC an diese 
Schnittstelle andocken können soll, z.B. zum Flashen, für Updates etc. 
Dann bekomme ich aber Probleme mit einem Host. Also müsste es in diesem 
Fall doch wieder eine on-the-go-Lösung sein. Oder gibt’s noch eine 
andere Möglichkeit?

Mein Fazit:
•  USB on-the-go mit nur eingeschränkte Erweiterungsfähigkeit?
•  USB Host, dann aber ohne Verbindung zu Notebook/PC
•  USB Host und Slave, dann aber „stark“steigende Kosten (2x Connector, 
2 ICs..)


Lieg ich damit soweit richtig. Hättet ihr irgendwelche Anregungen, 
Korrekturen oder Vorschläge?

Mal so allgemein gefragt: Welche Möglichkeiten habe ich mit USB 
on-the-go, sprich, was kann ich anschließen. Wäre es z.B. möglich ein 
W-LAN-Modul anzuschließen? Oder gibt’s Einschränkungen bezüglich 
Funktionsumfang?

Bin für jeden Beitrag schon im Voraus dankbar!

Viele Grüße

von Frank (Gast)


Lesenswert?

Hallo,

könntest Du noch zusätzlich beschreiben, welchen Controller Ihr 
verwendet oder welche Controller in Frage kommen. Und interessant wäre 
auch noch, ob Ihr mit oder ohne Betriebssystem arbeitet.

Gruss

- Frank

von Germanherman49 (Gast)


Lesenswert?

Hallo Frank,

das Ganze ist zunächst als Modul geplant, welches wir an unser 
Hauseigenes Bussystem anstecken können sollen. Denkbar ist aber auch 
eine Lösung auf Basis einer unserer Plattformen die bereits eine oder 
USB-Schnittstelle(n)on-chip haben.

Prinzipiell bin ich auf nichts festgelegt, also weder auf einen 
bestimmten Hersteller noch auf einen SW-Stack. RTOS haben wir am Laufen, 
aber nur auf den größeren Plattformen. Die kleine Modullösung wäre aus 
Kostengründen vermutlich ohne.

Wie Du vielleicht rauslesen kannst sind die Anforderungen alles Andere 
als klar umrissen, was meine Aufgabe nicht leichter macht. Im Prinzip 
läuft alles auf ein schau-ma-mal-was-es-kosten-kann raus. Das birgt 
natürlich die Gefahr, dass ich die Abschätzung treffe und morgen möchten 
die Damen und Herren der Führung plötzlich zur Funktion x auch noch 
u,v,w,y, und z. Und gehen davon aus, dass das alles recht einfach zu 
realisieren sein müsste, nachdem USB so eins "schöner, allgemein 
bekannter Standard" ist.

Meine Ideen gingen in Richtung
a) FTDI (o.Ä.) + µC
b) µC mit integr. USB-Funktionalität (Host/OTG)
[c) bestehende Plattform mit USB und "nur noch" den SW-Stack aufspielen 
und "ein paar Drähte ziehen etc."]


Aber zurück zum Thema: Was geht mit OTG? Hast Du diesbezüglich ein paar 
Infos für mich. Ich acker mich gerade ohnehin schon durch die Spec :-)

Viele Grüße
Georg

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn es nicht allzusehr auf Performance ankommt, könnte ein Vinculum II 
etwas für Dein Projekt geeignetes sein. Das ist ein programmierbarer 
USB-Host- und -Slave-Controller, der etliche Teile des USB-Stacks 
übernimmt:

http://www.ftdichip.com/Products/ICs/VNC2.htm

von Frank (Gast)


Lesenswert?

Hallo Georg,

also das wird nicht so einfach.
Wenn Du ein OS hast, welches USB-Host-Funktionalität anbietet würde es 
gehen. Ohne dem ist es nahezu aussichtslos -Du müßtest den gesamten 
Stack inklusive Enumeration implementieren. Extrem aufwendig und dann 
noch die einzelnen USB-Klassen unterstützen, also Mass-storage, LAN, ...
Die einzige Möglichkeit ist der bereits erwähnte Vinculum-Chip für 
Mass-Storage. Aber dann wird nix aus dem WLAN.
USB OTG wäre der richtige Weg - nur mußt Du in Deinem "Modul" dann 
USB-Host und USB-Device-Funktionalität unterstützen. Wieviele Mannjahre 
kannst Du der Geschäftsleitung abringen? ;-)

Gruss

- Frank

von Germanherman49 (Gast)


Lesenswert?

Hi Frank,

den SW-Stack würden wir nicht selbst entwickeln, sondern zukaufen und 
auf unsere Anforderungen anpassen. D.H. der Posten würde schon mal 
wegfallen. Für mich ist zunächst mal wichtig, inwiefern der OTH-Host 
eine vollwertige Host-Funktionalität bietet bzw. inwieweit diese 
eingeschränkt ist.

Auf würdest Du eher gehen in dem beschriebenen Fall: Host oder OTG?

Vielen Dank auf jeden Fall!

Gruß
Georg

von Peter Z. (peter2)


Lesenswert?

Hallo,
wie wäre es mit einem Bluetoth Stick zum Konfigurieren per Computer? Die 
Kosten ja heute nicht mehr die Welt und du könntest deinen USB Host 
verwenden. Wie aufwendig es zu Programmieren ist ist natürlich die 
andere Frage... .
Gruß
Peter

von Germanherman49 (Gast)


Lesenswert?

Hi Peter,

ist natürlich auch eine Option, die es mal zu diskutieren gilt. Weißt, 
Du welche Einschränkungen on-the-go-Hosts haben oder hast Du 
Erfahrungswerte?

Danke und Gruß
Georg

von Potter (Gast)


Lesenswert?

Hallo  Germanherman49,

Mouse,Keyboard,HID-Generic und VCP,MSD sollten als OTG noch relativ 
einfach zu implementieren sein, da es viele Beispiele gibt. Das LAN nehm 
ich mal davon aus. Aber vlt. kann man das ja dazu kaufen.

Gruß Potter

von Willi W. (mrwill)


Lesenswert?

grüß euch,

ich arbeite gerade mit dem Pic24fj256gb106 an nem Host.
Denk nicht ,dass die otg Funktionalität einschränkungen mit sich bringt. 
Du musst nur die richtigen Vorkehrungen treffen wie Busspannung zu- bzw. 
abschalten.

Aber eigentlich sollte ein Host im OTG Modus das selbe können wie ein 
normaler Host.


lg
willi

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.