Forum: Mikrocontroller und Digitale Elektronik USB Slave zum Host machen?


von Philipp (Gast)


Lesenswert?

Hallo,
kann mir wer sagen, warum ich einen integrierten Slave Controller auf 
einem MC nicht zum Host machen kann. Das ist doch nur einen 
Protokollsache, also Software.

Philipp

von XT (Gast)


Lesenswert?

Wenn der integrierte USB-Controller Slave und Hostmodus beherrscht,
man die Firmware des MC ändern kann, die geänderte FW noch in den 
Controller reinpasst und noch ein paar Hardwareanpassungen gemacht 
werden, dann besteht die Möglichkeit.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nein, das ist nicht nur Software, sondern auch Hardware. USB wird zwar 
als Bus bezeichnet, ist aber tatsächlich ein streng gerichtetetes 
Punkt-zu-Punkt-Protokoll. Und dadurch unterscheiden sich Host und Device 
auch elektrisch voneinander.

Es gibt spezielle USB-Device-Controller, deren Hardware es vorsieht, die 
Funktion zu wechseln, das ist in der USB-OTG-Spezifikation definiert.

von Philipp (Gast)


Lesenswert?

Danke für die Info. Ich quäle mich schon einige Wochen damit und eines 
ist mir immer noch nicht klar. Bei USB OTG reicht es da, wenn eine Seite 
OTG hat oder müssen beide OTG unterstützen.

Ich baue ein Gerät, an dem ich einen PDA anschließen möchte. Also nur 
ein Master, ein Slave. Mehr wird nie kommen. Was soll ich da am besten 
verwenden.

Philipp

von Christian R. (supachris)


Lesenswert?

Was willst du denn mit dem PDA machen? Soll der PDA der USB Host sein? 
Oder als Slave fungieren? USB on the Go brauchst du nur, wenn du beide 
Funktionalitäten machen willst, allerdings brauchst du da einen recht 
aufwendigen USB Software Stack und entsprechende Treiber für die 
Devices, die du anschließen willst.

von Philipp (Gast)


Lesenswert?

PDA ist Slave und mein Gerät ist der HOST. Mein Gerät, ein 
GPS-Ortungsgerät mit Verbindung ins Internet über GPRS/UMTS, soll auch 
eine USB Verbindung vom PDA ins Internet zulassen. Ich weiß, die 
Smartphones können das, aber es geht auch um Auftragsabwicklung u.s.w.

ciao,
Philipp

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> PDA ist Slave und mein Gerät ist der HOST. Mein Gerät, ein
> GPS-Ortungsgerät mit Verbindung ins Internet über GPRS/UMTS, soll auch
> eine USB Verbindung vom PDA ins Internet zulassen.

Das widerspricht sich. Dein Gerät muss für diese Betriebsart ein 
USB-Device und kein USB-Host sein.

von Εrnst B. (ernst)


Lesenswert?

Anwendung also wie folgt:

GPS-Gerät (Eigenbau) hat eine Internet-Verbindung über UMTS.

PDA (Unmodifiziert) hat USB-Slave-Port, soll Inet-Verbindung vom GPS 
mitbenutzen

Du suchst jetzt Hinweise wie dein GPS geändert werden muss, damit das 
geht.

Soweit richtig?

von Philipp (Gast)


Lesenswert?

Ja so in etwa. Ich bin gerade beim Schaltungsentwurf (Endphase) und das 
Thema USB zieht sich schon etwas dahin. Aber ich muß doch in diesem Fall 
der HOST sein oder? So viele PDA/Smartphones mit OTG gibt es anscheinend 
nicht. Ich könnte natürlich auch ein Slave sein, aber dann beschränke 
ich mich auf die PDAs mit OTG.

Philipp

von Christian R. (supachris)


Lesenswert?

Also so ganz hab ich das noch nicht kapiert. Dein Gerät hat einen GPS 
Empfänger und ein UMTS-Modem, richtig? Und was genau soll der PDA da 
machen? Und OTG ist eigentlich Standard bei den aktuellen PDAs.

von Εrnst B. (ernst)


Lesenswert?

Nachdem du für das Netzwerk-Weiterreichen eh eine etwas größere CPU 
brauchst (NAT, connection tracking, ....), schau dich doch mal bei den 
ARMs um.
Da gibts sicher auch welche die einen USB-Host Controller integriert 
haben, und Linux läuft auch drauf, d.H. du sparst dir sicher einige 
Mannjahre Entwicklung für USB + Network Stack.

von Philipp (Gast)


Lesenswert?

Also der PDA bekommt kleine Datenpakete (Aufträge) über die GPRS 
Verbindung (Ortungsbox). Ich verwende den CORTEX-M3 von ST mit 72 MHz, 
da geht schon was weiter :-) und das um $4.-

@rufus
Du hast recht, eigentlich bin ich ja das Endgerät und somit Slave - 
andersrum ist es zwar praktischer aber falsch. Das ist gut, den einen 
USB Slave habe ich im Core.

@supachris
Kennst du evt. eine Seite mit Auflistungen, welche Geräte momentan OTG 
unterstützen. Bei den Herstellern wird darüber geschwiegen. Angeblich 
sollen es die ASUS Geräte können.

ciao,
Philipp

von Christian R. (supachris)


Lesenswert?

Auflistung hab ich da leider keine. Soweit ich weiß haben zum Beispiel 
alle Smartphones OTG, mein XDA mini z.B. hat sowas. Allerdings gibts ja 
kaum Treiber dafür. Naja.

Wieso kommuniziert du nicht über die an fast allen PDAs vorhandene 
serielle Schnittstelle oder notfalls über Bluetooth (Serial port 
Profile)? Ist um einiges einfacher als USB.

von Philipp C. (philippo)


Lesenswert?

Also alle anscheinend nicht. Ich habe ein HTC Touch und der Support aus 
UK hat mir gerade mitgeteilt, daß das HTC nur einen USB Slave hat. Ich 
dachte, eine serielle haben nur mehr die Industriegeräte. BT habe ich 
auch, aber USB wünscht der Markt.

ciao,
Philipp

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.