template and source for hardware projects
Go to file
King Kévin 7d09b86f78 sch: minor, fix LED description 2022-02-09 14:41:13 +01:00
coraleda/subc lib: export USB-C with larger rings 2022-02-04 17:08:04 +01:00
geda/symbols lib: add custom battery symbol 2022-02-04 12:56:31 +01:00
library@74e10f2168 lib: update to master 2022-02-02 16:42:09 +01:00
.gitignore ignore other manual fabrication export (not from Rakefile) 2022-02-02 15:29:48 +01:00
.gitmodules add parts library (as submodule) 2021-07-22 12:26:46 +02:00
.qeda.yaml lib: add used parts 2022-02-04 12:51:49 +01:00
DEVELOPMENT.md put development instructions in seperate file 2022-02-02 18:46:13 +01:00
LICENSE.txt add CERN-OHL-S license 2021-07-22 12:22:58 +02:00
README.md README: add project description 2022-02-04 13:40:36 +01:00
Rakefile Rakefile: set project name 2022-02-04 12:50:08 +01:00
gafrc add schematic configuration and template 2021-07-22 12:28:19 +02:00
mass_prop.sh add PnP export 2021-12-19 11:24:57 +01:00
pnp_fab.tab add PnP export 2021-12-19 11:24:57 +01:00
usb-c_cable_tester.lht brd: set outline width 2022-02-06 14:05:22 +01:00
usb-c_cable_tester.sch sch: minor, fix LED description 2022-02-09 14:41:13 +01:00
version add output generation script 2021-07-22 12:34:35 +02:00

README.md

The USB-C cable tester shows which features USB-C to USB-C cables support.

purpose

USB-C cables come in a several flavours. The USB Type-C Cable and Connector Specification lists two types of cables:

  • Standard: this supports USB 2.0 data transfer as well as Power Delivery (PD)
  • Full-Featured: add differential pair used for SuperSpeed data transfer (for USB3, USB4, ...), and sideband use (SBU) for alternate mode or USB 4 data transfer

On top of that, cables can be electronically marked (eMarked). Full-Featured cable should be electronically marked, while this in optional for standard cables. eMarked cables include a chip that communicate on the CC wire using the PD protocol. They provide information about the cable, and are mandatory (but not sufficient) for 5A current transfer (e.g. for 100W charging) instead of the standard 3A (e.g 60W). Then there are not specification compliant cables, that only support charging, or no PD communication.

Because what is inside of the cable is not indicated on the outside, the cable tester check for the capabilities. I suspect some full-featured cables are not electronically marked, and non-5A marked cables are sparse. And most magnetic cables are not shielded, a least not from plug to plug.

usage

Plug both ends of the USB-C cable in the tester and read the lights:

  • SHIELD: ensures the cable is shielded, important for super speed data transfer.
  • POWER: ensures the VBUS and GND wires are present, required to power a device.
  • USB2: ensures the D+ and D- wires are present, required for USB data transfer (up to at least 2.0).
  • CC/PD: ensures the Connection Control (CC) wire is present, required to determine the plug orientation and for Power Delivery (PD) communication (used for fast charging)
  • Super Speed: ensure the 4 differential pairs are present, required for super speed data transfer (USB3, USB4, ...)
  • SBU: ensures the Side Band Use (SBU) wires are present, used for alternate modes.
  • eMarker: indicated if the cable is electronically marked, required to support 5A/100W power transfer.

Note: the eMarker indication does not mean the cable does support 5A/100W power transfer. This information needs to be read out from the chip inside the cable using the PD protocol. The cable tester does not support this functionality. Some USB Power Monitor (UPM) provide this functionality. Most of the time, an electronically marked cable does support 5A, since the chip costs more than the wire.

mode of operation

Here the methods used to test the different capabilities of the cable:

  • POWER: ensures the VBUS and GND wires are present in the cable, required to power a device. Although there 4 ground and 4 power pins, there are only 1 ground and 1 power wires. The pins are inter-connected in the plugs on each side of the cable. Signal path: VCC -> PWR_VBUS (A4, A9, B4, B9) -> LED -> GND_PWR (A1, B1, A12, B12) -> GND

  • SHIELD: ensures the shell of the plugs are connected on both sides of the cable. This does not ensure if there is really a shield in the cable, or just a wire. It also can't ensure the shell is simply shorted to GND. These limitations are outside of the scope of this tester since I haven't seen any cable cheating this way. Also, If the cable has a shield, but only connected one plug, this will not be detected. Signal path: VCC -> LED -> SHELL/SHIELD -> GND.

  • USB2: ensures the UTP wire are present, used for USB 2.0 data transfer. There is only one pair of UTP wire for the Dp and Dn signals using for USB 2.0 communication, connected to A6 and A7 on both sides. Since the plug is reversible on both sides, we short the pins to be sure we can test the cable. Signal path: VCC -> UTP_Dp (A6, B6) -> LED -> UTP_Dn (A7, B7) -> GND

  • SS: ensures the SuperSpeed (SS) wires are present, for USB3 (and USB4) data transfer. There are 4 pairs of wires (SDPxx) used for differentials signals. The tester checks if all are present. Signal path: VCC -> TXp1 (A2) -> SDPp1 -> RXp1 (B11) -> RXn1 (B10) -> SDPn1 -> TXn1 (A3) -> RXp1 (B11) -> SDPp2 -> TXp1 (A2) -> TXn1 (A3) -> SDPn2 -> RXn1 (B10) -> LED -> TXp2 (B2) -> SDPp3 -> RXp2 (A11) -> RXn2 (SDPn3) -> TXn2 (B3) -> RXp2 (A11) -> SDPp4 -> TXp2 (B2) -> TXn2 (B3) -> SDPn4 -> RXn2 (A10) -> GND

  • SBU: ensures the sideband use (SBU) are present, used for Alternate Modes. There are 2 single SBU wires. The tester checks if all are present. Signal path: VCC -> SBU1 (A8) -> SBU_A -> SBU2 (B8) -> LED -> SBU1 (A8) -> SBU_B -> SBU2 (B8) -> GND

  • CC: ensures the Configuration Channel is present, used for Power Delivery (PD) communication. There is one wire going from CC1 on one side of the connector, to CC1 on the other side of the connector. Since the plug on both sides is reversible, there are 4 possible permutations. This pin is actually used to determine the orientation of the plug, and do the date signal switching on the right pins. Signal path: VCC -> CC (A5, B5) -> CC -> CC (A5, B5) -> LED -> GND

  • eMarker: indicates if the cable is electronically marked. The detection is the complicated part of this design. A5 on both sides are interconnected through the CC wire. B5 on both sides are connected to Vconn. Vconn only allows to power the embedded chip, but does not provide B5 interconnection. The connected device can detect the presence of the chip, by checking if B5 (on each side) is pulled down using Ra (~ 1kOhm). It can then provide power on Vconn. The cable tester detects electronically marked cables the following way. If Ra is present, the gate voltage of a p-channel MOSFET on the tester is pulled low, powering the corresponding LED. By default the gate is pulled up by the resistor used for the CC LED. When Ra is present, it is on both plugs of the cable. Thus it is enough to detect is on one plug. Because it can be on A5 or B5 pins, the detection circuit needs to be on both pins. On the other plug, the CC pins can't be interconnected, else the voltages is pulled to low for the CC LED to work. Thus, two separate LEDs are used to detect CC. The pull-up resistor needs to be as high as possible to, for the Ra pull-down resistor (800-1200 Ohm) to work properly, activating the gate. The BSS84 pMOS has a Vgs of ~1.7V. A pull-up resistor of 2.2 kOhm is sufficient (with a 3V battery). Green LEDs are used for CC. Although they have a higher voltage drop, they seems to be more efficient. With a 2.2 kOhm, it produces a bright enough light. Warning: because green LED has a forward voltage drop of ~2V to ground, the battery voltage can't be higher than 3.3V, else the gate voltage will exceed the threshold and the eMarker LED will be on, which is a false positive.