[USB Type C] Weerstanden, waar... ?

Intro
Ik ben bezig met het maken van een printje, waarop een CP2102 USB-UART bridge zit, samen met wat electronica. Op zich is het ontwerp klaar, maar ik loop tegen het probleem van USB Type-C aan. Het is de bedoeling dat ik een oud ontwerp aanpas naar een nieuwer ontwerp. Of nou ja, eigenlijk dat de print nu voorzien wordt van een male USB Type-C connector, zoals hieronder afgebeeld.

https://www.uploadarchief.net/files/download/typec-24p.jpg
(afbeelding male Type-C connector)

Op internet kom ik allerlei informatie tegen, maar ben het overzicht kwijt. Termen als receptacle en plug, FDP en UDP, A1-A12, B1-B12 en omkeerbaar, CC, CC1, VCon en zo nog heel wat meer. Het wordt er niet eenvoudiger op. De ene keer gaat men in de uitleg / beschrijving uit van een female connector, dan weer van een verlengkabel of ander ontwerp. Misschien komt dat ook wel doordat ik net weer afwijk van het gangbare.

Doel
Echt een complex ding ontwerpen is het niet. Zoals, het gaat alleen om het plaatsen van een nieuw type connector : waar eerst een male USB-A connector zat, zou ik nu een male USB Type-C connector willen hebbem. De rest blijft namelijk hetzelfde.

Het doel is dat :

  • het printje rechtstreeks aangesloten kan worden op de PC.
    Er komt een male 24-pins Type-C connector op de print (= plug)
  • het printje gevoed wordt vanuit de PC (5V, max 500 mA)
  • dataoverdracht via USB 2.0 plaats vindt.
    Dit is vanwege de CP2102 USB-UART converter

Zoeken
Des te meer ik zoek op internet, des te verwarrender het bij me over komt. De ene keer lees ik iets over een 56 KOhm weerstand, de andere keer over 2x 5K1 pull-down weerstanden, weer ergens anders lees ik iets over een 5K1 pull-up weerstand. En soms iets over een 4u7 of 10uF condensator voor VBus.

Een schema
Gelukkig vond ik op internet een link met een schema voor de CP2102.

https://www.uploadarchief.net/files/download/usbc2a_1.jpg
(Schema voor CP2102)

Net niet
Ik had het ontwerp daarmee af. Tenminste, dat dacht ik. Ik merkte dat dat ontwerp juist weer uitging van een female connector (= receptacle) in plaats van een male connector (= plug).
Ik lees op diverse plekken dat er een verschil is indien een male of female stekker wordt gebruikt, vanwege de vereiste pull-up/down weerstanden.

Opnieuw zoeken
Dus, weer opnieuw zoeken. In een datasheet kwam ik iets tegen over het maken van een "USB-TypeC to USB 2.0 Standard-A cable assembly" tegen. Dan zie je op pagina 78 dat er alleen wordt gepsroken over een 56 KOhm weerstandje van pin 5A(CC) naar VBus. Echter, dan zijn de pinnen van DP en DN niet verbonden aan beide zijden van de male connector.

https://www.uploadarchief.net/files/download/usbc2a_2.jpg
(Afbeelding uit datasheet)

Vragen
Kortom, ik kom er niet meer uit. Ik ben op dit moment eigenlijk geneigd om te denken : doe alsof het om een "USB Type-C naar USB A"-kabel gaat. Kortom, pas dat toe wat in de laatste afbeelding staat. Maar dan begrijp ik eruit dat de pinnen DP/DN van beide kanten niet verbonden mogen worden met elkaar. Maakt het dan nog uit hoe je de print uiteindelijk in de PC steekt ? En welke weerstanden moeten tussen welke welke pinnen aangesloten worden ?

Kortom, ik zou heel graag willen weten, hoe het een en ander aangsloten kan worden. Als ik het wel wist, dan had ik hier graag -als naslagwerk voor iedereen- diverse schema's neergepoot, uitgaande van diverse mogelijke situaties. Maar ja, het gaat bij mij in de basis al fout, dus zoek ik eerst wat uitleg van wat CO'ers..

Van elk bezoek aan CO leer ik weer meer...
Arco

Special Member

Waarom zou je een USB-C connector willen plaatsen? De CP2102 ondersteunt alleen USB2.0 tot full speed...
Het schept alleen verwarring, heeft geen functioneel nut...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Behalve dat het gewoon heel handig is dat je de stekker op twee manieren kunt insteken (en dus niet steeds 3 pogingen nodig hebt), en dat veel mensen tegenwoordig USB-C kabels hebben rondzwerven.

Ik heb zelf nog nooit iets met USB-C gedaan, maar ik vermoed dat al dat gedoe met weerstanden vooral gaat over het laden van telefoons en andere apparaten, zonder een dataverbinding te moeten opzetten.

Als je een USB-A naar USB-C kabel gebruikt, krijg je netto toch alleen de voeding en data pinnen, dus ik zie niet in waarom je meer zou moeten aansluiten dan dat.

Zitten de tegenoverliggende pinnen intern al aan elkaar, of moet je dat zelf nog doen?

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

@oxurane, normaliter is de "USB HOST" kant degene met deze stekker. Jou configuratie is alleen van toepassing als het doel is om in een telefoon als device ingeplugd te worden. Is dat zo?

Dan was er (op USB2 / USB B) iets met een een "ID" pin die je aan GND moest hangen of juist niet.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Als ik het goed begrijp wilt oxurane dat printje in de USB-C poort van zijn computer kunnen steken. Bij mijn laptop zijn die female (niet onlogisch, als daar wat uitsteekt gaat dat geheid kapot). Dus ofwel moet daar dan een male-male kabel tussen, ofwel zet je een male USB-c connector op je print. Het kan dus voor meer dan enkel je telefoon handig zijn. Enkel als die dan toch eens in een USB-A moet heb je een verloop kabeltje nodig. Maar die zullen ongetwijfeld wel bestaan.

Als je maar genoeg geinteresseerd ben, verwondert heel de wereld.
Shiptronic

Overleden

In mijn laptop past alleen een USB-C kabel, anders zit de power kabel in de weg. ik zou dus USB-C female plaatsen , en daar een C--> C kabeltje tussen. lijkt mij het meest universeel.

Wie de vraag stelt, zal met het antwoord moeten leren leven.

Nu je het zegt, dat is inderdaad best krap. Als ik geen hdmi kabel in heb steken zou het nog kunnen. Anders zit er idd en andere connector in de weg.

Als je maar genoeg geinteresseerd ben, verwondert heel de wereld.

Ja fijn ontwerp is dat :(

Ik heb nog geen male-female (dus verlengkabel) in het echt gezien voor USB-C, de gangbare kabels zijn male-male USB-C of USB-A naar USB-C male.

Dus tenzij het de bedoeling is om die print direct in je telefoon te steken, zoals de FLIR One thermische camera bijvoorbeeld, zie ik niet in waarom je een male printdeel zou gebruiken.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
blackdog

Golden Member

Hi oxurane, :-)

Veel hulp kan ik je niet bieden, want ik heb niet zoveel ervaring met de interne huishouding van de vele USB connectoren of de technische opbouw.

Maar ik wil je wel een compliment geven voor de opbouw hoe je dit topic start, zeer netjes uitgevoerd!

En natuurlijk hoop ik ook wat van dit topic te leren! ;)

Groet,
Bram

You have your way. I have my way. As for the right way, the correct way, and the only way, it does not exist.

Waarom ?
OK,. ik begrijp dat een aantal mensen een vraagteken plaatsen bij het omzetten van USB-A naar USB-C.
Ik heb het vermoeden dat USB-C over de jaren steeds algemener gaat worden en op een PC tegen zult komen. Netzoals in de beginjaren dat veel randapparatuur overgezet werd naar USB 1, 2 en hoger (toetsenbord, muis, camera, harddisk e.d.). Sterker nog, volgens mij is men al druk bezig met het ontwikkelen van USB 4.

De praktijk en de toekomst
Ik struin sporadisch wel eens wat rond op Mouser, DigiKey, Farnell. Hoe ik ook zoek, een bridge-converter voor USB-3 naar UART ben ik nog nooit tegen gekomen. Ook verder zoeken op internet levert geen resultaten op (net zo gemakkelijk is toe te passen als een CP2102, FTDI232 of CHxxx).
Daarnaast ga ik er van uit dat degenen die met microcontrollers stoeien, straks nog steeds hun creaties willen laten communiceren met de PC. Dat kan draadloos, met een verlengkabeltje of ,.. rechtstreeks via USB. Ik heb diverse devices ontworpen in het verleden die rechtstreeks via USB aagesloten worden en heb het voornemen om dat ook zo te blijven doen in de toekomst. Als ik het kan voorkomen dat men eerst een kabeltje moet aanschaffen om het ding op de PC aan te kunnen sluiten, kan ik beter meteen die stap nemen. Vandaar dat ik een (oud) ontwerp probeer om te zetten naar een nieuw ontwerp met USB Type-C. Enerzijds om alvast voor te bereiden op de toekomst, anderzijds om de eerste ervaringen hiermee op te doen.

USB Type-C
Ik heb de afgelopen uren (lees : dagen / weken) niet stil gezeten. Toch denk ik dat het handig is om alvast wat info neer te zetten, wat ik ben tegen gekomen, zodat ook anderen hier wat aan kunnen hebben (of kunnen aanvullen / corrigeren) :

https://www.uploadarchief.net/files/download/typec-fem.jpg

https://www.uploadarchief.net/files/download/typec-mal.jpg

  • Stekkers : Mannetje/vrouwtje
    Een male stekker wordt een plug genoemd, een female stekker een receptacle.
  • Upstream/DownStream
    Voor de flexibiliteit is het mogelijk dat een USB 3 apparaat zich kan gedragen als een host en / of als een client. Dit wordt ook wel aangegeven met Upstream Facing Port (UFP) en Downstream Facing Port (DFP). Zoals ik het heb begrepen is een memorystick bijvoorbeeld een UFP, en laat zich besturen door een host (de PC).
  • Voeding
    Zoals ik heb begrepen kan een aangesloten USB-device energie leveren of juist gebruiken, of voorzien zijn van een egen energiebron. Bij USB 3 begrijp ik dat de termen Sinken / Sourcen wordt gebruikt. Een apparaat dat voeding levert, wordt "sourcing" genoemd, dat wat energie nodig heeft via USB "sinking" (heeft energie nodig via USB).
    Via de CCx pinnen, kun je aangeven of een apparaat sinking of juist sourcing is. Verbindt je de pinnen als pull-up (met VBus) met een weerstand, wordt het gezien als een "sourcing". Via een pull-down met weerstand (naar Gnd) als "sinking".
    Ook zou de stroom in te stellen zijn via stappen :
    A) USB 2.0 : 5V, max 500 mA
    B) USB 3.0/3.1 : 5V, max 900mA
    C) USB Type-C : 5V, max 1.5A
    D) USB Type-C : 5V, max 3.0A
    E) USB power : tot 20V, max 5A
    Ik heb (op het moment van schrijven) geen idee hoe dit precies werkt.
  • 24 pinnen, 2 aansluitingen
    De USB Type-C kent 24 aansluitingen. Deze zijn opgedeeld in een A en een B-deel. Het A-deel is genummerd van A1 t/m A12 en het B-deel in B1 t/m B12.
    Bij een receptacle (vrouwtjes stekker) kunnen alle pinnen gebruikt worden.
    Bij een plug (mannetjes stekker) worden B6 en B7 niet gebruikt.

    A) Pinnen A1, A12, B1 en B12 zijn bedoeld als Gnd
    B) Pinnen A2/A3(Tx), A10/A11(Rx) kunnen gebruikt worden als differentieel gepairde USB datalijnen gebruikt worden voor communicatie op hoge(re) snelheids. Ditzelfde geldt ook voor B2/B3 en B10/B11.
    C) Pinnen A4, A9, B4 en B9 zijn bedoeld voor het leveren van voeding (VBus-aansluiting)
    D) Pinnen A5, A8,B5 en B8.
    A5(CC) en B5(CC2) worden gebruikt om de aangesloten orientatie van de aangesloten stekker te detecteren (180 graden gedraaid of niet). Dit heeft te maken met D- en D+ pinnen voor USB-communicatie over de pinnen A7 en A6. Hetzelfde geldt voor B7 en B8.
    Er is echter een uitzondering : de pinnen B6 en B7 kunnen ook gebruikt worden voor het afdwingen / instellen van een communicatie via een alternatief protocol. In dat geval heten de aansluitingen SBU1(A8) en SBU2(B8).
    Opmerking : Ik weet niet meer waar ik dit las, maar ik zag een datadoorvoer, die verrekte veel leek op de snelheid bij I2C (en het over deze 2 pinnen verloopt)

Goed, ik hoop dat ik duidelijk heb kunnen maken waarom over wil stappen naar USB Type C. Daarnaast dat ik ook al het nodige aan het uitpluizen ben, maar nog niet het gezochte antwoord heb gevonden.

-=[ EDIT ]=-
Ik denk dat ik de oplossing heb gevonden op YouTube. En ik denk dat het ook helder aangeeft waarom het handig kan zijn (bijvoorbeeld : oude apparatuur overzetten naar USB Type C).

Van elk bezoek aan CO leer ik weer meer...

USB-3 naar serieel lijkt me nogal kansloos, aangezien USB-2 wel veel harder kan dan die single-ended UART. Daarbij zullen zulke chips wel steeds meer uitsterven, omdat ze voornamelijk door amateurs gebruikt worden, terwijl professioneel ontwikkelde spullen, en de betere amateurs, al geruime tijd USB capabele microcontrollers gebruiken; dat is veel handiger en goedkoper dan dergelijke tussenstappen.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Arco

Special Member

Voor USB2.0 kun je het beste een USB-C 16 pins connector nemen.
Die zijn met de hand te solderen op prototypes (de 24 pins niet, daar kun je de 'B' rij niet solderen)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

@Rew:
Het is in eerste instantie niet bedoeld voor mobiele telefoon-toepassingen. Shock6805 zit "spot-on" met mijn toepassing. En dat met het aangeven van het "ID", zit je aardig goed, volgens mij.
Ik heb trouwens nog een link gevonden met een interessante vondst over USB Type C door Pim de Groot. Daardoor heb ik iets meer begrepen hoe die D+ en D- pinnen werken aan beide kanten van de stekker.

@Shock6805:
Klopt wat je dacht over mijn toepassing.

@Shiptronic:
Ik ga er van uit dat niet alle PC's en laptops een USB 3 vlak naast een power input connector hebben. Ik denk dat zodra USB 3 meer gemeengoed gaat worden, dat er hier veranderingen zullen optreden.
Nu zie je nog vaak dat een USB Type-C aan de achterkant van de PC zit. Zo'n 22 jaar terug hoorde ik voor het eerst over USB en dat het fantastsich zou worden : "Alles zou straks gewoon via USB aangesloten worden."
Ik stond toen te gniffelen, want toen was Ultra SCSI nog het snelste en dat verliep over meerdere kabeltjes. En dan zou straks alles sneller gaan en ook nog maar eens over een stuk minder aderparen gaan lopen en meerdere devices over diezelfde kabels ?! Pffrt !
Nu, 2021, kijk ik meewarrig terug naar mijn onbegrip van toen. Veel devices zijn nu uitgerust met USB, USB-hubs zijn gemeengoed (*) en inmiddels zijn er USB-enclosures voor M2 SSD's die op acceptabele snelheid werken. En het is tegenwoordig heel normaal dat een moederbord ondersteuning biedt voor USB-poorten aan de voorkant / bovenkant van een PC-behuizing.. Dat begon met USB 1.0, later USB 2.0 en nu al USB 3.x met van die blauwe connectoren. De ontwikkelingen blijven door gaan.

(*) Sterker nog, ik heb voor 2 bedrijven -op verzoek- een USB-hub-achtig iets ontworpen en gemaakt, waar een bepaalde functionaliteit in zit. Daarnaast is de "hub" op afstand te besturen met een afstandbediening, PC, via internet (en een PC) en optioneel via een mobiele telefoon.

@DJSmiley:
Ik gok erop dat indien het 100% compatible is, het gaat om rechtstreeks doorverbinden van de pinnen. Daar komt geen weerstandje aan te pas. Maar kennelijk zijn er al handige verkopers die op een dergelijke vraag inspringen.

@BlackDog:
Bedankt voor je compliment en ik hoop dat je inderdaad wat opsteekt van wat ik tot nu toe heb ontdekt en hier gepubliceerd heb. Dit geldt evenzo voor de stille meelezers in dit forum.

@SparkyGSX:
Ja, je zal wel gelijk hebben. Misschien dat de 8-bits microcontrollers op den duur uitgefaseerd worden en zo de prutsende amateurs over gaan stappen naar alternatieven met ingebouwde USB 3 functionaliteit. Communicatie zal dan veel sneller gaan, en dus ook snellere microcontroller opleveren. Gewoon een USB 3 stekkertje eraan solderen en klaar.
Echter, zolang ik dat nog niet ben tegengekomen, zal ik het eerst nog via een alternatief moeten oplossen. Daarnaast bouw ik in deze tussentijd zo nog even wat ervaring op met het fenomeen USB Type-C (en dat mede-CO'ers wat hebben aan de reeds gepubliceerde informatie en linkjes).

@Arco :
Ik wist niet dat er 16-pins "plug"-varanten waren, totdat je het noemde. Ik heb even gezocht op AliExpress en merk dat je gelijk hebt. Minimale afname is wel 100 stuks. Ik ga er over nadenken. Bedankt voor de tip / hint !

Van elk bezoek aan CO leer ik weer meer...
Arco

Special Member

Zijn er ook in kleine aantallen: https://nl.aliexpress.com/item/32891384697.html
Zijn er zelfs ook in through hole: https://nl.aliexpress.com/item/4000966998955.html?spm=a2g0o.productlis…

[Bericht gewijzigd door Arco op zaterdag 12 juni 2021 10:44:48 (58%)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Je hoeft het perse een microcontroller met USB 3 te gebruiken; als je die snelheid nodig hebt, heb je waarschijnlijk toch al een beest van een controller met heel veel RAM. Voor veel toepassingen is dat helemaal niet nodig, dus dan is USB 2 of zelfs 1.1 genoeg. Er zijn zat bereikbaar microcontrollers met USB aan boord, zoals de STM32, maar er zijn ook een paar 8-bitters die het ingebouwd hebben, zoals de ATMEGA32U4, en met ondersteuning in de arduino libraries is het betrekkelijk simpel geworden om dat te gebruiken.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Dank Oxurane, je uitleg over sinc en source weerstanden is precies wat ik nodig had! Ik vervang alleen maar een USB C "poort" (de female, de male heet stekker) die afgebroken is door een nieuw printje.

[Bericht gewijzigd door Keesklus op dinsdag 2 mei 2023 20:26:14 (90%)

Normaal gesproken dit er in een USB-C kabel een microcontroller in de kabel zelf (ergens in de plug ingegoten). De CC1 en CC2 lijnen worden gebruikt door het power delivery protocol. In die microcontroller staat o.a. de rating van de kabel en de host/client kunnen onderhandelen hoeveel stroom er door de kabel mag, welke spanning nodig is etc. Daarom zijn goede kabels ook relatief duur.

Zo kun je dacht ik iets van 20V op de lijn schakelen als de host dat ondersteund en tot 100W aan vermogen door een kabeltje jassen.
Uiteraard is er een soort legacy mode waar je de microcontroller niet nodig hebt.

Gelukkig heb je geen orientatie detectie nodig omdat de legacy USB pins kruislings in de connector zitten.

Ik kwam net deze links tegen met interessante info:
https://ww1.microchip.com/downloads/en/AppNotes/00001953A.pdf
https://ww1.microchip.com/downloads/en/AppNotes/00001914B.pdf
Vanuit deze pagina:
https://www.microchip.com/en-us/products/interface-and-connectivity/us…

Vooral de 2-de link beschrijft de legacy mode.

Lang verhaal kort: Die 2 weerstanden van 5.1k naar GND lijken me goed te zijn.

Op 11 juni 2021 20:36:46 schreef Arco:
Voor USB2.0 kun je het beste een USB-C 16 pins connector nemen.
Die zijn met de hand te solderen op prototypes (de 24 pins niet, daar kun je de 'B' rij niet solderen)

Yep, been there, done that.
Het grootste probleem van de smd 24pin connector is dat je die nog niet eens kunt inspecteren of die goed gesoldeerd is. Is een beetje russische roulette.

@arco Bij die 16 pin variant, welke pinnen zijn daar weggelaten? Die high speed differential lanes?

-edit-
Ik zie net dat men een kabel met microcontroller "Electronically Marked" noemt en dat het verplicht is voor de 5A rating.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.

Ik heb even geen pdf output beschikbaar van mijn eigen ontwerp met USB-C connector en een CP2102N IC, dus dan maar terugvallen op adafruit:

Bordje:
https://www.adafruit.com/product/5335

Schema staat aan het einde:
https://cdn-learn.adafruit.com/downloads/pdf/adafruit-cp2102n-cp2104-f…

Zie je direct waar je mee weg kan komen qua routing en (ontbreken van) ingangsbescherming. Het belangrijkste is dat je alle signalen met dezelfde naam; D+, D-, VUSB en GND pinnen aan elkaar knoopt en op de CCx pinnen een 5k1 naar GND plaatst (Die pinnen zijn wel gescheiden van elkaar), omdat je anders in een van de oriëntatie mogelijkheden geen communicatie hebt. Zo kwam ik er in ieder geval achter dat dat nodig was...

Arco

Special Member

@arco Bij die 16 pin variant, welke pinnen zijn daar weggelaten? Die high speed differential lanes?

[Bericht gewijzigd door Arco op woensdag 3 mei 2023 11:53:36 (31%)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com