
USB HCI — контроллер универсальной последовательной шины — традиционно реализуется в составе системной логики компьютерной платформы. При этом, на каждом этапе развития USB неизбежная инерционность производителей чипсетов дает возможность проявить себя поставщикам дискретных решений. Очередное доказательство — набор компонентов от Lattice Semiconductor для интерфейса USB Type-C.
Постановка задачи
Невольно вспоминая некогда популярную фразу про коммунизм, советскую власть и электрификацию всей страны, акцентируем внимание на том, что USB Type-C, как множество технологий, является своеобразной суммой двух подмножеств: классического и расширенного.
Рис 1. Расположение сигнальных цепей разъема USB Type-C
Классическая функциональность определяется спецификацией универсальной последовательной шины и реализуется контроллерами xHCI (eXtensible Host Controller Interface) и xDCI (eXtensible Device Controller Interface) для работы устройства в роли хоста и периферийного девайса соответственно. В составе набора сигналов Type-C (Рис 1), присутствуют цепи примерно соответствующие двум разъемам Type-A. Это двунаправленные линии данных USB 2.0 High Speed (D+, D-), однонаправленные встречно включенные линии данных USB3.1 Super Speed (TX+, TX-, RX+, RX-), цепи питания (Vbus) и общий провод (GND).
В этом контексте под расширенной будем понимать такую функциональность, которая выходит за рамки USB-спецификации. Для ее поддержки требуются дискретные компоненты, дополняющие возможности системной логики. В первую очередь, сюда относится интерфейс Configuration Channel, представленный сигналами CC1/CC2, обеспечивающий обмен специальными сообщениями между подключенными устройствами, независимо от передачи данных по USB, а также идентификацию маркированных кабелей.
Поддержка Power Delivery Specification, в частности, управление напряжением питания (Vbus) в рамках от 5 до 20V и током нагрузки до 5A, в рамках дискретно-аналоговой модели, становится возможной благодаря двунаправленному обмену сообщениями между источником и потребителем по линиям Configuration Channel. Обеспечение Alternate Mode или альтернативных режимов, коммутация Super Speed цепей порта с целью передачи по ним трафика, отличного от USB (например, Display Port или PCI Express), также находится под контролем конфигурационного интерфейса.
Своеобразным «подарком» разработчикам периферии от законодателей стандарта стали линии Sideband Usage (контакты SBU1, SBU2 на Рис 1), назначение которых вправе определить производитель конкретного устройства.
Дискретные решения на марше
Зарядные устройства являются простейшим примером. Центральный процессор и системная логика в классическом понимании здесь отсутствуют. Схема состоит из следующих компонентов.
Рис 2. Пример реализации зарядного устройства
Микроконтроллер Cable Detect / Power Delivery manager, управляет идентификацией подключений, запросов потребителей зарядной мощности и возможностей кабелей. Его операции базируются на передаче и приеме информации по конфигурационному каналу с использованием схемы сопряжения с линией CD/PD PHY. Достигнутые договоренности по передаче зарядной мощности реализует программируемый источник напряжения VBUS Power Control.
Рис 3. Пример реализации USB Type-C порта в составе смартфона или планшета
По сравнению с ранее рассмотренной схемой, здесь добавляется новый участник SS Switch (Super Speed Switch), коммутирующий сигналы USB3.1 с целью передачи по ним видео трафика в рамках реализации альтернативной функциональности. Интеллектуальное управление делегируется процессору мобильного устройства (здесь AP — это Application Processor, не путать со значением того же термина в контексте симметричной мультипроцессорности).
Передача мощности от источника к потребителю переводится под контроль ОС, работающей на хост-системе. Здесь кроется принципиальное отличие данного примера от зарядного устройства или Power-банка, а также обоснование недавних инициатив Google, связанных со стандартизацией.
Рис 4. Пример реализации USB Type-C порта в составе ноутбука
В этом примере ноутбук, или «продвинутый» планшет, как полнофункциональная вычислительная платформа, содержит центральный процессор и системную логику в виде раздельных компонентов. Embedded Controller (EC) освобождает центральный процессор (CPU) от низкоуровневых операций управления цепями питания, сохраняя при этом возможность для мониторинга и вмешательства со стороны ОС и драйверов. В частности, Billboard device обеспечивает унификацию процедур обработки аппаратных ошибок, формируя канал передачи статусной информации между Configuration Channel и USB 2.0, делая эту информацию доступной для системного программного обеспечения.
Выводы
Итак, поддержка нового интерфейса универсальной последовательной шины, реализованного на базе разъема USB Type-C, немыслима без специализированных микросхем, расширяющих возможности системной логики. Инерционность разработчиков чипсетов понятна, ведь чем сложнее устройство, тем больше времени потребует его модернизация.
Есть и другая причина, обусловившая разделение обязанностей, сложившееся в элементной базе. Отделив силовые и интерфейсные цепи от кристаллов южного моста (Platform Controller Hub, PCH), разработчик повышает надежность устройства.
Этот тезис главным образом касается коммутации высоких напряжений и больших токов, определенных Power Delivery Specification. Коммутация мощности до 100 ватт (20 вольт, 5 ампер) внутри кристалла PCH либо однокристальной System-on-Chip (SoC) системы, шаг, мягко говоря, неразумный, а потому у производителей «силовой обвязки» остается возможность заработать на новом разъеме.
С другой стороны, мультиплексоры, коммутирующие маломощные информационные сигналы USB интерфейса, имеют больше шансов со временем стать частью системной логики или микросхем SoC, ведь объекты коммутации (контроллер USB и видеоадаптер) уже входят в их состав.