Forum: Mikrocontroller und Digitale Elektronik USB HOST und Device an USB-A


von Dirk F. (dirkf)


Angehängte Dateien:

Lesenswert?

Hallo,
ich möchte an meiner MCU eine USB-A  Port anschließen, um folgende 
Funktionen zu ermöglichen:
- Firmware Update vom USB Stick
- Log Dateien auf USB Stock speichern.

Als Anlage das bisherige Konzept.
Grundsätzlich unterstützt die MCU  Host, Device und OTG.

Frage:  Kann ich die MCU auch als Device mit USB-A Buchse an einem PC 
benutzen?
Mit einem Kabel 1:1  USB-A Stecker auf USB-A Stecker ???

Gruß

von Frank K. (fchk)


Lesenswert?

Dirk F. schrieb:

> Frage:  Kann ich die MCU auch als Device mit USB-A Buchse an einem PC
> benutzen?
> Mit einem Kabel 1:1  USB-A Stecker auf USB-A Stecker ???

Nein. Das ist nicht vorgesehen und gemäß USB-Standard auch nicht 
erlaubt.

Du nimmst eine USB-Micro AB Buchse. Sowas hier:
https://www.we-online.com/en/components/products/COM_MICRO_2_0_TYPE_AB_HORIZONTAL#629105150921

Da kannst Du einen Micro-A Stecker und einen Micro-B Stecker einstecken. 
Der Controller kann über den fünften Pin (den es bei den großen 
USB-Buchsen und Steckern nicht gibt) feststellen, ob Du einen Micro-A 
eingesteckt hast und der Port ein USB-Host sein soll, oder ob Du ein 
Micro-B eingesteckt hast und der Port ein USB-Device sein soll.

So und genau so ist das standardkonform.

fchk

von Rüdiger B. (rbruns)


Lesenswert?

Beides ist ein USB Device, oder willst du deinen MCU als USB Stikc an 
deinen Computer anschliessen ???

von Frank K. (fchk)


Lesenswert?

PS: keinen Adapter USB-A Buchse auf Micro B Stecker nehmen. Der wird bei 
Dir nicht funktionieren, weil er den ID-Pin nicht runterzieht. Du 
brauchst einen Adapter USB A Buchse auf Micro A Stecker. Sowas z.B.:

https://www.idealo.de/preisvergleich/OffersOfProduct/2307716_-micro-usb-adapter-micro-a-stecker-an-usb-a-buchse-31600-inline.html
https://www.partsdata.de/USB-Adapterkabel-MICRO-A-Stecker-an-A-Buchse-50cm/CU-MAX-05

Beachte die eckige Form des Micro-A Steckers!

fchk

von Frank K. (fchk)


Lesenswert?

Rüdiger B. schrieb:
> Beides ist ein USB Device, oder willst du deinen MCU als USB Stikc an
> deinen Computer anschliessen ???

Viele Controller wie z.B. PIC24F64GB002 können sowohl Host als auch 
Device sein.
https://www.microchip.com/en-us/product/PIC24FJ64GB002

fchk

von No Y. (noy)


Lesenswert?

Naja man kann das schon mit USB-A zu USB-A Kabel machen..
Halt nur wenn man weiß was man da hat.. Und die 5V abgeschaltet hat oder 
einen Isolator verwendet...

Aber wie schon gesagt nach Spezifikation ist das nicht..
Und man muss der MCU halt noch sagen das die dann in dem Fall Device 
ist..

von Dirk F. (dirkf)


Lesenswert?

Frank K. schrieb:
>> Beides ist ein USB Device, oder willst du deinen MCU als USB Stikc an
>> deinen Computer anschliessen ???

Als CDC device (virtual com port)  (MCU)  an den PC (USB Host)

von Dirk F. (dirkf)


Lesenswert?

Frank K. schrieb:
> Rüdiger B. schrieb:
>> Beides ist ein USB Device, oder willst du deinen MCU als USB Stikc an
>> deinen Computer anschliessen ???
>
> Viele Controller wie z.B. PIC24F64GB002 können sowohl Host als auch
> Device sein.
> https://www.microchip.com/en-us/product/PIC24FJ64GB002
>
> fchk

Habe den PIC32MZ vorgesehen, wenn ich noch einen bekomme :-)

von Boomer (Gast)


Lesenswert?

Lass die USB-A Buchse, das ist echt keine schöne Lösung. Ohne den ID Pin 
kannst du die automatische Umschaltung durch den uC/SoC nicht nutzen.

Entweder einfach eine Micro USB Buchse mit 5 Pins oder direkt USB Typ C 
verwenden.

https://www.ti.com/lit/slly017

von Gasheizer (Gast)


Lesenswert?

Bei Max&Max gab es mal USB-Plattengehaeuse mit einer USB-A Buchse.
Dazu im Zubehoer natuerlich auch ein Kabel mit USB-A Steckern
auf beiden Seiten :).

Ich habe dann einen genauso USB-unkonformen Adapter von
USB-B Minibuchse auf USB-A Stecker in die Platten gesteckt.
Dann passte es wieder.

Wenn man das ID-Pin nicht auswerten will, geht es also.

Du kannst ja eine USB-C Buchse einbauen.
Die 1 Million Euro Quizfrage tritt bei einem vollbeschalteten
USB-C Kabel auf. Mit USB-C Steckern auf beiden Seiten.

Was will der angeschlossene Rechner ueberhaupt von mir?

Soll ich ihn aufladen?
Oder soll ich mich aufladen?
Oder will er mir womoeglich Daten senden?
Oder auf meinem Flash herumschreiben?
Oder soll ich von ihm booten?
Am besten ist wohl, ich stelle mich tot.

Fragen ueber Fragen.

von Boomer (Gast)


Lesenswert?

Gasheizer schrieb:
> Was will der angeschlossene Rechner ueberhaupt von mir?
> Soll ich ihn aufladen?
> Oder soll ich mich aufladen?
> Oder will er mir womoeglich Daten senden?
> Oder auf meinem Flash herumschreiben?
> Oder soll ich von ihm booten?
> Am besten ist wohl, ich stelle mich tot.
> Fragen ueber Fragen.

Lies halt den fucking Standard, es ist definiert.

Es gibt dann halt mit Pech ein Menü, aber das Problem ist an sich 
gelöst.

von Martin B. (ratazong)


Lesenswert?

Boomer schrieb:
> Lies halt den fucking Standard, es ist definiert.

Und guck Dir die Praxis an, die hält sich da nicht immer dran.

Hatte bisher einmal einen Androiden mit MicroUSB Typ A Buchse für USB 
OTG. War ein Exot.

Alle anderen, die ich gesehen habe, benutzen für USB OTG die Typ B 
Buchse. Funktionieren, aber halt nicht nach Standard.

Und käufliche OTG Adapterkabel benutzen meist auch den MicroB Stecker.

von Gasheizer (Gast)


Lesenswert?

Die Antwort auf
> Die 1 Million Euro Quizfrage
ist also das "Menue". Da muessen wohl "Informatiker" am Standard
mitgeschrieben haben. Ganz typisch fuer solche "Informatiker"-Arbeit
ist naemlich:
> das Problem ist an sich gelöst

> die Praxis an, die hält sich da nicht immer dran
Ja. Ich hab hier 2 USB-Ladewarzen mit USB-C. Eine mit PD und eine Ohne.
Die Ohne rueckt ohne weiteres Gekasper ihre 5 V @ 3.5 A an der
USB-C Buchse heraus. Die mit PD verhaelt sich eher so wie von
mir beschrieben: "Ich stelle mich tot." :)

> Hatte bisher einmal einen Androiden mit MicroUSB Typ A Buchse für USB
> OTG. War ein Exot.

Das kann mich nicht schrecken. Dafuer habe ich ein (OTG-)Adapterkabel.
Das liegt zwar schon ca. 10 Jahre herum, aber wegwerfen werde ich es
auch nicht.

> Lies halt den fucking Standard, es ist definiert.
Ich habe mit (Fast-)Ethernet in meinen Entwicklungen schon lange
einen moeglichst grossen Bogen um das USB-Zeug gemacht.
Ich wuesste jetzt auch keinen Grund davon abzuruecken.

Das heisst nicht ganz. Den USB-Stack von Microchip verrichtet
recht problemlos in einem, respektive recht vielen,
PIC32 seinen Dienst. Wichtig ist dabei die Benutzung der
"richtigen" Compilerversion.


Mit dem weiteren Vordringen von USB-C und seinen "Flavours",
koennte sich der Standard aber zu einer interessanten Zusatzlektuere
zum Bedienungshandbuch/Gebrauchsanweisung entwickeln.


Dem TO wuensche ich viel Erfolg und wenig Blessuren beim Hantieren
mit USB.

von Frank K. (fchk)


Lesenswert?

Martin B. schrieb:

> Hatte bisher einmal einen Androiden mit MicroUSB Typ A Buchse für USB
> OTG. War ein Exot.
MicroUSB A Buchsen gibts im USB-Standard nicht. War sicher eine 
AB-Buchse.

> Alle anderen, die ich gesehen habe, benutzen für USB OTG die Typ B
> Buchse. Funktionieren, aber halt nicht nach Standard.
>
> Und käufliche OTG Adapterkabel benutzen meist auch den MicroB Stecker.

Würde ich aber bei eigenen Projekten nicht benutzen wollen. Dann 
müsstest Du nämlich das OTG-Protokoll implementieren, und ich weiß 
nicht, ob der Microchip Stack das kann. Wenn Du Micro B Stecker für 
Device und Micro A für Host-Betrieb nimmst, genauso wie das vorgesehen 
ist, und der ID-Pin die Host/Device Funktionalität unschaltet, dann 
brauchst Du kein OTG, sondern es reicht die normale Host-Funktionalität.

fchk

von c-hater (Gast)


Lesenswert?

Gasheizer schrieb:

> Bei Max&Max gab es mal USB-Plattengehaeuse mit einer USB-A Buchse.
> Dazu im Zubehoer natuerlich auch ein Kabel mit USB-A Steckern
> auf beiden Seiten :).

Sowas gab es bei erstaunlich vielen Geräten. Das ändert allerdings 
nichts daran, dass es sich in allen Fällen um eine standardwidrige 
Lösung handelte.

Was mich immer "gewundert" hat: Wie haben die es geschafft, dass sie das 
USB-Logo draufdrucken (bzw. in Plastik prägen) konnten, ohne ernsthaft 
vom USB-Konsortium behelligt zu werden...

Bei irgendeinem NoName-HD-Gehäuse aus China mag das ja noch plausibel 
sein, das ist wieder vom Markt, bevor das USB-Konsortium seine 
Rechtsanwälte auch nur angerufen hat, aber es gab da durchaus auch 
Geräte, die viele Jahre lieferbar waren.

Aus Europa, von nicht ganz unbekannten großen Konzernen (die den Scheiß 
aber natürlich letztlich auch nur aus China gekauft und mit wohl was um 
die 3000% Marge weiter verkauft haben)...

Mir scheint, dass das USB-Konsortium hier bei der Verfolgung von 
Standard-Abweichlern überaus selektiv vorgeht...

Also, nichts, was jemanden wirklich verwundern müsste, der weiss, wie 
der Kapitalismus funktioniert...

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.