This is an old revision of the document!
Table of Contents
Введение
В статье описаны применения USB тестера, которые выходят за пределы “продвинутого вольтметра”. Опишем функции, которые применимы к Type C разъемам и протоколу Power Delivery.
Type C и Power Delivery
USB тестеры выросли из специализированных вольтметров. Первые модели умели только показывать текущее напряжение и ток на линии VBUS, позже к этому добавилась статистика, графики и измерение пройденной энергии. Но это всё было про измеритель напряжения и тока.
Тестеры развивались, у них стали появляться новые функции, такие как обнаружение протоколов, поддерживаемых зарядным устройством и функция триггера. Это были эвристические функции, которые работали по неведомым алгоритмам, иногда неточно, но у них было общее свойство: они выходили за рамки “продвинутого вольтметра” и делали тестер отдельным устройством, которое стало вести самостоятельную роль на шине USB.
Эта позиция усилилась в моменте, когда тестеры стали осваивать USB Type C. Етому способствовало то, что новая версия шины USB стала полноценнее, у неё вместо “если у нас чистая зарядка, то задействуем неиспользуемые линии D+/D-” появились линия CC для конфигурации соединений. Стандарт шины оперировал двумя с половиной ролями: источник source, потребитель sink и маркер plug (опустим второй маркер). И для продвинутых функций пришлось изобретать разнообразные хаки. Вот неполный список нюансов и компромиссов, с которыми столкнулись и которые решали производители тестеров:
- При подключении тестера ничего не происходит, потому что Type C не подает напряжение на VBUS, как делал USB A
- Переключатель PD или зажатие кнопки позволяет включать подключенный без кабеля прибор
- но это может внезапно выключить его в дальнейшем при подключении кабеля
- а еще использование переходника USB A - Type C может сжечь тестер
- Стандартного механизма чтения маркера кабеля просто нет в стандарте. Это может делать только зарядка в роли source
- А еще симметрия разъемов порождает вопрос, куда подключать тестер, к source или к sink
- А если у нас переходный тестер типа Witrn U3, то вообще нужно два кабеля
- и непонятно что получится, если оба кабеля с маркерами
Оказалось, что Type C - это вообще не старый добрый USB A. С одной стороны это стандарт, с другой стороны функции USB тестера в стандарт вписываются плохо.
Сводная таблица
Неочевидность комбинаций для подключения можно сократить, если каждую из функций рассматривать в контексте роли, которую выбирает тестер: source или sink. Это позволит понять то, как нужно подключать тестер для получения результата.
| Функция | Роль тестера | Source | Sink | Комментарии |
|---|---|---|---|---|
| Эмулятор маркера | Plug (чип кабеля) | Зарядка | переходник на силовые линии | Эмуляция маркера является вспомогательной функции, например для чтения профилей |
| Триггер | sink | Зарядка | тестер | VBUS/GND выходящего разъема используются для питания тупого устройства |
| Детект протоколов | sink | Тестируемая зарядка | Нельзя! | . |
