Тема кабелей и разъёмов стандарта USB-C является довольно запутанной, и тому есть объективные причины. Множество вариантов реализации и нюансов вкупе с не всегда добросовестными производителями вносят на рынок кабелей неразбериху. Тем не менее в статье я покажу, что всё в этом вопросе не так уж плохо, если вы готовы прибегнуть к ряду приёмов и скорректировать собственные ожидания.
▍ Неразбериха в кабелях
У вас может быть целая куча кабелей USB-C, которые внешне выглядят одинаково, но при этом вы знаете, что начинка у них разная. Причём зачастую никаких обозначений на них не присутствует. Да, это довольно плохо, и можно даже сказать, что ситуация только ухудшается.
Сразу хочу уточнить, что здесь речь пойдёт только о кабелях USB-C «папа» – USB-C «папа». Несмотря на популярность кабелей вроде USB-A – USB-C, устроены они довольно просто. В них мы имеем стандарт передачи данных USB 2.0 или 3.0 и поддержку тока не более 2 А, а разъём USB-C обычно подключается к хосту с напряжением 5 В, которое определяется подтягивающим резистором. К тому же — хоть визуально кабели вроде «Type-C – DisplayPort» могут выглядеть как кабели, на деле они являются переходниками, напичканными приличным объёмом электроники.
Согласно одной только спецификации, изначально существовало шесть типов кабелей USB-C – USB-C. Потом их стало восемь. А сейчас это число достигло уже двенадцати. И это только в соответствии со спецификацией, а ведь существует ещё множество сторонних модификаций. Радует, что обычно большинство таких кабелей вполне годятся для простых задач вроде зарядки устройств и передачи данных, а какие-то специфичные случаи их применения встречаются довольно редко.
Далее мы разберём различные виды кабелей, и вы поймёте, что отличить их между собой гораздо проще, чем может показаться.
▍ Сортировка по категориям
Начнём с того, что для USB-кабелей существует два варианта допустимой токовой нагрузки – 3 А и 5 А. 3 А является необходимым минимумом для любого кабеля, а 5 А уже поддерживается опционально. Естественно, низкокачественные кабели могут недотягивать и до 3 А, но это редкий случай. В прошлом году группа USB-C представила технологию EPR (Extended Power Range), поднимающую максимальное напряжение с 20 В до 48 В и требующую улучшения изоляции между контактами линии данных и питания. Это ещё две дополнительных категории, SPR (максимум 20 В) и EPR (максимум 48 В). Тем не менее кабелей 3 A EPR не существует, так что здесь всё чуть менее запутано, чем может прозвучать.
Ещё существует как минимум четыре варианта по скорости передачи данных. Раньше нам были доступны кабели USB 2 и USB 3 с разъёмом Type-C, а также интерфейс Thunderbolt. Теперь же появился новый стандарт USB 3.1, нацеленный на повышенные скорости и нуждающийся в более скоростных кабелях. Кроме того, существуют активные кабели USB-C, которые проводят сигнал через редрайверы или оптоволокно для увеличения дальности его передачи. Если вы считали, что в кабелях применяется разная разводка проводов, которая вносит дополнительную вариативность как в рамках спецификации, так и вне её, то, к сожалению, были правы.
В итоге мы получаем матрицу три на четыре, представляющую возможные виды имеющихся у вас кабелей. Три строки в ней обозначают силу тока 3 А, 5 А и EPR 5 A, а четыре столбца – скорости передачи. Помимо этого, существует множество кабелей, откровенно выпадающих из спецификации – например, кабели только для зарядки без выводов 2.0, что с точки зрения технических требований, конечно же, выглядит кощунственно. Естественно, такой можно купить как случайно, так и намеренно. Но как определить вид тех, что у вас уже есть?
Давайте упростим задачу до пространства вариантов три-на-четыре, отбросив исключения – со временем эти странные кабели будут выделяться все меньше, поскольку даже производители дешёвых изделий в итоге научатся следовать требованиям.
Неопровержимое преимущество такого спектра всяческих кабелей в возможности купить именно тот, что будет соответствовать вашим потребностям, будь то дешёвая поделка за 5$ или качественное изделие за $40. При этом кабели 2.0 тоньше, легче и более гибкие – ведь вы явно не станете использовать Thunderbolt для зарядки ноутбука в пути. Помимо этого, у USB-C есть элементы, по которым можно отличать разные кабели. Далее я об этом расскажу подробнее.
▍ В вашем кабеле есть компьютер… ну почти
Когда источник питания может подать по кабелю ток более 3 А, он не сделает это мгновенно – сначала он убедится в способности кабеля проводить подобный ток и в том, что подключённое устройство может такой ток принять.
Как конкретно он проверяет возможности кабеля? Через считывание его “E-Marker”. E-marker – это микросхема памяти в разъёме кабеля, которая кодирует его возможности и параметры, будучи подключённой к каналу СС для их передачи. Эта микросхема необходима для всех кабелей со скоростью от USB 3 и силой тока от 3 А. При этом в E-Marker может быть закодировано огромное число параметров, включая даже код страны. Хотите узнать подробнее? Рекомендую почитать техническое описание программируемой микросхемы VL151, где перечисляется много интересной информации, которую можно получить из обычной E-Marker.
При желании вы даже можете купить эти микросхемы онлайн и установить их в свои кабели – например, WLCSP VL151 или её UDFN- версию. Правда прошить эти чипы можно через I2C всего три раза. Если вы захотите собирать собственные кабели USB-C с поддержкой 5 А, то можете также купить штекеры с уже впаянными микросхемами E-Marker. Кто знает, возможно, вскоре мы даже увидим на этих микросхемах Doom.
▍ Самостоятельная проверка кабелей
Итак, возможности кабеля можно узнать, прочитав E-Marker. Тут пользователи Linux могут подумать, что эта информация должна быть доступна где-то в /sys/, но, как известно, пока такой степени поддержки нет – каталог /sys/class/typec/ на моём ноутбуке Framework с ядром 6.0.3 пуст, даже при подключении монитора Type-C. Тем временем существуют USB-C тестеры, способные считывать информацию с E-Marker.
Если же E-Marker в вашем кабеле нет, то можно предположить, что он поддерживает скорость передачи USB 2.0 и силу тока 3 А, но вряд ли намного больше. Помимо токопроводящей способности кабеля, E-Marker может сообщить, содержит ли он высокоскоростные пары, и какие именно.
В кабеле USB-C таких пар обычно либо нет вовсе, либо присутствует четыре. Естественно, это в дополнение к обязательной паре USB 2.0. При этом существуют исключения – если у вас есть кабель «USB-A – USB-C» с поддержкой USB 3, то в нём будет присутствовать лишь две пары. Также всего две пары вы, скорее всего, найдёте в переходнике «USB-C – HDMI» со встроенным кабелем. Плюс из чисто практических наблюдений могу сказать, что у меня есть кабель, которым комплектовался корпус USB – M.2 NVMe, и у него тоже всего две пары. Он будет работать с USB 3.0, но не подойдёт для DisplayPort или аналогичных разъёмов – да и длины ему для подобного применения будет маловато.
Хотите проверить сами? К счастью, для этого не обязательно разрезать кабель. Мы уже неоднократно разбирали тестеры для USB-C, и вот одна из последних статей (англ.). Это опенсорсные решения, и вы запросто можете собрать такой девайс сами. В качестве альтернативы на Tindie и Aliexpress есть целая куча готовых. Эта приспособа не определит разницу между кабелями 20Гб/с и 40Гб/с, но поможет отличить модели USB 2.0 и 3.0.
Кроме того, кабели можно протестировать в естественных условиях. Если вы используете зарядное устройство на 100 Вт и ноутбук аналогичной мощности, то можете легко проверить, обеспечивает ли ваш кабель 100 Вт питания. Для этого достаточно соединить зарядку и ноутбук через любой дешёвый измеритель мощности USB-C и посмотреть, превышает ли потребляемый ток 3 А. Аналогичный приём можно использовать в случае, когда у вас есть куча кабелей, и вы хотите выяснить, дотягивают ли они до USB 3 и выше. Здесь вам дополнительно потребуется, например, тот же корпус M.2 NVMe с портом USB 3 Type-C «мама».
В этом случае можно провести следующий быстрый тест – подключить корпус к ноутбуку кабелем USB-C, затем выполнить lsusb -t
, которая покажет скорость соединения (480 для кабелей USB 2 и 5000/10000 для USB 3). В качестве бонуса можете проверить, не проваливают ли какие-либо из ваших кабелей тест на обратимость – поскольку это до сих пор является проблемой.
▍ Восполнение отсутствующей маркировки
Естественно, сам производитель в точности знает возможности своих кабелей и их внутреннюю структуру. Но при этом он должен сопровождать свои изделия маркировкой, которая по факту встречается довольно редко. Иногда характеристики указываются на упаковках. Так что, если вы свои ещё вдруг не выбросили, то можете взглянуть на них или посмотреть описание товара в онлайн-магазине. Предположим, у вас есть кабель без обозначений, и вы только что определили его характеристики. Как быть дальше?
Что ж, доставайте флаконы с лаком для ногтей и следуйте рекомендации [@_saljam]. Вот цветовая схема для разметки кабелей USB-C после того, как вы разобрались с их параметрами. Одна полоска означает 3 А, две – 5 А. Оранжевый – это USB 2.0, синий – USB 3 20 Гб/с (Gen 1), зелёный – USB 3 40 Гб/с (Gen 2), жёлтый – Thunderbolt. Мне особенно нравится, что при использовании этой схемы кабели Thunderbolt на 5 А выглядят как пчёлы. Кроме того, [@_saljam] говорит, что эта схема вполне подходит для восприятия дальтониками.
Как бы то ни было, но дела у USB-C идут на поправку. Ответственная группа ввела новую схему обозначений, над которой, кстати, многие посмеялись. Хотя эта схема довольно проста и не лишена смысла. Если кабель поддерживает 40 Гб/с, то на нём будет логотип 40 Гб/с. Если он поддерживает 240 Вт, то и эта характеристика будет обозначена соответствующим логотипом. Если же в нём реализована поддержка и того и другого, то вы увидите оба этих обозначения. Вам может не захотеться закрашивать эти логотипы лаком, но я уверен, вы что-нибудь придумаете.
▍ Встроенные кабели USB-C
Вам могли попадаться устройства, например, док-станции, со встроенными USB-C кабелями. Такое решение является альтернативой стандартному наличию порта типа «мама» и использованию кабеля «папа» — «папа». Несъёмные кабели не попадают под тот же набор правил, и используемая в них электроника намного проще, в связи с чем они часто устанавливаются в дешёвых устройствах.
Проще говоря, если вы хотите задействовать на своём устройстве высокоскоростные линии и встраиваете в него несъёмный кабель, то вам не нужно добавлять скоростной мультиплексор для поддержки двух вариантов ориентации штекера – в данном случае за подстройку к тому или иному направлению его подключения отвечает хост. Кроме того, поскольку единственная возможная линия CC подключена аппаратно, вам потребуется не два, а один резистор на 5.1 КОм, а E-Marker не потребуется вовсе. Если же вы добавляете в док-станцию порт «мама» с высокоскоростными линиями, то без мультиплексора уже не обойтись.
Но в условиях соглашения о продаже добротно оснащённых док-станций с USB-C на Aliexpress всего по 15$ такой вариант не годится. В связи с этим многие дешёвые устройства комплектуются несъёмными кабелями, что одновременно всё и усложняет, и упрощает. Плюс в том, что вам больше не потребуется подбирать подходящий кабель для подключения устройства, и он наверняка будет оптимально соответствовать стандартам, так как реализовывать подобные несъёмные кабели очень легко. К недостаткам же можно отнести ограниченность только этим встроенным в устройство кабелем. Если он ломается, считай, ломается всё устройство. К тому же нарастить вы его не сможете. Или сможете?
Хотя вопрос о наращивании предлагаю перенести на другой раз, а с ним и тему кабелей USB-C, выпадающих из требований спецификации. Сейчас же хочу сделать акцент на том, что кабели должны быть легко заменимыми. Если кабель вдруг перестал быть вам другом или начал выкидывать странности – налепите на него клеймо позора, уберите подальше, чтобы не было соблазна вдруг его использовать, и закажите замену. А лучше несколько замен. Здесь, как и в случае с кабелями MicroUSB, замена является основным способом избавления от связанных с ними проблем.
Автор: Дмитрий Брайт