Forum: Mikrocontroller und Digitale Elektronik 2 USB3.0 Datenströme über ein USB-C Kabel


von Leopold N. (leo_n)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ist es möglich über ein USB-C Kabel (mit den vollen 24 Pins) zwei 
getrennte USB3.0 Verbindungen laufen zu lassen? Vorraussetzung dafür ist 
natürlich, dass beide Seiten des Kabels wissen, dass es KEIN Standard 
USB-C ist.
Also dass ich im Prinzip nur die normalen USB3.0 Leitungen des USB-C 
Steckers verwende und den Rest offen lasse. Damit würde ich nur die 
folgenden 8 Leitungen verwenden: D+/-, SSTX+/-, SSRX+/-, VBUS und GND. 
Dann würde ich diese 8 Leitungen des ersten USB3.0 Busses auf die A-Pins 
des Steckers legen und die 8 Leitungen des zweiten USB3.0 Busses auf die 
B-Pins.
Funktioniert das so oder treten da Probleme auf, die ich übersehe?

Edit: Aus Versehen 2-mal das gleiche Bild angehängt.

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

nein das geht nicht. Die Leitungen sind ja immer die gleichen. Die 
Doppelte Ausführung ist nur dazu da damit der Stecker in beide 
Richtungen eingesteckt werden kann.

von Leopold N. (leo_n)


Lesenswert?

Also hat das Kabel eigentlich nur 12 Leitungen?
Aber warum gibt es dann so Sachen wie Alternate Functions, die dann doch 
mehr Leitungen benötigen?

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Leopold N. schrieb:
> Alternate Functions

USB-C hat 3 Verbindungen, 1x USB2 half duplex und 2x USB3 full duplex.

Die Alternate Functions können eine oder beide USB3 Verbindungen 
umdefinieren. Wenn beispielsweise ein USB-C Hub/Dock beide USB3 
Verbindungen zu Alternate DisplayPort umdefiniert, dann bleibt für die 
übrigen USB-Anschlüsse des Hubs nur noch USB2 übrig.

: Bearbeitet durch User
von Leopold N. (leo_n)


Lesenswert?

Ah ok,
aber liegen die Pins Ax und Bx (z.B. A1 und B1) nun auf derselben 
physikalischen Leitung im Kabel oder sind das zwei getrennte Leitungen?

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Leopold N. schrieb:
> Ah ok,
> aber liegen die Pins Ax und Bx (z.B. A1 und B1) nun auf derselben
> physikalischen Leitung im Kabel oder sind das zwei getrennte Leitungen?

Schau einfach mal in den Standard. Lesen bildet.

https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-release-22

"Table 3-10 USB Full-Featured Type-C Standard Cable Assembly Wiring"

Alle GND (A1,B1,A12,B12) und VBUS (A4,B4,A9,B9) Pins sind intern 
untereinander verbunden.
Bei dem Standard USB2 D+/D- existiert nur das Adernpaar auf A6/A7. Das 
Paar auf B6/B7 existiert nicht. In der Buchse sind A6/A7 mit B6/B7 
verbunden. Die vier SS-Adernpaare existieren alle, genauso wie die 
beiden SBU-Verbindungen.

fchk

von Leopold N. (leo_n)


Angehängte Dateien:

Lesenswert?

Ok, also aus dem Dokument geht hervor, dass zwar alle 4 SuperSpeed Paare 
im Kabel sein sollten, jedoch nur ein USB2.0 Päärchen. Damit fällt die 
Idee dann flach schätze ich.
Dann muss ich also auf der Device Seite (ja ich weiß, bei USB-C gibt es 
keinen Host und Device mehr) jeweils die SSTX- und die SSRX-Päärchen 
miteinander verbinden richtig? Also A2 mit B2, A3 mit B3, A10 mit B10 
und A11 mit B11, so dass ich auch bei verdrehtem Kabel noch eine 
Verbindung habe. Und auf der Host Seite lasse ich dann die SSTX- und 
SSRX-Pins auf der B-Seite offen und verbinde die nur auf der A-Seite.

: Bearbeitet durch User
von Gustl B. (gustl_b)


Lesenswert?

Leopold N. schrieb:
> jeweils die SSTX- und die SSRX-Päärchen miteinander verbinden richtig?

Nein, man verwendet die CC Pins und einen MUX.

von Christian R. (supachris)


Lesenswert?

Ich denke, das könnte man hin tricksen, allerdings nur für 3.0 Geräte. 
Die enumerieren auch ohne die 2.0 Leitungen. Da müsstest du ein 
komplettes Design für 3.0 mit Mux auf beiden Seiten aufbauen, der vom CC 
Controller gesteuert wird, die jeweils nicht benutzen Paare dann ähnlich 
als wäre es DP Alt Mode dann für das 2. Device benutzen. Ganz 
theoretisch könnte das klappen. Geht aber nur mit Muxern.

von Harald K. (kirnbichler)


Lesenswert?

Christian R. schrieb:
> Geht aber nur mit Muxern.

Wieso? Ein 5- oder auch 10-GBit-Link ist mit jeweils zwei Pärchen (Rx & 
Tx) drin, da in einem vollbelegten USB-C-Kabel aber vier Pärchen drin 
sind, sollten sich die separat verwenden lassen.

Nicht mit der Standardbelegung, aber das wurde ja schon im 
Eröffnungsposting als nicht nötig beschrieben:

Leopold N. schrieb:
> Vorraussetzung dafür ist natürlich, dass beide Seiten des
> Kabels wissen, dass es KEIN Standard USB-C ist.

Wozu also soll dann ein Multiplexer dienen?

von Gustl B. (gustl_b)


Lesenswert?

Harald K. schrieb:
> Wieso? Ein 5- oder auch 10-GBit-Link ist mit jeweils zwei Pärchen (Rx &
> Tx) drin, da in einem vollbelegten USB-C-Kabel aber vier Pärchen drin
> sind, sollten sich die separat verwenden lassen.

Naja, man kann aber das ganze Kabel längs um 180° drehen (also beide 
Stecker anders herum einstecken, dann funktioniert das auch)
man kann aber auch nur jeweils einen Stecker drehen. Und dann brauchst 
du den MUX.

Also ohne MUX kann man das Kabel so anschließen, dann es funktioniert, 
aber es gibt auch die Möglichkeit es si einzustecken, dass es nicht 
funktioniert.
Mit MUX kann man sicherstellen, dass die Steckrichtung egal ist und es 
immer funktioniert.

von Leopold N. (leo_n)


Lesenswert?

Da ich nicht unbedingt USB3.0 benötige und auch zwei separate Buchsen 
verbauen kann, habe ich beschlossen, das Ganze mit 2x USB2.0 über USB-C 
zu machen. Damit spare ich mir einen Haufen Krempel (und auch 
Möglichkeiten, Fehler zu machen).

Danke für Eure Hilfe trotzdem.

von Frank K. (fchk)


Lesenswert?

Leopold N. schrieb:
> Da ich nicht unbedingt USB3.0 benötige und auch zwei separate Buchsen
> verbauen kann, habe ich beschlossen, das Ganze mit 2x USB2.0 über USB-C
> zu machen. Damit spare ich mir einen Haufen Krempel (und auch
> Möglichkeiten, Fehler zu machen).

Dann schau in den Standard und lies nach, wie das mit den CC-Pins und 
den Widerständen geht. Du sagst "bei USB-C gibt es keinen Host und 
Device mehr", aber das ist falsch. Die Rollen werden über Widerstände an 
den CC-Pins festgelegt, und erst wenn der Host an einem CC den 5.1k 
Pulldown gesehen hat, schaltet er VBUS ein.  Lies das nach, es steht 
alles drin. Und ja, Du kannst da immer noch genug Fehler machen. Z.B. 
beim Device die beiden CC-Pins brücken und nur einen 5.1k Widerstand 
nehmen. Darfst Du nicht, funktioniert nicht, jeder CC-Pin braucht seinen 
eigenen Pulldown.

fchk

von Leopold N. (leo_n)


Lesenswert?

Ja, das weiß ich schon. Habe die USB2.0 Variante schon einmal aufgebaut. 
Trotzdem danke für den Hinweis.

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.