Одной из прекрасных возможностей USB-C является его высокоскоростной потенциал. Распиновка в этом стандарте предоставляет вам четыре высокоскоростные дифференциальные пары и ещё несколько низкоскоростных, что позволяет передавать огромные объёмы данных через разъём размером с центовую монету. Не все устройства используют эту возможность, но от них этого никто и не требует – USB-C спроектирован так, чтобы подходить для любого портативного девайса. Однако, когда у вас есть устройство USB-C с потребностью в высокой скорости, нельзя не отметить весь потенциал этого стандарта и то, насколько хорошо он может работать.
Возможность получения высокоскоростного интерфейса через USB-C называется Alternate Mode (альтернативный режим), или коротко «altmode». Сегодня можно встретить три варианта altmode – это USB3, DisplayPort и Thunderbolt. При этом некоторые, например HDMI и VirtualLink, канули в лету, а другие, например USB4, только собираются появиться на свет. Для большинства альтернативных режимов требуется цифровая коммуникация через USB-C, предполагающая передачу определённых сообщений по каналу Power Delivery (PD). Тем не менее способны на это не все, и самым простым примером является USB3. Давайте разберём, что же лежит в основе альтернативного режима.
Прим. пер.: Это продолжение серии про USB-C, посвящённой всестороннему анализу этой технологии. Остальные части доступны здесь:
- Всё про USB-C: введение для электронщиков
- Всё про USB-C: типы кабелей
- Всё про USB-C: механика разъёмов
- Всё про USB-C: переходники вне стандарта
- Всё про USB-C: резисторы и E-Marker
- Всё про USB-C: обеспечение питания
- Всё про USB-C: высокоскоростные интерфейсы < — Вы здесь
▍ Символ C в «USB-C» означает «Способный»
Если вы видели распиновку, то высокоскоростные контакты вам знакомы, и сегодня я покажу, какие интерфейсы можно с их помощью получить. Это будет не исчерпывающий список – например, я не затрону тему USB4, отчасти ввиду недостаточного её понимания и опыта работы с этим стандартом. В этом плане определённо ясно, что в будущем у нас появится больше устройств с USB-C. Кроме того, этот стандарт достаточно гибок, чтобы электронщик мог реализовать через него Ethernet или SATA в соответствии со спецификацией. И если вас интересует именно такой вариант, то данное руководство вполне поможет в этом вопросе разобраться.
▍ USB3
USB3 очень прост – здесь у нас одна пара TX и одна RX. И хотя скорости передачи у этого стандарта существенно превосходят скорости USB2, для электронщика проблем с его использованием нет. Если вы возьмёте многослойную печатную плату с контролем импеданса сигналов USB3 и ответственно отнесётесь к дифференциальным парам, то соединение USB3, как правило, будет исправно работать.
Высокоскоростное соединение: слева устройство с гнездом, а справа устройство с несъёмным кабелем. Если вы хотите добавить на флэш-носитель USB3-совместимый штекер, то «логика CC» справа подразумевает использование одного резистора
В случае реализации USB3 через USB-C меняется немного – нужно будет лишь дополнительно использовать мультиплексор для обработки поворота штекера. Мультиплексоров для USB3 предостаточно, так что проблем с добавлением на плату USB-C разъёма с поддержкой USB3 у вас не будет. Также существует двухканальный USB3, в котором за счёт двух параллельных каналов увеличивается пропускная способность. Однако электронщикам такой вряд ли попадётся или понадобится, поскольку здесь более распространённым решением выступает Thunderbolt. Хотите превратить устройство USB3 в USB-C? Для этого потребуется лишь мультиплексор. Если же вы задумаетесь о добавлении на плату своего высокоскоростного устройства разъёма MicroUSB 3.0, то я вежливо, но твёрдо советую ещё раз всё взвесить и, возможно, установить вместо него разъём USB-C и VL160.
Если же вы разрабатываете устройство USB3 со штекером, то вам даже не нужен мультиплексор для обработки развёрнутого подключения – обнаруживать положение штекера в этом случае не потребуется. Одного неотслеживаемого резистора на 5,1 кОм будет достаточно для сборки флэш-накопителя USB3, подключающегося непосредственно в порт USB-C, или для создания переходника USB-C «папа» — USB-A «мама». Со стороны гнезда избежать использования мультиплексора можно при наличии свободного соединения USB3, которым можно пожертвовать. Хотя это, конечно, не самый желанный компромисс. Я недостаточно знакома с двухканальным USB3, чтобы утверждать, будет ли такое подключение его поддерживать, но больше склоняюсь к тому, что не будет.
▍ DisplayPort
DisplayPort (DP) – это прекрасный интерфейс для подключения дисплеев с высоким разрешением, который постепенно вытесняет HDMI в области настольных устройств и доминирует в сфере встроенных дисплеев под названием eDP, зачастую превосходя возможности HDMI. Передаваемый им сигнал можно преобразовать в DVI или HDMI с помощью дешёвого переходника, используя стандарт под названием DP++. При этом, в отличие от HDMI, он не обложен препятствиями в виде необходимости отчислять роялти. Не удивительно, что консорциум VESA работал с группой USB над реализацией поддержки DisplayPort, особенно в свете роста популярности использования передатчиков сигнала DP в SoC.
Если вы используете док-станцию с выводом HDMI или VGA, то внутренне в ней реализован альтернативный режим DisplayPort. Всё чаще мониторы оснащаются входными портами DisplayPort, реализованными по стандарту USB-C, и благодаря функционалу многопоточной передачи (MST) вы можете соединять несколько таких мониторов одним кабелем. Вот только у MacBook такой возможности нет, поскольку Apple отказываются от поддержки MST в MacOS.
PinePhone использует поддержку вывода DisplayPort для подключения HDMI-монитора через док-станцию
К тому же, здесь есть один забавный факт – режим DP является единственным, где используются контакты SBU, переназначенные для пары AUX. Общее отсутствие контактов USB-C также означало, что линии конфигурации DP необходимо опустить, утратив характерный для DP++ режим совместимости с HDMI/DVI. В результате все переходники USB-C – HDMI фактически являются скрытыми преобразователями DP-HDMI, в противоположность DP++, который позволяет использовать схемы сдвига уровня для поддержки HDMI.
Если вы хотите поэкспериментировать с DisplayPort, то вам может потребоваться мультиплексор с поддержкой DP, но самое важное в том, что вам понадобится возможность отправлять кастомные сообщения PD. Во-первых, всё, что связано с «обеспечением/запросом альтернативного режима DP», выполняется через PD – резисторов тут уже недостаточно. Кроме того, здесь нет свободного контакта для HPD, важнейшего сигнала DisplayPort, в результате чего события горячего подключения и прерывания отправляются в виде сообщений по каналу PD. В итоге его не особо сложно реализовывать, и я собираюсь придумать удобную для электронщиков модель. Ну а до тех пор, если вам потребуется получить DP или HDMI через порт USB-C с альтернативным режимом DP, то для этого существуют микросхемы вроде CYPD3120, которые позволят написать необходимую прошивку.
Альтернативный режим DP выделяется одной важной особенностью – с помощью четырёх высокоскоростных линий USB-C он позволяет совмещать подключение USB3 с одной стороны USB-C и двухканальное подключение DisplayPort с другой. Именно так работают все док-станции с «портами USB3, выводами HDMI и прочими разъёмами для подключения периферии». Если же двухканального разрешения для вас недостаточно, вы также можете реализовать четырёхканальный переходник. В нём не будет передачи данных ввиду отсутствия USB3, но вы сможете получить более высокое разрешение или частоту кадров за счёт двух дополнительных каналов DisplayPort.
Лично я считаю, что альтернативный режим DisplayPort является одной из лучших особенностей USB-C. И хотя самые дешёвые (или большинство средних) ноутбуков и телефонов его не поддерживают, огромное удовольствие обладать устройством, в котором эта поддержка есть. Естественно, иногда крупная компания может легко лишить нас этого удовольствия, как поступили в Google, например.
Твит доступен здесь
Продолжая тему, предлагаю поговорить о самом сложном альтернативном режиме из всех.
▍ Thunderbolt
Не всё хорошо во владениях Thunderbolt
Перевод: Джон хочет использовать док-станцию с Thunderbolt 3. Заявлено, что она поддерживает USB-PD (Power Delivery) при мощности 60 Вт, имеет встроенную линию PCIe для eGPU, Gigabit Ethernet и видеовыход DisplayPort + HDMI 2.1.
a. Каковы шансы, что в момент подключения этой док-станции (оснащённой eGPU) к ноутбуку у последнего тут же возникнет паника ядра? (Подсказка: вероятность равна 1).
b. В док-станции имеется Gigabit NIC от Realtek. Какова вероятность, что эта никчёмная сетевая карта постоянно будет давать сбои без возможности как-то эту проблему обойти? Для полноценности эксперимента предоставьте свои результаты.
с. Комплектный кабель док-станции слишком короткий для стола Джона, за которым он работает стоя. Если в связи с этим Джон использует удлинитель (3 м, предположительно соответствующий стандарту TB4), сработает ли такая конфигурация? Конечно, нет. Вся эта хрень – просто чёрная магия. Клянусь, эти ребята никогда не доводят дело до ума. Они просто копипастят одни и те же пиратские IP-блоки и всё портят.
Конкретно через USB-C вы можете получить Thunderbolt, а вскоре и Thunderbolt 4, но пока что это фантастика. Thunderbolt – это изначально проприетарная спецификация, которую компания Intel в конечном итоге открыла для стороннего использования. По всей видимости, они открыли её не в полной мере, либо же здесь есть какой-то другой подвох, поскольку устройства с Thunderbolt 3 по-прежнему собираются с использованием исключительно микросхем Intel. Причём, лично на мой взгляд, именно недостаток конкуренции уверенно ведёт к высоким ценникам на соответствующую продукцию. А зачем вам вообще могут понадобиться устройства с Thunderbolt 3? Дело в том, что, помимо высоких скоростей, они предлагают эксклюзивную возможность.
Через Thunderbolt также можно реализовать PCIe – вплоть до канала шириной x4. Эта тема была очень актуальна среди желающих получить поддержку eGPU или быстрое внешнее хранилище в виде NVMe-дисков. А некоторые электронщики используют этот альтернативный режим для подключаемых через PCIe ППВМ. Если у вас есть два компьютера (например, ноутбука) с поддержкой Thunderbolt, то вы также можете связать их через подходящий кабель, создав высокоскоростной сетевой интерфейс без использования каких-либо дополнительных компонентов. Ах да, конечно же, Thunderbolt может с лёгкостью проводить сигналы DisplayPort и USB3. Это очень мощная технология, которая интересна опытным потребителям.
В итоге весь этот огромный потенциал оказывается доступен ценой проприетарного и сложного технологического стека. Thunderbolt – это не та технология, которую может взять за основу отдельный электронщик-любитель, хотя кто-то однажды должен попробовать. И даже если док-станции с её поддержкой обладают прекрасным набором возможностей, программная сторона зачастую реализуется бессистемно. Особенно это заметно, например, при попытке реализовать на ноутбуке работу «спящего режима» так, чтобы eGPU не вызывал сбой ядра. И если к текущему моменту это ещё не стало очевидно, то я с нетерпением жду, пока инженеры Intel доведут всё до ума.
▍ Что за мультиплексоры?
Я всю статью говорю о «мультиплексорах», но что это такое? Если коротко, то это деталь, которая помогает обрабатывать переключение высокоскоростных сигналов в зависимости от ориентации штекера USB-C.
Высокоскоростные линии являются частью USB-C, наиболее зависящей от направления подключения. Если в вашем порту USB-C используются такие линии, то ему понадобится микросхема мультиплексора, которая обрабатывает два возможных положения USB-C, сопоставляя ориентацию подключения порта и кабеля на обоих сторонах с фактическими высокоскоростными приёмниками/передатчиками сигналов в подключаемых устройствах. Иногда мультиплексоры располагаются внутри высокоскоростной микросхемы, если та разрабатывалась с учётом USB-C, но зачастую это всё же отдельный чип. Хотите добавить высокоскоростную поддержку USB-C в устройство, где её нет? Мультиплексор здесь станет ключевым элементом.
Если в вашем устройстве есть гнездо USB-C с высокоскоростными линиями, то ему необходим мультиплексор – несъёмный же кабель и устройства со штекером в нём не нуждаются. Как правило, если вы используете кабель для подключения двух высокоскоростных устройств с гнёздами USB-C, то в обоих из них должен присутствовать мультиплексор, обрабатывающий ориентацию штекера. На обеих сторонах мультиплексор (или PD-контроллер с подключённым к нему мультиплексором) будет следить за ориентацией контакта CC, выполняя соответствующие действия. Кроме того, для разных целей существуют разные виды мультиплексоров – всё зависит от того, что вы хотите получить от порта.
В дешёвых ноутбуках вы встретите ориентированные на USB3 мультиплексоры, которые реализуют на порту Type-C только USB 3.0, и в случае наличия у этого порта поддержки DisplayPort в нём также будет присутствовать мультиплексор с дополнительными входами для смешивания этих сигналов. В ноутбуках с более продуманными портами, реализующими Thunderbolt, мультиплексор идёт встроенным в микросхему Thunderbolt. Для электронщиков, которые собирают девайсы с USB-C, но не могут реализовать Thunderbolt или просто в нём не нуждаются, TI и VLI предлагают немало хороших мультиплексоров для всевозможных целей. К примеру, я недавно экспериментировала с реализацией DisplayPort через USB-C, и микросхема VL170 (похоже, точный клон HD3SS460 от TI) прекрасно подошла для совмещения DisplayPort и USB3.
Мультиплексоры USB-C с поддержкой DisplayPort, вроде HD3SS460, сами не управляют контактом CC и направление подключения не обнаруживают. Однако это разумное ограничение – вам необходимо реализовать подходящую для вашего случая коммуникацию через PD для DisplayPort, которая очень быстро превзойдёт предлагаемые мультиплексором возможности. Возможно, вам достаточно USB3, в котором передачи по протоколу PD не нужны? VL161 является простой микросхемой для мультиплексирования USB3, оснащённой входом с поддержкой определения полярности. Вот только определять её нужно будет самостоятельно.
Если же вы не хотите заморачиваться определением полярности, то окажется ли вам достаточно для потребностей USB3 аналоговой передачи по PD с поддержкой максимум 5 В? Если да, возьмите что-то вроде VL160 – она будет выполнять аналоговую передачу и получение по PD, обрабатывая подачу питания и ориентацию подключения высокоскоростной линии. Это реальная микросхема типа «Хочу получить USB3 через USB-C, и чтобы всё обрабатывалось за меня». К примеру, именно VL160 используется для порта USB-C в недавно вышедшей опенсорсной карте видеозахвата HDMI. Хотя, честно говоря, не вижу смысла выделять одну VL160 – существуют десятки аналогичных микросхем, и «мультиплексор USB3, который реализует все» является, пожалуй, наиболее популярным их видом.
▍ Задумано, но в итоге заброшено
Существует несколько заброшенных альтернативных режимов USB-C. По первому я нисколько не сожалею – это режим HDMI, который подразумевает простое добавление контактов разъёма HDMI к контактам разъёма USB-C. Он должен был обеспечить возможность передачи HDMI-сигнала по USB-C, и какое-то время даже использовался на некоторых смартфонах. Однако здесь возникло несколько сложностей. Первая – это необходимость соперничать с легко конвертируемым в HDMI альтернативным режимом DisplayPort при том, что преобразование HDMI – DP обычно оказывается затратным. Второй проблемой стала невозможность совмещения с USB 3.0 ввиду того, что для HDMI требуется четыре дифференциальные пары. И, наконец, третьей сложностью, которая привела к отказу от реализации этого альтернативного режима, стала лицензионная волокита с HDMI. Я искренне убеждена, что такой исход к лучшему, поскольку не верю в возможность улучшения нашего мира путём расширения сегмента HDMI.
А вот второй альтернативный режим довольно интересен – это VirtualLink. Группа крупных технологических компаний изучала возможность использования USB-C для VR – разве не круто, когда вашей VR-гарнитуре достаточно одного кабеля для всего? Однако VR-очкам необходим видеоинтерфейс с поддержкой высокого разрешения и высокой частоты кадров, а также высокоскоростное подключение для дополнительных камер и датчиков, чего обычная комбинация «двухканального DisplayPort + USB3» на тот момент обеспечить не могла. Что же делать?
«Всё просто, — сказала группа VirtualLink. — Нужно лишь исключить две повторяющиеся пары USB2 в разъёме USB-C и использовать их четыре контакта для подключения USB3». Полгода назад я писала про микросхему-конвертер из USB2 в USB3 – вот её изначальным назначением и было использование для VirtualLink. Такая конфигурация, естественно, требует более дорогостоящего кастомного кабеля с двумя дополнительными экранированными парами. Помимо этого, были необходимы ПК, которые бы обеспечивали до 27 Вт питания, а следовательно, и вывод 9 В – что является редкостью для портов USB-C, не относящихся к настенным зарядкам или пауэрбанкам. Отклонение от USB3 в виде отказа от контактов USB2 некоторых расстроило. Однако ради виртуальной реальности альтернативный режим VirtualLink выглядел весьма полезным.
Некоторые GPU выпускались с поддержкой VirtualLink, чего в конечном итоге оказалось недостаточно – а производители ноутбуков, в которых зачастую отсутствовали порты USB-C, вообще этим вопросом не озадачивались. Такая ситуация подтолкнула ключевого игрока, Valve, отказаться от интеграции VirtualLink с их продуктом Valve Index, после чего этот альтернативный режим ушёл в закат. Печально, но VirtualLink так и не обрёл популярность. А ведь он мог оказаться весьма полезным – использование единого кабеля для всего порадовало бы пользователей VR, а требование к повышенному напряжению, доступному через USB-C, также дало бы нам порты с поддержкой более 5 В и протокола PD, чего на сегодня не обеспечивают никакие ноутбуки и вряд ли какие-то ПК. Тут я просто напомню, если у вас на ноутбуке или ПК есть порт USB-C, то он определённо будет обеспечивать 5 В, но большего напряжения вы от него не получите.
Хотя давайте взглянем и на светлую сторону. Если у вас вдруг окажется один из тех GPU, которые поставлялись с поддержкой портов USB-C, то он будет поддерживать и USB3, и DisplayPort.
▍ Унификация ведёт к совместимости
Относительно USB-C радует то, что вендор или электронщик при желании могут без проблем определять собственные альтернативные режимы. И хотя такой переходник окажется полу-проприетарным, внутренне он всё равно останется портом USB-C, служащим для зарядки и передачи данных. Хотите получить альтернативный режим Ethernet или двухпортовый SATA? Дерзайте. Прошли те времена, когда приходилось отыскивать какие-то уникальные разъёмы для устройств, когда каждый из разъёмов для док-станций или зарядки отличался и в случае особо редких экземпляров мог стоить вплоть до 10$ при условии, что его вообще удастся найти.
Не каждый порт USB-C должен реализовывать всё из перечисленных возможностей – многие этого не делают. Но есть и немало таких, которые на это идут, и с каждым днём мы получаем от среднего порта USB-C всё больше. Подобная унификация и стандартизация оправдает себя в долгосрочной перспективе, и хотя здесь неизбежны всяческие отклонения, производители в итоге научаться выпускать более продуманные решения.
Играй в наш скролл-шутер прямо в Telegram и получай призы! 🕹️🎁