USB4: все тот же USB?

v5m37vya1swdqahgzxwzw_tmpie.png

В конце 2020 года ожидается выход устройств с поддержкой интерфейсов нового поколения USB4/Thunderbolt 4. Данные интерфейсы похожи, однако имеют ряд принципиальных отличий. Среди таких отличий можно выделить наиболее значимое: спецификации на USB4 общедоступные и любой желающий может изучить основные принципы работы данного интерфейса, в отличие от Thunderblot 4.

В данной статье мы рассмотрим изменения, которые претерпел интерфейс USB4 по сравнению с предыдущей версией (USB 3.2), разберем архитектуру USB4 и перечислим его основные характеристики.

Более подробную информацию можно найти в спецификации на USB4.


Что мы знаем о USB4?


adimx9w6fnrf1g03wm_mdm278_u.jpeg

Основные характеристики USB4:

Разъем: аналогично современным интерфейсам от Intel (Thunderbolt ¾) USB4 поддерживает только разъем USB-C.


  • Разъем USB-C

Скорость передачи данных: тут уже дело обстоит немного сложнее и все не так однозначно, попытаемся разобраться: минимальная поддерживаемая скорость для устройства, имеющего USB4-сертификацию, составляет 20 Гбит/c. Но также может поддерживаться скорость 40 Гбит/c, если хост, устройство и кабель на это способны. И данная пропускная способность уже ничем не уступает своему конкуренту от Intel — Thunderbolt 4.


  • Минимум 20 Гбит/с
  • Возможность поддержки 40 Гбит/c

Туннелирование интерфейсов: одной из основных задач, которые необходимо было решить на этапе разработки USB4-интерфейса, являлось объединение нескольких различных протоколов, работающих через разъем USB-C, в единый физический интерфейс. Основные интерфейсы, работающие в режиме туннелирования:


  • Enhanced SuperSpeed USB (USB3) (предыдущее поколение);
  • DisplayPort (DP);
  • PCI Express (PCIe) (не является обязательной опцией).

Поддержка конфигурации шины: поддержка возможности специального соединения между двумя хостами (host-to-host).

Питание USB4: для работы USB4 питание устанавливается и регулируется в соответствии со спецификациями USB Type-C и USB PowerDelivery (PD). Реализована возможность передачи питания до 100 Вт.

Поддержка Thunderbolt 3: хост или устройство, работающее по интерфейсу USB4, может также взаимодействовать с устройствами, поддерживающими подключение по интерфейсу Thunderbolt 3. Но данный функционал не является обязательным, поэтому поддержка данной возможности зависит только от разработчиков устройств.


Сравнение с USB 3.2


y9fmugcfigsdf7_lmwnhjdvsqce.png

После того как мы рассмотрели основные характеристики USB4, можем выделить ряд значительных изменений по сравнению с предыдущей версией стандарта:

Разъем: предыдущие версии разъемов не поддерживаются. В связи с необходимостью использовать дополнительную сигнальную линию данных (Sideband Channel), нет возможности использовать такие разъемы, как USB Type A/B.


  • Отказ от разъемов USB Type A/B, miniUSB, microUSB

Скорость передачи данных: для последней версии USB 3.2 Gen2×2 максимальная скорость передачи данных составляет 20 Гбит/c, но данная скорость достигалась только с использованием одновременно двух линий передачи данных, то есть только для разъема USB-C. На предыдущих версиях разъемов скорость была вдвое меньше — 10 Гбит/c.


  • Увеличение скорости передачи данных вдвое — с 20 до 40 Гбит/c

Питание: распределение питания в стандарте USB 3.2 регламентируется аналогично стандарту USB 2.0, с увеличением потребляемого тока для устройств, работающих на SuperSpeed-шине. Стандарты USB BC (Battery Charging) и USB PD для них являются дополнением, расширяющим возможности питания. Для USB4, в отличие от USB 2.0 и USB 3.2, не определена собственная модель питания устройства и регламентируется только с помощью спецификаций USB PD и USB Type-C.


  • В отличие от USB 3.2, у USB4 не определена собственная модель питания

Поддержка дополнительных возможностей подключения: для интерфейса USB 3.2 полностью отсутствуют какие-либо дополнительные возможности. Отсутствуют режимы туннелирования для интерфейсов DP и PCIe, нет возможности организовать специальное соединение между двумя хостами. Только при использовании разъема USB-C появляется несколько опциональных альтернативных режимов (USB-C Alt Mode), например DisplayPort Alternate Mode, но данный функционал относится именно к использованию разъема USB-C и регламентируется спецификациями конкретного вендора, а не стандартом USB 3.2.


  • Для USB 3.2 полностью отсутствует возможность дополнительных сторонних подключений


Отличие архитектуры USB4 от USB 3.2

На рисунке ниже представлена архитектура подключения системы USB 3.2. Как мы видим из рисунка, в системе присутствуют два параллельно работающих интерфейса — Enhanced SuperSpeed и USB 2.0, — за счет чего обеспечивается обратная совместимость интерфейса USB 3.2 с более ранней версией USB 2.0. Так как обе шины работают параллельно, то они могу быть активны одновременно.


2jb9yeehpedrklgaqfwf6bmkafc.jpeg

Архитектура системы USB4 имеет ряд отличий. Для совместной работы с интерфейсом USB 2.0 все так же присутствует шина, которая функционирует независимо от других интерфейсов. Так как обмен данными по интерфейсу USB 3.2 выполняется по тем же линиям данных, по которым обеспечивается обмен данными и для других поддерживаемых интерфейсов, необходимо использовать туннелированный протокол. Подробная схема системной архитектуры USB4 представлена на рисунке.


gbzk1x3w3qvp9wvgnnwqmpavraq.jpeg

Для туннелирования таких интерфейсов, как USB 3.2 и PCIe, необходимо использовать специальные адаптеры протокола (Protocol Adapters). Так, для туннелирования интерфейса USB 3.2 используется специальный хаб (Enhanced SuperSpeed Hub). В свою очередь для PCIe используется специальный коммутатор (PCIe Switch), необходимый для обработки связанных с протоколом маршрутизации пакетов и обеспечивающий буферизацию данных. Для туннелирования DP не требуется никакой промежуточной логики. Соединение устанавливается напрямую, как сквозное.

В каждом маршрутизаторе (Router) системы установлен блок, отвечающий за синхронизацию и распределение времени. На схеме он обозначен как TMU (Time Management Unit).

Маршрутизатор (Router) — основной блок, необходимый для построения архитектуры USB4. Он отвечает за сопоставление трафика туннельных протоколов с пакетами USB4, формирует и направляет пакеты через структуру USB4. За счет внутреннего TMU-блока маршрутизатор синхронизирует время по всей структуре передачи USB4. За настройку и обнаружение маршрутизатора на линии отвечает диспетчер подключения (Connection Manager), расположенный на стороне хост-устройства. Выделяются всего два типа маршрутизаторов: маршрутизатор устройств (Device Router) и хост-маршрутизатор (Host Router).

Для полной поддержки интерфейса USB4 необходимо, чтобы на обеих сторонах располагался USB4-порт. Он состоит из линий приема и передачи данных (RX/TX) и двухпроводного дополнительного канала (Sideband (SB)) (SBTX/SBRX). USB4-порт может работать в двух режимах: одноканальном или двухканальном. В одноканальном режиме линия 1 (Lane 1) будет отключена. В двухканальном режиме линии 0 и 1 связаны и обеспечивают общий канал данных. На рисунке ниже представлены оба режима работы.


pnatxje41idegiygfo4wnxfsx1o.jpeg
q2jepu0w9r-ijvesfhjcsqjblow.jpeg

Дополнительный SB-канал необходим для инициализации устройства на линии с хостом и для управления между портами.

Важно понимать, что интерфейс USB 2.0 не входит в маршрутизатор USB4 и работает параллельно с ним.

Таким образом, для порта USB Type-C с поддержкой USB4 полный режим подключения включает в себя:


  • порт USB4;
  • шину данных USB 2.0 (D+/D-);
  • канал конфигурации по CC-линии, необходимый для передачи протокола USB PD;
  • шины питания (VBUS/VCONN/GND).


Новые уровни в функциональной модели USB4

На рисунке ниже представлена функциональная модель USB 3.2. Присутствуют три основных уровня: физический уровень (Physical Layer), канальный уровень (Link Layer) и наивысший уровень — уровень протокола (Protocol Layer).


dstqmvsocy7jjdhhlvmwa751b6q.jpeg

В USB4 мы уже видим другую модель, так как были внесены значительные изменения. Самым низким из всех остается физический уровень (Physical Layer), который в свою очередь состоит из двух подуровней: логического (Logical Layer) и электрического (Electrical Layer). Уровнем выше расположен транспортный уровень (Transport Layer). Наивысшими равнорасположенными уровнями являются: уровень конфигурации (Configuration Layer) и уровень протокола адаптера (Protocol Adapter Layer). Уровень протокола адаптера был добавлен в связи с реализацией туннелирования. Он используется для обработки данных туннелированных интерфейсов.

На рисунке ниже представлена схема функциональной модели USB4.


ret41isn1korimknprrhz0eiw60.jpeg

Рассмотрим каждый из них подробнее:

Электрический уровень (Electrical Layer) определяет электрические характеристики для USB4-соединения: уровни напряжения сигнала, фазовое дрожание (jitter), скремблирование и кодирование сигнала.

Логический уровень (Logical Layer) расположен над электрическим уровнем и ниже транспортного. Данный уровень устанавливает соединения между двумя маршрутизаторами и необходим для передачи потоков байт между ними.

Транспортный уровень (Transport Layer) определяет формат передаваемого пакета, маршрутизацию, синхронизирует передачу по времени и управляет передаваемыми потоками. На данном уровне выполняется передача туннелированных пакетов и пакетов управления (Control Packets) через шину.

Уровень конфигурации (Configuration Layer) необходим для обработки входящих пакетов управления и обеспечивает настройку конфигурации маршрутизатора. Данный уровень также определяет схему адресации для пакетов управления в домене и гарантирует наличие надежного транспортного механизма для пакетов управления, которые предоставляют доступ к пространству конфигурации маршрутизатора.

Уровень протокола адаптера (Protocol Adapter Layer) необходим для преобразования пакетов между транспортным уровнем и туннельным протоколом. На данном уровне определяется тип туннельного протокола.


Новый канал связи (Sideband Channel)

Основное отличие интерфейса USB4 от предыдущей версии и в то же время одной из причин невозможности использования нового интерфейса с предыдущими версиями разъема является появление нового дополнительного канала связи, расположенного на дополнительных линиях разъема USB Type-C (SBU1/SBU2).

Данный канал выполняет ряд функций:


  • инициализацию линии передачи данных;
  • подключение и отключение устройств от USB4-порта;
  • включение и отключение линии передачи данных;
  • ввод и вывод из состояния сна (Sleep state).

Транзакции дополнительного канала отправляются по линии SBTX и принимаются по линии SBRX. На рисунке ниже показано несколько примеров подключения SBTX и SBRX между двумя маршрутизаторами с использованием активных, пассивных кабелей и встроенных на устройствах ретаймеров.


yd5wuv9jnymlmxm3aboqmaiydv8.jpeg

Существуют три основных типа транзакций для данного канала. Каждая из них отвечает за свой функционал:


  • Link Type (LT) — LT-транзакция, предназначенная для инициализации дорожки. Данная транзакция также используется для того, чтобы сигнализировать об изменениях состояния подключенного адаптера, например об отключении линии передачи данных или о переходе в состояние низкого энергопотребления;
  • Administrative Type (AT) — AT-транзакция, предназначенная для чтения и записи информации в специальную конфигурационную область;
  • Re-timer Type (RT) — RT-транзакция, необходимая для общения маршрутизаторов с ретаймерами.

Каждый порт USB4 реализует набор регистров конфигурации канала. Каждый ретаймер, установленный на линии, также имеет собственную конфигурацию. Маршрутизатор использует AT-транзакции для получения доступа к регистровому пространству другого маршрутизатора или RT-транзакции для доступа к регистровому пространству ретаймера.


Вывод

Обещание, данное Intel в 2017 году, было выполнено, благодаря чему стандарт USB4 вобрал в себя многое от Thunderbolt 3. В итоге можно сказать, что USB4 остается все тем же стандартным интерфейсом, выполняющим роль обмена данными между хост-устройством и широким спектром одновременно доступных периферийных устройств. В то же время в нем появилось множество изменений, которые выглядят крайне положительными и многообещающими на текущий момент: избавление от различных версий интерфейса и объединение в одно общее название (USB4), отказ от различных разъемов в сторону одного единого (USB Type-C), попытка сделать общедоступным объединение различных интерфейсов, таких как DisplayPort, PCI Express, USB3, добавление новых дополнительных возможностей, например соединение host-to-host — все эти факторы, а также открытость стандарта (в отличие от Thunderbolt 4) свидетельствуют о том, что USB4 имеет все шансы стать более «массовым» интерфейсом, чем Thunderbolt 4.

© Habrahabr.ru